MjAwNS0wNy0wNyAgUmVsZWFzZSBNYW5hZ2VyCgoJKiBHQ0MgNC4wLjEgcmVsZWFzZWQuCgoyMDA1LTA2LTA1ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL25ldC9uYXRQbGFpblNvY2tldEltcGxQb3NpeC5jYyAoc2V0T3B0aW9uKTogRml4IGNhc2UKCWZhbGwtdGhyb3VnaCBidWcuCgoyMDA1LTA2LTA0ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGphdmEvbmV0L1VSTENsYXNzTG9hZGVyLmphdmE6IGltcG9ydCBnbnUuZ2NqLkNvcmUsCglhbmQgZ251LmphdmEubmV0LnByb3RvY29sLmNvcmUuQ29yZUlucHV0U3RyZWFtLgoJKEN1cmVVUkxMb2FkZXIpOiBOZXcgY2xhc3MuCgkoQ29yZVJlc291cmNlKTogTmV3IGNsYXNzLgoJKGFkZFVSTEltcGwpOiBBZGQgc3BlY2lhbCB0cmVhdG1lbnQgZm9yIHRoZSAiY29yZSIgcHJvdG9jb2wuCgkqIGdudS9nY2ovbmF0Q29yZS5jYyAoZmluZCk6IE5ldyBtZXRob2QuCgkqIGdudS9nY2ovQ29yZS5qYXZhIChmaW5kKTogTmV3IG1ldGhvZC4KCQoyMDA1LTA2LTA0ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBqYXd0LmM6IFJlbW92ZSBtYWxsb2MuaCBpbmNsdWRlIGFuZCB1c2Ugc3RkbGliLmggaW5zdGVhZC4KCjIwMDUtMDYtMDEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMjE3NTM6CgkqIGphdmEvbGFuZy9uYXRTdHJpbmcuY2MgKHN1YnN0cmluZyk6IENoYW5nZWQgc2hhcmluZyBoZXVyaXN0aWMuCgoyMDA1LTA1LTI5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCVBSIGxpYmdjai8yMDI3MzoKCSogamF2YS91dGlsL0xpbmtlZEhhc2hNYXAuamF2YSAoYWNjZXNzKTogU2V0ICdyb290LnByZWQnLgoKMjAwNS0wNS0yNyAgUm9iaW4gR3JlZW4gIDxncmVlbnJkQGdyZWVucmQub3JnPgoKCVBSIGxpYmdjai8yMTc3NToKCSogamF2YS91dGlsL2xvZ2dpbmcvbmF0TG9nZ2VyLmNjIChnZXRDYWxsZXJTdGFja0ZyYW1lKTogU3RhcnQKCXdpdGggaT0xLgoKMjAwNS0wNS0yNiAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9qdm0uaCAoRkxBR19CSU5BUllDT01QQVRfQUJJKTogTmV3LgoJKEdDSl9CSU5BUllDT01QQVRfQURESVRJT04pOiBSZW1vdmVkLgoJKE9MRF9HQ0pfNDBfQkNfQUJJX1ZFUlNJT04pOiBSZW5hbWVkLiBPbGQtc3R5bGUgdmVyc2lvbiBJRCBmb3IgQkMtQUJJCgljbGFzc2VzLgoJKEdDSl80MF9CQ19BQklfVkVSU0lPTik6IE5ldy4gQ2FsY3VsYXRlIHZlcnNpb24JSUQgdXNpbmcgbmV3IG1ldGhvZC4KCShfSnZfQ2hlY2tBQklWZXJzaW9uKTogQ2hlY2sgZm9yIGJvdGggb2xkIGFuZCBuZXcgc3R5bGUgdmVyc2lvbiBJRHMuCgoyMDA1LTA1LTE0ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL2RvbS9scy9TQVhFdmVudFNpbmsuamF2YTogSWdub3JlIFhNTCBlbnRpdGllcyBpbiBzdGFydC8KCWVuZCBlbnRpdHkgY2FsbGJhY2tzLgoKMjAwNS0wNS0yNCAgR2FyeSBCZW5zb24gIDxnYmVuc29uQHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzIxNzM2OgoJKiBqYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhIChNZXNzYWdlRm9ybWF0RWxlbWVudC5zZXRMb2NhbGUpOgoJSGFuZGxlIERhdGVGb3JtYXQuREVGQVVMVCBjYXNlIGNvcnJlY3RseS4KCjIwMDUtMDUtMjEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMjE3MDM6CgkqIGphdmEvbGFuZy9yZWYvbmF0UmVmZXJlbmNlLmNjIChmaW5kX3Nsb3QpOiBIYW5kbGUgY2FzZSB3aGVyZQoJdGFibGUgaGFzIG5vIE5VTEwgZW50cmllcy4KCSogamF2YS9sYW5nL25hdFN0cmluZy5jYyAoX0p2X1N0cmluZ0ZpbmRTbG90KTogSGFuZGxlIGNhc2Ugd2hlcmUKCXRhYmxlIGhhcyBubyBOVUxMIGVudHJpZXMuCgoyMDA1LTA1LTIwICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzIxNjM3OgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvamFyL0Nvbm5lY3Rpb24uamF2YSAoZ2V0SW5wdXRTdHJlYW0pOgoJVGhyb3cgRmlsZU5vdEZvdW5kRXhjZXB0aW9uIGlmIGphciBlbnRyeSBub3QgZm91bmQuCgoyMDA1LTA1LTE4ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzE5NzI5CgkqIGdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL0RTQVNpZ25hdHVyZS5qYXZhOiBJbXBvcnQgdXBkYXRlcwoJZnJvbSBHTlUgQ3J5cHRvLgoKMjAwNS0wNS0xOCAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ3RrX2phd3QuYyAoY2xhc3NwYXRoX2phd3Rfb2JqZWN0X2xvY2ssCgljbGFzc3BhdGhfamF3dF9vYmplY3RfdW5sb2NrLCBjbGFzc3BhdGhfamF3dF9jcmVhdGVfbG9jaywKCWNsYXNzcGF0aF9qYXd0X2Rlc3Ryb3lfbG9jayk6IE5ldyBmdW5jdGlvbnMuCgkqIGpuaS9jbGFzc3BhdGgvY2xhc3NwYXRoX2phd3QuaCAoY2xhc3NwYXRoX2phd3Rfb2JqZWN0X2xvY2ssCgljbGFzc3BhdGhfamF3dF9vYmplY3RfdW5sb2NrLCBjbGFzc3BhdGhfamF3dF9jcmVhdGVfbG9jaywKCWNsYXNzcGF0aF9qYXd0X2Rlc3Ryb3lfbG9jayk6IE5ldyBmdW5jdGlvbnMuCgkqIGluY2x1ZGUvamF3dC5oIChzdHJ1Y3QgX0pBV1RfRHJhd2luZ1N1cmZhY2UpOiBBZGQgbG9jawoJZmllbGQuCgkqIGphd3QuYzogI2luY2x1ZGUgbWFsbG9jLmguCgkoX0p2X0xvY2spOiBVc2UgbG9jay4KCShfSnZfVW5sb2NrKTogRGl0dG8uCgkoX0p2X0dldERyYXdpbmdTdXJmYWNlKTogSW5pdGlhbGl6ZSBsb2NrLgoJKF9Kdl9GcmVlRHJhd2luZ1N1cmZhY2UpOiBEZXN0cm95IGxvY2suCgkoX0p2X0ZyZWVEcmF3aW5nU3VyZmFjZUluZm8pOiBGcmVlIHBsYXRmb3JtSW5mby4KCjIwMDUtMDUtMTcgIERhdmlkIERhbmV5ICA8ZGRhbmV5QGF2dHJleC5jb20+CgoJUFIgbGliZ2NqLzE4MjIwCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUHJvY2Vzc18zLmphdmEgKHJ1bik6ICBFeGl0IG9uIGVycm9yLgoKMjAwNS0wNS0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8yMTE0MDoKCSogamF2YS9uaW8vY2hhcnNldC9DaGFyc2V0LmphdmEgKGVuY29kZSwgZGVjb2RlKTogRG9uJ3QgY2FjaGUuCgoyMDA1LTA1LTE2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9IZWFkZXJzLmphdmEgKHBhcnNlKTogSW5jbHVkZSBmaW5hbAoJY2hhcmFjdGVyIG9mIGxpbmUuCgoyMDA1LTA1LTE2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzIxNjA2OgoJKiBqYXZhL25ldC9VUkkuamF2YSAodW5xdW90ZSk6IEhhbmRsZSBsb3dlci1jYXNlIGxldHRlcnMgYXMgd2VsbC4KCjIwMDUtMDUtMTYgIFppZ2EgTWFoa292ZWMgIDx6aWdhLm1haGtvdmVjQGtsaWthLnNpPgoKCVBSIGxpYmdjai8yMDUwNAoJZ251L3JlZ2V4cC9SRS5qYXZhOiBBZGQgc3VwcG9ydCBmb3IgcXVvdGluZyBjb25zdHJ1Y3RzLgoKMjAwNS0wNS0xNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGphdmEvMjE1MTk6CgkqIHRlc3RzdWl0ZS9saWJqYXZhLmNvbXBpbGUvcHIyMTUxOS5qYXZhOiBOZXcgZmlsZS4KCSogdGVzdHN1aXRlL2xpYmphdmEuY29tcGlsZS9wcjIxNTE5Lm5vLWxpbms6IE5ldyBmaWxlLgoKMjAwNS0wNS0xMyAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8yMTU1NwoJKiBqYXZhL2xhbmcvbmF0T2JqZWN0LmNjIChfSnZfTW9uaXRvckVudGVyKTogU2F2ZSBhbmQgY2xlYXIgdGhyZWFkCglpbnRlcnJ1cHQgc3RhdHVzIGZsYWcgaWYgX0p2X0NvbmRXYWl0IGlzIGludGVycnVwdGVkLgoKMjAwNS0wNS0xMyAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9qdm0uaCAoZ2NqOjp2ZXJpZnlDbGFzc2VzKTogRGVjbGFyZS4KCSogbGluay5jYyAoZ2NqOjp2ZXJib3NlX2NsYXNzX2ZsYWcpOiBNb3ZlZC4KCSogcHJpbXMuY2MgKGdjajo6dmVyaWZ5Q2xhc3Nlcyk6IERlZmluZSBoZXJlLgoJKGdjajo6dmVyYm9zZV9jbGFzc19mbGFnKTogTW92ZSBkZWZpbml0aW9uIGhlcmUuCgkoX0p2X0xpbmtlcjo6d2FpdF9mb3Jfc3RhdGUpOiBEb24ndCBjYWxsIHZlcmlmeV9jbGFzcwoJaWYgZ2NqOjp2ZXJpZnlDbGFzc2VzIGlzIG5vdCBzZXQuCgkqIGdpai5jYyAobWFpbik6IFNldCBnY2o6OnZlcmlmeUNsYXNzZXMgd2hlbiAnLW5vdmVyaWZ5JyBpcyBnaXZlbi4KCjIwMDUtMDUtMTMgIEFhcm9uIEx1Y2hrbyAgPGFsdWNoa29AcmVkaGF0LmNvbT4KCgkqIGdpai5jYyAobWFpbik6IFJlY29nbml6ZSAnLXZlcmlmeScsICctbm92ZXJpZnknLCBhbmQKCSctdmVyaWZ5cmVtb3RlJwoKMjAwNS0wNS0xMyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2djai9ydW50aW1lL1N5c3RlbUNsYXNzTG9hZGVyLmphdmEgKGluaXQpOiBIYW5kbGUgZW1wdHkKCWVsZW1lbnQgaW4gcGF0aC4KCjIwMDUtMDUtMDkgIERhdmlkIERhbmV5ICA8ZGRhbmV5QGF2dHJleC5jb20+CgoJKiBqYXZhL3V0aWwvQml0U2V0LmphdmEgKGdldChpbnQsIGludCkpOiBGaXggYnJlYWthZ2Ugd2hlbgoJcmVxdWVzdGVkIHNldCBkb2Vzbid0IHN0YXJ0IG9uIGEgbXVsdGlwbGUgb2YgNjQuCgoyMDA1LTA0LTI3ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCglQUiBqYXZhLzE5Mjg1CgkqIHByaW1zLmNjIChfSnZfUmVzb2x2ZVBvb2xFbnRyeSk6IE5ldyBmdW5jdGlvbi4KCSogaW5jbHVkZS9qdm0uaCAoX0p2X0xpbmtlcjo6ZmluZF9maWVsZCk6IE5ldyBhcmc6IGZvdW5kX2NsYXNzLgoJKiBsaW5rLmNjIChfSnZfTGlua2VyOjpmaW5kX2ZpZWxkKTogTmV3IGFyZzogZm91bmRfY2xhc3MuCgkocmVzb2x2ZV9wb29sX2VudHJ5KTogSW5pdGlhbGl6ZSB0aGUgY2xhc3MgaW4gd2hpY2ggYSBmaWVsZCBpcwoJZm91bmQuCgkobGlua19zeW1ib2xfdGFibGUpOiBQYXNzIG5ldyBhcmcgdG8gZm91bmRfY2xhc3MuCgoyMDA1LTA1LTA1ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXQuYwoJKGluaXRfZ2xpYl90aHJlYWRzKTogQ2hlY2sgaWYgdGhyZWFkaW5nIHN5c3RlbSBpcyBhbHJlYWR5Cglpbml0aWFsaXplZC4KCjIwMDUtMDUtMDQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbmlvL2NoYW5uZWxzL0ZpbGVMb2NrLmphdmEgKHRvU3RyaW5nKTogRW50aXJlbHkgYXZvaWQKCVN0cmluZyAiKyIuCgoyMDA1LTA1LTA0ICBBbmRyZXcgT3ZlcmhvbHQgIDxvdmVyaG9sdEByZWRoYXQuY29tPgoKCSogamF2YS9uaW8vY2hhbm5lbHMvRmlsZUxvY2suamF2YSAodG9TdHJpbmcpOiBSZS1pbXBsZW1lbnQgdXNpbmcKCVN0cmluZ0J1ZmZlci4KCjIwMDUtMDUtMDMgIEFuZHJldyBPdmVyaG9sdCAgPG92ZXJob2x0QHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzIxMzcyOgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvRmlsZUNoYW5uZWxJbXBsLmphdmE6IFJldHVybiBudWxsIGlmIGxvY2sKCWNvdWxkIG5vdCBiZSBhY3F1aXJlZC4KCSogamF2YS9uaW8vY2hhbm5lbHMvRmlsZUxvY2suamF2YSAodG9TdHJpbmcpOiBSZS1pbXBsZW1lbnQgdG8gYmUKCWluIGxpbmUgd2l0aCBvdGhlciBpbXBsZW1lbnRhdGlvbnMuCgoyMDA1LTA0LTI2ICBMdWNhIEJhcmJpZXJpICA8bHVjYS5iYXJiaWVyaUBnbWFpbC5jb20+CgoJUFIgbGliZ2NqLzIxMTM2OgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvRmlsZUNoYW5uZWxJbXBsLmphdmEgKHRyeUxvY2spOiBQYXNzCgknZmFsc2UnIHRvIG5hdGl2ZSBsb2NrKCkuCgkobG9jayk6IFBhc3MgJ3RydWUnIHRvIG5hdGl2ZSBsb2NrKCkuCgoyMDA1LTA0LTI3ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbSAob3JkaW5hcnlfamF2YV9zb3VyY2VfZmlsZXMpOiBBZGQKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwcy9IYW5kbGVyLmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBqYXZhL25ldC9VUkwuamF2YTogUmVtb3ZlIG9yZy5tZXRhc3RhdGljLmplc3NpZSBmcm9tIGRlZmF1bHQKCXByb3RvY29sIHNlYXJjaCBwYXRoLgoKMjAwNS0wNC0yNyAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHBzL0hhbmRsZXIuamF2YTogTmV3IGZpbGUuCgoyMDA1LTA0LTI2ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzIxMjMzOgoJKiBnaWouY2MgKHZlcnNpb24pOiBQcm9wZXJseSBxdW90ZSBqYXZhIHZlcnNpb24uCgkobWFpbik6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDA1LTA0LTIwICBSZWxlYXNlIE1hbmFnZXIKCgkqIEdDQyA0LjAuMCByZWxlYXNlZC4KCjIwMDUtMDQtMTcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvbGFuZy9uYXRSdW50aW1lLmNjIChpbnNlcnRTeXN0ZW1Qcm9wZXJ0aWVzKTogU2V0CglqYXZhLmNsYXNzLnBhdGggdG8gQ0xBU1NQQVRIIG9ubHkgd2hlbiBub3QgZW1wdHkuIEZhbGwgYmFjayB0bwoJZGVmYXVsdCBwYXRoICIuIiB3aGVuIGphdmEuY2xhc3MucGF0aCBpcyBlbXB0eS4KCjIwMDUtMDQtMTYgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW0gKGdudS14bWwubG8sIGphdmF4LWltYWdlaW8ubG8sIGphdmF4LXhtbC5sbywKCWdudS1qYXZhLWJlYW5zLmxvLCBndGstYXd0LXBlZXIubG8pIDogU29ydCB0aGUgb3V0cHV0IG9mIGFsbAoJImZpbmQiIG91dHB1dCBpbiBvcmRlciB0byB3b3JrIGFyb3VuZCB0aGUgbGlidG9vbCBidWcgZGVzY3JpYmVkIGluCglQUiBsaWJnY2ovMjA2OTMuCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoKMjAwNS0wNC0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L3htbC9waXBlbGluZS9WYWxpZGF0aW9uQ29uc3VtZXIuamF2YSAoUmVjb2duaXplcik6IE1ha2UKCSdBTlknIHBhY2thZ2UtcHJpdmF0ZS4KCjIwMDUtMDQtMTUgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBNYWtlZmlsZS5hbSAobGliZ2lqX2xhX0xJQkFERCk6IE1vdmVkIFNBWCBhbmQgRE9NLi4uCgkobGliZ2NqMF9jb252ZW5pZW5jZV9sYV9MSUJBREQpOiAuLi4gaGVyZS4KCjIwMDUtMDQtMTQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X0ZpbmRDbGFzcyk6IFVzZSBzeXN0ZW0gbG9hZGVyLAoJbm90IGJvb3QgbG9hZGVyLgoJKF9Kdl9SZWdpc3RlckluaXRpYXRpbmdMb2FkZXIpOiBMaWtld2lzZS4KCShfSnZfVW5yZWdpc3RlckluaXRpYXRpbmdMb2FkZXIpOiBMaWtld2lzZS4KCjIwMDUtMDQtMTMgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvbGFuZy9uYXRSdW50aW1lLmNjIChpbnNlcnRTeXN0ZW1Qcm9wZXJ0aWVzKTogU2V0CglqYXZhLmNsYXNzLnBhdGggdG8gQ0xBU1NQQVRIIGlmIG5vdCBhbHJlYWR5IHNldC4KCjIwMDUtMDQtMTMgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIHByaW1zLmNjIChwYXJzZV92ZXJib3NlX2FyZ3MpOiBGaXggdmVyYm9zZSBhcmd1bWVudCBwYXJzaW5nLgoKMjAwNS0wNC0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VJTy5qYXZhIChSZWFkZXJGb3JtYXRGaWx0ZXIuZmlsdGVyKToKCUZpeGVkIHdyb25nIGNhc3RpbmcuCgoyMDA1LTA0LTA2ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvYnl0ZWFycmF5LmphdmE6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL2J5dGVhcnJheS5vdXQ6IE5ldyBmaWxlLgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YSAobG9hZENsYXNzRnJvbVNpZyk6IERlY2xhcmUKCShsb2FkQ2xhc3MpOiBVc2UgaXQuCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAobG9hZENsYXNzRnJvbVNpZyk6IE5ldyBtZXRob2QuCgoyMDA1LTA0LTA2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5pbjogUmVidWlsdC4KCSogTWFrZWZpbGUuYW0gKGxpYl9nbnVfamF2YV9hd3RfcGVlcl9ndGtfbGFfU09VUkNFUyk6IFJlbW92ZWQKCWd0a19hd3RfcGVlcl9zb3VyY2VzLgoJKGxpYl9nbnVfamF2YV9hd3RfcGVlcl9ndGtfbGFfTElCQUREKTogQWRkZWQgZ3RrLWF3dC1wZWVyLmxvLgoJKGxpYl9nbnVfamF2YV9hd3RfcGVlcl9ndGtfbGFfREVQRU5ERU5DSUVTKTogTGlrZXdpc2UuCgkoJChndGtfYXd0X3BlZXJfc291cmNlczouamF2YT0ubG8pKTogUmVtb3ZlZC4KCShndGstYXd0LXBlZXIubG8pOiBOZXcgdGFyZ2V0LgoKCSogamF2YS9sYW5nL25hdFZNQ2xhc3NMb2FkZXIuY2MgKGdldFN5c3RlbUNsYXNzTG9hZGVySW50ZXJuYWwpOgoJVXBkYXRlZCBmb3IgbmFtZSBjaGFuZ2UuCgkobmF0aXZlRmluZENsYXNzKTogTmV3IG1ldGhvZC4KCShsb2FkQ2xhc3MpOiBVc2UgbmF0aXZlRmluZENsYXNzLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3NMb2FkZXIuY2MgKF9Kdl9GaW5kQ2xhc3MpOiBVc2Ugc2luZ2xlLWFyZ3VtZW50Cglmb3JtIG9mIGxvYWRDbGFzcy4KCSogamF2YS9sYW5nL1ZNQ2xhc3NMb2FkZXIuamF2YSAodHJpZWRfbGlicmFyaWVzLCBsaWJfY29udHJvbCwKCUxJQl9GVUxMLCBMSUJfQ0FDSEUsIExJQl9ORVZFUik6IE5ldyBmaWVsZHMgZnJvbSBvbGQKCVZNQ2xhc3NMb2FkZXIuCgkoaW5pdGlhbGl6ZSk6IE5ldyBtZXRob2QuCgkobmF0aXZlRmluZENsYXNzKTogRGVjbGFyZS4KCSogZ251L2djai9ydW50aW1lL25hdFZNQ2xhc3NMb2FkZXIuY2M6IFJlbW92ZWQuCgkqIGdudS9nY2ovcnVudGltZS9WTUNsYXNzTG9hZGVyLmphdmE6IFJlbW92ZWQuCgkqIGdudS9nY2ovcnVudGltZS9FeHRlbnNpb25DbGFzc0xvYWRlci5qYXZhOiBSZW5hbWVkIGZyb20KCVZNQ2xhc3NMb2FkZXIuamF2YS4KCShkZWZpbmVQYWNrYWdlRm9yTmF0aXZlKTogUmVtb3ZlZC4KCSh0cmllZF9saWJyYXJpZXMsIExJQl9DQUNIRSwgTElCX0ZVTEwsIExJQl9ORVZFUiwgbGliX2NvbnRyb2wpOgoJTW92ZWQgdG8gVk1DbGFzc0xvYWRlci5qYXZhLgoJKiBwcmltcy5jYyAoX0p2X0NyZWF0ZUphdmFWTSk6IFVwZGF0ZWQgZm9yIHJlbmFtaW5nLgoJKiBNYWtlZmlsZS5hbSAoZ251L2djai9ydW50aW1lL0V4dGVuc2lvbkNsYXNzTG9hZGVyLmgpOiBSZW5hbWVkLgoJKG9yZGluYXJ5X2phdmFfc291cmNlX2ZpbGVzKTogQWRkZWQgRXh0ZW5zaW9uQ2xhc3NMb2FkZXIuamF2YSwKCXJlbW92ZWQgVk1DbGFzc0xvYWRlci5qYXZhLgoJKG5hdF9zb3VyY2VfZmlsZXMpOiBSZW1vdmVkIG5hdFZNQ2xhc3NMb2FkZXIuY2MuCgoJKiBqYXZhL2xhbmcvbmF0UnVudGltZS5jYyAoaW5zZXJ0U3lzdGVtUHJvcGVydGllcyk6IFNldAoJZ251Lmdjai5ydW50aW1lLmVuZG9yc2VkLmRpcnMuCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBNYWtlZmlsZS5hbSAob3JkaW5hcnlfamF2YV9zb3VyY2VfZmlsZXMpOiBBZGRlZAoJSGVscGVyQ2xhc3NMb2FkZXIuamF2YS4KCShBTV9DWFhGTEFHUyk6IERlZmluZSBHQ0pfRU5ET1JTRURfRElSUy4KCSogZ251L2djai9ydW50aW1lL1ZNQ2xhc3NMb2FkZXIuamF2YSAoVk1DbGFzc0xvYWRlcik6IEV4dGVuZHMKCUhlbHBlckNsYXNzTG9hZGVyLgoJKGluaXQpOiBVc2UgYWRkRGlyZWN0b3JpZXNGcm9tUHJvcGVydHkuCgkqIGdudS9nY2ovcnVudGltZS9Cb290Q2xhc3NMb2FkZXIuamF2YSAoQm9vdENsYXNzTG9hZGVyKTogRXh0ZW5kcwoJSGVscGVyQ2xhc3NMb2FkZXIuICBVc2UgYWRkRGlyZWN0b3JpZXNGcm9tUHJvcGVydHkuICBIYW5kbGUKCWdudS5nY2oucnVudGltZS5lbmRvcnNlZC5kaXJzLgoJKiBnbnUvZ2NqL3J1bnRpbWUvSGVscGVyQ2xhc3NMb2FkZXIuamF2YTogTmV3IGZpbGUuCgoJKiBnbnUvZ2NqL3J1bnRpbWUvQm9vdENsYXNzTG9hZGVyLmphdmEgKEJvb3RDbGFzc0xvYWRlcik6IERvbid0CglhZGQgc2F4IGFuZCB3M2MgbGlicmFyaWVzLgoJKiBNYWtlZmlsZS5hbSAobGliZ2lqX2xhX0xJQkFERCk6IEFkZGVkIGxpYnNheC1nY2oubGEgYW5kCglsaWJ3M2MtZ2NqLmxhLgoJKiBleHRlcm5hbC93M2NfZG9tL01ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBleHRlcm5hbC93M2NfZG9tL01ha2VmaWxlLmFtIChsaWJ3M2NfZ2NqX2xhX0dDSkZMQUdTKTogSW5jbHVkZQoJQU1fR0NKRkxBR1MuCgkobGlidzNjX2djal9sYV9MREZMQUdTKTogTmV3IHZhcmlhYmxlLgoJKG5vaW5zdF9MVExJQlJBUklFUyk6IFJlbmFtZWQuCgkqIGV4dGVybmFsL3NheC9NYWtlZmlsZS5pbjogUmVidWlsdC4KCSogZXh0ZXJuYWwvc2F4L01ha2VmaWxlLmFtIChsaWJzYXhfZ2NqX2xhX0dDSkZMQUdTKTogSW5jbHVkZQoJQU1fR0NKRkxBR1MuCgkobGlic2F4X2djal9sYV9MREZMQUdTKTogTmV3IHZhcmlhYmxlLgoJKG5vaW5zdF9MVExJQlJBUklFUyk6IFJlbmFtZWQuCgoJKiBNYWtlZmlsZS5pbjogUmVidWlsdC4KCSogTWFrZWZpbGUuYW0gKEFNX0NYWEZMQUdTKTogRGVmaW5lIFRPT0xFWEVDTElCRElSLgoJKGxpYmdjajBfY29udmVuaWVuY2VfbGFfU09VUkNFUyk6IERvbid0IGluY2x1ZGUKCWdudV94bWxfc291cmNlX2ZpbGVzLgoJKGxpYmdjajBfY29udmVuaWVuY2VfbGFfTElCQUREKTogTmV3IHZhcmlhYmxlLgoJKGxpYmdjal9sYV9MSUJBREQpOiBEb24ndCBpbmNsdWRlIHNheCBvciB3M2NfZG9tLgoJKGFsbF9qYXZhX3NvdXJjZV9maWxlcyk6IGphdmF4X2ltYWdlaW9fc291cmNlX2ZpbGVzLAoJamF2YXhfeG1sX3NvdXJjZV9maWxlcywgYW5kIGdudV9qYXZhX2JlYW5zX3NvdXJjZV9maWxlcy4KCSgkKGdudV94bWxfc291cmNlX2ZpbGVzOi5qYXZhPS5sbykpOiBSZW1vdmVkIHRhcmdldC4KCShnbnUteG1sLmxvKTogTmV3IHRhcmdldC4KCShqYXZheC1pbWFnZWlvLmxvKTogTGlrZXdpc2UuCgkoamF2YXgteG1sLmxvKTogTGlrZXdpc2UuCgkoZ251LWphdmEtYmVhbnMubG8pOiBMaWtld2lzZS4KCShnbnVfamF2YV9iZWFuc19zb3VyY2VfZmlsZXMpOiBOZXcgdmFyaWFibGUuCgkoamF2YXhfaW1hZ2Vpb19zb3VyY2VfZmlsZXMpOiBMaWtld2lzZS4KCShqYXZheF94bWxfc291cmNlX2ZpbGVzKTogTGlrZXdpc2UuCgkoamF2YXhfc291cmNlX2ZpbGVzKTogTW92ZWQgZmlsZXMgdG8gb3RoZXIgdmFyaWFibGUuCgkoYXd0X2phdmFfc291cmNlX2ZpbGVzKTogTGlrZXdpc2UuCgkob3JkaW5hcnlfamF2YV9zb3VyY2VfZmlsZXMpOiBBZGRlZCBCb290Q2xhc3NMb2FkZXIuamF2YS4KCSogamF2YS9sYW5nL25hdFZNQ2xhc3NMb2FkZXIuY2MgKGRlZmluZUNsYXNzKTogVXNlIGJvb3QgbG9hZGVyLAoJbm90IHN5c3RlbSBjbGFzcyBsb2FkZXIuCgkoaW5pdEJvb3RMb2FkZXIpOiBOZXcgbWV0aG9kLgoJKGxvYWRDbGFzcyk6IFNlYXJjaCBib290TG9hZGVyLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3NMb2FkZXIuY2MgKF9Kdl9SZWdpc3RlckluaXRpYXRpbmdMb2FkZXIpOiBVc2UKCWJvb3QgbG9hZGVyLCBub3Qgc3lzdGVtIGNsYXNzIGxvYWRlci4KCShfSnZfVW5yZWdpc3RlckluaXRpYXRpbmdMb2FkZXIpOiBMaWtld2lzZS4KCShfSnZfRmluZENsYXNzKTogTGlrZXdpc2UuICBFbnN1cmUgZW50cmllcyBpbgoJYm9vdHN0cmFwX2NsYXNzX2xpc3QgYXJlIHVuaXF1ZS4KCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChnZXRDbGFzc0xvYWRlcik6IERvbid0IHNwZWNpYWwgY2FzZQoJc3lzdGVtIGNsYXNzIGxvYWRlci4KCSogamF2YS9sYW5nL1ZNQ2xhc3NMb2FkZXIuamF2YSAoYm9vdExvYWRlcik6IE5ldyBmaWVsZC4KCShnZXRSZXNvdXJjZSk6IFVzZSBib290TG9hZGVyLgoJKGdldFJlc291cmNlcyk6IExpa2V3aXNlLgoJKGluaXRCb290TG9hZGVyKTogRGVjbGFyZS4KCSogZ251L2djai9ydW50aW1lL0Jvb3RDbGFzc0xvYWRlci5qYXZhOiBOZXcgZmlsZS4KCSogZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L2hlbHBlcnMvTmFtZXNwYWNlU3VwcG9ydC5qYXZhCgkoRU1QVFlfRU5VTUVSQVRJT04pOiBOb3cgcGFja2FnZS1wcml2YXRlLgoJKiBleHRlcm5hbC93M2NfY29tL01ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBleHRlcm5hbC93M2NfY29tL01ha2VmaWxlLmFtIChNVUxUSUJVSUxEVE9QKTogTmV3IHZhcmlhYmxlLgoJKHczYy5qYXIpOiBOZXcgdGFyZ2V0LgoJKGNsYXNzZXMuc3RhbXApOiBVcGRhdGVkLgoJKHRvb2xleGVjbGliX0xUTElCUkFSSUVTKTogUmVuYW1lZCBmcm9tIG5vaW5zdF9MVExJQlJBUklFUy4KCUNoYW5nZWQgbmFtZSBvZiBsaWJyYXJ5LgoJKGxpYnczY19nY2pfbGFfU09VUkNFUyk6IE5ldyB2YXJpYWJsZS4KCShsaWJ3M2NfZ2NqX2xhX0dDSkZMQUdTKTogTGlrZXdpc2UuCgkoc291cmNlX2ZpbGVzKTogUmVuYW1lZCBmcm9tIGxpYjNjX2NvbnZlbmllbmNlX2xhX1NPVVJDRVMuCgkqIGV4dGVybmFsL3NheC9NYWtlZmlsZS5pbjogUmVidWlsdC4KCSogZXh0ZXJuYWwvc2F4L01ha2VmaWxlLmFtIChNVUxUSUJVSUxEVE9QKTogTmV3IHZhcmlhYmxlLgoJKHNheC5qYXIpOiBOZXcgdGFyZ2V0LgoJKGNsYXNzZXMuc3RhbXApOiBVcGRhdGVkLgoJKHRvb2xleGVjbGliX0xUTElCUkFSSUVTKTogUmVuYW1lZCBmcm9tIG5vaW5zdF9MVExJQlJBUklFUy4KCUNoYW5nZWQgbmFtZSBvZiBsaWJyYXJ5LgoJKGxpYnNheF9nY2pfbGFfU09VUkNFUyk6IE5ldyB2YXJpYWJsZS4KCShsaWJzYXhfZ2NqX2xhX0dDSkZMQUdTKTogTGlrZXdpc2UuCgkoc291cmNlX2ZpbGVzKTogUmVuYW1lZCBmcm9tIGxpYnNheF9jb252ZW5pZW5jZV9sYV9TT1VSQ0VTLgoJKiBwcmltcy5jYyAoX0p2X0NyZWF0ZUphdmFWTSk6IEluaXRpYWxpemUgdGhlIGJvb3RzdHJhcCBjbGFzcwoJbG9hZGVyLgoJKF9Kdl9SdW5NYWluKTogSGFuZGxlIGNhc2Ugd2hlcmUgJ3J1bnRpbWUnIGlzIE5VTEwgYXQgZXhpdC4KCjIwMDUtMDMtMjggIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOiBSZXZlcnQgMjAwNS0wMy0yNSdzIHBhdGNoLiAgUHJvcGFnYXRlIE1VTFRJbGliCglzZXR0aW5ncyB0byBzdWIgTWFrZWZpbGVzLgoJKEdDSkgsIFpJUCk6IFByZWZpeCB3aXRoIHRvcF9idWlsZGRpci4KCSogY29uZmlndXJlOiBSZWJ1aWxkLgoJKiBleHRlcm5hbC93M2NfZG9tL01ha2VmaWxlLmFtIChNVUxUSUJVSUxEVE9QKTogRG9uJ3Qgb3ZlcnJpZGUuCgkqIGV4dGVybmFsL3czY19kb20vTWFrZWZpbGUuaW46IFJlYnVpbGQuCgkqIGV4dGVybmFsL3NheC9NYWtlZmlsZS5hbSAoTVVMVElCVUlMRFRPUCk6IERvbid0IG92ZXJyaWRlLgoJKiBleHRlcm5hbC9zYXgvTWFrZWZpbGUuaW46IFJlYnVpbGQuCgoyMDA1LTA0LTA1ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGdudS9nY2ovdG9vbHMvZ2NqX2RidG9vbC9NYWluLmphdmEgKEZpbGVzZXQpOiBOZXcgY2xhc3MuCgkoVG9rZW5pemVyKTogTmV3IGNsYXNzLgoJKGdldEZpbGVzKTogTmV3IG1ldGhvZC4KCShtYWluKTogQWRkICItIiBhcmd1bWVudC4KCUFkZCAiLTAiIGFyZ3VtZW50LgoJUmVhZCBsaXN0IG9mIGZpbGVzIGZyb20gc3RkaW4gd2hlbiBtZXJnaW5nIG1hcCBkYXRhYmFzZXMuCgkodXNhZ2UpOiAgQWRkICItIiBhcmd1bWVudC4KCUFkZCAiLTAiIGFyZ3VtZW50LgoJTWlub3IgY29ycmVjdGlvbnMuCgoyMDA1LTA0LTA1ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzIwNzUwCgkqIE1ha2VmaWxlLmFtIChBTV9DWFhGTEFHUyk6IERlZmluZSBKQVZBX0hPTUUuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmUuYWM6IEFkZCAtLXdpdGgtamF2YS1ob21lIG9wdGlvbi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBleHRlcm5hbC9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogZXh0ZXJuYWwvc2F4L01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBleHRlcm5hbC93M2NfZG9tL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBnY2ovTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogamF2YS9sYW5nL25hdFJ1bnRpbWUuY2MgKGluc2VydFN5c3RlbVByb3BlcnRpZXMpOiBTZXQgamF2YS5ob21lCgl0byBKQVZBX0hPTUUgbWFjcm8uCgoyMDA1LTA0LTA0ICBTdGV2ZSBQcmlieWwgPHN0ZXZlQG5ldGZ1ZWwuY29tPgoKCVBSIGxpYmdjai8yMDc2MQoJKiBjb25maWd1cmUuYWM6IEZpeCBmYXN0amFyIGRlZmluaXRpb24gZm9yIGNyb3NzIGJ1aWxkcy4KCSogY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwNS0wNC0wNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL0NsYXNzTG9hZGVyLmphdmEgKGxvYWRDbGFzcyk6IFJlc29sdmUgY2xhc3MgZXZlbiBpZgoJaXQgd2FzIGFscmVhZHkgZm91bmQuCgoyMDA1LTA0LTA0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL25ldC9VUkwuamF2YSAoREVGQVVMVF9TRUFSQ0hfUEFUSCk6IEFkZGVkCglvcmcubWV0YXN0YXRpYy5qZXNzaWUuCgoyMDA1LTA0LTAyICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMjA3MjcKCSogamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YTogRml4IGJ1ZmZlciBvd25lcnNoaXAgYnVnLgoKMjAwNS0wNC0wMiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9CYXNpY0F0dHJpYnV0ZXMuamF2YSAoZXF1YWxzKTogQ29tcGFyZSB0byBhbnkKCUF0dHJpYnV0ZXMgYW5kIGF0dHJpYnV0ZSBvcmRlciBkb2Vzbid0IG1hdHRlci4KCShCYXNpY0F0dHJpYnV0ZXNFbnVtZXJhdGlvbi53aGVyZSk6IEluaXRpYWxpemUgdG8gemVyby4KCShCYXNpY0F0dHJpYnV0ZXNFbnVtZXJhdGlvbi5uZXh0RWxlbWVudCk6IFVwZGF0ZSBhbmQgY29tcGFyZSB3aGVyZQoJYXBwcm9wcmlhdGVseSAoemVybyBiYXNlZCkuCgoyMDA1LTA0LTAxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzIwMDkwLCBQUiBsaWJnY2ovMjA1MjYKCSogZ2lqLmNjIChub25zdGFuZGFyZF9vcHRzX2hlbHApOiBOZXcgZnVuY3Rpb24uCgkoYWRkX29wdGlvbik6IE5ldyBmdW5jdGlvbi4KCShtYWluKTogU3VwcG9ydCBqYXZhIG9wdGlvbnMuICBTZXQgamF2YS5jbGFzcy5wYXRoLiAgRG9uJ3Qgc2V0CglfSnZfSmFyX0NsYXNzX1BhdGguCgkqIHByaW1zLmNjIChwYXJzZV94X2FyZyk6IE5ldyBmdW5jdGlvbi4KCShwYXJzZV9pbml0X2FyZ3MpOiBDYWxsIHBhcnNlX3hfYXJnIGZvciAtWCBhbmQgXyBvcHRpb25zLCB3aGVuCglpZ25vcmVVbnJlY29nbml6ZWQgaXMgdHJ1ZS4KCShuZXcgX0p2X1J1bk1haW4pOiBOZXcgdm1fYXJncyB2YXJpYW50LgoJKG9sZCBfSnZfUnVuTWFpbik6IENhbGwgbmV3IHZtX2FyZ3MgX0p2X1J1bk1haW4uCgkoX0p2X0phcl9DbGFzc19QYXRoKTogUmVtb3ZlIHZhcmlhYmxlLgoJKiBpbmNsdWRlL2phdmEtcHJvcHMuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvY25pLmggKEp2UmVhbGxvYyk6IE5ldyBmdW5jdGlvbi4KCSogaW5jbHVkZS9qdm0uaCAoX0p2X1J1bk1haW4pOiBEZWNsYXJlIHZtX2FyZ3MgdmFyaWFudC4KCSogamF2YS9sYW5nL25hdFJ1bnRpbWUuY2MgKGluc2VydFN5c3RlbVByb3BlcnRpZXMpOiBSZW1vdmUKCV9Kdl9KYXJfQ2xhc3NfUGF0aCBsb2dpYy4gIFVzZSBKVl9WRVJTSU9OIGFuZCBKVl9BUElfVkVSU0lPTgoJbWFjcm9zLgoJKiBjb25maWd1cmUuYWMgKEpWX1ZFUlNJT04pOiBEZWZpbmUuCgkoSlZfQVBJX1ZFUlNJT04pOiBMaWtld2lzZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBpbmNsdWRlL2NvbmZpZy5oLmluOiBSZWdlbmVyYXRlLgoKMjAwNS0wNC0wMSAgTWFyayBBbmRlcnNvbiA8bWFya0BwYW5vbmV0Lm5ldD4KCgkqIGphdmEvbGFuZy9uYXREb3VibGUuY2MgKHBhcnNlRG91YmxlKTogSGFuZGxlIE5hTiwgSW5maW5pdHkgYW5kCgktSW5maW5pdHkgYXMgcGFyYW1ldGVycy4KCjIwMDUtMDQtMDEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2lvL1BpcGVkSW5wdXRTdHJlYW0uamF2YQoJKHJlYWQpOiBNYWtlIHN1cmUgYSBwb3NpdGl2ZSBieXRlIHZhbHVlIGlzIHJldHVybmVkLiBSZXZpc2VkIGphdmFkb2MuCglUaGFua3MgdG8gT2xhZnVyIEJyYWdhc29uIGZvciByZXBvcnRpbmcgdGhlc2UgYnVncy4KCjIwMDUtMDQtMDEgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL3V0aWwvVGltZXIuamF2YQoJKHJ1bik6IFN0b3AgdGhlIHF1ZXVlIGlmIGEgdGFzayB0aHJvd3MgYW4gZXhjZXB0aW9uLgoKMjAwNS0wMy0zMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhICh2aWV3VG9Nb2RlbCk6IE5ldyBtZXRob2QuCgoyMDA1LTAzLTMwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbSAoZ3RrX2Nfc291cmNlX2ZpbGVzKTogUmVtb3ZlIGpuaS9jbGFzc3BhdGgvamNsLmMsCglqbmkvY2xhc3NwYXRoL2puaWxpbmsuYywgam5pL2NsYXNzcGF0aC9wcmltbGliLmMuCgkobGliX2dudV9qYXZhX2F3dF9wZWVyX2d0a19sYV9TT1VSQ0VTKTogam5pL2NsYXNzcGF0aC9qY2wuaCwKCWpuaS9jbGFzc3BhdGgvam5pbGluay5oLCBqbmkvY2xhc3NwYXRoL3ByaW1saWIuaC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGpuaS9jbGFzc3BhdGgvamNsLmg6IFJlbW92ZS4KCSogam5pL2NsYXNzcGF0aC9qY2wuYzogTGlrZXdpc2UuCgkqIGpuaS9jbGFzc3BhdGgvam5pbGluay5oOiBMaWtld2lzZS4KCSogam5pL2NsYXNzcGF0aC9qbmlsaW5rLmM6IExpa2V3aXNlLgoJKiBqbmkvY2xhc3NwYXRoL3ByaW1saWIuaDogTGlrZXdpc2UuCgkqIGpuaS9jbGFzc3BhdGgvcHJpbWxpYi5jOiBMaWtld2lzZS4KCjIwMDUtMDMtMzAgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIE1ha2VmaWxlLmFtIChjbGFzc2VzLnN0YW1wKTogQWRkIGdudS9nY2ovdG9vbHMvZ2NqX2RidG9vbC9NYWluLmphdmEKCXRvIGZpeCBhIE9ORVNURVAgZmFsbG91dC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA1LTAzLTMwICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiB0ZXN0c3VpdGUvbGliL2xpYmphdmEuZXhwIChsaWJqYXZhX2luaXQpOiBVc2UgdGhlIHNhbWUgdGFyZ2V0CgljaGVjayBmb3IgRGFyd2luLgoJKGxpYmphdmFfYXJndW1lbnRzKTogTGlrZXdpc2UuCgoJKiB0ZXN0c3VpdGUvbGliamF2YS5qbmkvam5pLmV4cCAoZ2NqX2puaV9jb21waWxlX2NfdG9fc28pOiBMaWtld2lzZS4KCShnY2pfam5pX3Rlc3Rfb25lKTogTGlrZXdpc2UuCgkoZ2NqX2puaV9pbnZvY2F0aW9uX2NvbXBpbGVfY190b19iaW5hcnkpOiBMaWtld2lzZS4KCUFkZCBmbGFncyB0byBrZWVwIHRoZSBEYXJ3aW4gbGlua2VyIHF1aWV0LgoJKGdjal9qbmlfaW52b2NhdGlvbl90ZXN0X29uZSk6IFVzZSB0aGUgc2FtZSB0YXJnZXQgY2hlY2sgZm9yIERhcndpbi4KCUFkZCAtbGljb252IGFuZCBsZ2NjX3MgZm9yIERhcndpbi4KCjIwMDUtMDMtMjYgIENocmlzIEJ1cmRlc3MgIDxkb2dAZ251Lm9yZz4KCgkqIGdudS94bWwvZG9tL0RvbU5vZGUuamF2YSAobm90aWZ5Tm9kZSk6IGdyb3cgbGlzdGVuZXIgYXJyYXkgYXMKCXJlcXVpcmVkLgoKMjAwNS0wMy0xMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS94bWwvYWVsZnJlZDIvWG1sUGFyc2VyLmphdmE6IEZpeGVkIHR5cG8uCgoyMDA1LTAzLTExICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL2FlbGZyZWQyL1NBWERyaXZlci5qYXZhOiBDb3JyZWN0ZWQgYnVnIGhhbmRsaW5nIFVSSQoJd2FybmluZ3MuCgoyMDA1LTAyLTI3ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL2FlbGZyZWQyL0pBWFBGYWN0b3J5LmphdmEsCgkgIGdudS94bWwvYWVsZnJlZDIvU0FYRHJpdmVyLmphdmEsCgkgIGdudS94bWwvYWVsZnJlZDIvWG1sUGFyc2VyLmphdmEsCgkgIGdudS94bWwvYWVsZnJlZDIvWG1sUmVhZGVyLmphdmE6IEFwcGxpZWQgR05VIENsYXNzcGF0aCBzb3VyY2UgY29kZQoJZm9ybWF0dGluZyBjb252ZW50aW9ucy4gUmVwbGFjZWQgYXJyYXlzIG9mIE9iamVjdCB3aXRoIHN0cnVjdC1saWtlCgljbGFzc2VzIGZvciBlYXNpZXIgbWFpbnRhaW5hYmlsaXR5LiBNYWRlIFNBWERyaXZlci5zdHJpbmdJbnRlcm5pbmcKCXBhY2thZ2UgcHJpdmF0ZSB0byBhbGxvdyBhY2Nlc3MgZnJvbSBYbWxQYXJzZXIgaW5zaWRlIHRoZSBsb29wIHdpdGhvdXQKCWEgbWV0aG9kIGNhbGwgb3ZlcmhlYWQuCgoyMDA1LTAzLTExICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJKiBnbnUveG1sL2FlbGZyZWQyL1NBWERyaXZlci5qYXZhOiBDb3JyZWN0ZWQgYnVnIGhhbmRsaW5nIFVSSQoJd2FybmluZ3MuCgoyMDA1LTAzLTI4ICBQZXIgQm90aG5lciAgPHBlckBib3RobmVyLmNvbT4KCgkqIGJvZWhtLmNjIChfSnZfTWFya09iaik6IERvbid0IGZvbGxvdyBudWxsIHBvaW50ZXIgdG8gc3RhdGljIGZpZWxkLAoJd2hpY2ggY2FuIGhhcHBlbiBpZiBjbGFzcyBpcyBKVl9TVEFURV9MT0FERUQgYnV0IG5vdCBKVl9TVEFURV9QUkVQQVJFRC4KCjIwMDUtMDMtMjggIEVyaWMgQm90Y2F6b3UgIDxlYm90Y2F6b3VAbGliZXJ0eXN1cmYuZnI+CgoJKiB0ZXN0c3VpdGUvbGliamF2YS5qbmkvam5pLmV4cCAoZ2NqX2puaV9pbnZvY2F0aW9uX3Rlc3Rfb25lKTogQWRkCglsaWJzb2NrZXQgdG8gdGhlIGxpYnJhcmllcyB0byBsaW5rIGZvciBTb2xhcmlzLgoKMjAwNS0wMy0yNCAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBnbnUvZ2NqL3Rvb2xzL2djal9kYnRvb2wvTWFpbi5qYXZhOiBBY2NlcHQgbGliZGlyIGFyZ3VtZW50IHdpdGgKCS1wIG9wdGlvbi4KCSh1c2FnZSk6IEFkZCBbTElCRElSXSB0byBoZWxwIG91dHB1dC4KCSogZ251L2djai90b29scy9nY2pfZGJ0b29sL25hdE1haW4uY2M6IE5ldyBmaWxlLgoJKiBNYWtlZmlsZS5hbSAoQU1fQ1hYRkxBR1MpOiBEZWZpbmUKCUxJQkdDSl9ERUZBVUxUX0RBVEFCQVNFX1BBVEhfVEFJTC4KCShkYl9wYXRodGFpbCk6IE5ldyBtYWNyby4KCjIwMDUtMDMtMjMgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCVBSIGxpYmdjai8yNjQxLCBQUiBsaWJnY2ovOTg1NCwgUFIgbGliZ2NqLzE0ODkyLCBQUiBsaWJnY2ovMTgwODMsCglQUiBsaWJnY2ovMTEwODU6CgkqIGphdmEvdXRpbC9DYWxlbmRhci5qYXZhCgkoc2V0KTogVXNlIHN0YXJ0aW5nIGRheSBvZiB3ZWVrIHdoZW4gb25lIGlzIG5lZWRlZCBpZiBub25lIGlzIGdpdmVuLgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhCgkocGFyc2UpOiBIYW5kbGUgMS0xMiBhbmQgMS0yNCB0aW1lc3RhbXBzIGNvcnJlY3RseS4KCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmEKCShjb21wdXRlVGltZSwgY29tcHV0ZUZpZWxkcyk6IEhPVVIgc2hvdWxkIGJlIGluIDAtMTEgZm9ybWF0LgoJKG5vbkxlbmllbmN5Q2hlY2spOiBBZGp1c3QgbGVuaWVuY3kgY2hlY2tpbmcgdG8gdGhhdCBmYWN0LgoJKGdldExpbmVhckRheSk6IFNob3VsZCBiZSBwcml2YXRlLgoKMjAwNS0wMy0yMiAgTW9oYW4gRW1iYXIgIDxnbnVzdHVmZkB0aGlzaXNjb29sLmNvbT4KCSAgICBEYXZpZCBEYW5leSAgPGRkYW5leUBhdnRyZXguY29tPgoKCSogZ251L2phdmEvbmV0L25hdFBsYWluU29ja2V0SW1wbFdpbjMyLmNjIChyZWFkKTogSGFuZGxlCgljb3VudCA9PSAwIGNhc2UuCgoyMDA1LTAzLTIyICBNb2hhbiBFbWJhciAgPGdudXN0dWZmQHRoaXNpc2Nvb2wuY29tPgoKCSogTWFrZWZpbGUuYW0gKCQoZGJfbmFtZSkpOiBBZGQgJChFWEVFWFQpIHN1ZmZpeCB0bwoJZ2NqLWRidG9vbCBkZXBlbmRlbmN5CgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZAoKMjAwNS0wMy0yMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2djai90b29scy9nY2pfZGJ0b29sL01haW4uamF2YSAodXNhZ2UpOiBGaXhlZCBvdXRwdXQuCgoyMDA1LTAzLTIxICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvVk1Db21waWxlci5qYXZhIChzdGF0aWMgYmxvY2spOiBBbHNvIGNhdGNoCglCdWZmZXJVbmRlcmZsb3dFeGNlcHRpb24uCgoyMDA1LTAzLTE2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBsaW5rLmNjIChlbnN1cmVfY2xhc3NfbGlua2VkKTogUmVtb3ZlZCAjaWZkZWYuCgkocHJpbnRfY2xhc3NfbG9hZGVkKTogTGlrZXdpc2UuCgkod2FpdF9mb3Jfc3RhdGUpOiBMaWtld2lzZS4KCSogamF2YS9sYW5nL0NsYXNzLmggKF9Kdl9Jc0ludGVycHJldGVkQ2xhc3MpOiBBbHdheXMgZGVjbGFyZS4KCSogaW5jbHVkZS9qdm0uaCAoX0p2X0lzSW50ZXJwcmV0ZWRDbGFzcyk6IE1vdmVkIGZyb20uLi4KCSogaW5jbHVkZS9qYXZhLWludGVycC5oOiAuLi4gaGVyZS4KCjIwMDUtMDMtMTYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2xhbmcvTWFpblRocmVhZC5qYXZhIChydW4pOiBMb2FkIG1haW4gY2xhc3MgdXNpbmcKCXN5c3RlbSBjbGFzcyBsb2FkZXIuCgoyMDA1LTAzLTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMjAyNTEKCSogTWFrZWZpbGUuYW0gKGxpYmphd3RfbGFfTElCQUREKTogQWRkIC1MJChoZXJlKS8ubGlicy4KCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgoyMDA1LTAzLTE1ICBEYXZpZCBEYW5leSAgPGRkYW5leUBhdnRyZXguY29tPgoKCSogZ251L2phdmEvbmV0L25hdFBsYWluU29ja2V0SW1wbFBvc2l4LmNjIChyZWFkX2hlbHBlcik6IEhhbmRsZQoJY291bnQgPT0gMCBjYXNlLgoKMjAwNS0wMy0xNSAgRGF2aWQgRGFuZXkgIDxkZGFuZXlAYXZ0cmV4LmNvbT4KCgkqIGphdmEvaW8vQnVmZmVyZWRJbnB1dFN0cmVhbS5qYXZhIChhdmFpbGFibGUpOiBVc2UgJ2luJyBpbnN0ZWFkCglvZiAnc3VwZXInIGZvciB1bmRlcmx5aW5nIHN0cmVhbSBhY2Nlc3MuCgkoY2xvc2UpOiBEaXR0by4KCShyZWFkKGJ5dGVbXSwgaW50LCBpbnQpKTogRGl0dG8uCgkocmVmaWxsKTogRGl0dG8uCgkoc2tpcCk6IENhbGwgc2tpcCBvbiB1bmRlcmx5aW5nIHN0cmVhbSB3aGVuIHBvc3NpYmxlLiAKCjIwMDUtMDMtMTQgIERhdmlkIERhbmV5ICA8ZGRhbmV5QGF2dHJleC5jb20+CgoJKiBjb25maWd1cmUuaG9zdDogRG9uJ3QgdXNlIC1teGdvdCBmb3IgTUlQUyBidWlsZHMuCgkKMjAwNS0wMy0xMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2djai90b29scy9nY2pfZGJ0b29sL01haW4uamF2YSAobWFpbik6IEhhbmRsZSAnLXAnLgoJKHVzYWdlKTogRG9jdW1lbnQgJy1wJy4KCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIE1ha2VmaWxlLmFtIChkYmV4ZWNkaXIpOiBOZXcgdmFyaWFibGUuCgkoZGJfbmFtZSk6IExpa2V3aXNlLgoJKGRiZXhlY19EQVRBKTogTGlrZXdpc2UuCgkoJChkYl9uYW1lKSk6IE5ldyB0YXJnZXQuCgkoQU1fQ1hYRkxBR1MpOiBEZWZpbmUgTElCR0NKX0RFRkFVTFRfREFUQUJBU0UuCgkqIGphdmEvbGFuZy9uYXRSdW50aW1lLmNjIChpbnNlcnRTeXN0ZW1Qcm9wZXJ0aWVzKTogU2V0IGRlZmF1bHQKCXN5c3RlbSBkYXRhYmFzZS4KCjIwMDUtMDMtMTAgIENocmlzIEJ1cmRlc3MgIDxkb2dAYmx1ZXpvby5vcmc+CgoJKiBnbnUveG1sL2RvbS9scy9TQVhFdmVudFNpbmsuamF2YTogSWdub3JlIGVsZW1lbnQgZGVjbGFyYXRpb25zIGlmCglub3QgY3VycmVudGx5IHBhcnNpbmcgdGhlIERURC4KCjIwMDUtMDMtMTAgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL0ZpbGVDaGFubmVsSW1wbC5qYXZhIChzbWFsbFRyYW5zZmVyRnJvbSk6CglOZXcuCgkoc21hbGxUcmFuc2ZlclRvKTogTmV3LgoJKHRyYW5zZmVyRnJvbSk6IExvb3AgYXJvdW5kIHNtYWxsVHJhbnNmZXJGcm9tLCBjb3B5aW5nIHBhZ2VTaXplCglieXRlcyBlYWNoIHRpbWUuCgkodHJhbnNmZXJUbyk6IExpa2V3aXNlLgoKMjAwNS0wMy0wOSAgRGF2aWQgRGFuZXkgIDxkZGFuZXlAYXZ0cmV4LmNvbT4KCglQUiBsaWJnY2ovMjAzODkKCU1lcmdlIEJ1ZmZlcmVkSW5wdXRTdHJlYW0gZnJvbSBHTlUgQ2xhc3NwYXRoLgoJKiBqYXZhL2lvL0J1ZmZlcmVkSW5wdXRTdHJlYW0uamF2YSAobWFya3RhcmdldCk6IEZpZWxkIHJlbW92ZWQuCgkoQ0hVTktTSVpFKTogRmllbGQgcmVtb3ZlZC4KCShidWZmZXJTaXplKTogTmV3IGZpZWxkLgoJKEJ1ZmZlcmVkSW5wdXRTdHJlYW0pOiBJbml0aWFsaXplIGZpZWxkcy4KCShjbG9zZSk6IEludmFsaWRhdGUgbWFyayBhbmQgYnVmZmVyIGluZGV4ZXMuCgkobWFyayk6ICBSZXdyaXR0ZW4uCgkocmVhZCgpKTogTW92ZSBtYXJrIGhhbmRsaW5nIGNvZGUgdG8gcmVmaWxsLgoJKHJlYWQoYnl0ZVtdLCBpbnQsIGludCkpOiBEaXR0by4KCShza2lwKTogRGl0dG8gYW5kIHNpbXBsaWZ5IEVPRiB0ZXN0aW5nLgoJKHJlZmlsbCk6IFJld3JpdHRlbi4KCSogamF2YS9pby9JbnB1dFN0cmVhbVJlYWRlci5qYXZhIChyZWZpbGwpOiBSZW1vdmVkIG1hcmsgYW5kIHJlc2V0CglvZiBpbnRlcm5hbCBCdWZmZXJlZElucHV0U3RyZWFtLgoKMjAwNS0wMy0wOSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL25hdFZNQ2xhc3NMb2FkZXIuY2MgKGRlZmluZUNsYXNzKTogUmVmZXJlbmNlCgknc3lzdGVtQ2xhc3NMb2FkZXInIGZpZWxkIGRpcmVjdGx5LgoJKiBqYXZhL2xhbmcvbmF0UnVudGltZS5jYyAoX2xvYWQpOiBSZWZlcmVuY2UgJ3N5c3RlbUNsYXNzTG9hZGVyJwoJZmllbGQgZGlyZWN0bHkuCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X1JlZ2lzdGVySW5pdGlhdGluZ0xvYWRlcik6CglSZWZlcmVuY2UgJ3N5c3RlbUNsYXNzTG9hZGVyJyBmaWVsZCBkaXJlY3RseS4KCShfSnZfVW5yZWdpc3RlckluaXRpYXRpbmdMb2FkZXIpOiBMaWtld2lzZS4KCShfSnZfRmluZENsYXNzKTogTGlrZXdpc2UuCgoyMDA1LTAzLTA5ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhIChhZGRVUkxJbXBsKTogUmVzZXQgJ3RoaXNTdHJpbmcnLgoJKHRvU3RyaW5nKTogU3luY2hyb25pemUuCgoyMDA1LTAzLTA3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvZ2NqL3Rvb2xzL2djal9kYnRvb2wvTWFpbi5qYXZhIChtYWluKTogUmVjb2duaXplICctZicuCgkodXNhZ2UpOiBEb2N1bWVudCAnLWYnLgoKMjAwNS0wMi0xMyAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ3RrX2phd3QuYyAoY2xhc3NwYXRoX2phd3RfZ2V0X2RyYXdhYmxlLAoJY2xhc3NwYXRoX2phd3RfbG9jaywgY2xhc3NwYXRoX2phd3RfdW5sb2NrKTogTmV3IGZ1bmN0aW9ucy4KCSogamF3dC5jIChfSnZfQVdUTG9jaywgX0p2X0FXVFVubG9jayk6IE5ldyBmdW5jdGlvbnMuCgkoX0p2X0dldERyYXdpbmdTdXJmYWNlKTogU2V0IHZpc3VhbElELgoJKF9Kdl9GcmVlRHJhd2luZ1N1cmZhY2VJbmZvKTogQ2xlYXIgdmlzdWFsSUQuCgkoSkFXVF9HZXRBV1QpOiBTZXQgTG9jayBhbmQgVW5sb2NrLgoJKiBpbmNsdWRlL2phd3RfbWQuaCAoc3RydWN0IF9KQVdUX1gxMURyYXdpbmdTdXJmYWNlSW5mbyk6IEFkZCB2aXN1YWxJRC4KCSogaW5jbHVkZS9qYXd0LmggKEpBV1RfVkVSU0lPTl8xXzQsIEpBV1RfTE9DS19FUlJPUiwKCUpBV1RfTE9DS19DTElQX0NIQU5HRUQsIEpBV1RfTE9DS19CT1VORFNfQ0hBTkdFRCwKCUpBV1RfTE9DS19TVVJGQUNFX0NIQU5HRUQpOiBOZXcgbWFjcm9zLgoJKHN0cnVjdCBfSkFXVCk6IEFkZCBMb2NrIGFuZCBVbmxvY2suCgoyMDA1LTAzLTA3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvVk1Db21waWxlci5qYXZhIChtZDVEaWdlc3QpOiBOZXcgZmllbGQuCgkoY29tcGlsZUNsYXNzKTogQ2xvbmUgbWQ1RGlnZXN0IGluc3RlYWQgb2YgbG9va2luZyB1cCBhIG5ldyBvbmUuCgoyMDA1LTAzLTA2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgamF2YS8yMDIxNToKCSogaW5jbHVkZS9qdm0uaCAoX0p2X0xpbmtlcjo6ZmluZF9maWVsZF9oZWxwZXIpOiBVcGRhdGVkLgoJKiBsaW5rLmNjIChmaW5kX2ZpZWxkX2hlbHBlcik6IEFkZGVkICd0eXBlJyBhcmd1bWVudC4KCShmaW5kX2ZpZWxkKTogVXBkYXRlZC4KCjIwMDUtMDMtMDYgIFJvZ2VyIFNheWxlICA8cm9nZXJAZXllc29wZW4uY29tPgoKCVBSIGxpYmdjai8yMDE1NQoJKiBNYWtlZmlsZS5hbSAobGliZ2NqMF9jb252ZW5pZW5jZS5sYSk6IFJldmVydCBsYXN0IGNoYW5nZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA1LTAzLTA1ICBSb2dlciBTYXlsZSAgPHJvZ2VyQGV5ZXNvcGVuLmNvbT4KCSAgICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCSAgICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCVBSIGxpYmdjai8yMDE1NQoJKiBNYWtlZmlsZS5hbSAobGliZ2NqMF9jb252ZW5pZW5jZS5sYSk6IE5ldyBydWxlIHRvIGNyZWF0ZSBhIGZpbGUKCW9mIHRoZSBvYmplY3QgZmlsZXMgdG8gbGluayB0byBhdm9pZCBleGNlZWRpbmcgdGhlIGNvbW1hbmQgbGluZQoJbGVuZ3RoIGxpbWl0cyBvbiBzb21lIHBsYXRmb3Jtcy4KCShjbGVhbi1sb2NhbCk6IENsZWFuIHVwIG9iamVjdGxpc3QgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNS0wMy0wMiAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8yMDI5MgoJKiB0ZXN0c3VpdGUvbGliamF2YS5qbmkvam5pLmV4cAoJKGdjal9qbmlfaW52b2NhdGlvbl9jb21waWxlX2NfdG9fYmluYXJ5KTogQWRkIC1JLiAtSS4uIHRvIGNvbXBpbGUKCWZsYWdzLgoJKGdjal9qbmlfaW52b2NhdGlvbl90ZXN0X29uZSk6IEFkZCAtTC4uLy5saWJzIHRvIGN4eCBmbGFncy4KCjIwMDUtMDItMjQgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL2F3dC9mb250L1RleHRBdHRyaWJ1dGUuamF2YTogY2hhbmdlZCBuYW1lcyB0byBsb3dlciBjYXNlOwoJKHJlYWRSZXNvbHZlKTogaW1wbGVtZW50ZWQuCglBZGRlZCBkb2MgY29tbWVudHMgYWxsIG92ZXIuCgoyMDA1LTAyLTIzICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzE2OTIzCgkqIGpuaS5jYyAoSk5JX0NyZWF0ZUphdmFWTSk6IENoZWNrIEpOSSB2ZXJzaW9uLiAgQ2FzdCBhcmdzIHRvCglKdlZNSW5pdEFyZ3MuICBQYXNzIGFyZ3MgdG8gX0p2X0NyZWF0ZUphdmFWTSBhbmQgY2hlY2sgcmV0dXJuCgl2YWx1ZS4gIE1vdmUgYXJndW1lbnQgcGFyc2luZyBjb2RlIHRvIHByaW1zLmNjLgoJKiBwcmltcy5jYyAobm9fcHJvcGVydGllcyk6IFJlbW92ZS4KCShfSnZfQ29tcGlsZXJfUHJvcGVydGllcyk6IEluaXRpYWxpemUgdG8gTlVMTC4KCShfSnZfUHJvcGVydGllc19Db3VudCk6IEluaXRpYWxpemUgdG8gMC4KCShwYXJzZV92ZXJib3NlX2FyZ3MpOiBOZXcgZnVuY3Rpb24uCgkocGFyc2VfaW5pdF9hcmdzKTogTmV3IGZ1bmN0aW9uLgoJKF9Kdl9DcmVhdGVKYXZhVk0pOiBDYWxsIHBhcnNlX2luaXRfYXJncy4KCShfSnZfUnVuTWFpbik6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBfSnZfQ3JlYXRlSmF2YVZNLgoJKiBnY2ovY25pLmggKEp2Vk1PcHRpb24pOiBOZXcgc3RydWN0LgoJKEp2Vk1Jbml0QXJncyk6IExpa2V3aXNlLgoJKEp2Q3JlYXRlSmF2YVZNKTogRGVjbGFyZSB2bV9hcmdzIGFzIEp2Vk1Jbml0QXJncyogcmF0aGVyIHRoYW4KCXZvaWQqLgoJKiBsaWJqYXZhL2djai9qYXZhcHJpbXMuaCAoX0p2X1ZNT3B0aW9uKTogTmV3IHN0cnVjdC4KCShfSnZfVk1Jbml0QXJncyk6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2phdmEtcHJvcHMuaCAoX0p2X1Byb3BlcnRpZXNfQ291bnQpOiBEZWNsYXJlLgoJKiBqYXZhL2xhbmcvbmF0UnVudGltZS5jYyAoaW5zZXJ0U3lzdGVtUHJvcGVydGllcyk6IFVzZQoJX0p2X1Byb3BlcnRpZXNfQ291bnQgaW4gZm9yIGxvb3AgZXhpdCBjb25kaXRpb24uCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmpuaS9qbmkuZXhwCgkoZ2NqX2ludm9jYXRpb25fY29tcGlsZV9jX3RvX2JpbmFyeSk6IE5ldyBwcm9jZWR1cmUuCgkoZ2NqX2ludm9jYXRpb25fdGVzdF9vbmUpOiBMaWtld2lzZS4KCShnY2pfam5pX3J1bik6IFJ1biBKTkkgaW52b2NhdGlvbiBBUEkgdGVzdHMuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmpuaS9pbnZvY2F0aW9uL1BSMTY5MjMuYywKCXRlc3RzdWl0ZS9saWJqYXZhLmpuaS9pbnZvY2F0aW9uL1BSMTY5MjMuamF2YSwKCXRlc3RzdWl0ZS9saWJqYXZhLmpuaS9pbnZvY2F0aW9uL1BSMTY5MjMub3V0OiBOZXcgdGVzdC4KCjIwMDUtMDItMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGUgZ251L2phdmEvbmlvL0NoYW5uZWxSZWFkZXIuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNS0wMi0yMyAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIGdudS9qYXZhL25pby9DaGFubmVsUmVhZGVyOiBGaXhlZCBjb21tZW50cy4KCjIwMDUtMDItMjMgIFJvYmVydCBTY2h1c3RlciAgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgoJKiBqYXZhL25pby9jaGFubmVscy9DaGFubmVsczogQWRkZWQgRklYTUVzIGFib3V0CglzdHViIG1ldGhvZCBpbXBsZW1lbnRhdGlvbi4KCShuZXdSZWFkZXIpOiBJbXBsZW1lbnRlZC4KCSogZ251L2phdmEvbmlvL0NoYW5uZWxSZWFkZXI6IE5ldyBjbGFzcy4KCjIwMDUtMDItMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhOgoJUmVtb3ZlZCB1bnVzZWQgaW1wb3J0LgoKMjAwNS0wMi0yMiAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8yMDAyOToKCSogTWFrZWZpbGUuYW0gKGxpYl9nbnVfamF2YV9hd3RfcGVlcl9ndGtfbGFfQ0ZMQUdTKTogQWRkIFhfQ0ZMQUdTLgoJKGxpYl9nbnVfamF2YV9hd3RfcGVlcl9ndGtfbGFfTERGTEFHUyk6IEFkZCBYX0xJQlMgYW5kIC1sWHRzdC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGxpYlh0c3QuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDUtMDItMjIgIE1hcmsgV2llbGFhcmQgIDxhZGRyZXNzQGJvZ3VzLmV4YW1wbGUuY29tPgoKCSogamF2YS9zZWN1cml0eS9BbGdvcml0aG1QYXJhbWV0ZXJHZW5lcmF0b3IuamF2YSAoZ2V0SW5zdGFuY2UpOgoJTWVudGlvbiBwcm92aWRlciB3aGVuIHRocm93aW5nIE5vU3VjaFByb3ZpZGVyRXhjZXB0aW9uLgoJKiBqYXZhL3NlY3VyaXR5L0FsZ29yaXRobVBhcmFtZXRlcnMuamF2YSAoZ2V0SW5zdGFuY2UpOiBMaWtld2lzZS4KCSogamF2YS9zZWN1cml0eS9LZXlGYWN0b3J5LmphdmEgKGdldEluc3RhbmNlKTogTGlrZXdpc2UuCgkqIGphdmEvc2VjdXJpdHkvS2V5U3RvcmUuamF2YSAoZ2V0SW5zdGFuY2UpOiBMaWtld2lzZS4KCSogamF2YS9zZWN1cml0eS9TZWN1cmVSYW5kb20uamF2YSAoZ2V0SW5zdGFuY2UpOiBMaWtld2lzZS4KCSogamF2YS9zZWN1cml0eS9jZXJ0L0NlcnRpZmljYXRlRmFjdG9yeS5qYXZhIChnZXRJbnN0YW5jZSk6IExpa2V3aXNlLgoKMjAwNS0wMi0yMiAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L1Byb3h5LmphdmEsCglqYXZhL25ldC9VUkwuamF2YSwKCWphdmEvc2VjdXJpdHkvU2VjdXJlUmFuZG9tLmphdmEsCglqYXZhL3V0aWwvVGltZXIuamF2YSwKCWphdmEvdXRpbC9wcmVmcy9BYnN0cmFjdFByZWZlcmVuY2VzLmphdmE6CglEb24ndCBjYXRjaCBqYXZhLmxhbmcuVGhyZWFkRGVhdGguCgoyMDA1LTAyLTIyICBEYXZpZCBHaWxiZXJ0ICA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9hd3QvZm9udC9UcmFuc2Zvcm1BdHRyaWJ1dGUuamF2YSwKCShUcmFuc2Zvcm1BdHRyaWJ1dGUoQWZmaW5lVHJhbnNmb3JtKSk6IHRocm93CglJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gZm9yIG51bGwgdHJhbnNmb3JtLgoJKGdldFRyYW5zZm9ybSk6IHJldHVybiBhIGNvcHkgb2YgdHJhbnNmb3JtLgoJQWRkZWQgZG9jIGNvbW1lbnRzIHRvIGFsbC4KCjIwMDUtMDItMjIgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL0V4dGVybmFsaXphYmxlLmphdmEsCglqYXZhL2lvL1NlcmlhbGl6YWJsZS5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IFJlbW92ZWQuCgkqIGphdmEvcm1pL3NlcnZlci9SZW1vdGVPYmplY3QuamF2YSwKCWphdmEvcm1pL3NlcnZlci9VSUQuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBNYWRlIHByaXZhdGUuCgkqIGphdmEvcm1pL3NlcnZlci9SZW1vdGVSZWYuamF2YSwKCWphdmEvcm1pL3NlcnZlci9TZXJ2ZXJSZWYuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBTZXQgcHJvcGVyIHZhbHVlLgoJKiBqYXZhL3NlY3VyaXR5L2ludGVyZmFjZXMvRFNBUHJpdmF0ZUtleS5qYXZhLAoJamF2YS9zZWN1cml0eS9pbnRlcmZhY2VzL0RTQVB1YmxpY0tleS5qYXZhLAoJamF2YS9zZWN1cml0eS9pbnRlcmZhY2VzL1JTQU11bHRpUHJpbWVQcml2YXRlQ3J0S2V5LmphdmEsCglqYXZhL3NlY3VyaXR5L2ludGVyZmFjZXMvUlNBUHJpdmF0ZUNydEtleS5qYXZhLAoJamF2YS9zZWN1cml0eS9pbnRlcmZhY2VzL1JTQVByaXZhdGVLZXkuamF2YSwKCWphdmEvc2VjdXJpdHkvaW50ZXJmYWNlcy9SU0FQdWJsaWNLZXkuamF2YSwKCWphdmF4L2NyeXB0by9TZWNyZXRLZXkuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBBZGRlZC4KCjIwMDUtMDItMjIgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9PYmplY3QuaCAoX0p2T2JqZWN0UHJlZml4KTogRGVjbGFyZSBhcyBleHRlcm4gIkphdmEiLgoKMjAwNS0wMi0yMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGphdmEvMjAwNTY6CgkqIHZlcmlmeS5jYyAodHlwZTo6RUlUSEVSKTogTmV3IGNvbnN0YW50LgoJKGNoZWNrX2ZpZWxkX2NvbnN0YW50KTogVXNlIGl0LgoJKHR5cGU6OmNvbXBhdGlibGUpOiBIYW5kbGUgaXQuCgoyMDA1LTAyLTIyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvc2VjdXJpdHkvUG9saWN5RmlsZS5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkvcGtjcy9QS0NTN1NpZ25lZERhdGEuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3BrY3MvU2lnbmVySW5mby5qYXZhOgoJRml4ZWQgY29weXJpZ2h0IGhlYWRlci4KCjIwMDUtMDItMjIgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2JlYW5zL1Byb3BlcnR5RGVzY3JpcHRvci5qYXZhCgkoUHJvcGVydHlEZXNjcmlwdG9yLHNldFJlYWRNZXRob2QpOiBTZXQgcHJvcGVydHlUeXBlLgoKMjAwNS0wMi0yMiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmlvL0RpcmVjdEJ5dGVCdWZmZXJJbXBsLmphdmEKCShvd25lcik6IEZpeGVkIGZvcm1hdHRpbmcgb2YgamF2YWRvYy4KCSogamF2YS90ZXh0L0RhdGVGb3JtYXQuamF2YQoJKGdldEF2YWlsYWJsZUxvY2FsZXMpOiBGaXhlZCBmb3JtYXR0aW5nLgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhOgoJRml4ZWQgZm9ybWF0dGluZyBhbmQgaW1wb3J0IHN0YXRlbWVudCBvcmRlci4KCSogamF2YS91dGlsL0NhbGVuZGFyLmphdmEKCShDYWxlbmRhcik6IEZpeGVkIGphdmFkb2MgdG8gYmUgSFRNTCBjb21wbGlhbnQuCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhOgoJRml4ZWQgamF2YWRvY3MuCgoyMDA1LTAyLTIyICBSb21hbiBLZW5ua2UgPHJvbWFuQG9udG9ncmFwaGljcy5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEZpeGVkIEJ1dHRvbiBsZWZ0IGFuZCByaWdodCBtYXJnaW4uCgoyMDA1LTAyLTIyICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Sb2JvdC5qYXZhICh3YWl0Rm9ySWRsZSk6IENhbGwgaW52b2tlQW5kV2FpdCBvbiBhbgoJZW1wdHkgUnVubmFibGUuCgoJUFIgbGliZ2NqLzE3OTUyOgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrV2luZG93UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCShnZXRXaWR0aCk6IE5ldyBtZXRob2QuCgkoZ2V0SGVpZ2h0KTogTGlrZXdpc2UuCgkoY3JlYXRlKTogUmVtb3ZlIHdpZHRoLCBoZWlnaHQgYW5kIGluc2V0cyBwYXJhbWV0ZXJzLiAgTW92ZSBzaXplCglzZXR1cCAuLi4KCShyZWFsaXplX2NiKTogLi4uIGhlcmUuICBOZXcgZnVuY3Rpb24uCgkoY29ubmVjdFNpZ25hbHMpOiBDb25uZWN0IHJlYWxpemVfY2IuCgkocmVxdWVzdF9mcmFtZV9leHRlbnRzKTogUmVtb3ZlIEZJWE1FLiAgTW92ZQoJcG9zdEluc2V0c0NoYW5nZWRFdmVudCBsb29rdXAgLi4uCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdC5jIChndGtJbml0KToKCS4uLiBoZXJlLiAgTG9vayB1cCBHdGtXaW5kb3dQZWVyIGdldFdpZHRoIGFuZCBnZXRIZWlnaHQgbWV0aG9kcy4KCSogam5pL2d0ay1wZWVyL2d0a3BlZXIuaCAocG9zdEluc2V0c0NoYW5nZWRFdmVudElEKTogRGVjbGFyZQoJam1ldGhvZElELgoJKHdpbmRvd0dldFdpZHRoSUQpOiBMaWtld2lzZS4KCSh3aW5kb3dHZXRIZWlnaHRJRCk6IExpa2V3aXNlLgoKMjAwNS0wMi0yMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xOTg0MgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jCgkoYnV0dG9uX3RvX2F3dF9tb2RzKTogUmV0dXJuIEJVVFRPTiBtYXNrcywgbm90IEJVVFRPTl9ET1dOIG1hc2tzLgoKMjAwNS0wMi0yMSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCU1lcmdlIHNlcmlhbGl6YXRpb24gZnJvbSBHTlUgQ2xhc3NwYXRoLgoJKiBnY2ovbWV0aG9kLmg6IEFkZCBtaXNzaW5nICNpbmNsdWRlcy4KCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChyZWFkQ2xhc3NEZXNjcmlwdG9yKTogQ2hlY2sgZm9yIAoJcHJpbWl0aXZlIGNsYXNzIElEcyBvbiB0aGUgc3RyZWFtIGhlcmUuLi4KCShyZXNvbHZlQ2xhc3MpOiAuLi5ub3QgaGVyZS4KCSogamF2YS9pby9PYmplY3RTdHJlYW1GaWVsZC5qYXZhOiBVc2UgVk1PYmplY3RTdHJlYW0gY2xhc3MgY2FsbHMgdG8gc2V0CglmaWVsZHMuCgkqIGphdmEvaW8vVk1PYmplY3RTdHJlYW1DbGFzcy5qYXZhIChzZXREb3VibGVOYXRpdmUsIHNldEZsb2F0TmF0aXZlLAoJc2V0TG9uZ05hdGl2ZSwgc2V0SW50TmF0aXZlLCBzZXRTaG9ydE5hdGl2ZSwgc2V0Q2hhck5hdGl2ZSwKCXNldEJ5dGVOYXRpdmUsIHNldEJvb2xlYW5OYXRpdmUsIHNldE9iamVjdE5hdGl2ZSk6IE5ldyBuYXRpdmUgbWV0aG9kcy4KCSogamF2YS9pby9uYXRWTU9iamVjdFN0cmVhbUNsYXNzLmphdmEgKHNldERvdWJsZU5hdGl2ZSwgc2V0RmxvYXROYXRpdmUsCglzZXRMb25nTmF0aXZlLCBzZXRJbnROYXRpdmUsIHNldFNob3J0TmF0aXZlLCBzZXRDaGFyTmF0aXZlLAoJc2V0Qnl0ZU5hdGl2ZSwgc2V0Qm9vbGVhbk5hdGl2ZSwgc2V0T2JqZWN0TmF0aXZlKTogSW1wbGVtZW50IHRoZW0uCgkqIGphdmEvaW8vbmF0T2JqZWN0SW5wdXRTdHJlYW0uY2MgKGFsbG9jYXRlT2JqZWN0KTogQWRkIG5ldyBwYXJhbWV0ZXJzCglmcm9tIENsYXNzcGF0aCdzIHZlcnNpb24uIFVzZSBfSnZfRnJvbVJlZmxlY3RlZENvbnN0cnVjdG9yKCkuIENhbGwKCXRoZSBjb25zdHJ1Y3RvciBoZXJlLgoJKGNhbGxDb25zdHJ1Y3Rvcik6IFJlbW92ZWQuCgkoZ2V0Q2FsbGVyc0NsYXNzTG9hZGVyKTogUmVtb3ZlZC4KCSogamF2YS9sYW5nL3JlZmxlY3QvRmllbGQuamF2YSAoc2V0Qnl0ZSwgc2V0U2hvcnQsIHNldEludCwgc2V0TG9uZywKCXNldEZsb2F0LCBzZXREb3VibGUsIHNldENoYXIsIHNldEJvb2xlYW4pOiBBZGQgJ2NoZWNrRmluYWwnIHBhcmFtZXRlcgoJdG8gY29udHJvbCB3aGV0aGVyIHNldHRpbmcgZmluYWwgZmllbGQgdmFsdWVzIGlzIHBlcm1pdHRlZC4gQ2FsbAoJZ2V0QWRkcigpIHdpdGggY2hlY2tGaW5hbCBwYXJhbWV0ZXIgaW5zdGVhZCBvZiBzZXRBZGRyKCkuCgkqIGphdmEvbGFuZy9yZWZsZWN0L25hdEZpZWxkLmNjIChnZXRUeXBlKTogTG9va3VwIGFuZCByZXNvbHZlIGZpZWxkCglvbmx5IGlmIG5vdCBkb25lIGFscmVhZHkuCgkoZ2V0QWRkcik6IEFkZCBjaGVja0ZpbmFsIHBhcmFtZXRlci4gRG8gdGhlIGZpbmFsIGZpZWxkIGNoZWNrIG9ubHkgaWYKCWNoZWNrRmluYWwgaXMgc2V0LgoJKHNldEFkZHIpOiBSZW1vdmVkLgoKMjAwNS0wMi0yMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSMgRml4ZXMgYnVnICMxMTk1NwoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEgKHJlc29sdmVDbGFzcyk6IERvbid0IGNoZWNrICJ2b2lkIgoJdHdpY2UuCgkKMjAwNS0wMi0yMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCUZpeGVzIGJ1ZyAjMTE2MTguCgkqIGphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YSAocmVhZENsYXNzRGVzY3JpcHRvcik6IEhhbmRsZSBjbGFzc2VzCgl3aXRob3V0IGEgc3VwZXIgY2xhc3MgYW5kIHVzIE9iamVjdFN0cmVhbUNsYXNzLmxvb2t1cEZvckNsYXNzT2JqZWN0KCkuCgkocmVzb2x2ZUNsYXNzKTogQ2hlY2sgZm9yIHByaW1pdGl2ZSB0eXBlcy4KCShsb29rdXBDbGFzcyk6IFJldHVybiBudWxsIHdoZW4gYXJndW1lbnQgaXMgbnVsbC4KCjIwMDUtMDItMjEgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEKCShyZWFkT2JqZWN0KTogRml4IHRvIGNvbnN1bWUgVENfRU5EQkxPQ0tEQVRBIGFmdGVyIHJlYWRFeHRlcm5hbC4KCjIwMDUtMDItMjEgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL09iamVjdE91dHB1dFN0cmVhbS5qYXZhCgkod3JpdGVPYmplY3QsIGNhbGxXcml0ZU1ldGhvZCk6IFJlcGxhY2VkIHJlZmxlY3Rpb24gd2l0aCBhY2Nlc3NpbmcKCWNhY2hlZCBpbmZvIGluIE9iamVjdFN0cmVhbUNsYXNzLgoJKGdldE1ldGhvZCk6IFJlbW92ZWQuCgkqIGphdmEvaW8vT2JqZWN0U3RyZWFtQ2xhc3MuamF2YQoJKGZpbmRNZXRob2QpOiBBZGRlZCBjaGVjayB0byBtYWtlIHN1cmUgdGhlIG1ldGhvZCBmb3VuZCBoYXMgdGhlCglyaWdodCBtb2RpZmllcnMuCgkoY2FjaGVNZXRob2RzKTogQWRkZWQgd3JpdGVSZXBsYWNlIGFuZCB3cml0ZU9iamVjdCBtZXRob2RzLgoJKHNldEZsYWdzKTogTG9vayBhdCBuZXcgd3JpdGVPYmplY3RNZXRob2QgZmllbGQgaW5zdGVhZCBvZiBkb2luZwoJcmVmbGVjdGlvbiBhZ2Fpbi4KCSh3cml0ZVJlcGxhY2VNZXRob2QpOiBOZXcgZmllbGQuCgkod3JpdGVPYmplY3RNZXRob2QpOiBOZXcgZmllbGQuCgoyMDA1LTAyLTIxICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoJSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YQoJKG5ld09iamVjdCk6IENoYW5nZWQgcHJvdG90eXBlLiBHZXQgYSBjb25zdHJ1Y3RvciByZWZsZWN0IG9iamVjdAoJZGlyZWN0bHkuCgkoY2FsbENvbnN0cnVjdG9yKTogUmVtb3ZlZC4KCShhbGxvY2F0ZU9iamVjdCk6IENoYW5nZWQgcHJvdG90eXBlLgoJKHJlYWRDbGFzc0Rlc2NyaXB0b3IpOiBCdWlsZCB0aGUgY29uc3RydWN0b3IgcmVmbGVjdGlvbiBkaXJlY3RseS4KCShyZWFkT2JqZWN0KTogSW52b2tlIG5ld09iamVjdCB1c2luZyB0aGUgbmV3IHByb3RvdHlwZS4KCgkqIGphdmEvaW8vT2JqZWN0U3RyZWFtQ2xhc3MuamF2YQoJKGZpcnN0Tm9uU2VyaWFsaXphYmxlUGFyZW50KTogUmVtb3ZlZC4KCShmaXJzdE5vblNlcmlhbGl6YWJsZVBhcmVudENvbnN0cnVjdG9yKTogQWRkZWQuCQoKMjAwNS0wMi0yMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2VuLmphdmE6IEV4dGVuZAoJbG9jYWxQYXR0ZXJuQ2hhcnMgdG8gIkd5TWRrSG1zU0VERndXYWhLellldWdBWiIuCgoyMDA1LTAyLTIxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhCgkoU2ltcGxlRGF0ZUZvcm1hdChTdHJpbmcsIERhdGVGb3JtYXRTeW1ib2xzKSk6IFRocm93CglOdWxsUG9pbnRlckV4Y2VwdGlvbiB3aGVuIGZvcm1hdERhdGEgaXMgbnVsbC4KCjIwMDUtMDItMjEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhIChnZXRPZmZzZXQpOiBDYWxjdWxhdGUgYmVmb3JlRW5kIGJ5Cgl0YWtpbmcgZHN0U2F2aW5ncyBpbnRvIGFjY291bnQuCgoyMDA1LTAyLTIxICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YSwKCShwYXJzZSk6IFNldCBjb3JyZWN0IERTVF9PRkZTRVQgdG8gdGhlIGNvcnJlY3QgdmFsdWUuCgoyMDA1LTAyLTIxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3V0aWwvU2ltcGxlVGltZVpvbmUuamF2YSAoY2hlY2tSdWxlKTogVGhyb3cKCUlsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIG1vbnRoIG91dCBvZiByYW5nZS4KCjIwMDUtMDItMjEgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmEsCgkoYWRkKTogRG9uJ3Qgc2V0IGZpZWxkcyBkaXJlY3RseSBhbnltb3JlLiBVc2Ugc2V0KCkKCjIwMDUtMDItMjEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmEgKENvbXBpbGVkRmllbGQudG9TdHJpbmcpOgoJVXNlIFN0cmluZ0J1ZmZlciwgbm90IFN0cmluZ0J1aWxkZXIuCgkodG9TdHJpbmcpOiBMaWtld2lzZS4KCjIwMDUtMDItMjEgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS91dGlsL0NhbGVuZGFyLmphdmEgCgkoY2xlYXIpOiBEYXRlcyBzaG91bGQgY2xlYXIgdG8gbG9jYWwgdGltZS4KCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmEgICAgICAKCShjb21wdXRlVGltZSk6IEZpeCBwcmlvcml0eSBwcm9ibGVtIHdpdGggREFZX09GX1dFRUssCglIYW5kbGUgbm9uLXN1bmRheS1zdGFydGlnIHdlZWtzIGFuZCBtaW5pbXVtRGF5c0luRmlyc3RXZWVrLgoKMjAwNS0wMi0yMSAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YSAKCShDYWxlbmRhcik6IENvbnN0cnVjdG9yIHNob3VsZCBjbGVhciBmaWVsZHMuCgoyMDA1LTAyLTIxICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmEKCShwYXJzZSk6IFR3ZWFrIGhhbmRsaW5nIG9mIDIteWVhciBkYXRlcwoJKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YQoJKGNsZWFyKTogQ2xlYXIgZmllbGRzIHRvIGNvcnJlY3QgdmFsdWUuCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhCgkoY29tcHV0ZVRpbWUpOiBDb3JyZWN0IGhhbmRsaW5nIG9mIHRpbWUgem9uZXMuCglDb3JyZWN0IGZpZWxkIG1pbmltdW0gdmFsdWVzLgoKMjAwNS0wMi0yMSAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YQoJKHNldCkgSW52YWxpZGF0ZSBhbGwgZmllbGRzIG9uIGZpcnN0IGNhbGwgdG8gc2V0KCkuCgoyMDA1LTAyLTIxICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhCgkoY29tcHV0ZVRpbWUpOiBGaXhlZCBoYW5kbGluZyBvZiB0aW1lIHpvbmVzLgoKMjAwNS0wMi0yMSAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YQoJKGNsZWFyKTogU2V0IHZhbHVlcyB0byBFcG9jaCBpbnN0ZWFkIG9mIHplcm8uCgkoc2V0KTogU2V0IGlzU2V0IHRvIHRoZSByZWxldmFudCBmaWVsZCBwYXR0ZXJuIGluc3RlYWQgb2YganVzdAoJdGhlIGZpZWxkLgoJKiBqYXZhL3V0aWwvR3JlZ29yaWFuQ2FsZW5kYXIuamF2YQoJKGdldEJ1bmRsZSk6IFJlbW92ZWQuCgkoZ2V0RGF5T2ZZZWFyKTogUmVtb3ZlZC4KCShnZXRGaXJzdERheU9mTW9udGgpOiBOZXcgcHJpdmF0ZSBtZXRob2QuCgkobm9uTGVuaWVuY3lDaGVjayk6IE5ldyBwcml2YXRlIG1ldGhvZC4KCShjb21wdXRlVGltZSk6IENvcnJlY3QgaGFuZGxpbmcgb2YgaW5zdWZmaWNpZW50IGRhdGEuCgoyMDA1LTAyLTIxICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS91dGlsL0NhbGVuZGFyLmphdmE6IEludmFsaWRhdGUgRVJBIGZpZWxkIG9uIHNldHRpbmcKCXRoZSBZRUFSLgoJKiBqYXZhL3V0aWwvU2ltcGxlVGltZVpvbmUuamF2YToKCShnZXREYXlzSW5Nb250aCk6IFJlaW1wbGVtZW50ZWQuCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhOgoJKGdldExpbmVhclRpbWUpOiBSZW1vdmVkLgoJKGlzTGVhcFllYXIoaW50LGJvb2xlYW4pKTogUmVtb3ZlZC4KCShiZWZvcmUoKSwgYWZ0ZXIoKSk6IFJlbW92ZWQuCgkoY29tcHV0ZVRpbWUpOiBSZWltcGxlbWVudGVkLgoKMjAwNS0wMi0yMSAgU3ZlbiBkZSBNYXJvdGh5IDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdXRpbC9DYWxlbmRhci5qYXZhOiBSZWZvcm1hdHRlZC4KCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmE6IFJlZm9ybWF0dGVkLgoJKiBqYXZhL3V0aWwvU2ltcGxlVGltZVpvbmUuamF2YTogUmVmb3JtYXR0ZWQuCgoyMDA1LTAyLTIxICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKICAgICAgICAqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhCiAgICAgICAgKEdyZWdvcmlhbkNhbGVuZGFyKTogVXBkYXRlIGZpZWxkcyBpbiB0aGUgY29uc3RydWN0b3IKCjIwMDUtMDItMjEgIE5vYSBSZXNhcmUgIDxub2FAcmVzYXJlLmNvbT4KCiAgICAgICAgKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YSAoZXhwbGljaXREU1RPZmZzZXQpOiBOZXcgaW5zdGFuY2UgZmllbGQuCiAgICAgICAgKHNldChpbnQsaW50KSk6IFNldCBhbmQgdXNlIG5ldyBmaWVsZC4KICAgICAgICAoc2V0KGludCxpbnQsaW50KSk6IENoZWNrIG5ldyBmaWVsZC4KCjIwMDUtMDItMjEgIE5vYSBSZXNhcmUgIDxhZGRyZXNzQGhpZGRlbj4KCgkqIGphdmEvdXRpbC9DYWxlbmRhci5qYXZhKHNldCk6CglGaXggZm9yIERTVCByZWxhdGVkIHJlZ3Jlc3Npb24uCgoyMDA1LTAyLTIxICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS91dGlsL0NhbGVuZGFyLmphdmEKCShzZXRUaW1lSW5NaWxsaXMpOiBBZGRlZCBjYWxsIHRvIGNsZWFyLCByZW1vdmVkIGNvbXB1dGVGaWVsZHMgY2FsbC4KCSogamF2YS91dGlsL0RhdGUuamF2YQoJKERhdGUoaW50LGludCxpbnQsaW50LGludCxpbnQpKTogUmVtb3ZlZCB3b3JrYXJvdW5kIGZvcgoJR3JlZ29yaWFuQ2FsZW5kYXIgYnVnLgoJKiBqYXZhL3V0aWwvR3JlZ29yaWFuQ2FsZW5kYXIuamF2YQoJKEdyZWdvcmlhbkNhbGVuZGFyKTogQ2hhaW5lZCBhbGwgY29uc3RydWN0b3JzIHRvIGEgKG5ldykKCWNvbW1vbiBjb25zdHJ1Y3Rvci4KCShjb21wdXRlVGltZSk6IEZpeGVkIHN1cHBvcnQgZm9yIGxlbmllbnQgbW9udGggdHJlYXRtZW50LgoJKGdldExpbmVhckRheSk6IFJldHVybiBsb25nIGluc3RlYWQgb2YgaW50LgoJKGNhbGN1bGF0ZURheSk6IEFkZGVkIGZpZWxkcyBhcmd1bWVudCBhbmQgY2hhbmdlZCBkYXkgYXJndW1lbnQKCXRvIGxvbmcuCgoyMDA1LTAyLTIxICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YQoJTG90cyBvZiBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgkocmVhZE9iamVjdChqYXZhLmlvLk9iamVjdElucHV0U3RyZWFtKSk6IFdyYXBzCglJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gYXMgc3BlY2lmaWVkLgoJKGNvbXBpbGVGb3JtYXQoU3RyaW5nKSk6IFVzZXMgc3RhbmRhcmRDaGFycwoJcmF0aGVyIHRoYW4gdGhlIGxvY2FsIHBhdHRlcm4gY2hhcmFjdGVycy4KCVRocm93cyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gcmF0aGVyIHRoYW4KCXN0b3JpbmcgYSAtMSBmaWVsZC4KCSh0b1N0cmluZygpKTogRXh0ZW5kZWQgdG8gaW5jbHVkZSBhbGwgdmFyaWFibGVzCglpbiBhIGJldHRlciBmb3JtYXQuCgkodHJhbnNsYXRlTG9jYWxpemVkUGF0dGVybihTdHJpbmcsIFN0cmluZywgU3RyaW5nKSk6CglSZW5hbWVkIHRvIGJldHRlciBkZWZpbmUgdGhlIHVzZSBvZiB0aGlzIG1ldGhvZC4KCjIwMDUtMDItMjEgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3RleHQvRGF0ZUZvcm1hdC5qYXZhOgoJRG9jdW1lbnRlZCBwYXR0ZXJuIGNoYXJhY3RlciBvZmZzZXQgY29uc3RhbnRzIGFuZAoJYWRkZWQgbmV3IG9uZXMuCgkoRmllbGQpOiBBZGRlZCBuZXcgc3RhdGljIGZpZWxkcyBmb3IgbmV3IHBhdHRlcm4gY2hhcnMuCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmE6CgkoQ29tcGlsZWRGaWVsZCk6IENoYW5nZWQgbmFtZSBvZiBGaWVsZFNpemVQYWlyIGNsYXNzCgl0byBDb21waWxlZEZpZWxkIGFmdGVyIGFkZGluZyB0aGUgY2hhcmFjdGVyIGFzIGFuCglhdHRyaWJ1dGUuICBDaGFuZ2VkIGZpZWxkcyB0byBwcml2YXRlIGFuZCBhZGRlZAoJYWNjZXNzb3JzIHRvIGdpdmUgZW5jYXBzdWxhdGlvbi4KCShDb21waWxlZEZpZWxkLkNvbXBpbGVkRmllbGQoaW50LGludCxjaGFyKSk6IEV4dGVuZGVkCgl3aXRoIGNoYXJhY3RlciBmaWVsZC4KCShDb21waWxlZEZpZWxkLmdldEZpZWxkKCkpOiBOZXcgYWNjZXNzb3IgbWV0aG9kLgoJKENvbXBpbGVkRmllbGQuZ2V0U2l6ZSgpKTogTmV3IGFjY2Vlc3NvciBtZXRob2QuCgkoQ29tcGlsZWRGaWVsZC5nZXRDaGFyYWN0ZXIoKSk6IE5ldyBhY2Nlc3NvciBtZXRob2QuCgkoQ29tcGlsZWRGaWVsZC50b1N0cmluZygpKTogQWRkZWQgcHJpbWFyaWx5IGZvciBkZWJ1Z2dpbmcuCgkoc3RhbmRhcmRDaGFycyk6IE5vdyB1c2VzIGV4dGVuZGVkIDI0IGNoYXJhY3RlciBzZXF1ZW5jZS4KCShjb21waWxlRm9ybWF0KFN0cmluZykpOiBDaGFuZ2VkIHRvIHVzZSBDb21waWxlZEZpZWxkLgoJKGZvcm1hdFdpdGhBdHRyaWJ1dGUoamF2YS51dGlsLkRhdGUsIGdudS5qYXZhLnRleHQuRm9ybWF0QnVmZmVyLAoJamF2YS50ZXh0LkZpZWxkUG9zaXRpb24pKTogQ2hhbmdlZCB0byB1c2UgQ29tcGlsZWRGaWVsZC4KCU5ldyBoYW5kbGVyIGZvciBSRkMgODIyIHRpbWV6b25lcyBhZGRlZC4KCjIwMDUtMDItMjEgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhOgoJKHBhcnNlKFN0cmluZywgamF2YS50ZXh0LlBhcnNlUG9zaXRpb24pKToKCUNoYW5nZWQgJ0UnIGFuZCAnTScgY2FzZXMgdG8gdXNlIGJvdGgKCXNob3J0IGFuZCBsb25nIG5hbWVzLiAgRXh0ZW5kZWQgJ3onCgljYXNlIHRvIGFsc28gaGFuZGxlICdaJywgYW5kIGRlYWwKCXdpdGggc2ltcGxlIEdNVCBvZmZzZXRzIHN1Y2ggYXMgKzAxMDAuCgkoY29tcHV0ZU9mZnNldChTdHJpbmcpKTogTmV3IHByaXZhdGUgbWV0aG9kLAoJd2hpY2ggY29udmVydHMgYSBHTVQgb2Zmc2V0IHNwZWNpZmljYXRpb24sCglzdWNoIGFzIEdNVC0wNTAwIHRvIGEgbnVtZXJpYyBvZmZzZXQgaW4KCW1pbGxpc2Vjb25kcy4KCSogamF2YS91dGlsL1RpbWVab25lLmphdmE6CgkodGltZXpvbmVzKCkpOiBBZGRlZCAiQ0VTVCIsIHRoZSBkYXlsaWdodAoJc2F2aW5ncyB0aW1lIHZlcnNpb24gb2YgIkNFVCIsIG9yIENlbnRyYWwKCUV1cm9wZWFuIFRpbWUuCgoyMDA1LTAyLTIxICBJdG8gS2F6dW1pdHN1ICA8a2F6QG1hY3p1a2EuZ2NkLm9yZz4KCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmE6CgkocGFyc2UpOiBTZXQgdGhlIERTVCBvZmZzZXQgdG8gMCB3aGVuIHBhcnNpbmcKCUdNVCBvZmZzZXQgdGltZXpvbmVzLgoKMjAwNS0wMi0yMSAgSXRvIEthenVtaXRzdSAgPGthekBtYWN6dWthLmdjZC5vcmc+CgoJKiBqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhOgoJKHBhcnNlKTogVXNlIG9mZnNldCB0byBzZXQgWk9ORV9PRkZTRVQKCXJhdGhlciB0aGFuIHRoZSBEU1RfT0ZGU0VULCBzbyB0aGF0CglHTVQgb2Zmc2V0IHRpbWV6b25lcyBjaGFuZ2UgdGhlIHJpZ2h0CglvbmUuCgoyMDA1LTAyLTIxICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YToKCShnZXREYXRlRm9ybWF0U3ltYm9scygpKTogcmV0dXJuIGEgY29weQoJKHNldERhdGVGb3JtYXRTeW1ib2xzKGphdmEudGV4dC5EYXRlRm9ybWF0U3ltYm9scykpOgoJdGhyb3cgZXhjZXB0aW9uIG9uIG51bGwgaW5wdXQKCShjbG9uZSgpKTogaW1wbGVtZW50ZWQgdG8gY2xvbmUKCWludGVybmFsIGZpZWxkcwoKMjAwNS0wMi0yMSAgU3ZlbiBkZSBNYXJvdGh5IDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmEKCShwYXJzZSk6IGNvbXBhcmlzb24gc2hvdWxkIGJlIGNhc2UtaW5zZW5zaXRpdmUsIGlnbm9yZSBudWxsCglzdHJpbmdzLgoKMjAwNS0wMi0yMSAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlQm9oZW1pYW5AZ214Lm5ldD4KCgkqIGdudS9qYXZhL2JlYW5zL0ludHJvc3BlY3Rpb25JbmN1YmF0b3IuamF2YQoJKGFkZE1ldGhvZCkgUmV2ZXJ0cyB0aGUgcGF0Y2ggdGhhdCBudHJvZHVjZWQgYSByZWdyZXNzaW9uIChzZWUgYnVnCglodHRwczovL3NhdmFubmFoLmdudS5vcmcvYnVncy8/ZnVuYz1kZXRhaWxpdGVtJml0ZW1faWQ9MTA5MzgpLgoKMjAwNS0wMi0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0NoZWNrYm94LmphdmEKCShuZXh0X2NoZWNrYm94X251bWJlcik6IE5ldyBzdGF0aWMgdmFyaWFibGUuCgkoZ2VuZXJhdGVOYW1lKTogTmV3IG1ldGhvZC4KCShnZXRVbmlxdWVMb25nKTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhCgkobmV4dF93aW5kb3dfbnVtYmVyKTogTmV3IHN0YXRpYyB2YXJpYWJsZS4KCShnZW5lcmF0ZU5hbWUpOiBOZXcgbWV0aG9kLgoJKGdldFVuaXF1ZUxvbmcpOiBMaWtld2lzZS4KCjIwMDUtMDItMjEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdXRpbC9qYXIvSmFyRmlsZS5qYXZhICh2ZXJpZnlIYXNoZXMpOiBDaGVjayB3aGV0aGVyIFppcEVudHJ5CglleGlzdHMuCgoyMDA1LTAyLTIxICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBNYWtlZmlsZS5hbSAobmF0X3NvdXJjZV9maWxlcyk6IEFkZGVkIG5hdExvZ2dlci5jYy4KCSogamF2YS91dGlsL2xvZ2dpbmcvbmF0TG9nZ2VyLmNjOiBOZXcgZmlsZS4KCSogamF2YS91dGlsL2xvZ2dpbmcvTG9nZ2VyLmphdmEgKGdldENhbGxlclN0YWNrRnJhbWUpOiBOb3cKCW5hdGl2ZS4KCjIwMDUtMDItMjEgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIE1ha2VmaWxlLmFtIChhbGxfcHJvcGVydHlfZmlsZXMpOiBSZW1vdmUgbGVmdCBvdmVyLgoJKGNsYXNzZXMuc3RhbXApOiBBZGQgc3RhbXAgZm9yIHRoZSBPTkVTVEVQIGJ1aWxkLCBhbHNvIGtub3duIGFzCgktLWVuYWJsZS1saWJnY2otbXVsdGlmaWxlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA1LTAyLTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvQnV0dG9uLmphdmEsCglqYXZhL2F3dC9Db250YWluZXIuamF2YSwKCWphdmEvYXd0L0ZvbnQuamF2YSwKCWphdmEvYXd0L0ZyYW1lLmphdmEsCglqYXZhL3RleHQvQ29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yLmphdmEsCglqYXZhL3RleHQvUnVsZUJhc2VkQ29sbGF0b3IuamF2YSwKCWphdmEvdXRpbC9Qcm9wZXJ0eVBlcm1pc3Npb24uamF2YToKCUZpeGVkIGZvcm1hdHRpbmcgaXNzdWVzIGFsbCBvdmVyLgoKMjAwNS0wMi0yMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9pby9GaWxlRGVzY3JpcHRvci5qYXZhIChzeW5jKTogQWRkIHJlYWwgZXhjZXB0aW9uIHRvCglTeW5jRmFpbGVkRXhjZXB0aW9uLgoKMjAwNS0wMi0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvaW8vSW5wdXRTdHJlYW1SZWFkZXIuamF2YToKCUZpeGVkIEBhdXRob3IgdGFnLgoKMjAwNS0wMi0yMCAgUnV0Z2VyIE92aWRpdXMgIDxvdmlkckB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJUFIgbGliZ2NqLzE5NzI4OgoJKiBnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9HbnUuamF2YSAoR251KTogQWRkIFNIQS0xNjAgYWxpYXMuCgoyMDA1LTAyLTIwICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBsaWJyYXJpZXMvamF2YWxpYi9nbnUvcmVnZXhwL1JFLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL3NlY3VyaXR5L0FsbFBlcm1pc3Npb24uamF2YSwKCWxpYnJhcmllcy9qYXZhbGliL2phdmEvc2VjdXJpdHkvQmFzaWNQZXJtaXNzaW9uLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL3NlY3VyaXR5L1Blcm1pc3Npb25zLmphdmEsCglsaWJyYXJpZXMvamF2YWxpYi9qYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhOgoJTWFkZSAnaW5uZXInIGNsYXNzZXMgcmVhbCBwdWJsaWMgc3RhdGljIGlubmVyIGNsYXNzZXMsCglhbmQgbWFkZSB0aGVtIGZpbmFsIHdoZXJlIHBvc3NpYmxlLCBvciByZW1vdmVkIHRoZW0KCXdoZXJlIHVudXNlZC4KCjIwMDUtMDItMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS90ZXh0L0Zvcm1hdENoYXJhY3Rlckl0ZXJhdG9yLmphdmE6CglSZW1vdmVkIHJlZHVuZGFudCBtb2RpZmllcnMuCgoyMDA1LTAyLTE5ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuYyAodGhyb3cpOiBDYWxsIGdfc25wcmludGYgaW5zdGVhZCBvZgoJc25wcmludGYuCgoyMDA1LTAyLTE5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogTWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlcyBpbiBnbnUvamF2YS9iZWFucyBhbmQKCWphdmEvYmVhbnMvWE1MRGVjb2Rlci5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA1LTAyLTE5ICBSb2JlcnQgU2NodXN0ZXIgIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCSogZ251L2phdmEvYmVhbnMvZGVjb2Rlci9Hcm93YWJsZUFycmF5Q29udGV4dC5qYXZhOiBGaXhlZAoJYXNzaWdubWVudCBiZWhhdmlvciBieSB1c2luZyBqYXZhLmxhbmcucmVmbGVjdC5BcnJheS5zZXQoKQoJZGlyZWN0bHkuCgoyMDA1LTAyLTE5ICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBnbnUvamF2YS9iZWFucy9FbXB0eUJlYW5JbmZvLmphdmEsCglnbnUvamF2YS9iZWFucy9pbmZvL0NvbXBvbmVudEJlYW5JbmZvLmphdmE6CglSZW1vdmVkIHVudXNlZCBmaWxlcy4KCjIwMDUtMDItMTkgIFJvYmVydCBTY2h1c3RlciA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIGdudS9qYXZhL2JlYW5zL0R1bW15QXBwbGV0U3R1Yi5qYXZhOiBBZGQgZHVtbXkgaW1wbGVtZW50YXRpb24KCW9mIEFwcGxldFN0dWIgZm9yIGphdmEuYmVhbnMuQmVhbnMuaW5zdGFudGlhdGUuCgkqIGdudS9qYXZhL2JlYW5zL0R1bW15QXBwbGV0Q29udGV4dC5qYXZhOiBBZGQgZHVtbXkgaW1wbGVtZW50YXRpb24KCW9mIEFwcGxldENvbnRleHQuCgkqIGphdmEvYmVhbnMvQmVhbnM6IEFkZGVkIDEuNCBmdW5jdGlvbmFsaXR5LCBmaXhlZCB1c2VyIGRvY3VtZW50YXRpb24KCXRvIGJlIGNvbmZvcm1hbnQgd2l0aCBKYXZhZG9jIGd1aWRlbGluZXMuCgkoaW5zdGFudGlhdGUpOiBBZGRlZCB0d28gbW9yZSBvdmVybG9hZGVkIHZhcmlhbnRzLCByZXdvcmtlZCB1c2VyCglkb2N1bWVudGF0aW9uLCBmaXhlZCBleGNlcHRpb24gYmVoYXZpb3IsIGZpeGVkIGJlaGF2aW9yIHdoZW4KCWRlc2VyaWFsaXppbmcgbnVsbC4KCjIwMDUtMDItMTkgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL2JlYW5zL2RlY29kZXIvRHVtbXlIYW5kbGVyLmphdmE6IEFkZCByZXR1cm4gc3RhdGVtZW50cyBmb3IKCWZhaWxpbmcgbWV0aG9kcy4KCSogZ251L2phdmEvYmVhbnMvZGVjb2Rlci9EdW1teUNvbnRleHQuamF2YTogTGlrZXdpc2UuCgoyMDA1LTAyLTE5ICBSb2JlcnQgU2NodXN0ZXIgIDx0aGVCb2hlbWlhbkBnbXgubmV0PgoKCSogZ251L2phdmEvYmVhbnMvZGVjb2Rlci9BYnN0cmFjdENvbnRleHQuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQWJzdHJhY3RDcmVhdGFibGVDb250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0Fic3RyYWN0RWxlbWVudEhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQWJzdHJhY3RPYmplY3RDb250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0FycmF5Q29udGV4dC5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9BcnJheUhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQXNzZW1ibHlFeGNlcHRpb24uamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQm9vbGVhbkhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQnl0ZUhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQ2hhckhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvQ2xhc3NIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0NvbnN0cnVjdG9yQ29udGV4dC5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9Db250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0RlY29kZXJDb250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0RlZmF1bHRFeGNlcHRpb25MaXN0ZW5lci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9Eb3VibGVIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0R1bW15Q29udGV4dC5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9EdW1teUhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvRWxlbWVudEhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvRmxvYXRIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0dyb3dhYmxlQXJyYXlDb250ZXh0LmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0luZGV4Q29udGV4dC5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9JbnRIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0phdmFIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL0xvbmdIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL01ldGhvZENvbnRleHQuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvTWV0aG9kRmluZGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL051bGxIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL09iamVjdENvbnRleHQuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvT2JqZWN0SGFuZGxlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9QZXJzaXN0ZW5jZVBhcnNlci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9Qcm9wZXJ0eUNvbnRleHQuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvU2hvcnRIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL1NpbXBsZUhhbmRsZXIuamF2YSwKCWdudS9qYXZhL2JlYW5zL2RlY29kZXIvU3RhdGljTWV0aG9kQ29udGV4dC5qYXZhLAoJZ251L2phdmEvYmVhbnMvZGVjb2Rlci9TdHJpbmdIYW5kbGVyLmphdmEsCglnbnUvamF2YS9iZWFucy9kZWNvZGVyL1ZvaWRIYW5kbGVyLmphdmE6IE5ldyBjbGFzcwoJaW1wbGVtZW50aW5nIGphdmEuYmVhbnMuWE1MRGVjb2RlciBkZWNvZGluZyBmdW5jdGlvbmFsaXR5LgoJKiBqYXZhL2JlYW5zL1hNTERlY29kZXIuamF2YTogTmV3IGNsYXNzLgoKMjAwNS0wMi0xOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUZXh0RmllbGQuamF2YQoJKG5vdGZpeUFjdGlvbik6IEFkZGVkIGphdmFkb2MuCgoyMDA1LTAyLTE5ICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmF4L3N3aW5nL1NwaW5uZXJEYXRlTW9kZWwuamF2YTogSW1wbGVtZW50ZWQuCgoyMDA1LTAyLTE5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogTWFrZWZpbGUuYW06IEFkZGVkIGphdmF4L3N3aW5nL1NwaW5uZXJEYXRlTW9kZWwuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNS0wMi0xOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25pby9TZWxlY3RvckltcGwuamF2YToKCVJld29ya2VkIGltcG9ydCBzdGF0ZW1lbnRzLgoJKHJlZ2lzdGVyKTogUmVtb3ZlZCB1bnVzZWQgY29kZS4KCSogamF2YS9uaW8vY2hhbm5lbHMvQ2hhbm5lbHMuamF2YTogUmVmb3JtYXR0ZWQuCgkqIGphdmEvbmlvL2NoYXJzZXQvQ2hhcnNldC5qYXZhOiBMaWtld2lzZS4KCSogamF2YS9ybWkvc2VydmVyL1JlbW90ZU9iamVjdC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE1hZGUgcHJpdmF0ZS4KCSogamF2YS9ybWkvc2VydmVyL1VJRC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoKMjAwNS0wMi0xOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvQWN0aXZlTW9kZURUUC5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2Z0cC9CbG9ja0lucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL0Jsb2NrT3V0cHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL0NvbXByZXNzZWRJbnB1dFN0cmVhbS5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2Z0cC9Db21wcmVzc2VkT3V0cHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL0RUUElucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL0RUUC5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2Z0cC9EVFBPdXRwdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvRlRQQ29ubmVjdGlvbi5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2Z0cC9GVFBFeGNlcHRpb24uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvRlRQUmVzcG9uc2UuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvRlRQVVJMQ29ubmVjdGlvbi5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2Z0cC9IYW5kbGVyLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL1Bhc3NpdmVNb2RlRFRQLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL1N0cmVhbUlucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvZnRwL1N0cmVhbU91dHB1dFN0cmVhbS5qYXZhLAoJZ251L2phdmEvbmV0L0NSTEZJbnB1dFN0cmVhbS5qYXZhLAoJZ251L2phdmEvbmV0L0NSTEZPdXRwdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL25ldC9HZXRMb2NhbEhvc3RBY3Rpb24uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9mdHAvcGFja2FnZS5odG1sOiBOZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDUtMDItMTggIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGxpbmsuY2MgKG1ha2VfdnRhYmxlKTogUmVtb3ZlIGFic3RyYWN0IG1ldGhvZCBjaGVjay4KCShhcHBlbmRfcGFydGlhbF9pdGFibGUpOiBMaWtld2lzZS4KCglQUiBqYXZhLzIwMDU2OgoJKiB2ZXJpZnkuY2MgKHR5cGU6OmVxdWFscyk6IEZpeGVkIHRlc3QuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUFIyMDA1Ni5vdXQ6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1BSMjAwNTYuamF2YTogTmV3IGZpbGUuCgoyMDA1LTAyLTE4ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvTGlua2VkSGFzaE1hcCAoYWRkRW50cnkpOiBDYWxsIHJlbW92ZSgpIHdpdGgga2V5IGFyZ3VtZW50LCAKCW5vdCB0aGUgSGFzaEVudHJ5LiBSZXBvcnRlZCBieSBKZWFuLU1hcmllIFdoaXRlLgoKMjAwNS0wMi0xOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGphdmEvMjAwNTY6CgkqIGluY2x1ZGUvanZtLmggKF9Kdl9MaW5rZXI6Omhhc19maWVsZF9wKTogRGVjbGFyZS4KCSogbGluay5jYyAoaGFzX2ZpZWxkX3ApOiBOZXcgZnVuY3Rpb24uCgkqIHZlcmlmeS5jYyAoY2hlY2tfZmllbGRfY29uc3RhbnQpOiBBZGRlZCAncHV0ZmllbGQnIGFyZ3VtZW50LgoJKHZlcmlmeV9pbnN0cnVjdGlvbnNfMCk6IFVwZGF0ZWQuCgkodHlwZTo6ZXF1YWxzKTogTmV3IG1ldGhvZC4KCjIwMDUtMDItMTggIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogTkVXUzogRHJhZnQgb2YgbGliZ2NqIE5FV1MgZm9yIDQuMC4KCjIwMDUtMDItMTggIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL25hdFJ1bnRpbWUuY2MgKGluc2VydFN5c3RlbVByb3BlcnRpZXMpOiBOb3JtYWxpemUgeDg2CglhcmNoaXRlY3R1cmUgbmFtZXMgdG8gImkzODYiIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMuICBXaW4zMgoJc3RpbGwgdXNlcyAieDg2Ii4KCjIwMDUtMDItMTggIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogZ2lqLmNjICh2ZXJzaW9uKTogQ2hhbmdlIHllYXIgZm9yICctLXZlcnNpb24nIHRvIDIwMDUuCgkqIGdudS9nY2ovY29udmVydC9Db252ZXJ0LmphdmE6IERpdHRvLgoJKiBnbnUvamF2YS9ybWkvcm1pYy9STUlDLmphdmE6IERpdHRvLgoJKiBnbnUvamF2YS9ybWkvcmVnaXN0cnkvUmVnaXN0cnlJbXBsLmphdmE6IERpdHRvLgoKCSogZ251L2djai90b29scy9nY2pfZGJ0b29sL01haW4uamF2YTogT25seSBzaG93IHRoZSBtb3N0CglyZWNlbnQgY29weXJpZ2h0IHllYXIgaW4gYC0tdmVyc2lvbicgb3V0cHV0LgoKMjAwNS0wMi0xOCAgUm9iZXJ0IFNjaHVzdGVyIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCSogamF2YS9uaW8vY2hhcnNldC9DaGFyc2V0LmphdmEgKGZvck5hbWUpOiBUaHJvd3MKCUlsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiB3aGVuIGFyZ3VtZW50IGlzIG51bGwKCWFuZCBhZGRlZCBkb2N1bWVudGF0aW9uLgoKMjAwNS0wMi0xNyAgSXRvIEthenVtaXRzdSAgPGthekBtYWN6dWthLmdjZC5vcmc+CgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvRmlsZUNoYW5uZWxJbXBsLmphdmEgKHdyaXRlKEJ5dGVCdWZmZXIpKToKCU1vdmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBzb3VyY2UgYnVmZmVyIGZvcndhcmQuCgoyMDA1LTAyLTE3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvQ2xhc3MuaCAoX0p2X0dldE1ldGhvZFN0cmluZyk6IFVwZGF0ZWQgZGVjbGFyYXRpb24uCgkqIGphdmEvbGFuZy9yZWZsZWN0L25hdE1ldGhvZC5jYyAoX0p2X0NhbGxBbnlNZXRob2RBKTogVXBkYXRlZC4KCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChfSnZfTG9va3VwSW50ZXJmYWNlTWV0aG9kKTogVXBkYXRlZC4KCSogbGluay5jYyAoX0p2X0dldE1ldGhvZFN0cmluZyk6IEFkZGVkICdkZXJpdmVkJyBhcmd1bWVudC4KCUNoYW5nZWQgdHlwZSBvZiBzZWNvbmQgYXJndW1lbnQuICBSZXdyb3RlLgoJKG1ha2VfdnRhYmxlKTogVXNlIGl0LgoJKGFwcGVuZF9wYXJ0aWFsX2l0YWJsZSk6IFVwZGF0ZWQuCgkobGF5b3V0X3Z0YWJsZV9tZXRob2RzKTogVXBkYXRlZC4KCjIwMDUtMDItMTcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvUGxhaW5Tb2NrZXRJbXBsLmphdmEKCShzaHV0ZG93bklucHV0KTogQWRkZWQgamF2YWRvYy4KCShzaHV0ZG93bk91dHB1dCk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9DaHJvbWF0aWNpdHkuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9EZXN0aW5hdGlvbi5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL01lZGlhUHJpbnRhYmxlQXJlYS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL01lZGlhU2l6ZS5qYXZhOiBOZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDUtMDItMTcgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgkgICAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0Nvb2tpZS5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvSFRUUENvbm5lY3Rpb24uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBEYXRlRm9ybWF0LmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9SZXF1ZXN0LmphdmEsCglnbnUvamF2YS9uaW8vUGlwZUltcGwuamF2YSwKCWdudS9qYXZhL3JtaS9kZ2MvREdDSW1wbC5qYXZhLAoJZ251L2phdmEvcm1pL3NlcnZlci9Db25uZWN0aW9uUnVubmVyUG9vbC5qYXZhLAoJZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0Q29ubmVjdGlvbk1hbmFnZXIuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L2Rlci9ERVJXcml0ZXIuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3BrY3MvU2lnbmVySW5mby5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvRW5jb2RlZEtleUZhY3RvcnkuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL0dudURIUHVibGljS2V5LmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9HbnVEU0FQcml2YXRlS2V5LmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9HbnVEU0FQdWJsaWNLZXkuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL1BLSVhDZXJ0UGF0aFZhbGlkYXRvckltcGwuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwMERpc3Rpbmd1aXNoZWROYW1lLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L1g1MDlDUkwuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwOUNSTEVudHJ5LmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L1g1MDlDZXJ0aWZpY2F0ZS5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvQXV0aG9yaXR5S2V5SWRlbnRpZmllci5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvQ2VydGlmaWNhdGVQb2xpY2llcy5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvUG9saWN5Q29uc3RyYWludC5qYXZhLAoJZ251L3htbC9kb20vQ29uc3VtZXIuamF2YSwKCWdudS94bWwvZG9tL0RvbUNoYXJhY3RlckRhdGEuamF2YSwKCWdudS94bWwvZG9tL0RvbURvY3VtZW50LmphdmEsCglnbnUveG1sL2RvbS9Eb21Eb2N1bWVudEJ1aWxkZXIuamF2YSwKCWdudS94bWwvZG9tL0RvbUl0ZXJhdG9yLmphdmEsCglnbnUveG1sL2RvbS9Eb21Ob2RlLmphdmEsCglnbnUveG1sL2RvbS9Eb21YUGF0aEV4cHJlc3Npb24uamF2YSwKCWdudS94bWwvZG9tL0RvbVhQYXRoUmVzdWx0LmphdmEsCglnbnUveG1sL2RvbS9KQVhQRmFjdG9yeS5qYXZhLAoJZ251L3htbC9waXBlbGluZS9DYWxsRmlsdGVyLmphdmEsCglnbnUveG1sL3BpcGVsaW5lL0RvbUNvbnN1bWVyLmphdmEsCglnbnUveG1sL3BpcGVsaW5lL0xpbmtGaWx0ZXIuamF2YSwKCWdudS94bWwvcGlwZWxpbmUvTlNGaWx0ZXIuamF2YSwKCWdudS94bWwvcGlwZWxpbmUvVGVlQ29uc3VtZXIuamF2YSwKCWdudS94bWwvcGlwZWxpbmUvVmFsaWRhdGlvbkNvbnN1bWVyLmphdmEsCglnbnUveG1sL3BpcGVsaW5lL1dlbGxGb3JtZWRuZXNzRmlsdGVyLmphdmEsCglnbnUveG1sL3BpcGVsaW5lL1hJbmNsdWRlRmlsdGVyLmphdmEsCglnbnUveG1sL3BpcGVsaW5lL1hzbHRGaWx0ZXIuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0FwcGx5SW1wb3J0c05vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL0JpbmRpbmdzLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9Eb2N1bWVudEZ1bmN0aW9uLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9Gb3JtYXROdW1iZXJGdW5jdGlvbi5qYXZhLAoJZ251L3htbC90cmFuc2Zvcm0vTm9kZU51bWJlck5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL051bWJlck5vZGUuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1N0eWxlc2hlZXQuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1N5c3RlbVByb3BlcnR5RnVuY3Rpb24uamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1RlbXBsYXRlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9UZW1wbGF0ZXNJbXBsLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckltcGwuamF2YSwKCWdudS94bWwvdHJhbnNmb3JtL1ZhbHVlT2ZOb2RlLmphdmEsCglnbnUveG1sL3RyYW5zZm9ybS9YU0xVUklSZXNvbHZlci5qYXZhLAoJZ251L3htbC91dGlsL0RvUGFyc2UuamF2YSwKCWdudS94bWwvdXRpbC9SZXNvbHZlci5qYXZhLAoJZ251L3htbC94cGF0aC9FeHByLmphdmEsCglnbnUveG1sL3hwYXRoL0Z1bmN0aW9uQ2FsbC5qYXZhLAoJZ251L3htbC94cGF0aC9SZWxhdGlvbmFsRXhwci5qYXZhLAoJZ251L3htbC94cGF0aC9TZWxlY3Rvci5qYXZhLAoJZ251L3htbC94cGF0aC9YUGF0aFBhcnNlci5qYXZhOgoJUmV3b3JrZWQgaW1wb3J0IHN0YXRlbWVudHMsIGZpeGVkIG1vZGlmaWVyIG9yZGVyIGFuZCBzb21lIGxpdHRsZQoJZm9ybWF0dGluZyBpc3N1ZXMuCgoyMDA1LTAyLTE3ICBJdG8gS2F6dW1pdHN1ICA8a2F6QG1hY3p1a2EuZ2NkLm9yZz4KCgkqIGphdmEvbmlvL0J5dGVCdWZmZXJJbXBsLmphdmEgKGNvbXBhY3QpOgoJU2V0IHBvc2l0aW9uIGFuZCBsaW1pdCBldmVuIGlmIG5vIGJ5dGVzIHdlcmUgbW92ZWQuCgoyMDA1LTAyLTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uaW8vQ2hhclZpZXdCdWZmZXJJbXBsLmphdmEgKGNvbXBhY3QpOiBMaWtld2lzZS4KCSogamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YSAoY29tcGFjdCk6IExpa2V3aXNlLgoJKiBqYXZhL25pby9Eb3VibGVWaWV3QnVmZmVySW1wbC5qYXZhIChjb21wYWN0KTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL0Zsb2F0Vmlld0J1ZmZlckltcGwuamF2YSAoY29tcGFjdCk6IExpa2V3aXNlLgoJKiBqYXZhL25pby9JbnRWaWV3QnVmZmVySW1wbC5qYXZhIChjb21wYWN0KTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL0xvbmdWaWV3QnVmZmVySW1wbC5qYXZhIChjb21wYWN0KTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL01hcHBlZEJ5dGVCdWZmZXJJbXBsLmphdmEgKGNvbXBhY3QpOiBMaWtld2lzZS4KCSogamF2YS9uaW8vU2hvcnRWaWV3QnVmZmVySW1wbC5qYXZhIChjb21wYWN0KTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL0Zsb2F0QnVmZmVySW1wbC5qYXZhIChjb21wYWN0KTogU2V0IHBvc2l0aW9uLgoJKiBqYXZhL25pby9DaGFyQnVmZmVySW1wbC5qYXZhIChjb21wYWN0KTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL0RvdWJsZUJ1ZmZlckltcGwuamF2YSAoY29tcGFjdCk6IExpa2V3aXNlLgoJKiBqYXZhL25pby9JbnRCdWZmZXJJbXBsLmphdmEgKGNvbXBhY3QpOiBMaWtld2lzZS4KCSogamF2YS9uaW8vTG9uZ0J1ZmZlckltcGwuamF2YSAoY29tcGFjdCk6IExpa2V3aXNlLgoJKiBqYXZhL25pby9TaG9ydEJ1ZmZlckltcGwuamF2YSAoY29tcGFjdCk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNyAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbmlvL0J5dGVCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9DaGFyQnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0RvdWJsZUJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0Zsb2F0QnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vSW50QnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vTG9uZ0J1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL01hcHBlZEJ5dGVCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9TaG9ydEJ1ZmZlckltcGwuamF2YQoJKGNvbXBhY3QpOiBBZGRlZCBleHBsaWNpdCByZWFkLW9ubHkgY2hlY2sgYW5kIGludmFsaWRhdGUgbWFyay4KCjIwMDUtMDItMTcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR1RocmVhZE5hdGl2ZU1ldGhvZFJ1bm5lci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR2x5cGhWZWN0b3IuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljc0NvbmZpZ3VyYXRpb24uamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljc0Vudmlyb25tZW50LmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrUGl4YnVmRGVjb2Rlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1JvYm90UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1NjcmVlbkdyYXBoaWNzRGV2aWNlLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrVGV4dExheW91dC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NoZWNrYm94TWVudUl0ZW1QZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hvaWNlUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NsaXBib2FyZC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGaWxlRGlhbG9nUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZvbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTGFiZWxQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWVudUJhclBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51SXRlbVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Njcm9sbFBhbmVQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrU2Nyb2xsYmFyUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtXaW5kb3dQZWVyLmphdmEsCglqYXZhL2FwcGxldC9BcHBsZXQuamF2YSwKCWphdmEvYXd0L0FXVEVycm9yLmphdmEsCglqYXZhL2F3dC9BV1RFdmVudC5qYXZhLAoJamF2YS9hd3QvQVdURXZlbnRNdWx0aWNhc3Rlci5qYXZhLAoJamF2YS9hd3QvQVdURXhjZXB0aW9uLmphdmEsCglqYXZhL2F3dC9BV1RLZXlTdHJva2UuamF2YSwKCWphdmEvYXd0L0FXVFBlcm1pc3Npb24uamF2YSwKCWphdmEvYXd0L0FjdGl2ZUV2ZW50LmphdmEsCglqYXZhL2F3dC9BZGp1c3RhYmxlLmphdmEsCglqYXZhL2F3dC9BbHBoYUNvbXBvc2l0ZS5qYXZhLAoJamF2YS9hd3QvQXR0cmlidXRlVmFsdWUuamF2YSwKCWphdmEvYXd0L0JvcmRlckxheW91dC5qYXZhLAoJamF2YS9hd3QvQnVmZmVyQ2FwYWJpbGl0aWVzLmphdmEsCglqYXZhL2F3dC9CdXR0b24uamF2YSwKCWphdmEvYXd0L0NhbnZhcy5qYXZhLAoJamF2YS9hd3QvQ2hlY2tib3hHcm91cC5qYXZhLAoJamF2YS9hd3QvQ2hlY2tib3hNZW51SXRlbS5qYXZhLAoJamF2YS9hd3QvQ29sb3IuamF2YSwKCWphdmEvYXd0L0NvbG9yUGFpbnRDb250ZXh0LmphdmEsCglqYXZhL2F3dC9Db21wb25lbnQuamF2YSwKCWphdmEvYXd0L0NvbXBvbmVudE9yaWVudGF0aW9uLmphdmEsCglqYXZhL2F3dC9Db21wb3NpdGUuamF2YSwKCWphdmEvYXd0L0NvbXBvc2l0ZUNvbnRleHQuamF2YSwKCWphdmEvYXd0L0NvbnRhaW5lci5qYXZhLAoJamF2YS9hd3QvQ29udGFpbmVyT3JkZXJGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhLAoJamF2YS9hd3QvRGVmYXVsdEZvY3VzVHJhdmVyc2FsUG9saWN5LmphdmEsCglqYXZhL2F3dC9EaWFsb2cuamF2YSwKCWphdmEvYXd0L0RpbWVuc2lvbi5qYXZhLAoJamF2YS9hd3QvRGlzcGxheU1vZGUuamF2YSwKCWphdmEvYXd0L0V2ZW50UXVldWUuamF2YSwKCWphdmEvYXd0L0ZpbGVEaWFsb2cuamF2YSwKCWphdmEvYXd0L0ZvbnRGb3JtYXRFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L0dyYXBoaWNzLmphdmEsCglqYXZhL2F3dC9HcmFwaGljczJELmphdmEsCglqYXZhL2F3dC9HcmFwaGljc0NvbmZpZ1RlbXBsYXRlLmphdmEsCglqYXZhL2F3dC9HcmFwaGljc0NvbmZpZ3VyYXRpb24uamF2YSwKCWphdmEvYXd0L0dyYXBoaWNzRGV2aWNlLmphdmEsCglqYXZhL2F3dC9HcmlkQmFnTGF5b3V0LmphdmEsCglqYXZhL2F3dC9HcmlkQmFnTGF5b3V0SW5mby5qYXZhLAoJamF2YS9hd3QvR3JpZExheW91dC5qYXZhLAoJamF2YS9hd3QvSGVhZGxlc3NFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L0lsbGVnYWxDb21wb25lbnRTdGF0ZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvSW1hZ2UuamF2YSwKCWphdmEvYXd0L0luc2V0cy5qYXZhLAoJamF2YS9hd3QvSXRlbVNlbGVjdGFibGUuamF2YSwKCWphdmEvYXd0L0pvYkF0dHJpYnV0ZXMuamF2YSwKCWphdmEvYXd0L0tleUV2ZW50RGlzcGF0Y2hlci5qYXZhLAoJamF2YS9hd3QvS2V5RXZlbnRQb3N0UHJvY2Vzc29yLmphdmEsCglqYXZhL2F3dC9LZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhLAoJamF2YS9hd3QvTGFiZWwuamF2YSwKCWphdmEvYXd0L0xheW91dE1hbmFnZXIuamF2YSwKCWphdmEvYXd0L01lbnVCYXIuamF2YSwKCWphdmEvYXd0L01lbnVDb21wb25lbnQuamF2YSwKCWphdmEvYXd0L01lbnVDb250YWluZXIuamF2YSwKCWphdmEvYXd0L1BhZ2VBdHRyaWJ1dGVzLmphdmEsCglqYXZhL2F3dC9QYWludC5qYXZhLAoJamF2YS9hd3QvUGFpbnRDb250ZXh0LmphdmEsCglqYXZhL2F3dC9QYW5lbC5qYXZhLAoJamF2YS9hd3QvUG9pbnQuamF2YSwKCWphdmEvYXd0L1BvbHlnb24uamF2YSwKCWphdmEvYXd0L1ByaW50R3JhcGhpY3MuamF2YSwKCWphdmEvYXd0L1ByaW50Sm9iLmphdmEsCglqYXZhL2F3dC9SZWN0YW5nbGUuamF2YSwKCWphdmEvYXd0L1JlbmRlcmluZ0hpbnRzLmphdmEsCglqYXZhL2F3dC9TaGFwZS5qYXZhLAoJamF2YS9hd3QvU3Ryb2tlLmphdmEsCglqYXZhL2F3dC9TeXN0ZW1Db2xvci5qYXZhLAoJamF2YS9hd3QvVG9vbGtpdC5qYXZhLAoJamF2YS9hd3QvVHJhbnNwYXJlbmN5LmphdmEsCglqYXZhL2F3dC9XaW5kb3cuamF2YSwKCWphdmEvYXd0L2NvbG9yL0NNTUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvY29sb3IvQ29sb3JTcGFjZS5qYXZhLAoJamF2YS9hd3QvY29sb3IvSUNDX0NvbG9yU3BhY2UuamF2YSwKCWphdmEvYXd0L2NvbG9yL0lDQ19Qcm9maWxlLmphdmEsCglqYXZhL2F3dC9jb2xvci9Qcm9maWxlRGF0YUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvZGF0YXRyYW5zZmVyL0ZsYXZvclRhYmxlLmphdmEsCglqYXZhL2F3dC9kYXRhdHJhbnNmZXIvTWltZVR5cGVQYXJzZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvZGF0YXRyYW5zZmVyL1RyYW5zZmVyYWJsZS5qYXZhLAoJamF2YS9hd3QvZGF0YXRyYW5zZmVyL1Vuc3VwcG9ydGVkRmxhdm9yRXhjZXB0aW9uLmphdmEsCglqYXZhL2F3dC9kbmQvQXV0b3Njcm9sbC5qYXZhLAoJamF2YS9hd3QvZG5kL0RuRENvbnN0YW50cy5qYXZhLAoJamF2YS9hd3QvZG5kL0RyYWdHZXN0dXJlTGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2RuZC9EcmFnU291cmNlQWRhcHRlci5qYXZhLAoJamF2YS9hd3QvZG5kL0RyYWdTb3VyY2VEcm9wRXZlbnQuamF2YSwKCWphdmEvYXd0L2RuZC9EcmFnU291cmNlTGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2RuZC9EcmFnU291cmNlTW90aW9uTGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2RuZC9Ecm9wVGFyZ2V0QWRhcHRlci5qYXZhLAoJamF2YS9hd3QvZG5kL0Ryb3BUYXJnZXRDb250ZXh0LmphdmEsCglqYXZhL2F3dC9kbmQvRHJvcFRhcmdldExpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9kbmQvSW52YWxpZERuRE9wZXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YS9hd3QvZG5kL01vdXNlRHJhZ0dlc3R1cmVSZWNvZ25pemVyLmphdmEsCglqYXZhL2F3dC9kbmQvcGVlci9Ecm9wVGFyZ2V0Q29udGV4dFBlZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L0FXVEV2ZW50TGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L0FXVEV2ZW50TGlzdGVuZXJQcm94eS5qYXZhLAoJamF2YS9hd3QvZXZlbnQvQWN0aW9uRXZlbnQuamF2YSwKCWphdmEvYXd0L2V2ZW50L0FkanVzdG1lbnRFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvQWRqdXN0bWVudExpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Db21wb25lbnRBZGFwdGVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Db21wb25lbnRFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvQ29tcG9uZW50TGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L0NvbnRhaW5lckFkYXB0ZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L0NvbnRhaW5lckV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9Db250YWluZXJMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvRm9jdXNBZGFwdGVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Gb2N1c0V2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9Gb2N1c0xpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnB1dEV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnB1dE1ldGhvZEV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnB1dE1ldGhvZExpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnZvY2F0aW9uRXZlbnQuamF2YSwKCWphdmEvYXd0L2V2ZW50L0l0ZW1FdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvSXRlbUxpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9LZXlBZGFwdGVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9LZXlFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvS2V5TGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L01vdXNlQWRhcHRlci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvTW91c2VFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvTW91c2VMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvTW91c2VNb3Rpb25BZGFwdGVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Nb3VzZU1vdGlvbkxpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9Nb3VzZVdoZWVsRXZlbnQuamF2YSwKCWphdmEvYXd0L2V2ZW50L01vdXNlV2hlZWxMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvUGFpbnRFdmVudC5qYXZhLAoJamF2YS9hd3QvZXZlbnQvVGV4dEV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9UZXh0TGlzdGVuZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L1dpbmRvd0FkYXB0ZXIuamF2YSwKCWphdmEvYXd0L2V2ZW50L1dpbmRvd0V2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9XaW5kb3dGb2N1c0xpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9XaW5kb3dMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvV2luZG93U3RhdGVMaXN0ZW5lci5qYXZhLAoJamF2YS9hd3QvZm9udC9UZXh0SGl0SW5mby5qYXZhLAoJamF2YS9hd3QvZ2VvbS9DdWJpY0N1cnZlMkQuamF2YSwKCWphdmEvYXd0L2dlb20vRGltZW5zaW9uMkQuamF2YSwKCWphdmEvYXd0L2dlb20vRWxsaXBzZTJELmphdmEsCglqYXZhL2F3dC9nZW9tL0lsbGVnYWxQYXRoU3RhdGVFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L2dlb20vTGluZTJELmphdmEsCglqYXZhL2F3dC9nZW9tL05vbmludmVydGlibGVUcmFuc2Zvcm1FeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L2dlb20vUGF0aEl0ZXJhdG9yLmphdmEsCglqYXZhL2F3dC9nZW9tL1BvaW50MkQuamF2YSwKCWphdmEvYXd0L2dlb20vUXVhZEN1cnZlMkQuamF2YSwKCWphdmEvYXd0L2dlb20vUmVjdGFuZ3VsYXJTaGFwZS5qYXZhLAoJamF2YS9hd3QvZ2VvbS9Sb3VuZFJlY3RhbmdsZTJELmphdmEsCglqYXZhL2F3dC9pbS9JbnB1dENvbnRleHQuamF2YSwKCWphdmEvYXd0L2ltL0lucHV0TWV0aG9kSGlnaGxpZ2h0LmphdmEsCglqYXZhL2F3dC9pbS9JbnB1dE1ldGhvZFJlcXVlc3RzLmphdmEsCglqYXZhL2F3dC9pbS9JbnB1dFN1YnNldC5qYXZhLAoJamF2YS9hd3QvaW0vc3BpL0lucHV0TWV0aG9kLmphdmEsCglqYXZhL2F3dC9pbS9zcGkvSW5wdXRNZXRob2REZXNjcmlwdG9yLmphdmEsCglqYXZhL2F3dC9pbWFnZS9CYW5kQ29tYmluZU9wLmphdmEsCglqYXZhL2F3dC9pbWFnZS9CYW5kZWRTYW1wbGVNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvQnl0ZUxvb2t1cFRhYmxlLmphdmEsCglqYXZhL2F3dC9pbWFnZS9Db21wb25lbnRTYW1wbGVNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlci5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckJ5dGUuamF2YSwKCWphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJEb3VibGUuamF2YSwKCWphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJGbG9hdC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckludC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlclNob3J0LmphdmEsCglqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyVVNob3J0LmphdmEsCglqYXZhL2F3dC9pbWFnZS9JbWFnaW5nT3BFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L2ltYWdlL0tlcm5lbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvTG9va3VwVGFibGUuamF2YSwKCWphdmEvYXd0L2ltYWdlL011bHRpUGl4ZWxQYWNrZWRTYW1wbGVNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvUGFja2VkQ29sb3JNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvUGl4ZWxJbnRlcmxlYXZlZFNhbXBsZU1vZGVsLmphdmEsCglqYXZhL2F3dC9pbWFnZS9SR0JJbWFnZUZpbHRlci5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvUmFzdGVyLmphdmEsCglqYXZhL2F3dC9pbWFnZS9SYXN0ZXJGb3JtYXRFeGNlcHRpb24uamF2YSwKCWphdmEvYXd0L2ltYWdlL1NhbXBsZU1vZGVsLmphdmEsCglqYXZhL2F3dC9pbWFnZS9TaG9ydExvb2t1cFRhYmxlLmphdmEsCglqYXZhL2F3dC9pbWFnZS9TaW5nbGVQaXhlbFBhY2tlZFNhbXBsZU1vZGVsLmphdmEsCglqYXZhL2F3dC9pbWFnZS9Xcml0YWJsZVJhc3Rlci5qYXZhLAoJamF2YS9hd3QvcHJpbnQvUHJpbnRlckFib3J0RXhjZXB0aW9uLmphdmEsCglqYXZhL2F3dC9wcmludC9QcmludGVyRXhjZXB0aW9uLmphdmEsCglqYXZhL2F3dC9wcmludC9QcmludGVySU9FeGNlcHRpb24uamF2YSwKCWphdmEvYmVhbnMvQXBwbGV0SW5pdGlhbGl6ZXIuamF2YSwKCWphdmEvYmVhbnMvRXhjZXB0aW9uTGlzdGVuZXIuamF2YSwKCWphdmEvYmVhbnMvUHJvcGVydHlDaGFuZ2VFdmVudC5qYXZhLAoJamF2YS9iZWFucy9Qcm9wZXJ0eUNoYW5nZUxpc3RlbmVyUHJveHkuamF2YSwKCWphdmEvYmVhbnMvUHJvcGVydHlDaGFuZ2VTdXBwb3J0LmphdmEsCglqYXZhL2JlYW5zL1Byb3BlcnR5RGVzY3JpcHRvci5qYXZhLAoJamF2YS9iZWFucy9WZXRvYWJsZUNoYW5nZUxpc3RlbmVyUHJveHkuamF2YSwKCWphdmEvYmVhbnMvVmV0b2FibGVDaGFuZ2VTdXBwb3J0LmphdmEsCglqYXZhL2lvL0J1ZmZlcmVkUmVhZGVyLmphdmEsCglqYXZhL2lvL0J5dGVBcnJheUlucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9DaGFyQXJyYXlSZWFkZXIuamF2YSwKCWphdmEvaW8vQ2hhckFycmF5V3JpdGVyLmphdmEsCglqYXZhL2lvL0NoYXJDb252ZXJzaW9uRXhjZXB0aW9uLmphdmEsCglqYXZhL2lvL0RhdGFJbnB1dC5qYXZhLAoJamF2YS9pby9EYXRhSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vRGF0YU91dHB1dC5qYXZhLAoJamF2YS9pby9EYXRhT3V0cHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL0VPRkV4Y2VwdGlvbi5qYXZhLAoJamF2YS9pby9GaWxlSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vRmlsZU5vdEZvdW5kRXhjZXB0aW9uLmphdmEsCglqYXZhL2lvL0ZpbGVPdXRwdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vRmlsZW5hbWVGaWx0ZXIuamF2YSwKCWphdmEvaW8vRmlsdGVySW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vRmlsdGVyT3V0cHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL0ZpbHRlclJlYWRlci5qYXZhLAoJamF2YS9pby9GaWx0ZXJXcml0ZXIuamF2YSwKCWphdmEvaW8vSU9FeGNlcHRpb24uamF2YSwKCWphdmEvaW8vSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vSW50ZXJydXB0ZWRJT0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9pby9MaW5lTnVtYmVySW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vTGluZU51bWJlclJlYWRlci5qYXZhLAoJamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9PYmplY3RTdHJlYW1FeGNlcHRpb24uamF2YSwKCWphdmEvaW8vT3B0aW9uYWxEYXRhRXhjZXB0aW9uLmphdmEsCglqYXZhL2lvL091dHB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9PdXRwdXRTdHJlYW1Xcml0ZXIuamF2YSwKCWphdmEvaW8vUHJpbnRTdHJlYW0uamF2YSwKCWphdmEvaW8vUHJpbnRXcml0ZXIuamF2YSwKCWphdmEvaW8vUHVzaGJhY2tJbnB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9QdXNoYmFja1JlYWRlci5qYXZhLAoJamF2YS9pby9SYW5kb21BY2Nlc3NGaWxlLmphdmEsCglqYXZhL2lvL1JlYWRlci5qYXZhLAoJamF2YS9pby9TZXF1ZW5jZUlucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL1NlcmlhbGl6YWJsZS5qYXZhLAoJamF2YS9pby9TdHJlYW1Db3JydXB0ZWRFeGNlcHRpb24uamF2YSwKCWphdmEvaW8vU3RyZWFtVG9rZW5pemVyLmphdmEsCglqYXZhL2lvL1N0cmluZ0J1ZmZlcklucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL1N0cmluZ1dyaXRlci5qYXZhLAoJamF2YS9pby9TeW5jRmFpbGVkRXhjZXB0aW9uLmphdmEsCglqYXZhL2lvL1VURkRhdGFGb3JtYXRFeGNlcHRpb24uamF2YSwKCWphdmEvaW8vVW5zdXBwb3J0ZWRFbmNvZGluZ0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9pby9Xcml0ZUFib3J0ZWRFeGNlcHRpb24uamF2YSwKCWphdmEvaW8vV3JpdGVyLmphdmEsCglqYXZhL2xhbmcvQWJzdHJhY3RNZXRob2RFcnJvci5qYXZhLAoJamF2YS9sYW5nL0FyaXRobWV0aWNFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9BcnJheUluZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9BcnJheVN0b3JlRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvQXNzZXJ0aW9uRXJyb3IuamF2YSwKCWphdmEvbGFuZy9Cb29sZWFuLmphdmEsCglqYXZhL2xhbmcvQnl0ZS5qYXZhLAoJamF2YS9sYW5nL0NsYXNzLmphdmEsCglqYXZhL2xhbmcvQ2xhc3NDYXN0RXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvQ2xhc3NDaXJjdWxhcml0eUVycm9yLmphdmEsCglqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YSwKCWphdmEvbGFuZy9DbGFzc05vdEZvdW5kRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvQ2xvbmVOb3RTdXBwb3J0ZWRFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9DbG9uZWFibGUuamF2YSwKCWphdmEvbGFuZy9Db21wYXJhYmxlLmphdmEsCglqYXZhL2xhbmcvQ29tcGlsZXIuamF2YSwKCWphdmEvbGFuZy9Eb3VibGUuamF2YSwKCWphdmEvbGFuZy9FcnJvci5qYXZhLAoJamF2YS9sYW5nL0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0V4Y2VwdGlvbkluSW5pdGlhbGl6ZXJFcnJvci5qYXZhLAoJamF2YS9sYW5nL0Zsb2F0LmphdmEsCglqYXZhL2xhbmcvSWxsZWdhbEFjY2Vzc0Vycm9yLmphdmEsCglqYXZhL2xhbmcvSWxsZWdhbEFjY2Vzc0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0lsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0lsbGVnYWxNb25pdG9yU3RhdGVFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9JbGxlZ2FsU3RhdGVFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9JbGxlZ2FsVGhyZWFkU3RhdGVFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9JbmNvbXBhdGlibGVDbGFzc0NoYW5nZUVycm9yLmphdmEsCglqYXZhL2xhbmcvSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0luaGVyaXRhYmxlVGhyZWFkTG9jYWwuamF2YSwKCWphdmEvbGFuZy9JbnN0YW50aWF0aW9uRXJyb3IuamF2YSwKCWphdmEvbGFuZy9JbnN0YW50aWF0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvSW50ZWdlci5qYXZhLAoJamF2YS9sYW5nL0ludGVybmFsRXJyb3IuamF2YSwKCWphdmEvbGFuZy9JbnRlcnJ1cHRlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL0xpbmthZ2VFcnJvci5qYXZhLAoJamF2YS9sYW5nL0xvbmcuamF2YSwKCWphdmEvbGFuZy9OZWdhdGl2ZUFycmF5U2l6ZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL05vQ2xhc3NEZWZGb3VuZEVycm9yLmphdmEsCglqYXZhL2xhbmcvTm9TdWNoRmllbGRFcnJvci5qYXZhLAoJamF2YS9sYW5nL05vU3VjaEZpZWxkRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvTm9TdWNoTWV0aG9kRXJyb3IuamF2YSwKCWphdmEvbGFuZy9Ob1N1Y2hNZXRob2RFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9OdWxsUG9pbnRlckV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL051bWJlci5qYXZhLAoJamF2YS9sYW5nL051bWJlckZvcm1hdEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL091dE9mTWVtb3J5RXJyb3IuamF2YSwKCWphdmEvbGFuZy9Qcm9jZXNzLmphdmEsCglqYXZhL2xhbmcvUnVubmFibGUuamF2YSwKCWphdmEvbGFuZy9SdW50aW1lLmphdmEsCglqYXZhL2xhbmcvUnVudGltZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL1J1bnRpbWVQZXJtaXNzaW9uLmphdmEsCglqYXZhL2xhbmcvU2VjdXJpdHlFeGNlcHRpb24uamF2YSwKCWphdmEvbGFuZy9TZWN1cml0eU1hbmFnZXIuamF2YSwKCWphdmEvbGFuZy9TaG9ydC5qYXZhLAoJamF2YS9sYW5nL1N0YWNrT3ZlcmZsb3dFcnJvci5qYXZhLAoJamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50LmphdmEsCglqYXZhL2xhbmcvU3RyaW5nQnVmZmVyLmphdmEsCglqYXZhL2xhbmcvU3RyaW5nSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL1RocmVhZERlYXRoLmphdmEsCglqYXZhL2xhbmcvVGhyZWFkR3JvdXAuamF2YSwKCWphdmEvbGFuZy9UaHJvd2FibGUuamF2YSwKCWphdmEvbGFuZy9VbnNhdGlzZmllZExpbmtFcnJvci5qYXZhLAoJamF2YS9sYW5nL1Vuc3VwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZhL2xhbmcvVmVyaWZ5RXJyb3IuamF2YSwKCWphdmEvbGFuZy9WaXJ0dWFsTWFjaGluZUVycm9yLmphdmEsCglqYXZhL2xhbmcvcmVmbGVjdC9BY2Nlc3NpYmxlT2JqZWN0LmphdmEsCglqYXZhL2xhbmcvcmVmbGVjdC9BcnJheS5qYXZhLAoJamF2YS9sYW5nL3JlZmxlY3QvSW52b2NhdGlvblRhcmdldEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9sYW5nL3JlZmxlY3QvTWVtYmVyLmphdmEsCglqYXZhL2xhbmcvcmVmbGVjdC9Nb2RpZmllci5qYXZhLAoJamF2YS9sYW5nL3JlZmxlY3QvUHJveHkuamF2YSwKCWphdmEvbGFuZy9yZWZsZWN0L1JlZmxlY3RQZXJtaXNzaW9uLmphdmEsCglqYXZhL2xhbmcvcmVmbGVjdC9VbmRlY2xhcmVkVGhyb3dhYmxlRXhjZXB0aW9uLmphdmEsCglqYXZhL21hdGgvQmlnSW50ZWdlci5qYXZhLAoJamF2YS9uZXQvTmV0d29ya0ludGVyZmFjZS5qYXZhLAoJamF2YS9uaW8vQnl0ZUJ1ZmZlckhlbHBlci5qYXZhLAoJamF2YS9uaW8vQnl0ZUJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0RpcmVjdEJ5dGVCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9Eb3VibGVCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9GbG9hdEJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0ludEJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0xvbmdCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9TaG9ydEJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0NoYW5uZWwuamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0lsbGVnYWxCbG9ja2luZ01vZGVFeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYXJzZXQvc3BpL0NoYXJzZXRQcm92aWRlci5qYXZhLAoJamF2YS9zZWN1cml0eS9BY2Nlc3NDb250cm9sRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L0Jhc2ljUGVybWlzc2lvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9EaWdlc3RFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvRGlnZXN0SW5wdXRTdHJlYW0uamF2YSwKCWphdmEvc2VjdXJpdHkvRGlnZXN0T3V0cHV0U3RyZWFtLmphdmEsCglqYXZhL3NlY3VyaXR5L0dlbmVyYWxTZWN1cml0eUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9HdWFyZC5qYXZhLAoJamF2YS9zZWN1cml0eS9HdWFyZGVkT2JqZWN0LmphdmEsCglqYXZhL3NlY3VyaXR5L0ludmFsaWRBbGdvcml0aG1QYXJhbWV0ZXJFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvSW52YWxpZEtleUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9JbnZhbGlkUGFyYW1ldGVyRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L0tleS5qYXZhLAoJamF2YS9zZWN1cml0eS9LZXlFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvS2V5TWFuYWdlbWVudEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9LZXlTdG9yZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9NZXNzYWdlRGlnZXN0U3BpLmphdmEsCglqYXZhL3NlY3VyaXR5L05vU3VjaEFsZ29yaXRobUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9Ob1N1Y2hQcm92aWRlckV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9QZXJtaXNzaW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L1Blcm1pc3Npb25Db2xsZWN0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L1Blcm1pc3Npb25zLmphdmEsCglqYXZhL3NlY3VyaXR5L1ByaW5jaXBhbC5qYXZhLAoJamF2YS9zZWN1cml0eS9Qcml2YXRlS2V5LmphdmEsCglqYXZhL3NlY3VyaXR5L1ByaXZpbGVnZWRBY3Rpb25FeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvUHJvdmlkZXJFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvUHVibGljS2V5LmphdmEsCglqYXZhL3NlY3VyaXR5L1NlY3VyZVJhbmRvbS5qYXZhLAoJamF2YS9zZWN1cml0eS9TZWN1cmVSYW5kb21TcGkuamF2YSwKCWphdmEvc2VjdXJpdHkvU2lnbmF0dXJlRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L1NpZ25hdHVyZVNwaS5qYXZhLAoJamF2YS9zZWN1cml0eS9TaWduZWRPYmplY3QuamF2YSwKCWphdmEvc2VjdXJpdHkvU2lnbmVyLmphdmEsCglqYXZhL3NlY3VyaXR5L1VucmVjb3ZlcmFibGVLZXlFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvVW5yZXNvbHZlZFBlcm1pc3Npb24uamF2YSwKCWphdmEvc2VjdXJpdHkvYWNsL0FjbE5vdEZvdW5kRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L2FjbC9MYXN0T3duZXJFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvYWNsL05vdE93bmVyRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvQ2VydFBhdGguamF2YSwKCWphdmEvc2VjdXJpdHkvY2VydC9DZXJ0UGF0aEJ1aWxkZXJFeGNlcHRpb24uamF2YSwKCWphdmEvc2VjdXJpdHkvY2VydC9DZXJ0UGF0aFZhbGlkYXRvckV4Y2VwdGlvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9jZXJ0L0NlcnRTdG9yZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS90ZXh0L0JyZWFrSXRlcmF0b3IuamF2YSwKCWphdmEvdGV4dC9DaG9pY2VGb3JtYXQuamF2YSwKCWphdmEvdGV4dC9Db2xsYXRpb25FbGVtZW50SXRlcmF0b3IuamF2YSwKCWphdmEvdGV4dC9Db2xsYXRpb25LZXkuamF2YSwKCWphdmEvdGV4dC9Db2xsYXRvci5qYXZhLAoJamF2YS90ZXh0L0RhdGVGb3JtYXQuamF2YSwKCWphdmEvdGV4dC9EYXRlRm9ybWF0U3ltYm9scy5qYXZhLAoJamF2YS90ZXh0L0RlY2ltYWxGb3JtYXQuamF2YSwKCWphdmEvdGV4dC9EZWNpbWFsRm9ybWF0U3ltYm9scy5qYXZhLAoJamF2YS90ZXh0L0ZpZWxkUG9zaXRpb24uamF2YSwKCWphdmEvdGV4dC9Gb3JtYXQuamF2YSwKCWphdmEvdGV4dC9OdW1iZXJGb3JtYXQuamF2YSwKCWphdmEvdGV4dC9QYXJzZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS90ZXh0L1BhcnNlUG9zaXRpb24uamF2YSwKCWphdmEvdGV4dC9TdHJpbmdDaGFyYWN0ZXJJdGVyYXRvci5qYXZhLAoJamF2YS91dGlsL0Fic3RyYWN0Q29sbGVjdGlvbi5qYXZhLAoJamF2YS91dGlsL0Fic3RyYWN0TGlzdC5qYXZhLAoJamF2YS91dGlsL0Fic3RyYWN0TWFwLmphdmEsCglqYXZhL3V0aWwvQWJzdHJhY3RTZXF1ZW50aWFsTGlzdC5qYXZhLAoJamF2YS91dGlsL0Fic3RyYWN0U2V0LmphdmEsCglqYXZhL3V0aWwvQXJyYXlMaXN0LmphdmEsCglqYXZhL3V0aWwvQXJyYXlzLmphdmEsCglqYXZhL3V0aWwvQml0U2V0LmphdmEsCglqYXZhL3V0aWwvQ29sbGVjdGlvbi5qYXZhLAoJamF2YS91dGlsL0NvbGxlY3Rpb25zLmphdmEsCglqYXZhL3V0aWwvQ29tcGFyYXRvci5qYXZhLAoJamF2YS91dGlsL0NvbmN1cnJlbnRNb2RpZmljYXRpb25FeGNlcHRpb24uamF2YSwKCWphdmEvdXRpbC9DdXJyZW5jeS5qYXZhLAoJamF2YS91dGlsL0RhdGUuamF2YSwKCWphdmEvdXRpbC9FbXB0eVN0YWNrRXhjZXB0aW9uLmphdmEsCglqYXZhL3V0aWwvRW51bWVyYXRpb24uamF2YSwKCWphdmEvdXRpbC9FdmVudExpc3RlbmVyLmphdmEsCglqYXZhL3V0aWwvRXZlbnRMaXN0ZW5lclByb3h5LmphdmEsCglqYXZhL3V0aWwvRXZlbnRPYmplY3QuamF2YSwKCWphdmEvdXRpbC9IYXNoTWFwLmphdmEsCglqYXZhL3V0aWwvSGFzaFNldC5qYXZhLAoJamF2YS91dGlsL0hhc2h0YWJsZS5qYXZhLAoJamF2YS91dGlsL0lkZW50aXR5SGFzaE1hcC5qYXZhLAoJamF2YS91dGlsL0l0ZXJhdG9yLmphdmEsCglqYXZhL3V0aWwvTGlua2VkSGFzaFNldC5qYXZhLAoJamF2YS91dGlsL0xpbmtlZExpc3QuamF2YSwKCWphdmEvdXRpbC9MaXN0LmphdmEsCglqYXZhL3V0aWwvTGlzdEl0ZXJhdG9yLmphdmEsCglqYXZhL3V0aWwvTGlzdFJlc291cmNlQnVuZGxlLmphdmEsCglqYXZhL3V0aWwvTWFwLmphdmEsCglqYXZhL3V0aWwvTWlzc2luZ1Jlc291cmNlRXhjZXB0aW9uLmphdmEsCglqYXZhL3V0aWwvTm9TdWNoRWxlbWVudEV4Y2VwdGlvbi5qYXZhLAoJamF2YS91dGlsL09ic2VydmFibGUuamF2YSwKCWphdmEvdXRpbC9PYnNlcnZlci5qYXZhLAoJamF2YS91dGlsL1Byb3BlcnRpZXMuamF2YSwKCWphdmEvdXRpbC9Qcm9wZXJ0eVBlcm1pc3Npb25Db2xsZWN0aW9uLmphdmEsCglqYXZhL3V0aWwvUmFuZG9tQWNjZXNzLmphdmEsCglqYXZhL3V0aWwvU2V0LmphdmEsCglqYXZhL3V0aWwvU29ydGVkTWFwLmphdmEsCglqYXZhL3V0aWwvU29ydGVkU2V0LmphdmEsCglqYXZhL3V0aWwvU3RhY2suamF2YSwKCWphdmEvdXRpbC9TdHJpbmdUb2tlbml6ZXIuamF2YSwKCWphdmEvdXRpbC9Ub29NYW55TGlzdGVuZXJzRXhjZXB0aW9uLmphdmEsCglqYXZhL3V0aWwvVHJlZU1hcC5qYXZhLAoJamF2YS91dGlsL1RyZWVTZXQuamF2YSwKCWphdmEvdXRpbC9WZWN0b3IuamF2YSwKCWphdmEvdXRpbC9sb2dnaW5nL0ZpbGVIYW5kbGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9MZXZlbC5qYXZhLAoJamF2YS91dGlsL3ByZWZzL0JhY2tpbmdTdG9yZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS91dGlsL3ByZWZzL0ludmFsaWRQcmVmZXJlbmNlc0Zvcm1hdEV4Y2VwdGlvbi5qYXZhLAoJamF2YS91dGlsL3ByZWZzL1ByZWZlcmVuY2VzLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGUuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZUFjdGlvbi5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlQnVuZGxlLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVDb21wb25lbnQuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZUNvbnRleHQuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZUVkaXRhYmxlVGV4dC5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlRXh0ZW5kZWRDb21wb25lbnQuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZUV4dGVuZGVkVGFibGUuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZUh5cGVybGluay5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlSHlwZXJ0ZXh0LmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVJY29uLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVLZXlCaW5kaW5nLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVSZWxhdGlvbi5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlUmVsYXRpb25TZXQuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVJlc291cmNlQnVuZGxlLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVSb2xlLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVTZWxlY3Rpb24uamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVN0YXRlLmphdmEsCglqYXZheC9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2libGVTdGF0ZVNldC5qYXZhLAoJamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlVGFibGUuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVRhYmxlTW9kZWxDaGFuZ2UuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVRleHQuamF2YSwKCWphdmF4L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJsZVZhbHVlLmphdmEsCglqYXZheC9pbWFnZWlvL0lJT0V4Y2VwdGlvbi5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JbWFnZUlPLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JSU9TZXJ2aWNlUHJvdmlkZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0ltYWdlSW5wdXRTdHJlYW1TcGkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0ltYWdlT3V0cHV0U3RyZWFtU3BpLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JbWFnZVJlYWRlcldyaXRlclNwaS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zcGkvSW1hZ2VUcmFuc2NvZGVyU3BpLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9SZWdpc3RlcmFibGVTZXJ2aWNlLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9TZXJ2aWNlUmVnaXN0cnkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0lJT0J5dGVCdWZmZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlSW5wdXRTdHJlYW0uamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlT3V0cHV0U3RyZWFtLmphdmEsCglqYXZheC9uYW1pbmcvQmluZGluZy5qYXZhLAoJamF2YXgvbmFtaW5nL0Nhbm5vdFByb2NlZWRFeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9Db21wb3NpdGVOYW1lLmphdmEsCglqYXZheC9uYW1pbmcvQ29tcG91bmROYW1lLmphdmEsCglqYXZheC9uYW1pbmcvTGlua0V4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL0xpbmtSZWYuamF2YSwKCWphdmF4L25hbWluZy9OYW1lQ2xhc3NQYWlyLmphdmEsCglqYXZheC9uYW1pbmcvUmVmZXJlbmNlLmphdmEsCglqYXZheC9uYW1pbmcvUmVmZXJyYWxFeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9kaXJlY3RvcnkvQXR0cmlidXRlLmphdmEsCglqYXZheC9uYW1pbmcvZGlyZWN0b3J5L0F0dHJpYnV0ZU1vZGlmaWNhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9BdHRyaWJ1dGVzLmphdmEsCglqYXZheC9uYW1pbmcvZGlyZWN0b3J5L0RpckNvbnRleHQuamF2YSwKCWphdmF4L25hbWluZy9kaXJlY3RvcnkvTW9kaWZpY2F0aW9uSXRlbS5qYXZhLAoJamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9TZWFyY2hDb250cm9scy5qYXZhLAoJamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9TZWFyY2hSZXN1bHQuamF2YSwKCWphdmF4L25hbWluZy9ldmVudC9FdmVudENvbnRleHQuamF2YSwKCWphdmF4L25hbWluZy9ldmVudC9FdmVudERpckNvbnRleHQuamF2YSwKCWphdmF4L25hbWluZy9ldmVudC9OYW1lc3BhY2VDaGFuZ2VMaXN0ZW5lci5qYXZhLAoJamF2YXgvbmFtaW5nL2V2ZW50L05hbWluZ0V4Y2VwdGlvbkV2ZW50LmphdmEsCglqYXZheC9uYW1pbmcvZXZlbnQvTmFtaW5nTGlzdGVuZXIuamF2YSwKCWphdmF4L25hbWluZy9ldmVudC9PYmplY3RDaGFuZ2VMaXN0ZW5lci5qYXZhLAoJamF2YXgvbmFtaW5nL2xkYXAvQ29udHJvbC5qYXZhLAoJamF2YXgvbmFtaW5nL2xkYXAvRXh0ZW5kZWRSZXNwb25zZS5qYXZhLAoJamF2YXgvbmFtaW5nL2xkYXAvSGFzQ29udHJvbHMuamF2YSwKCWphdmF4L25hbWluZy9sZGFwL0xkYXBDb250ZXh0LmphdmEsCglqYXZheC9uYW1pbmcvbGRhcC9VbnNvbGljaXRlZE5vdGlmaWNhdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL2xkYXAvVW5zb2xpY2l0ZWROb3RpZmljYXRpb25FdmVudC5qYXZhLAoJamF2YXgvbmFtaW5nL2xkYXAvVW5zb2xpY2l0ZWROb3RpZmljYXRpb25MaXN0ZW5lci5qYXZhLAoJamF2YXgvbmFtaW5nL3NwaS9EaXJlY3RvcnlNYW5hZ2VyLmphdmEsCglqYXZheC9uYW1pbmcvc3BpL1Jlc29sdmVSZXN1bHQuamF2YSwKCWphdmF4L25hbWluZy9zcGkvUmVzb2x2ZXIuamF2YSwKCWphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svQ2FsbGJhY2suamF2YSwKCWphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svQ2FsbGJhY2tIYW5kbGVyLmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL0Nob2ljZUNhbGxiYWNrLmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL0NvbmZpcm1hdGlvbkNhbGxiYWNrLmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL0xhbmd1YWdlQ2FsbGJhY2suamF2YSwKCWphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svTmFtZUNhbGxiYWNrLmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL1Bhc3N3b3JkQ2FsbGJhY2suamF2YSwKCWphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svVGV4dElucHV0Q2FsbGJhY2suamF2YSwKCWphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svVGV4dE91dHB1dENhbGxiYWNrLmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL1Vuc3VwcG9ydGVkQ2FsbGJhY2tFeGNlcHRpb24uamF2YSwKCWphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbC5qYXZhLAoJamF2YXgvc2VjdXJpdHkvc2FzbC9TYXNsU2VydmVyRmFjdG9yeS5qYXZhLAoJamF2YXgvc3dpbmcvRGVmYXVsdEJvdW5kZWRSYW5nZU1vZGVsLmphdmEsCglqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEsCglqYXZheC9zd2luZy9KTGlzdC5qYXZhLAoJamF2YXgvc3dpbmcvSlByb2dyZXNzQmFyLmphdmEsCglqYXZheC9zd2luZy9KUmFkaW9CdXR0b24uamF2YSwKCWphdmF4L3N3aW5nL0pUZXh0QXJlYS5qYXZhLAoJamF2YXgvc3dpbmcvSlRleHRGaWVsZC5qYXZhLAoJamF2YXgvc3dpbmcvSlRvZ2dsZUJ1dHRvbi5qYXZhLAoJamF2YXgvc3dpbmcvSlRyZWUuamF2YSwKCWphdmF4L3N3aW5nL1NwaW5uZXJMaXN0TW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL2V2ZW50L0V2ZW50TGlzdGVuZXJMaXN0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEsCglqYXZheC9zd2luZy90ZXh0L1N0cmluZ0NvbnRlbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmEsCglqYXZheC9zd2luZy91bmRvL1VuZG9NYW5hZ2VyLmphdmEsCglqYXZheC9zd2luZy91bmRvL1VuZG9hYmxlRWRpdFN1cHBvcnQuamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL0hldXJpc3RpY0NvbW1pdEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24vSGV1cmlzdGljTWl4ZWRFeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL0hldXJpc3RpY1JvbGxiYWNrRXhjZXB0aW9uLmphdmEsCglqYXZheC90cmFuc2FjdGlvbi9JbnZhbGlkVHJhbnNhY3Rpb25FeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL05vdFN1cHBvcnRlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24vUm9sbGJhY2tFeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL1N0YXR1cy5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24vU3luY2hyb25pemF0aW9uLmphdmEsCglqYXZheC90cmFuc2FjdGlvbi9TeXN0ZW1FeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL1RyYW5zYWN0aW9uLmphdmEsCglqYXZheC90cmFuc2FjdGlvbi9UcmFuc2FjdGlvbk1hbmFnZXIuamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL1RyYW5zYWN0aW9uUmVxdWlyZWRFeGNlcHRpb24uamF2YSwKCWphdmF4L3RyYW5zYWN0aW9uL1RyYW5zYWN0aW9uUm9sbGVkYmFja0V4Y2VwdGlvbi5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24vVXNlclRyYW5zYWN0aW9uLmphdmEsCglqYXZheC90cmFuc2FjdGlvbi94YS9YQUV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24veGEvWEFSZXNvdXJjZS5qYXZhLAoJamF2YXgvdHJhbnNhY3Rpb24veGEvWGlkLmphdmEsCglqYXZheC94bWwvWE1MQ29uc3RhbnRzLmphdmEsCglqYXZheC94bWwvZGF0YXR5cGUvRGF0YXR5cGVDb25maWd1cmF0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwvZGF0YXR5cGUvRGF0YXR5cGVDb25zdGFudHMuamF2YSwKCWphdmF4L3htbC9kYXRhdHlwZS9EYXRhdHlwZUZhY3RvcnkuamF2YSwKCWphdmF4L3htbC9kYXRhdHlwZS9EdXJhdGlvbi5qYXZhLAoJamF2YXgveG1sL2RhdGF0eXBlL1hNTEdyZWdvcmlhbkNhbGVuZGFyLmphdmEsCglqYXZheC94bWwvbmFtZXNwYWNlL05hbWVzcGFjZUNvbnRleHQuamF2YSwKCWphdmF4L3htbC9uYW1lc3BhY2UvUU5hbWUuamF2YSwKCWphdmF4L3htbC9wYXJzZXJzL0RvY3VtZW50QnVpbGRlci5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvRG9jdW1lbnRCdWlsZGVyRmFjdG9yeS5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvRmFjdG9yeUNvbmZpZ3VyYXRpb25FcnJvci5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvUGFyc2VyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvU0FYUGFyc2VyLmphdmEsCglqYXZheC94bWwvcGFyc2Vycy9TQVhQYXJzZXJGYWN0b3J5LmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL0Vycm9yTGlzdGVuZXIuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vT3V0cHV0S2V5cy5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9SZXN1bHQuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vU291cmNlLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1NvdXJjZUxvY2F0b3IuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vVGVtcGxhdGVzLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckZhY3RvcnkuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJGYWN0b3J5Q29uZmlndXJhdGlvbkVycm9yLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1VSSVJlc29sdmVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL2RvbS9ET01Mb2NhdG9yLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL2RvbS9ET01SZXN1bHQuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vZG9tL0RPTVNvdXJjZS5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9zYXgvU0FYUmVzdWx0LmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL3NheC9TQVhTb3VyY2UuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vc2F4L1NBWFRyYW5zZm9ybWVyRmFjdG9yeS5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9zYXgvVGVtcGxhdGVzSGFuZGxlci5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9zYXgvVHJhbnNmb3JtZXJIYW5kbGVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL3N0cmVhbS9TdHJlYW1SZXN1bHQuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vc3RyZWFtL1N0cmVhbVNvdXJjZS5qYXZhLAoJamF2YXgveG1sL3ZhbGlkYXRpb24vU2NoZW1hLmphdmEsCglqYXZheC94bWwvdmFsaWRhdGlvbi9TY2hlbWFGYWN0b3J5LmphdmEsCglqYXZheC94bWwvdmFsaWRhdGlvbi9UeXBlSW5mb1Byb3ZpZGVyLmphdmEsCglqYXZheC94bWwvdmFsaWRhdGlvbi9WYWxpZGF0b3IuamF2YSwKCWphdmF4L3htbC92YWxpZGF0aW9uL1ZhbGlkYXRvckhhbmRsZXIuamF2YSwKCWphdmF4L3htbC94cGF0aC9YUGF0aENvbnN0YW50cy5qYXZhLAoJamF2YXgveG1sL3hwYXRoL1hQYXRoRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhFeHByZXNzaW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhFeHByZXNzaW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhGYWN0b3J5LmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhGYWN0b3J5Q29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3hwYXRoL1hQYXRoRnVuY3Rpb24uamF2YSwKCWphdmF4L3htbC94cGF0aC9YUGF0aEZ1bmN0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhGdW5jdGlvblJlc29sdmVyLmphdmE6CglGaXhlZCB1c2FnZSBvZiBAYXV0aG9yIHRhZywgcmV3b3JrZWQgaW1wb3J0IHN0YXRlbWVudHMsCglyZW1vdmVkIENWUyB0YWdzLCBjaGFuZ2VkIHRoZSBtb2RpZmllciBvcmRlciBhbmQgZml4ZWQKCUhUTUwgdXNhZ2UgaW4gamF2YWRvY3MuCgoyMDA1LTAyLTE2ICBKdWxpYW4gU2NoZWlkICA8anVsaWFuQHNla3RvcjM3LmRlPgoKCSogZ251L2phdmEvbmlvL2NoYXJzZXQvVVRGXzguamF2YSAoZGVjb2RlTG9vcCk6IFNldCBpblBvcyB0bwoJaW4ucG9zaXRpb24oKS4KCShlbmNvZGVMb29wKTogTGlrZXdpc2UuCgoyMDA1LTAyLTE2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBNYWtlZmlsZS5hbSAob3JkaW5hcnlfamF2YV9zb3VyY2VfZmlsZXMpOiBBZGQgbmV3IGZpbGVzCglnbnUvamF2YS9zZWN1cml0eS9iZXIvQkVSLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9iZXIvQkVSRW5jb2RpbmdFeGNlcHRpb24uamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L2Jlci9CRVJSZWFkZXIuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L2Jlci9CRVJWYWx1ZS5qYXZhLAoJZ251L2phdmEvc2VjdXJpdHkvcGtjcy9QS0NTN1NpZ25lZERhdGEuamF2YSBhbmQKCWdudS9qYXZhL3NlY3VyaXR5L3BrY3MvU2lnbmVySW5mby5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA1LTAyLTE2ICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvR251RFNBUHJpdmF0ZUtleS5qYXZhCgkoZW5jb2RlZEtleSk6IG5ldyBmaWVsZC4KCShnZXRGb3JtYXQpOiByZXR1cm4gIlBLQ1MjOCIuCgkoZ2V0RW5jb2RlZCk6IGltcGxlbWVudGVkLgoJKHRvU3RyaW5nKTogY2hlY2sgZm9yICdudWxsJyB2YWx1ZXMuCgkqIGdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL0dudURTQVB1YmxpY0tleS5qYXZhCgkoZW5jb2RlZEtleSk6IG5ldyBmaWVsZC4KCShnZXRGb3JtYXQpOiByZXR1cm4gIlguNTA5Ii4KCShnZXRFbmNvZGVkKTogaW1wbGVtZW50ZWQuCgkodG9TdHJpbmcpOiBjaGVjayBmb3IgJ251bGwnIHZhbHVlcy4KCjIwMDUtMDItMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvamFyL0phckZpbGUuamF2YTogSW1wb3J0cyByZXdvcmtlZC4KCjIwMDUtMDItMTYgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdXRpbC9qYXIvSmFyRmlsZS5qYXZhICh2ZXJpZnkpOiBNYWtlIHBhY2thZ2UgcHJpdmF0ZS4KCShzaWduYXR1cmVzUmVhZCk6IExpa2V3aXNlLgoJKHZlcmlmaWVkKTogTGlrZXdpc2UuCgkoZW50cnlDZXJ0cyk6IExpa2V3aXNlLgoJKERFQlVHKTogTGlrZXdpc2UuCgkoZGVidWcpOiBMaWtld2lzZS4KCShlbnRyaWVzKTogQ29uc3RydWN0IG5ldyBKYXJFbnVtZXJhdGlvbiB3aXRoIHJlZmVyZW5jZSB0byB0aGlzLgoJKEphckVudW1lcmF0aW9uKTogTWFrZSBzdGF0aWMuCgkoSmFyRW51bWVyYXRpb24uamFyZmlsZSk6IE5ldyBmaWVsZC4KCShKYXJFbnVtZXJhdGlvbi5uZXh0RWxlbWVudCk6IFVzZSBhbmQgc3luY2hyb25pemUgb24gamFyZmlsZS4KCUNvbXBhcmUgdmVyaWZpZWQgdmFsdWUgdG8gQm9vbGVhbi5UUlVFIG9yIEJvb2xlYW4uRmFsc2Ugb25seQoJd2hlbiB2ZXJpZnkgaXMgdHJ1ZS4KCShnZXRFbnRyeSk6IE1ha2Ugc3luY2hyb25pemVkLiBDb21wYXJlIHZhbHVlIG9mIHZlcmlmaWVkIHRvCglCb29sZWFuLlRSVUUuCgkoZ2V0SW5wdXRTdHJlYW0pOiBDb25zdHJ1Y3QgRW50cnlJbnB1dFN0cmVhbSB3aXRoIHJlZmVyZW5jZSB0byB0aGlzLgoJKGdldE1hbmlmZXN0KTogTWFrZSBzeW5jaHJvbml6ZWQuCgkoRW50cnlJbnB1dFN0cmVhbSk6IE1ha2Ugc3RhdGljLgoJKEVudHJ5SW5wdXRTdHJlYW0uamFyZmlsZSk6IE5ldyBmaWVsZC4KCShFbnRyeUlucHV0U3RyZWFtLkVudHJ5SW5wdXRTdHJlYW0pOiBDaGVjayBpZiBtYW5pZmVzdCBleGlzdHMsCgliZWZvcmUgZ2V0dGluZyBhdHRyaWJ1dGVzLgoJKGVvZik6IFN5bmNocm9uaXplIG9uIGphcmZpbGUuCgoyMDA1LTAyLTE2ICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCSogamF2YS91dGlsL2phci9KYXJGaWxlLmphdmEgKHZlcmlmeSk6IHJldHVybiBpZiB0aGUgamFyIGlzIHNpZ25lZAoJd2l0aCBhbiB1bnN1cHBvcnRlZCBhbGdvcml0aG0uCgoyMDA1LTAyLTE2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3V0aWwvamFyL0phckZpbGUuamF2YSAoRW50cnlJbnB1dFN0cmVhbSk6IEFkZCBhY3R1YWwKCUlucHV0U3RyZWFtIGFzIGFyZ3VtZW50LgoJKGdldElucHV0U3RyZWFtKTogQ29uc3RydWN0IGEgbmV3IEVudHJ5SW5wdXRTdHJlYW0gd2l0aCB0aGUgcmVzdWx0IG9mCglzdXBlci5nZXRJbnB1dFN0cmVhbShlbnRyeSkuCgoyMDA1LTAyLTE2ICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCVNpZ25lZCBKQVIgZmlsZSBzdXBwb3J0LgoJKiBqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhCgkoSmFyVVJMUmVzb3VyY2UuZ2V0Q2VydGlmaWNhdGVzKTogcmUtcmVhZCBqYXIgZW50cnkgdG8gZW5zdXJlCgljZXJ0aWZpY2F0ZXMgYXJlIHBpY2tlZCB1cC4KCShmaW5kQ2xhc3MpOiBmaWxsIGluIGNsYXNzIGBzaWduZXJzJyBmaWVsZCwgdG9vLgoJKiBqYXZhL3V0aWwvamFyL0phckZpbGUuamF2YSAoTUVUQV9JTkYpOiBuZXcgY29uc3RhbnQuCgkoUEtDUzdfRFNBX1NVRkZJWCk6IG5ldyBjb25zdGFudC4KCShQS0NTN19SU0FfU1VGRklYKTogbmV3IGNvbnN0YW50LgoJKERJR0VTVF9LRVlfU1VGRklYKTogbmV3IGNvbnN0YW50LgoJKFNGX1NVRkZJWCk6IG5ldyBjb25zdGFudC4KCShNRDJfT0lEKTogbmV3IGNvbnN0YW50LgoJKE1ENF9PSUQpOiBuZXcgY29uc3RhbnQuCgkoTUQ1X09JRCk6IG5ldyBjb25zdGFudC4KCShTSEExX09JRCk6IG5ldyBjb25zdGFudC4KCShEU0FfRU5DUllQVElPTl9PSUQpOiBuZXcgY29uc3RhbnQuCgkoUlNBX0VOQ1JZUFRJT05fT0lEKTogbmV3IGNvbnN0YW50LgoJKHNpZ25hdHVyZXNSZWFkKTogbmV3IGZpZWxkLgoJKHZlcmlmaWVkKTogbmV3IGZpZWxkLgoJKGVudHJ5Q2VydHMpOiBuZXcgZmllbGQuCgkoREVCVUcpOiBuZXcgY29uc3RhbnQuCgkoZGVidWcpOiBuZXcgbWV0aG9kLgoJKEphckVudW1lcmF0aW9uLm5leHRFbGVtZW50KTogZmlsbCBpbiBlbnRyeSBjZXJ0aWZpY2F0ZXMsIHJlYWQKCXNpZ25hdHVyZXMgaWYgdGhleSBoYXZlbid0IGJlZW4gcmVhZC4KCShnZXRFbnRyeSk6IGxpa2V3aXNlLgoJKGdldElucHV0U3RyZWFtKTogdmVyaWZ5IHN0cmVhbSBpZiBpdCBoYXNuJ3QgYmVlbiB2ZXJpZmllZCB5ZXQuCgkocmVhZFNpZ25hdHVyZXMpOiBuZXcgbWV0aG9kLgoJKHZlcmlmeSk6IG5ldyBtZXRob2QuCgkodmVyaWZ5SGFzaGVzKTogbmV3IG1ldGhvZC4KCShyZWFkTWFuaWZlc3RFbnRyeSk6IG5ldyBtZXRob2QuCgkoRW50cnlJbnB1dFN0cmVhbSk6IG5ldyBjbGFzcy4KCSogZ251L2phdmEvaW8vQmFzZTY0SW5wdXRTdHJlYW0uamF2YSAoZGVjb2RlKTogbmV3IGNsYXNzCgltZXRob2QuCgkqIGdudS9qYXZhL3NlY3VyaXR5L2Rlci9ERVJSZWFkZXIuamF2YSBkb24ndCBtYWtlIGNsYXNzCglmaW5hbC4KCShpbik6IG1hZGUgcHJvdGVjdGVkLgoJKGVuY0J1Zik6IGxpa2V3aXNlLgoJKHJlYWRMZW5ndGgpOiBsaWtld2lzZS4KCSogZ251L2phdmEvc2VjdXJpdHkvYmVyL0JFUi5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS9iZXIvQkVSRW5jb2RpbmdFeGNlcHRpb24uamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkvYmVyL0JFUlJlYWRlci5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS9iZXIvQkVSVmFsdWUuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkvcGtjcy9QS0NTN1NpZ25lZERhdGEuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkvcGtjcy9TaWduZXJJbmZvLmphdmE6CgluZXcgZmlsZXMuCgoyMDA1LTAyLTE2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvZ2NqL3J1bnRpbWUvU2hhcmVkTGliSGVscGVyLmphdmEgKGZpbmRIZWxwZXIpOiBEZWxldGUKCWNvcGllZCBmaWxlIG9uIGV4aXQuCgoyMDA1LTAyLTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2F3dC9CYXNpY1N0cm9rZS5qYXZhIChoYXNoQ29kZSk6IENoZWNrIGZvciBudWxsIGRhc2guCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0FyZy5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0FyZ0xpc3QuamF2YToKCVJlbW92ZWQuCgoyMDA1LTAyLTE1ICBDcmFpZyBCbGFjayAgPGNyYWlnLmJsYWNrQGFvbml4LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDaGVja2JveE1lbnVJdGVtLmphdmEKCShwb3N0TWVudUFjdGlvbkV2ZW50KTogSW1wbGVtZW50IHRvIG5vdGlmeSBJdGVtTGlzdGVuZXJzLgoJKiBqYXZhL2F3dC9DaGVja2JveE1lbnVJdGVtLmphdmEKCShkaXNwYXRjaEV2ZW50SW1wbCk6IFVwZGF0ZSBzdGF0ZSBvbiBJdGVtRXZlbnQuCgkqIGphdmEvYXd0L01lbnVJdGVtLmphdmEKCShwcm9jZXNzQWN0aW9uRXZlbnQpOiBSZXRhcmdldCBldmVudCBzb3VyY2UuCgoyMDA1LTAyLTE1ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogZ251L2phdmEvYXd0L2NvbG9yL0NsdXRQcm9maWxlQ29udmVydGVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9DbGFzc3BhdGhUZXh0TGF5b3V0UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR2x5cGhWZWN0b3IuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3NFbnZpcm9ubWVudC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1BpeGJ1ZkRlY29kZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtSb2JvdFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtUZXh0TGF5b3V0LmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQnV0dG9uUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NoZWNrYm94UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0Nob2ljZVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29udGFpbmVyUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0RpYWxvZ1BlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGaWxlRGlhbG9nUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZvbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTGFiZWxQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWVudUNvbXBvbmVudFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51SXRlbVBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtTY3JvbGxQYW5lUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1RleHRDb21wb25lbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1dpbmRvd1BlZXIuamF2YSwKCWphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YSwKCWphdmF4L3N3aW5nL0pTcGlubmVyLmphdmEsCglqYXZheC9zd2luZy9Tb3J0aW5nRm9jdXNUcmF2ZXJzYWxQb2xpY3kuamF2YSwKCWphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hFZGl0b3IuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFJlbmRlcmVyLmphdmEsCglqYXZheC9zd2luZy90cmVlL0RlZmF1bHRNdXRhYmxlVHJlZU5vZGUuamF2YToKCVJlbW92ZWQgdW51c2VkIGltcG9ydHMgYW5kIGV4cGFuZGVkIHN0YXJyZWQKCWltcG9ydHMuCgoyMDA1LTAyLTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2F3dC9BV1RLZXlTdHJva2UuamF2YSAoZ2V0QVdUS2V5U3Ryb2tlKFN0cmluZykpOiBUaHJvdwoJSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIHdoZW4gdGhlIGdpdmVuIFN0cmluZyBpcyBudWxsLgoKCSogamF2YXgvc3dpbmcvS2V5U3Ryb2tlLmphdmEgKGdldEtleVN0cm9rZShTdHJpbmcpKTogUmV0dXJuIG51bGwKCXdoZW4gZ2l2ZW4ga2V5c3Rva2Ugc2VxdWVuY2UgY2Fubm90IGJlIHBhcnNlZC4KCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhIChzZXRKTWVudUJhcik6IFJlbW92ZSBjdXJyZW50IG1lbnViYXIKCWlmIG9uZSBpcyBpbnN0YWxsZWQuIE9ubHkgaW5zdGFsbCB0aGUgZ2l2ZW4gbWVudWJhciBpcyBub3QgbnVsbC4KCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhIChnZXRWaWV3U2l6ZSk6IFJldHVybiBhbiBlbXB0eQoJRGltZW5zaW9uIHdoZW4gdGhlIHZpZXcgaXNuJ3Qgc2V0IG9yIHByZWZlcnJlZCBjb21wb25lbnQgc2l6ZSB3aGVuCglubyB2aWV3U2l6ZSBpcyBzZXQuCgoJKiBqYXZheC9zd2luZy9WaWV3cG9ydExheW91dC5qYXZhIChwcmVmZXJyZWRMYXlvdXRTaXplKTogUmV0dXJuIGFuCgllbXB0eSBEaW1lbnNpb24gd2hlbiB0aGVyZSBpcyBubyB2aWV3IHNldC4KCShtaW5pbXVtTGF5b3V0U2l6ZSk6IExpa2V3aXNlLgoJKGxheW91dENvbnRhaW5lcik6IERvbid0IHRyeSB0byBsYXlvdXQgd2hlbiB0aGVyZSBpcyBubyB2aWV3LgoKMjAwNS0wMi0xNSAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ3RrX2phd3QuYyAoY2xhc3NwYXRoX2phd3RfZ2V0X2RyYXdhYmxlLAoJY2xhc3NwYXRoX2phd3RfbG9jaywgY2xhc3NwYXRoX2phd3RfdW5sb2NrKTogTmV3IGZ1bmN0aW9ucy4KCSogamF3dC5jIChfSnZfSkFXVF9Mb2NrLCBfSnZfSkFXVF9VbmxvY2spOiBOZXcgZnVuY3Rpb25zLgoJKF9Kdl9HZXREcmF3aW5nU3VyZmFjZSk6IFNldCB2aXN1YWxJRC4KCShfSnZfRnJlZURyYXdpbmdTdXJmYWNlSW5mbyk6IENsZWFyIHZpc3VhbElELgoJKEpBV1RfR2V0QVdUKTogU2V0IExvY2sgYW5kIFVubG9jay4KCSogaW5jbHVkZS9qYXd0X21kLmggKHN0cnVjdCBfSkFXVF9YMTFEcmF3aW5nU3VyZmFjZUluZm8pOiBBZGQgdmlzdWFsSUQuCgkqIGluY2x1ZGUvamF3dC5oIChKQVdUX1ZFUlNJT05fMV80LCBKQVdUX0xPQ0tfRVJST1IsCglKQVdUX0xPQ0tfQ0xJUF9DSEFOR0VELCBKQVdUX0xPQ0tfQk9VTkRTX0NIQU5HRUQsCglKQVdUX0xPQ0tfU1VSRkFDRV9DSEFOR0VEKTogTmV3IG1hY3Jvcy4KCShzdHJ1Y3QgX0pBV1QpOiBBZGQgTG9jayBhbmQgVW5sb2NrLgoKMjAwNS0wMi0xNSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF3dC5jOiBOZXcgZmlsZS4KCSogaW5jbHVkZS9qYXd0Lmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2phd3RfbWQuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKHRvb2xfaW5jbHVkZV9fSEVBREVSUyk6IEFkZCBqYXd0LmggYW5kCglqYXd0X21kLmggZmlsZXMuCgkqIGpuaS9jbGFzc3BhdGgvY2xhc3NwYXRoX2phd3QuaDogTGlrZXdpc2UuCgkqIGpuaS9ndGstcGVlci9ndGtfamF3dC5jOiBMaWtld2lzZS4KCSogTWFrZWZpbGUuYW06IEJ1aWxkIGxpYmphd3Quc28uCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YToKCU1lcmdlZCBmaWxlIGhlYWRlciB3aXRoIGNsYXNzcGF0aCBDVlMgaGVhZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1BpeGJ1ZkRlY29kZXIuamF2YToKCU1lcmdlZCBjb2RlIGZvcm1hdHRpbmcgd2l0aCBjbGFzc3BhdGggQ1ZTIGhlYWQuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXIuYzoKCVJlbW92ZWQgZGVidWcgY29kZS4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250UGVlcl9nZXRHbHlwaFZlY3Rvcik6CglIYW5kbGUgc3BlY2lhbCBKTkkgc3RyaW5ncyB3aXRoIDIgJ1wwJyBhdCB0aGUgZW5kLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuYzoKCU1lcmdlZCBmaWxlIGhlYWRlciB3aXRoIGNsYXNzcGF0aCBDVlMgaGVhZC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jOgoJTWVyZ2VkIGNvZGUgZm9ybWF0dGluZyB3aXRoIGNsYXNzcGF0aCBDVlMgaGVhZC4KCjIwMDUtMDItMTUgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ1BlZXIuYyAoY3JlYXRlKToKCVVzZSBHVEsncyBidWlsdC1pbiBmaWxlIHN5c3RlbSBiYWNrZW5kLiAgVXNlIEdUS19SRVNQT05TRV9BQ0NFUFQuCgkoaGFuZGxlX3Jlc3BvbnNlKTogVXNlIEdUS19SRVNQT05TRV9BQ0NFUFQuCgoyMDA1LTAyLTE1ICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IEZpeCBsaWJyYXJ5IGJ1aWxkIGJyZWFrYWdlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVGFiYmVkUGFuZS5qYXZhCgkoUGFnZS5zZXREaXNwbGF5ZWRNbmVtb25pY0luZGV4KTogSGFuZGxlIGVtcHR5IG1lbm1vbmljLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdE11dGFibGVUcmVlTm9kZS5qYXZhOgoJUmV3b3JrZWQgSmF2YWRvY3MgYWxsIG92ZXIuCgkoZ2V0UGF0aFRvUm9vdCk6IEZpeGVkIGRpcmVjdGlvbiBvZiByZXN1bHQgYXJyYXkgaW5pdGlhbGl6YXRpb24uCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmM6CgkgRml4IGluY2x1ZGVzIGZvciBjYWlybyAwLjMuMCBzbmFwcHNob3QuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTGlzdFBlZXIuYzoKCU1lcmdlZCBmaWxlIGhlYWRlciBmcm9tIGNsYXNzcGF0aCBDVlMgSEVBRC4KCjIwMDUtMDItMTUgIENyYWlnIEJsYWNrICA8Y3JhaWcuYmxhY2tAYW9uaXguY29tPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MuYwoJKGNvcHlTdGF0ZSk6IFBhc3MgYSBKTkkgZ2xvYmFsIHJlZmVyZW5jZSB0byBzaWduYWwgaGFuZGxlci4KCShyZWFsaXplX2NiKTogVXNlIGFuZCBmcmVlIEpOSSBnbG9iYWwgcmVmZXJlbmNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyLmMKCShjcmVhdGUpOiBQYXNzIGEgSk5JIGdsb2JhbCByZWZlcmVuY2UgdG8gc2lnbmFsIGhhbmRsZXIuCgkoc2VsZWN0aW9uX2NoYW5nZWQpOiBNYXRjaCBkZWNsYXJhdGlvbi4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrR2VuZXJpY1BlZXIuYwoJKGRpc3Bvc2UpOiBEbyBub3QgcmVtb3ZlIGVudHJpZXMgZnJvbSBzdGF0ZSB0YWJsZXMgdW50aWwgYWZ0ZXIgd2lkZ2V0IGlzCglkZXN0cm95ZWQuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmFpIChwYXJhbVN0cmluZyk6CglJZiBsYXlvdXRNZ3IgaXMgbnVsbCBqdXN0IHJldHVybiByZXN1bHQgb2Ygc3VwZXIucGFyYW1TdHJpbmcoKS4KCSogamF2YS9hd3QvU2Nyb2xsYmFyLmphdmE6IFJlZm9ybWF0dGVkLgoJKiBqYXZhL2F3dC9pbS9JbnB1dENvbnRleHQuamF2YSAoc3RhdGljKToKCVJlbW92ZWQgcmVkdW5kYW50IGluaXRpYWxpemF0aW9ucy4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9JbWFnZUljb24uamF2YSwKCWphdmF4L3N3aW5nL1VJTWFuYWdlci5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9FZGl0b3JLaXQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvU2VnbWVudC5qYXZhOgoJTW9yZSB3aGl0ZXNwYWNlIGNsZWFudXBzLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9FbWJlZGRlZFdpbmRvdy5qYXZhLAoJZ251L2phdmEvYXd0L2ltYWdlL0ltYWdlRGVjb2Rlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZpbGVEaWFsb2dQZWVyLmphdmEsCglqYXZhL2F3dC9EZWZhdWx0S2V5Ym9hcmRGb2N1c01hbmFnZXIuamF2YSwKCWphdmEvYXd0L0ZyYW1lLmphdmEsCglqYXZhL2F3dC9pbWFnZS9SR0JJbWFnZUZpbHRlci5qYXZhLAoJamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YSwKCWphdmF4L3N3aW5nL0FjdGlvbk1hcC5qYXZhLAoJamF2YXgvc3dpbmcvQ29tcG9uZW50SW5wdXRNYXAuamF2YSwKCWphdmF4L3N3aW5nL0RlZmF1bHREZXNrdG9wTWFuYWdlci5qYXZhLAoJamF2YXgvc3dpbmcvSW1hZ2VJY29uLmphdmEsCglqYXZheC9zd2luZy9JbnB1dE1hcC5qYXZhLAoJamF2YXgvc3dpbmcvSkJ1dHRvbi5qYXZhLAoJamF2YXgvc3dpbmcvSkNoZWNrQm94LmphdmEsCglqYXZheC9zd2luZy9KQ2hlY2tCb3hNZW51SXRlbS5qYXZhLAoJamF2YXgvc3dpbmcvSkVkaXRvclBhbmUuamF2YSwKCWphdmF4L3N3aW5nL0pNZW51LmphdmEsCglqYXZheC9zd2luZy9KTWVudUl0ZW0uamF2YSwKCWphdmF4L3N3aW5nL0pPcHRpb25QYW5lLmphdmEsCglqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YSwKCWphdmF4L3N3aW5nL0pUYWJsZS5qYXZhLAoJamF2YXgvc3dpbmcvTWVudVNlbGVjdGlvbk1hbmFnZXIuamF2YSwKCWphdmF4L3N3aW5nL1JlcGFpbnRNYW5hZ2VyLmphdmEsCglqYXZheC9zd2luZy9TY3JvbGxQYW5lTGF5b3V0LmphdmEsCglqYXZheC9zd2luZy9Tb3J0aW5nRm9jdXNUcmF2ZXJzYWxQb2xpY3kuamF2YSwKCWphdmF4L3N3aW5nL1VJTWFuYWdlci5qYXZhLAoJamF2YXgvc3dpbmcvVmlld3BvcnRMYXlvdXQuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDaGVja0JveE1lbnVJdGVtVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJbnRlcm5hbEZyYW1lVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMYWJlbFVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGlzdFVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1JhZGlvQnV0dG9uTWVudUl0ZW1VSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Jvb3RQYW5lVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxQYW5lVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVEaXZpZGVyLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEsCglqYXZheC9zd2luZy90YWJsZS9UYWJsZUNvbHVtbk1vZGVsLmphdmEsCglqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRWRpdG9yS2l0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L1Bvc2l0aW9uLmphdmEsCglqYXZheC9zd2luZy90ZXh0L1NlZ21lbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvU3R5bGVkRWRpdG9yS2l0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L1ZpZXdGYWN0b3J5LmphdmE6CglDbGVhbnVwIHdoaXRlc3BhY2UgZGlmZmVyZW5jZXMgdG8gY2xhc3NwYXRoIENWUyBIRUFELgoKMjAwNS0wMi0xNSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtQaXhidWZEZWNvZGVyLmphdmE6CgkoZmluYWxpemUpOiBDYWxsIGZpbmlzaCBmcm9tIGhlcmUuCgkocHJvZHVjZSk6IE5vdCBmcm9tIGhlcmUuCgkqIE1ha2VmaWxlLmFtIChndGtfY19zb3VyY2VfZmlsZXMpOiAKCVJlbW92ZSBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRNZXRyaWNzLmMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhCgkoY2Fpcm9TZXRGb250KToKCShjYWlyb0RyYXdHZGtUZXh0TGF5b3V0KToKCShjYWlyb0RyYXdTdHJpbmcpOiAKCShnZXRQZWVyVGV4dE1ldHJpY3MpOgoJKGdldFBlZXJGb250TWV0cmljcyk6IFJlbW92ZS4KCShzZXRGb250KTogRG9uJ3QgY2FsbCBjYWlyb1NldEZvbnQuCgkoY2Fpcm9EcmF3R2x5cGhWZWN0b3IpOiBBY2NlcHQgZm9udCBwZWVyIGFyZ3VtZW50LgoJKGRyYXdHbHlwaFZlY3Rvcik6IFBhc3MgZm9udCBwZWVyIHRvIGNhaXJvRHJhd0dseXBoVmVjdG9yLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuYwkKCShlbnN1cmVfbWV0cmljc19jYWlybyk6CgkoZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfY2Fpcm9TZXRGb250KToKCShnbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9jYWlyb0RyYXdTdHJpbmcpOgoJKGdudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJEX2dldFBlZXJGb250TWV0cmljcyk6CgkoZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfZ2V0UGVlclRleHRNZXRyaWNzKToKCShtZXRyaWNzX2NhaXJvKToKCShtZXRyaWNzX3N1cmZhY2UpOiBSZW1vdmUuCgkoZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfY2Fpcm9EcmF3R2x5cGhWZWN0b3IpOgoJUGFzcyBhbmQgaW5zdGFsbCBmb250IHBlZXIuCgoyMDA1LTAyLTE1ICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IENyZWF0ZSAic3BsaXQgbGlicmFyeSIgc3RydWN0dXJlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDUtMDItMTUgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jOgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYzoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0Q29tcG9uZW50UGVlci5jOgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYzoKCVJlbGVhc2UgR0RLIGxvY2sgZHVyaW5nIHVwY2FsbHMuCgoyMDA1LTAyLTE1ICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250TWV0cmljcy5jOiBSZW1vdmUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRQZWVyX2dldEdseXBoVmVjdG9yKToKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250UGVlcl9nZXRGb250TWV0cmljcyk6IAoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRQZWVyX2dldFRleHRNZXRyaWNzKTogTmV3IG1ldGhvZHMuCQoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dseXBoVmVjdG9yLmM6IFJlbW92ZS4JCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtGb250UGVlci5qYXZhCgkoZ2V0R2x5cGhWZWN0b3IpOgoJKGdldEZvbnRNZXRyaWNzKToKCShnZXRUZXh0TWV0cmljcyk6IE5ldyBuYXRpdmUgbWV0aG9kcy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRNZXRyaWNzLmphdmE6IFJlbW92ZSBuYXRpdmUgcGFydHMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHbHlwaFZlY3Rvci5qYXZhOiBMaWtld2lzZS4KCSogTWFrZWZpbGUuYW06IFJlbW92ZSBuYXRpdmUgZW50cmllcyBmb3IgR2RrRm9udE1ldHJpY3MsIEdka0dseXBoVmVjdG9yLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDUtMDItMTUgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhOgoJKGdldEFjY2Vzc2libGVBdChqYXZhLmF3dC5Db21wb25lbnQsIGphdmEuYXd0LlBvaW50KSk6CglJbXBsZW1lbnRlZCBhbmQgZG9jdW1lbnRlZC4KCShnZXRBY2Nlc3NpYmxlQ2hpbGQoamF2YS5hd3QuQ29tcG9uZW50LCBpbnQpKTogTGlrZXdpc2UuCgkoZ2V0QWNjZXNzaWJsZUNoaWxkcmVuQ291bnQoamF2YS5hd3QuQ29tcG9uZW50KSk6IExpa2V3aXNlLgoJKGdldEFjY2Vzc2libGVJbmRleEluUGFyZW50KGphdmEuYXd0LkNvbXBvbmVudCkpOiBMaWtld2lzZS4KCShnZXRBY2Nlc3NpYmxlU3RhdGVTZXQoamF2YS5hd3QuQ29tcG9uZW50KSk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmEKCShnZXRGb250TWV0cmljcyk6IFJlbW92ZWQuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShwYXJhbVN0cmluZyk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhCgkocGFyYW1TdHJpbmcpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkocGFyYW1TdHJpbmcpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YQoJKHBhcmFtU3RyaW5nKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL0pNZW51QmFyLmphdmEKCShwYXJhbVN0cmluZyk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9KTWVudUl0ZW0uamF2YQoJKHBhcmFtU3RyaW5nKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YQoJKHBhcmFtU3RyaW5nKTogSW1wbGVtZW50ZWQuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YQoJKHVpQ2xhc3NJRCk6IFJlbW92ZWQuCgkoSk1lbnUpOiBTZXQgaW52b2tlciBvbiBwb3B1cCBtZW51LgoJKGdldFVJQ2xhc3NJRCk6IFJldHVybiBpZCBkaXJlY3RseS4KCShnZXRJdGVtQ291bnQpOiBTaW1wbHkgcmV0dXJuIGdldE1lbnVDb21wb25lbnRDb3VudCgpLgoJRml4ZWQgamF2YWRvYy4KCShpc1RvcExldmVsTWVudSk6IFNpbXBsaWZpZWQuCgkqIGphdmF4L3N3aW5nL0pNZW51SXRlbS5qYXZhCgkodWlDbGFzc0lEKTogUmVtb3ZlZC4KCShnZXRVSUNsYXNzSUQpOiBSZXR1cm4gaWQgZGlyZWN0bHkuCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YQoJKHVpQ2xhc3NJRCk6IFJlbW92ZWQuCgkoSlBvcHVwTWVudSk6IEFsd2F5cyBpbml0aWFsaXplIGNvcnJlY3RseS4KCShnZXRTdWJFbGVtZW50cyk6IE9ubHkgcmV0dXJuIGNvbXBvbmVudHMgaW1wbGVtZW50aW5nIE1lbnVFbGVtZW50CglpbnRlcmZhY2UuCgkoSGVhdnlXZWlnaHRQb3B1cC5oaWRlKTogUmVtb3ZlZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9pbWFnZS9SZXBsaWNhdGVTY2FsZUZpbHRlci5qYXZhCgkocmVwbGljYXRlUGl4ZWxzKTogTWFkZSBwcml2YXRlLgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvRGVmYXVsdFJHQkNob29zZXJQYW5lbC5qYXZhCgkoRGVmYXVsdFJHQkNob29zZXJQYW5lbCk6IE1hZGUgcGFja2FnZSBwcml2YXRlLgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvRGVmYXVsdFN3YXRjaENob29zZXJQYW5lbC5qYXZhCgkoUmVjZW50U3dhdGNoUGFuZWwpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvZXZlbnQvTW91c2VJbnB1dEFkYXB0ZXIuamF2YTogUmVmb3JtYXR0ZWQuCgkoTW91c2VJbnB1dEFkYXB0ZXIpOiBNYWRlIGFic3RyYWN0LgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRNdXRhYmxlVHJlZU5vZGUuamF2YQoJKHJhbmRvbSk6IFJlbW92ZWQuCgkoZ3Jvd1RyZWUpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9kbmQvRHJvcFRhcmdldC5qYXZhIChhZGREcm9wVGFyZ2V0TGlzdGVuZXIpOgoJQ2xhcmlmaWVkIGNvbW1lbnRzLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YSAoZ2V0Q29tcG9uZW50R3JhcGhpY3MpOgoJUmVtb3ZlZCBhY2NpZGVudGx5IGNvbW1pdGVkIGNvZGUuCgoyMDA1LTAyLTE1ICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvZG5kL0Ryb3BUYXJnZXQuamF2YQoJKGFkZERyb3BUYXJnZXRMaXN0ZW5lcik6IERlc3BpdGUgZG9jdW1lbnRhdGlvbiwgZG8gbm90IHRocm93LgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6IFNldCBhIGRlZmF1bHQgRHJvcFRhcmdldC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEFjdGlvbi5qYXZhCgkoRU5BQkxFRF9QUk9QRVJUWSk6IFJlbW92ZWQuCgkoc2V0RW5hYmxlZCk6IFJlcGxhY2VkIGNvbnN0YW50IHdpdGggcmVhbCBzdHJpbmcuCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEKCShjcmVhdGVBY3Rpb25Qcm9wZXJ0eUNoYW5nZUxpc3RlbmVyLnByb3BlcnR5Q2hhbmdlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pDb21ib0JveC5qYXZhCgkoREVGQVVMVF9NQVhJTVVNX1JPV19DT1VOVCk6IE1hZGUgcHJpdmF0ZS4KCShFRElUQUJMRV9DSEFOR0VEX1BST1BFUlRZKTogUmVtb3ZlZC4KCShNQVhJTVVNX1JPV19DT1VOVF9DSEFOR0VEX1BST1BFUlRZKTpMaWtld2lzZS4KCShFTkFCTEVEX0NIQU5HRURfUFJPUEVSVFkpOkxpa2V3aXNlLgoJKFJFTkRFUkVSX0NIQU5HRURfUFJPUEVSVFkpOkxpa2V3aXNlLgoJKEVESVRPUl9DSEFOR0VEX1BST1BFUlRZKTpMaWtld2lzZS4KCShNT0RFTF9DSEFOR0VEX1BST1BFUlRZKTpMaWtld2lzZS4KCSh1aUNsYXNzSUQpOkxpa2V3aXNlLgoJKGdldFVJQ2xhc3NJRCk6IFJlcGxhY2VkIGNvbnN0YW50IHdpdGggcmVhbCBzdHJpbmcuCgkoc2V0TW9kZWwpOkxpa2V3aXNlLgoJKHNldEVkaXRhYmxlKTpMaWtld2lzZS4KCShzZXRNYXhpbXVtUm93Q291bnQpOkxpa2V3aXNlLgoJKHNldFJlbmRlcmVyKTpMaWtld2lzZS4KCShzZXRFZGl0b3IpOkxpa2V3aXNlLgoJKHNldEVuYWJsZWQpOkxpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KTGFiZWwuamF2YQoJKERJU0FCTEVEX0lDT05fQ0hBTkdFRF9QUk9QRVJUWSk6IFJlbW92ZWQuCgkoRElTUExBWUVEX01ORU1PTklDX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShESVNQTEFZRURfTU5FTU9OSUNfSU5ERVhfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKEhPUklaT05UQUxfQUxJR05NRU5UX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShIT1JJWk9OVEFMX1RFWFRfUE9TSVRJT05fQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKElDT05fQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKElDT05fVEVYVF9HQVBfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKExBQkVMX0ZPUl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoVEVYVF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoVkVSVElDQUxfQUxJR05NRU5UX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShWRVJUSUNBTF9URVhUX1BPU0lUSU9OX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShzZXRUZXh0KTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCShzZXRJY29uKTogTGlrZXdpc2UuCgkoc2V0RGlzYWJsZWRJY29uKTogTGlrZXdpc2UuCgkoc2V0RGlzcGxheWVkTW5lbW9uaWMpOiBMaWtld2lzZS4KCShzZXRJY29uVGV4dEdhcCk6IExpa2V3aXNlLgoJKHNldFZlcnRpY2FsQWxpZ25tZW50KTogTGlrZXdpc2UuCgkoc2V0SG9yaXpvbnRhbEFsaWdubWVudCk6IExpa2V3aXNlLgoJKHNldFZlcnRpY2FsVGV4dFBvc2l0aW9uKTogTGlrZXdpc2UuCgkoc2V0SG9yaXpvbnRhbFRleHRQb3NpdGlvbik6IExpa2V3aXNlLgoJKHNldExhYmVsRm9yKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCUZpcmUgcHJvcGVydHkgY2hhbmdlIGV2ZW50IGFmdGVyIHByb3BlcnR5IGdvdCBjaGFuZ2VkLgoJKiBqYXZheC9zd2luZy9KTGlzdC5qYXZhCgkoQ0VMTF9SRU5ERVJFUl9QUk9QRVJUWV9DSEFOR0VEKTogTGlrZXdpc2UuCgkoRklYRURfQ0VMTF9IRUlHSFRfUFJPUEVSVFlfQ0hBTkdFRCk6IExpa2V3aXNlLgoJKEZJWEVEX0NFTExfV0lEVEhfUFJPUEVSVFlfQ0hBTkdFRCk6IExpa2V3aXNlLgoJKExBWU9VVF9PUklFTlRBVElPTl9QUk9QRVJUWV9DSEFOR0VEKTogTGlrZXdpc2UuCgkoTU9ERUxfUFJPUEVSVFlfQ0hBTkdFRCk6IExpa2V3aXNlLgoJKFBST1RPVFlQRV9DRUxMX1ZBTFVFX1BST1BFUlRZX0NIQU5HRUQpOiBMaWtld2lzZS4KCShTRUxFQ1RJT05fQkFDS0dST1VORF9QUk9QRVJUWV9DSEFOR0VEKTogTGlrZXdpc2UuCgkoU0VMRUNUSU9OX0ZPUkVHUk9VTkRfUFJPUEVSVFlfQ0hBTkdFRCk6IExpa2V3aXNlLgoJKFNFTEVDVElPTl9NT0RFTF9QUk9QRVJUWV9DSEFOR0VEKTogTGlrZXdpc2UuCgkoc2V0Rml4ZWRDZWxsV2lkdGgpOiBSZWltcGxlbWVudGVkLgoJKHNldEZpeGVkQ2VsbEhlaWdodCk6IEV4aXQgaWYgbmV3IHZhbHVlIGlzIGlkZW50aWNhbC4KCVJlcGxhY2VkIGNvbnN0YW50IHdpdGggcmVhbCBzdHJpbmcuCgkoc2V0U2VsZWN0aW9uQmFja2dyb3VuZCk6IExpa2V3aXNlLgoJKHNldFNlbGVjdGlvbkZvcmVncm91bmQpOiBMaWtld2lzZS4KCShzZXRQcm90b3R5cGVDZWxsVmFsdWUpOiBMaWtld2lzZS4KCShzZXRDZWxsUmVuZGVyZXIpOiBSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJKHNldE1vZGVsKTogTGlrZXdpc2UuCgkoc2V0U2VsZWN0aW9uTW9kZWwpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSk1lbnVCYXIuamF2YQoJKEJPUkRFUl9QQUlOVEVEX0NIQU5HRURfUFJPUEVSVFkpOiBSZW1vdmVkLgoJKE1PREVMX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShNQVJHSU5fQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKHNldEJvcmRlclBhaW50ZWQpOiBSZWltcGxlbWVudGVkLgoJKHNldE1hcmdpbik6IExpa2V3aXNlLgoJKHNldFNlbGVjdGlvbk1vZGVsKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhCgkoTEFCRUxfQ0hBTkdFRF9QUk9QRVJUWSk6IFJlbW92ZWQuCgkoVklTSUJMRV9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoYm9yZGVyUGFpbnRlZCk6IExpa2V3aXNlLgoJKHNldExhYmVsKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCShzZXRWaXNpYmxlKTogRXhpdCBpZiBuZXcgdmFsdWUgaXMgaWRlbnRpY2FsLgoJUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCSogamF2YXgvc3dpbmcvSlByb2dyZXNzQmFyLmphdmEKCShCT1JERVJfUEFJTlRFRF9DSEFOR0VEX1BST1BFUlRZKTogUmVtb3ZlZC4KCShPUklFTlRBVElPTl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoU1RSSU5HX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShTVFJJTkdfUEFJTlRFRF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoSU5ERVRFUk1JTkFURV9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoc2V0T3JpZW50YXRpb24pOiBSZXBsYWNlZCBjb25zdGFudCB3aXRoIHJlYWwgc3RyaW5nLgoJKHNldFN0cmluZ1BhaW50ZWQpOiBMaWtld2lzZS4KCShzZXRTdHJpbmcpOiBMaWtld2lzZS4KCShzZXRCb3JkZXJQYWludGVkKTogTGlrZXdpc2UuCgkoc2V0SW5kZXRlcm1pbmF0ZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsQmFyLmphdmEKCShCTE9DS19JTkNSRU1FTlRfQ0hBTkdFRF9QUk9QRVJUWSk6IFJlbW92ZWQuCgkoTU9ERUxfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKE9SSUVOVEFUSU9OX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShzZXRPcmllbnRhdGlvbik6IFJlcGxhY2VkIGNvbnN0YW50IHdpdGggcmVhbCBzdHJpbmcuCgkoc2V0TW9kZWwpOiBMaWtld2lzZS4KCShzZXRVbml0SW5jcmVtZW50KTogTGlrZXdpc2UuCgkoc2V0QmxvY2tJbmNyZW1lbnQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YQoJKENPTFVNTl9IRUFERVJfQ0hBTkdFRF9QUk9QRVJUWSk6IFJlbW92ZWQuCgkoQ09NUE9ORU5UX09SSUVOVEFUSU9OX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShIT1JJWk9OVEFMX1NDUk9MTEJBUl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoSE9SSVpPTlRBTF9TQ1JPTExCQVJfUE9MSUNZX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShMQVlPVVRfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKFJPV19IRUFERVJfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKFZFUlRJQ0FMX1NDUk9MTEJBUl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoVkVSVElDQUxfU0NST0xMQkFSX1BPTElDWV9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoVklFV1BPUlRfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKFZJRVdQT1JUX0JPUkRFUl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoV0hFRUxfU0NST0xMSU5HX0VOQUJMRURfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKHNldENvbXBvbmVudE9yaWVudGF0aW9uKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCShzZXRDb2x1bW5IZWFkZXIpOiBMaWtld2lzZS4KCShzZXRIb3Jpem9udGFsU2Nyb2xsQmFyKTogTGlrZXdpc2UuCgkoc2V0SG9yaXpvbnRhbFNjcm9sbEJhclBvbGljeSk6IExpa2V3aXNlLgoJKHNldFJvd0hlYWRlcik6IExpa2V3aXNlLgoJKHNldFZlcnRpY2FsU2Nyb2xsQmFyKTogTGlrZXdpc2UuCgkoc2V0VmVydGljYWxTY3JvbGxCYXJQb2xpY3kpOiBMaWtld2lzZS4KCShzZXRXaGVlbFNjcm9sbGluZ0VuYWJsZWQpOiBMaWtld2lzZS4KCShzZXRWaWV3cG9ydCk6IExpa2V3aXNlLgoJKHNldFZpZXdwb3J0Qm9yZGVyKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YQoJKElOVkVSVEVEX0NIQU5HRURfUFJPUEVSVFkpOiBSZW1vdmVkLgoJKExBQkVMX1RBQkxFX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShNQUpPUl9USUNLX1NQQUNJTkdfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKE1JTk9SX1RJQ0tfU1BBQ0lOR19DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoTU9ERUxfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKE9SSUVOVEFUSU9OX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShQQUlOVF9MQUJFTFNfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKFBBSU5UX1RJQ0tTX0NIQU5HRURfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShzZXRNb2RlbCk6IFJlcGxhY2VkIGNvbnN0YW50IHdpdGggcmVhbCBzdHJpbmcuCgkoc2V0T3JpZW50YXRpb24pOiBMaWtld2lzZS4KCShzZXRMYWJlbFRhYmxlKTogTGlrZXdpc2UuCgkoc2V0SW52ZXJ0ZWQpOiBMaWtld2lzZS4KCShzZXRNYWpvclRpY2tTcGFjaW5nKTogTGlrZXdpc2UuCgkoc2V0TWlub3JUaWNrU3BhY2luZyk6IExpa2V3aXNlLgoJKHNldFBhaW50VGlja3MpOiBMaWtld2lzZS4KCShzZXRQYWludExhYmVscyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVGFiYmVkUGFuZS5qYXZhCgkoTU9ERUxfQ0hBTkdFRF9QUk9QRVJUWSk6IFJlbW92ZWQuCgkoVEFCX1BMQUNFTUVOVF9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoVEFCX0xBWU9VVF9QT0xJQ1lfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKHNldE1vZGVsKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCShzZXRUYWJQbGFjZW1lbnQpOiBMaWtld2lzZS4KCShzZXRUYWJMYXlvdXRQb2xpY3kpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlRvb2xCYXIuamF2YQoJKE9SSUVOVEFUSU9OX0NIQU5HRURfUFJPUEVSVFkpOiBSZW1vdmVkLgoJKEZMT0FUQUJMRV9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoQk9SREVSX1BBSU5URURfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKE1BUkdJTl9DSEFOR0VEX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoUk9MTE9WRVJfQ0hBTkdFRF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKHNldFJvbGxvdmVyKTogUmVwbGFjZWQgY29uc3RhbnQgd2l0aCByZWFsIHN0cmluZy4KCShzZXRNYXJnaW4pOiBMaWtld2lzZS4KCShzZXRCb3JkZXJQYWludGVkKTogTGlrZXdpc2UuCgkoc2V0RmxvYXRhYmxlKTogTGlrZXdpc2UuCgkoc2V0T3JpZW50YXRpb24pOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YQoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Qb3B1cC5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51QmFyVUkuamF2YQoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUHJvZ3Jlc3NCYXJVSS5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTbGlkZXJVSS5qYXZhCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YQoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEKCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIucHJvcGVydHlDaGFuZ2UpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0QnV0dG9uTW9kZWwuamF2YQoJKGNoYW5nZVN0YXRlKTogTWFkZSBwcml2YXRlLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0RGVza3RvcE1hbmFnZXIuamF2YQoJKHNldFdhc0ljb24pOiBGaXhlZCBzZWNvbmQgYXJndW1lbnQgdG8gYmUgamF2YS5sYW5nLkJvb2xlYW4uCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhCgkobGF5ZXJUb1JhbmdlKTogTWFkZSBwcml2YXRlLgoJKGluY3JMYXllcik6IExpa2V3aXNlLgoJKGRlY3JMYXllcik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKGRyYWdFbmFibGVkKTogTGlrZXdpc2UuCgkocHJlZmVycmVkVmlld3BvcnRTaXplKTogUmVuYW1lZCBmcm9tIHByZWZlcnJlZFNjcm9sbGFibGVWaWV3cG9ydFNpemUuCgkqIGphdmF4L3N3aW5nL0tleVN0cm9rZS5qYXZhCgkoS2V5c3Ryb2tlKTogTWFkZSBwcml2YXRlLgoJKiBqYXZheC9zd2luZy9UcmFuc2ZlckhhbmRsZXIuamF2YQoJKENPTU1BTkRfQ09QWSk6IExpa2V3aXNlLgoJKENPTU1BTkRfQ1VUKTogTGlrZXdpc2UuCgkoQ09NTUFORF9QQVNURSk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUZXh0RmllbGQuamF2YQoJKHBvc3RBY3Rpb25FdmVudCk6IFVzZSB0ZXh0IGluIGZpZWxkIHdoZW4gYWN0aW9uQ29tbWFuZCBpcyBudWxsLgoJKGdldEFjdGlvbkNvbW1hbmQpOiBSZW1vdmVkLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0U2V0LmphdmE6IFJlbW92ZWQuCgkqIE1ha2VmaWxlLmFtOiBSZW1vdmVkIGphdmF4L3N3aW5nL0Fic3RyYWN0U2V0LmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YQoJKEFjY2Vzc2libGVXaW5kb3cuZ2V0QWNjZXNzaWJsZVN0YXRlU2V0KTogRml4ZWQgbWV0aG9kIG5hbWUuCgkqIGphdmEvYXd0L2RuZC9EbkRDb25zdGFudHMuamF2YQoJKERuRENvbnN0YW50cyk6IE5ldyBwcml2YXRlIGNvbnN0cnVjdG9yLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRDZWxsUmVuZGVyZXIuamF2YTogUmVtb3ZlZC4KCSogTWFrZWZpbGUuYW06IFJlbW92ZWQgamF2YXgvc3dpbmcvRGVmYXVsdENlbGxSZW5kZXJlci5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKGZpcmVJdGVtU3RhdGVDaGFuZ2VkKTogTWFkZSBwcm90ZWN0ZWQuCgkoZmlyZUFjdGlvblBlcmZvcm1lZCk6IExpa2V3aXNlLgoJKGZpcmVTdGF0ZUNoYW5nZWQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvRGVmYXVsdEJ1dHRvbk1vZGVsLmphdmEKCShmaXJlSXRlbVN0YXRlQ2hhbmdlZCk6IExpa2V3aXNlLgoJKGZpcmVBY3Rpb25QZXJmb3JtZWQpOiBMaWtld2lzZS4KCShmaXJlU3RhdGVDaGFuZ2VkKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pBcHBsZXQuamF2YQoJKEpBcHBsZXQpOiBSZW1vdmVkLgoJKGZyYW1lSW5pdCk6IExpa2V3aXNlLgoJKHNldFJvb3RQYW5lKTogTWFkZSBwcm90ZWN0ZWQuCgkoY3JlYXRlUm9vdFBhbmUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoZ2V0Q2xpZW50UHJvcGVydHkpOiBMaWtld2lzZS4KCShwdXRDbGllbnRQcm9wZXJ0eSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhCgkoZ2V0Q29udGVudFR5cGUpOiBMaWtld2lzZS4KCShzZXRDb250ZW50VHlwZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YQoJKHNldFJvb3RQYW5lKTogTGlrZXdpc2UuCgkoY3JlYXRlUm9vdFBhbmUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkludGVybmFsRnJhbWUuamF2YQoJKGdldEZvY3VzQ3ljbGVSb290QW5jZXN0b3IpOiBNYWRlIGZpbmFsLiBBZGRlZCBAc2luY2UgdGFnLgoJKGlzRm9jdXNDeWNsZVJvb3QpOiBMaWtld2lzZS4KCShnZXRXYXJuaW5nU3RyaW5nKTogTWFkZSBmaW5hbC4KCSogamF2YXgvc3dpbmcvSlNjcm9sbEJhci5qYXZhCgkoY2hhbmdlTGlzdGVuZXIpOiBSZW1vdmVkLgoJKGNoYW5nZUV2ZW50KTogTGlrZXdpc2UuCgkoY3JlYXRlQ2hhbmdlTGlzdGVuZXIpOiBMaWtld2lzZS4KCShmaXJlU3RhdGVDaGFuZ2VkKTogTGlrZXdpc2UuCgkoYWRkQ2hhbmdlTGlzdGVuZXIpOiBMaWtld2lzZS4KCShyZW1vdmVDaGFuZ2VMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGdldENoYW5nZUxpc3RlbmVycyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsUGFuZS5qYXZhCgkoY3JlYXRlVmlld3BvcnQpOiBNYWRlIHByb3RlY3RlZC4KCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmEKCShhZGRJbXBsKTogTGlrZXdpc2UuCgkoc2V0Qm9yZGVyKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvSldpbmRvdy5qYXZhCgkoc2V0Um9vdFBhbmUpOiBNYWRlIHByb3RlY3RlZC4KCShjcmVhdGVSb290UGFuZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YQoJKGluc3RhbGxMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCSh1bmluc3RhbGxMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Byb2dyZXNzQmFyVUkuamF2YQoJKGluY3JlbWVudEFuaW1hdGlvbkluZGV4KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YQoJKGNyZWF0ZUxheW91dE1hbmFnZXIpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ2VsbFJlbmRlcmVyLmphdmEKCShmaXJlUHJvcGVydHlDaGFuZ2UpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGFibGUvSlRhYmxlSGVhZGVyLmphdmEKCShBY2Nlc3NpYmxlSlRhYmxlSGVhZGVyRW50cnkuQWNjZXNzaWJsZUpUYWJsZUhlYWRlckVudHJ5KToKCU5ldyBjb25zdHJ1Y3Rvci4KCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpbkRvY3VtZW50LmphdmEKCShyZWluZGV4KTogTWFkZSBwcml2YXRlLgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkoZHJhd0xpbmUpOiBNYWRlIHByb3RlY3RlZC4KCShnZXRUYWJTaXplKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvVmlldy5qYXZhCgkoc2V0U2l6ZSk6IFJlbW92ZWQuCgkocHJlZmVyZW5jZUNoYW5nZWQpOiBOZXcgbWV0aG9kLgoJKGdldEJyZWFrV2VpZ2h0KTogTGlrZXdpc2UuCgkoYnJlYWtWaWV3KTogTGlrZXdpc2UuCgkoZ2V0Vmlld0luZGV4KTogTGlrZXdpc2UuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YQoJKFNjcm9sbEJhcik6IE1hZGUgY2xhc3MgcHJvdGVjdGVkLgoJKiBqYXZheC9zd2luZy9KU3Bpbm5lci5qYXZhCgkoSlNwaW5uZXIpOiBBZGRlZCBAc2luY2UgdGFnLgoJKGxpc3RlbmVyTGlzdCk6IFJlbW92ZWQuCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoc2V0VmFsdWVBdCk6IE5ldyBtZXRob2QuCgkoZ2V0Q29sdW1uKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pXaW5kb3cuamF2YQoJKHJvb3RQYW5lQ2hlY2tpbmdFbmFibGVkKTogUmVuYW1lZCBmcm9tIGNoZWNraW5nLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKFJvb3RWaWV3Lm1vZGVsVG9WaWV3KTogTWFkZSBpdCBwdWJsaWMgYW5kIHJldHVybiBhIGphdmEuYXd0LlNoYXBlLgoJSGFuZGxlIG51bGwgc3Vidmlldy4KCSh1bmluc3RhbGwpOiBTZXQgdGV4dENvbXBvbmVudCB0byBudWxsIHdoZW4gaXRzIG5vdCBwb3NzaWJsZSB1c2VkCglhbnltb3JlLgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YQoJKHNldFBhcmVudCk6IFVzZSBiZXR0ZXIgYXJndW1lbnQgbmFtZS4KCShnZXRDb250YWluZXIpOiBHZXQgcGFyZW50IHZpYSBnZXRQYXJlbnQoKS4KCShnZXRWaWV3RmFjdG9yeSk6IExpa2V3aXNlLgoJKGdldEF0dHJpYnV0ZXMpOiBHZXQgZWxlbWVudCB2aWEgZ2V0RWxlbWVudCgpLgoJKGdldFN0YXJ0T2Zmc2V0KTogTGlrZXdpc2UuCgkoZ2V0RW5kT2Zmc2V0KTogTGlrZXdpc2UuCgkoZ2V0UmVzaXplV2VpZ2h0KTogTmV3IG1ldGhvZC4KCShnZXRNYXhpbXVtU3Bhbik6IExpa2V3aXNlLgoJKGdldE1pbmltdW1TcGFuKTogTGlrZXdpc2UuCgkoc2V0U2l6ZSk6IExpa2V3aXNlLgoJKGdldEdyYXBoaWNzKTogTGlrZXdpc2UuCgoyMDA1LTAyLTE1ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS9hd3QvQ2hlY2tib3guamF2YToKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3goKSk6IEFkZGVkIHB1YmxpYyBjb25zdHJ1Y3RvcgoJdG8gY2FsbCBzdXBlcmNsYXNzLgoJKiBqYXZhL2F3dC9DaG9pY2UuamF2YToKCShBY2Nlc3NpYmxlQVdUQ2hvaWNlKTogQWRkZWQgY2xhc3MgZG9jdW1lbnRhdGlvbi4KCShBY2Nlc3NpYmxlQVdUQ2hvaWNlKCkpOiBBZGRlZCBwdWJsaWMgY29uc3RydWN0b3IKCXRvIGNhbGwgc3VwZXJjbGFzcy4KCShBY2Nlc3NpYmxlQVdUQ2hvaWNlLmdldEFjY2Vzc2libGVBY3Rpb24oKSk6IERvY3VtZW50ZWQuCgkoQWNjZXNzaWJsZUFXVENob2ljZS5nZXRBY2Nlc3NpYmxlUm9sZSgpKTogRG9jdW1lbnRlZCwKCWFuZCBjaGFuZ2VkIHJvbGUgdG8gQ09NQk9fQk9YLgoJKEFjY2Vzc2libGVBV1RDaG9pY2UuZ2V0QWNjZXNzaWJsZUFjdGlvbkNvdW50KCkpOiBEb2N1bWVudGVkLgoJKEFjY2Vzc2libGVBV1RDaG9pY2UuZ2V0QWNjZXNzaWJsZUFjdGlvbkRlc2NyaXB0aW9uKGludCkpOiBEb2N1bWVudGVkLgoJKEFjY2Vzc2libGVBV1RDaG9pY2UuZG9BY2Nlc3NpYmxlQWN0aW9uKGludCkpOiBEb2N1bWVudGVkLgoKMjAwNS0wMi0xNSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCSAgICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvTGF5b3V0Rm9jdXNUcmF2ZXJzYWxQb2xpY3kuamF2YSwKCWphdmF4L3N3aW5nL1NvcnRpbmdGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhOgoJTmV3IGNsYXNzZXMuCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgY2xhc3Nlcy4KCSogTWFrZWZpa2UuaW46IFJlZ2VuZXJhdGVkLgoKCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9EZWJ1Z0dyYXBoaWNzLmphdmE6IE1vc3RseSBpbXBsZW1lbnRlZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhCgkoZmluZEZvY3VzT3duZXIpOiBOZXcgbWV0aG9kLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhCgkocmVhZCk6IEFkZGVkICdcbicgYWZ0ZXIgZWFjaCBsaW5lLgoJKiBqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhCgkobW9kZWxUb1ZpZXcpOiBVcGRhdGUgbWV0cmljcy4KCShkcmF3TGluZSk6IFVzZSBvZmZzZXRzIGZyb20gZWxlbWVudC4KCShwYWludCk6IFVwZGF0ZSBtZXRyaWNzLiBEcmF3IGFsbCBsaW5lcy4KCjIwMDUtMDItMTUgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL2F3dC9DaGVja2JveC5qYXZhOgoJKEFjY2Vzc2libGVBV1RDaGVja2JveCk6IEFkZGVkIGNsYXNzIGRvY3VtZW50YXRpb24KCSogamF2YS9hd3QvU2Nyb2xsYmFyLmphdmE6CgkoQWNjZXNzaWJsZUFXVFNjcm9sbEJhcik6IHR5cG8gY29ycmVjdGVkIGFuZCBkb2NzIGFkZGVkCgkoQWNjZXNzaWJsZUFXVFNjcm9sbEJhci5nZXRBY2Nlc3NpYmxlUm9sZSgpKTogZG9jdW1lbnRlZAoJKEFjY2Vzc2libGVBV1RTY3JvbGxCYXIuZ2V0QWNjZXNzaWJsZVN0YXRlU2V0KCkpOiBsaWtld2lzZQoJKEFjY2Vzc2libGVBV1RTY3JvbGxCYXIuZ2V0QWNjZXNzaWJsZVZhbHVlKCkpOiBsaWtld2lzZQoJKEFjY2Vzc2libGVBV1RTY3JvbGxCYXIuZ2V0Q3VycmVudEFjY2Vzc2libGVWYWx1ZSgpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUU2Nyb2xsQmFyLnNldEN1cnJlbnRBY2Nlc3NpYmxlVmFsdWUoaW50KSk6IGxpa2V3aXNlCgkoQWNjZXNzaWJsZUFXVFNjcm9sbEJhci5nZXRNaW5pbXVtQWNjZXNzaWJsZVZhbHVlKCkpOiBsaWtld2lzZQoJKEFjY2Vzc2libGVBV1RTY3JvbGxCYXIuZ2V0TWF4aW11bUFjY2Vzc2libGVWYWx1ZSgpKTogbGlrZXdpc2UKCShnZXRBY2Nlc3NpYmxlQ29udGV4dCgpKTogbmFtZSBvZiBhY2Nlc3NpYmxlIGNsYXNzIGNvcnJlY3RlZAoKMjAwNS0wMi0xNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9hd3QvQmFzaWNTdHJva2UuamF2YSAoaGFzaENvZGUpOiBJbXBsZW1lbnQuCgkoZXF1YWxzKTogRG9jdW1lbnQuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvcHJpbnQvUHJpbnRlckpvYi5qYXZhCgkocGFnZURpYWxvZyk6IFRocm93cyBqYXZhLmF3dC5IZWFkbGVzc0V4Y2VwdGlvbi4KCShwcmludERpYWxvZyk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogam5pL2d0ay1wZWVyL2d0a3BlZXIuaCAoZ2RrX2Vudik6IEZpeCBwcm90b3R5cGUuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShnZXRWYWx1ZUF0KTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGFibGUvSlRhYmxlSGVhZGVyLmphdmEKCShjb2x1bW5BdFBvaW50KTogTmV3IG1ldGhvZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShhY3Rpb25zKTogTmV3IGZpZWxkLgoJKHN0YXRpYyk6IEluaXRhbGl6ZSBhY3Rpb25zIGZpZWxkLgoJKGdldEFjdGlvbnMpOiBOZXcgbWV0aG9kLgoKMjAwNS0wMi0xNSAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvYXd0L0NoZWNrYm94LmphdmE6CgkoQWNjZXNzaWJsZUFXVENoZWNrYm94KTogbmFtZSBjYXBpdGFsaXphdGlvbiBjb3JyZWN0ZWQKCWFuZCBzZXJpYWxpemF0aW9uIFVJRCBhZGRlZC4KCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guaXRlbVN0YXRlQ2hhbmdlZChqYXZhLmF3dC5ldmVudC5JdGVtRXZlbnQpKToKCWRvY3VtZW50ZWQuCgkoQWNjZXNzaWJsZUFXVENoZWNrYm94LmdldEFjY2Vzc2libGVBY3Rpb24oKSk6IGxpa2V3aXNlCgkoQWNjZXNzaWJsZUFXVENoZWNrYm94LmdldEFjY2Vzc2libGVWYWx1ZSgpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0QWNjZXNzaWJsZUFjdGlvbkNvdW50KCkpOiBsaWtld2lzZQoJKEFjY2Vzc2libGVBV1RDaGVja2JveC5nZXRBY2Nlc3NpYmxlQWN0aW9uRGVzY3JpcHRpb24oaW50KSk6IGxpa2V3aXNlCgkoQWNjZXNzaWJsZUFXVENoZWNrYm94LmRvQWNjZXNzaWJsZUFjdGlvbihpbnQpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0Q3VycmVudEFjY2Vzc2libGVWYWx1ZSgpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guc2V0Q3VycmVudEFjY2Vzc2libGVWYWx1ZShpbnQpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0TWluaW11bUFjY2Vzc2libGVWYWx1ZSgpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0TWF4aW11bUFjY2Vzc2libGVWYWx1ZSgpKTogbGlrZXdpc2UKCShBY2Nlc3NpYmxlQVdUQ2hlY2tib3guZ2V0QWNjZXNzaWJsZVJvbGUoKSk6IGxpa2V3aXNlCgkoQWNjZXNzaWJsZUFXVENoZWNrYm94LmdldEFjY2Vzc2libGVTdGF0ZVNldCgpKTogaW1wbGVtZW50ZWQgYW5kCglkb2N1bWVudGVkCgkoZ2V0QWNjZXNzaWJsZUNvbnRleHQoKSk6IG5hbWUgb2YgYWNjZXNzaWJsZSBjbGFzcyBjb3JyZWN0ZWQKCjIwMDUtMDItMTUgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9hd3QvZ2VvbS9kb2MtZmlsZXMvQXJlYS0xLnBuZywKCWphdmEvYXd0L2dlb20vZG9jLWZpbGVzL0VsbGlwc2UtMS5wbmcsCglqYXZhL2F3dC9nZW9tL2RvYy1maWxlcy9HZW5lcmFsUGF0aC0xLnBuZzoKCU5ldyBmaWxlcy4KCjIwMDUtMDItMTUgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Rvb2xraXQuYyAoZW52X3VuaW9uKToKCVVzZSB1bmlvbiB0byBhdm9pZCB0eXBlLXB1bm5pbmcgd2FybmluZy4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdFNlbGVjdGlvbk1vZGVsLmphdmEKCShjbG9uZSk6IE5ldyBtZXRob2QuCgoyMDA1LTAyLTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJUmVwb3J0ZWQgYnkgTWFydGluIFBsYXR0ZXIgPG1vdHNlQGNvbXBsYW5nLnR1d2llbi5hYy5hdD4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ1BlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dQZWVyX25hdGl2ZVNldEZpbGUpOgoJQ29ycmVjdCBtZXRob2Qgc2lnbmF0dXJlIG9mIGd0a1NldEZpbGVuYW1lLgoKMjAwNS0wMi0xNSAgQXJuYXVkIFZhbmR5Y2sgIDxhdmR5a0BnbnUub3JnPgoKCSogamF2YXgvc3dpbmcvdGV4dC9TdHJpbmdDb250ZW50LmphdmE6IE5ldyBmaWxlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBqYXZheC9zd2luZy90ZXh0L1N0cmluZ0NvbnRlbnQuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmE6CglJbXBvcnQgc3RhdGVtZW50cyByZXdvcmtlZC4KCShpbWFnZUNhY2hlKTogTWFkZSBpdCBvZiB0eXBlIGphdmEudXRpbC5IYXNoTWFwLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vc3RyZWFtL01lbW9yeUNhY2hlSW1hZ2VJbnB1dFN0cmVhbS5qYXZhOgoJUmV3b3JrZWQgaW1wb3J0IHN0YXRlbWVudHMuCgoyMDA1LTAyLTE1ICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HVGhyZWFkTmF0aXZlTWV0aG9kUnVubmVyLmM6CgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR2x5cGhWZWN0b3IuYzoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jOgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuYzoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyLmM6CgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hQZWVyLmM6CgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hvaWNlUGVlci5jOgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NsaXBib2FyZC5jOgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYzoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYzoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jOgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xpc3RQZWVyLmM6CgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWVudUl0ZW1QZWVyLmM6CgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrU2Nyb2xsQmFyUGVlci5jOgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1RleHRDb21wb25lbnRQZWVyLmM6CgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jOgoJUmV3cml0ZSB1c2VzIG9mIGV4dGVybiB2YXJpYWJsZSB0byBiZSBmdW5jdGlvbiBjYWxscy4KCSogam5pL2d0ay1wZWVyL2d0a3BlZXIuaCAoZ2RrX2Vudik6IENoYW5nZSBkZWNsYXJhdGlvbiB0byAKCWZ1bmN0aW9uLCBmcm9tIGV4dGVybiB2YXJpYWJsZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0LmMgCgkoZ2RrX2Vudik6IFJlbW92ZSB2YXJpYWJsZSwgYWRkIG5ldyBmdW5jdGlvbi4KCShqYXZhX3ZtKTogQWRkIG5ldyB2YXJpYWJsZS4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0X2d0a0luaXQpOiBJbml0aWFsaXplCglqYXZhX3ZtIHJhdGhlciB0aGFuIG9sZCBnZGtfZW52IHZhcmlhYmxlLgoKMjAwNS0wMi0xNSBEYXZpZCBHaWxiZXJ0IDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdE1vZGVsLmphdmEKCShhZGQpOiBmaXJlIGNvcnJlY3QgZXZlbnQsCgkoYWRkRWxlbWVudCk6IGNvcnJlY3RlZCBpbnRlcnZhbCBpbmRpY2VzIGluIGV2ZW50LAoJKGNsZWFyKTogY29ycmVjdGVkIHVwcGVyIGJvdW5kIGZvciBpbnRlcnZhbCwgb25seSBmaXJlIGV2ZW50IGlmCglsaXN0IGlzIG5vdCBlbXB0eSwKCShzZXRTaXplKTogZmlyZSBhcHByb3ByaWF0ZSBldmVudC4KCjIwMDUtMDItMTUgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBnbnUvYXd0L3hsaWIvWEV2ZW50TG9vcC5qYXZhOiBBZGQgbm9uLWJsb2NraW5nIGV2ZW50IG1vZGUuCgkqIGdudS9hd3QveGxpYi9YVG9vbGtpdC5qYXZhOiBMaWtld2lzZS4KCSogZ251L2djai94bGliL1hBbnlFdmVudC5qYXZhOiBMaWtld2lzZS4KCSogZ251L2djai94bGliL25hdFhBbnlFdmVudC5jYzogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhOiBMaWtld2lzZS4KCSogamF2YS9hd3QvRXZlbnRRdWV1ZS5qYXZhIChnZXROZXh0RXZlbnQpOiAKCUFkanVzdCBldmVudCBsb29wIHRvIHN3aXRjaCB0byBuYXRpdmUgbW9kZSBhZnRlciAxMDBtcy4KCSogamF2YXgvc3dpbmcvVGltZXIuamF2YSAoZHJhaW5FdmVudHMpOiBSZXVzZSBSdW5uYWJsZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtHZW5lcmljUGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrR2VuZXJpY1BlZXJfZGlzcG9zZSk6IAoJV2FrZSB1cCBldmVudCB0aHJlYWQuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdF9pdGVyYXRlTmF0aXZlUXVldWUpOgoJQWRqdXN0IGV2ZW50IGxvb3AgdG8gc3dpdGNoIHRvIGphdmEgbW9kZSBhZnRlciAxMDBtcy4KCjIwMDUtMDItMTUgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqbmkuY2MgKF9Kdl9KTklfUmVnaXN0ZXJOYXRpdmVzKTogUmUtYWRkIHN5bmMsIHdoaWNoIHdhcwoJYWNjaWRlbnRhbGx5IHJlbW92ZWQgaW4gbGFzdCBjaGFuZ2UuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNYWluVGhyZWFkLmMsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWFpblRocmVhZC5qYXZhOiBSZW1vdmVkLgoKMjAwNS0wMi0xNSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvam5pLmggKF9Kdl9KTklFbnY6OmJvdHRvbV9sb2NhbHMpOiBOZXcgZmllbGQuCgkqIGluY2x1ZGUvanZtLmggKF9Kdl9GcmVlSk5JRW52KTogRGVjbGFyZS4KCSogamF2YS9sYW5nL25hdFRocmVhZC5jYyAoZmluYWxpemVfbmF0aXZlKTogQ2FsbCBfSnZfRnJlZUpOSUVudi4KCSogam5pLmNjOiBSZXVzZSBib3R0b20gZnJhbWUgYmV0d2VlbiBjYWxscywgYXZvaWQgY2xlYXJpbmcKCWZyYW1lIHdoZW4gbm8gbG9jYWwgcmVmZXJlbmNlcyBhcmUgbWFkZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9VSURlZmF1bHRzLmphdmEgKFVJRGVmYXVsdHMpOgoJRml4ZWQgdHlwbyBpbiBqYXZhZG9jIChUaGFua3MgdG8gVGhvbWFzIFphbmRlciBmb3IgcmVwb3J0aW5nKQoJRml4ZWQgSFRNTCBlbnRpdHkgYW5kIHJlbW92ZWQgYSByZWR1bmRhbnQgY29tbWEuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0RWRpdG9yS2l0LmphdmEKCShkZWluc3RhbGwpOiBSZW1vdmVkLgoJKGluc3RhbGwpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9VSURlZmF1bHRzLmphdmEgKHB1dCk6IEhhbmRsZSB2YWx1ZSBvZiBudWxsLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L1JvYm90LmphdmEsCglqYXZhL2F3dC9TY3JvbGxiYXIuamF2YSwKCWphdmEvYXd0L3ByaW50L1ByaW50ZXJKb2IuamF2YSwKCWphdmF4L3N3aW5nL0pUYWJsZS5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdERvY3VtZW50LmphdmE6CglSZXdvcmtlZCBpbXBvcnQgc3RhdGVtZW50cy4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhCgkocmVhZCk6IEltcGxlbWVudGVkLgoJKHdyaXRlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhCgkocGFnZSk6IFJlbmFtZWQgZnJvbSBwYWdlX3VybC4gTWFkZSBwcml2YXRlLgoJKGVkaXRvcktpdCk6IFJlbmFtZWQgZnJvbSBraXQuIE1hZGUgcHJpdmF0ZS4KCShjdHlwZSk6IFJlbW92ZWQuCgkoSkVkaXRvclBhbmUpOiBBbGwgY29uc3RydWN0b3JzIHJlaW1wbGVtZW50ZWQuCgkoZ2V0Q29udGVudFR5cGUpOiBVc2UgY29udGVudCB0eXBlIGZyb20gZWRpdG9yIGtpdC4KCShnZXRFZGl0b3JLaXQpOiBSZXR1cm4gZWRpdG9yS2l0LgoJKGdldEVkaXRvcktpdEZvckNvbnRlbnRUeXBlKTpMaWtld2lzZS4KCShnZXRQYWdlKTogUmV0dXJuIHBhZ2UuCgkoc2V0Q29udGVudFR5cGUpOiBSZWltcGxlbWVudGVkLgoJKHNldEVkaXRvcktpdCk6IExpa2V3aXNlLgoJKHNldEVkaXRvcktpdEZvckNvbnRlbnRUeXBlKTogUmVtb3ZlZCB3cm9uZyBpbXBsZW1lbnRhdGlvbi4KCShzZXRQYWdlKTogSW1wbGVtZW50ZWQuCgoyMDA1LTAyLTE1ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZyYW1lUGVlci5jCgkobmF0aXZlU2V0SWNvbkltYWdlRnJvbURhdGEpOiBSZS1hZGQgbmF0aXZlIGltcGxlbWVudGF0aW9uLgoKMjAwNS0wMi0xNSAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bHRUYWJsZU1vZGVsLmphdmEKCShEZWZhdWx0VGFibGVNb2RlbCgpKTogQWRkZWQgSmF2YWRvY3MuCgkoRGVmYXVsdFRhYmxlTW9kZWwoaW50LCBpbnQpKTogRml4ZWQgaW1wbGVtZW50YXRpb24uCgkoRGVmYXVsdFRhYmxlTW9kZWwoVmVjdG9yLCBpbnQpKTogVGhyb3cgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uCglmb3IgbmVnYXRpdmUgcm93Q291bnQuCgkoRGVmYXVsdFRhYmxlTW9kZWwoT2JqZWN0W10sIGludCkpOiBBZGRlZCBKYXZhZG9jcy4KCShEZWZhdWx0VGFibGVNb2RlbChWZWN0b3IsIFZlY3RvcikpOiBMaWtld2lzZS4KCShEZWZhdWx0VGFibGVNb2RlbChPYmplY3RbXVtdLCBPYmplY3RbXSkpOiBMaWtld2lzZS4KCShnZXREYXRhVmVjdG9yKTogTGlrZXdpc2UuCgkoc2V0RGF0YVZlY3RvcihWZWN0b3IsIFZlY3RvcikpOiBMaWtld2lzZS4KCShzZXREYXRhVmVjdG9yKE9iamVjdFtdW10sIE9iamVjdFtdKSk6IExpa2V3aXNlLgoJKG5ld0RhdGFBdmFpbGFibGUpOiBMaWtld2lzZS4KCShuZXdSb3dzQWRkZWQpOiBMaWtld2lzZS4KCShyb3dzUmVtb3ZlZCk6IExpa2V3aXNlLgoJKHNldENvbHVtbklkZW50aWZpZXJzKFZlY3RvcikpOiBBbGxvdyBmb3IgbnVsbCBhcmd1bWVudC4KCShzZXRDb2x1bW5JZGVudGlmaWVycyhPYmplY3RbXSkpOiBBZGRlZCBKYXZhZG9jcy4KCShzZXROdW1Sb3dzKTogTGlrZXdpc2UuCgkoc2V0Um93Q291bnQpOiBBZGRzIG5ldyByb3dzIGlmIG5lY2Vzc2FyeSwgYW5kIHNlbmRzIG1vcmUgc3BlY2lmaWMKCVRhYmxlTW9kZWxFdmVudC4KCShzZXRDb2x1bW5Db3VudCk6IEFsbG93IGZvciBudWxsIGNvbHVtbklkZW50aWZpZXJzLgoJKGFkZENvbHVtbihPYmplY3QpKTogQWRkZWQgSmF2YWRvY3MuCgkoYWRkQ29sdW1uKE9iamVjdCwgVmVjdG9yKSk6IEhhbmRsZSBudWxsIGNvbHVtbkRhdGEuCgkoYWRkQ29sdW1uKE9iamVjdCwgT2JqZWN0W10pKTogSGFuZGxlIGNvbHVtbkRhdGEgd2l0aCBtb3JlIG9yIGxlc3MKCWVudHJpZXMgdGhhbiByb3dzIGluIHRoZSB0YWJsZS4KCShhZGRSb3coVmVjdG9yKSk6IEZpcmUgYXBwcm9wcmlhdGUgZXZlbnQuCgkoYWRkUm93KE9iamVjdFtdKSk6IEFkZGVkIEphdmFkb2NzLgoJKGluc2VydFJvdyhpbnQsIFZlY3RvcikpOiBGaXJlIGFwcHJvcHJpYXRlIGV2ZW50LgoJKGluc2VydFJvdyhpbnQsIE9iamVjdFtdKSk6IEFkZGVkIEphdmFkb2NzLgoJKG1vdmVSb3cpOiBSZWltcGxlbWVudGVkLgoJKHJlbW92ZVJvdyhpbnQpKTogRmlyZSBhcHByb3ByaWF0ZSBldmVudC4KCShnZXRDb2x1bW5Db3VudCk6IEFsbG93IGZvciBudWxsIGNvbHVtbklkZW50aWZpZXJzLgoJKGdldENvbHVtbk5hbWUpOiBOb3cgcmV0dXJucyBlbXB0eSBzdHJpbmcgd2hlbiBjb2x1bW4gaW5kZXggaXMgdG9vCglsYXJnZS4KCShpc0NlbGxFZGl0YWJsZSk6IEFkZGVkIEphdmFkb2NzLgoJKGdldFZhbHVlQXQpOiBMaWtld2lzZS4KCShzZXRWYWx1ZUF0KTogRmlyZSBtb3JlIHNwZWNpZmljIGV2ZW50LgoJKGNvbnZlcnRUb1ZlY3Rvcik6IEFkZGVkIEphdmFkb2NzLgoJKiBqYXZheC9zd2luZy90YWJsZS9UYWJsZU1vZGVsLmphdmEKCUFkZGVkIEphdmFkb2NzLgoKMjAwNS0wMi0xNSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogbGliZ2NqLnNwZWMuaW4gKGxpYik6IEFkZCAtbC1qYXZheC1pbWFnZWlvLgoKMjAwNS0wMi0xNSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YTogUmVwbGFjZSBkaXJlY3QKCXJlZmVyZW5jZXMgdG8gZXZlbnQgcXVldWUgcSB3aXRoIG1ldGhvZCBjYWxsIHEoKS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0RpYWxvZ1BlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGcmFtZVBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtTY3JvbGxiYXJQZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVGV4dENvbXBvbmVudFBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtXaW5kb3dQZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrR2VuZXJpY1BlZXIuamF2YTogTGlrZXdpc2UuCgkocSk6IE5ldyBtZXRob2QuCgoyMDA1LTAyLTE1ICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L0NsYXNzcGF0aFRvb2xraXQuamF2YSAKCShyZWdpc3RlckltYWdlSU9TcGlzKTogTmV3IG1ldGhvZC4KCSogZ251L2phdmEvYXd0L2ltYWdlL0ltYWdlRGVjb2Rlci5qYXZhIAoJKGltYWdlRGVjb2Rlcik6IE5ldyBjb25zdHJ1Y3RvciB1c2luZyBJbnB1dFN0cmVhbQoJKHN0YXJ0UHJvZHVjdGlvbik6IEhhbmRsZSBleGlzdGluZyBJbnB1dFN0cmVhbS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSAKCShmaW5kU2ltcGxlSW50ZWdlckFycmF5KTogTWFrZSBwdWJsaWMgYW5kIHN0YXRpYy4KCSh1cGRhdGVCdWZmZXJlZEltYWdlKTogU2V0IGVhY2ggcGl4ZWwsIGluIGEgbG9vcC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1BpeGJ1ZkRlY29kZXIuamF2YTogCglJbXBsZW1lbnQgSW1hZ2VJTyBTUEkgY2xhc3Nlcy4KCShjcmVhdGVCdWZmZXJlZEltYWdlKTogUmV3cml0ZSBpbiB0ZXJtcyBvZiBTUEkgY2xhc3Nlcy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YQoJKHJlZ2lzdGVySW1hZ2VJT1NwaXMpOiBOZXcgbWV0aG9kLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9uYXRNZXRob2QuY2MgCgkoX0p2X0NhbGxBbnlNZXRob2RBKTogQm9ycm93IGEgcGF0Y2ggZnJvbSBhcGgsIGFwcGxpZWQgdG8gdHJ1bmssIAoJd2hpY2ggbGV0cyBKTkkgY2FsbCBpbnRlcmZhY2UgbWV0aG9kcyBwcm9wZXJseS4KCSogamF2YXgvaW1hZ2Vpby9JbWFnZUlPLmphdmEgCgkoV3JpdGVyRm9ybWF0RmlsdGVyLmZpbHRlcik6IEZpeCBjb3B5LWFuZC1wYXN0ZSB0eXBvcy4KCShXcml0ZXJNSU1FVHlwZUZpbHRlci5maWx0ZXIpOiBMaWtld2lzZS4KCShJbWFnZVJlYWRlckl0ZXJhdG9yKTogUGFzcyBleHRlbnNpb24gYXJndW1lbnQgdGhyb3VnaCB0byBTUEkuCgkoZ2V0UmVhZGVyc0J5RmlsdGVyKTogTGlrZXdpc2UuCgkoZ2V0V3JpdGVyc0J5RmlsdGVyKTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VSZWFkZXJzQnlGb3JtYXROYW1lKTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VSZWFkZXJzQnlNSU1FVHlwZSk6IExpa2V3aXNlLgoJKGdldEltYWdlUmVhZGVyc0J5U3VmZml4KTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VXcml0ZXJzQnlGb3JtYXROYW1lKTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VXcml0ZXJzQnlNSU1FVHlwZSk6IExpa2V3aXNlLgoJKGdldEltYWdlV3JpdGVyc0J5U3VmZml4KTogTGlrZXdpc2UuCgkocmVhZCk6IEltcGxlbWVudC4KCSh3cml0ZSk6IEltcGxlbWVudC4KCSogamF2YXgvaW1hZ2Vpby9JbWFnZVJlYWRlci5qYXZhIAoJKHByb2dyZXNzTGlzdGVuZXJzKTogSW5pdGlhbGl6ZS4KCShzZXRJbnB1dCk6IEltcGxlbWVudC4KCSogamF2YXgvaW1hZ2Vpby9JbWFnZVdyaXRlci5qYXZhCgkocHJvZ3Jlc3NMaXN0ZW5lcnMpOiBJbml0aWFsaXplLgoJKHdhcm5pbmdMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCSh3YXJuaW5nTG9jYWxlcyk6IExpa2V3aXNlLgoJKHNldE91dHB1dCk6IFRlc3QgImlzSW5zdGFuY2UiIHJhdGhlciB0aGFuIGNsYXNzIGVxdWFsaXR5LgoJKiBqYXZheC9pbWFnZWlvL3NwaS9JSU9SZWdpc3RyeS5qYXZhCgkoc3RhdGljKTogQWRkIHJlYWRlciBhbmQgd3JpdGVyIFNQSXMuCgkoSUlPUmVnaXN0cnkpOiBDYWxsIENsYXNzcGF0aFRvb2xraXQucmVnaXN0ZXJJbWFnZUlPU3Bpcy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyLmMKCShxdWVyeV9mb3JtYXRzKTogTmV3IGZ1bmN0aW9uLgoJKHNhdmVfdG9fc3RyZWFtKTogTGlrZXdpc2UuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUGl4YnVmRGVjb2Rlcl9zdHJlYW1JbWFnZSk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtSb2JvdFBlZXIuYyAobW91c2VXaGVlbCk6CglDYWxsIFhGbHVzaC4KCShrZXlQcmVzcyk6IExpa2V3aXNlLgoJKGtleVJlbGVhc2UpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShjb2x1bW5BdFBvaW50KTogTmV3IE1ldGhvZC4gSW1wbGVtZW50ZWQuCgkocm93QXRQb2ludCk6IExpa2V3aXNlLgoJKGNvdW50U2VsZWN0aW9ucyk6IEZpeGVkIGZldyBzbWFsbCBjb3VudCBlcnJvcnMuCgkoZ2V0U2VsZWN0aW9ucyk6IExpa2V3aXNlLgoJKHNldFNlbGVjdGlvbk1vZGUpOiBTZXQgc2VsZWN0aW9uIG1vZGUgZm9yIGNvbHVtbiAKCXNlbGVjdGlvbiBtb2RlbCBpbiBhZGRpdGlvbiB0byByb3cgc2VsZWN0aW9uIG1vZGVsLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOgoJKGdldFJvd0ZvclBvaW50KTogUmVtb3ZlZC4gUmVwbGFjZWQgYnkKCUpUYWJsZS5yb3dBdFBvaW50KCkuCgkoZ2V0Q29sRm9yUG9pbnQpOiBSZW1vdmVkLiBSZXBsYWNlZCBieSAKCUpUYWJsZS5jb2x1bW5BdFBvaW50KCkuCgkodXBkYXRlU2VsZWN0aW9uKTogVXBkYXRlZCB0byBjYWxsIEpUYWJsZS5jb2x1bW5BdFBvaW50IAoJYW5kIEpUYWJsZS5yb3dBdFBvaW50LgoJKiBqYXZheC9zd2luZy90YWJsZS9EZWZhdWx0VGFibGVDb2x1bW5Nb2RlbC5qYXZhOgoJKGdldFNlbGVjdGVkQ29sdW1ucyk6IEltcGxlbWVudGVkLgoJKGdldFNlbGVjdGVkQ29sdW1uQ291bnQpOiBJbXBsZW1lbnRlZC4JCQoKMjAwNS0wMi0xNSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtIAoJKGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWFpblRocmVhZC5jKQoJKGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNYWluVGhyZWFkLmphdmEpIDogUmVtb3ZlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogZ251L2F3dC94bGliL1hFdmVudExvb3AuamF2YTogRml4IHRvIG1hdGNoIHRocmVhZCBtb2RlbC4KCSogZ251L2F3dC94bGliL1hGcmFtZVBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9hd3QveGxpYi9YVG9vbGtpdC5qYXZhOiBMaWtld2lzZS4KCSogZ251L2djai94bGliL1hBbnlFdmVudC5qYXZhOiBMaWtld2lzZS4KCSogZ251L2djai94bGliL25hdFhBbnlFdmVudC5jYzogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmEgCgkobmF0aXZlUXVldWVFbXB0eSkKCSh3YWtlTmF0aXZlUXVldWUpCgkoaXRlcmF0ZU5hdGl2ZVF1ZXVlKTogTmV3IG1ldGhvZHMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNYWluVGhyZWFkLmphdmE6IFJlbW92ZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YQoJKGd0a0luaXQpOiBBYnNvcmIgZnJvbSBkZWZ1bmN0IEd0a01haW5UaHJlYWQgY2xhc3MuCgkoc3RhdGljKTogUnVuIGd0a0luaXQgaW4gc3RhdGljIHN0YXJ0dXAgYmxvY2suCgkoR3RrVG9vbGtpdCk6IFJlbW92ZSBjb25zdHJ1Y3Rpb24gb2YgR3RrTWFpblRocmVhZCBhbmQgcXVldWUuCgkoZ2V0U3lzdGVtRXZlbnRRdWV1ZUltcGwpOiBDb25zdHJ1Y3QgcXVldWUgd2hlbiByZXF1ZXN0ZWQuCgkobmF0aXZlUXVldWVFbXB0eSkKCSh3YWtlTmF0aXZlUXVldWUpCgkoaXRlcmF0ZU5hdGl2ZVF1ZXVlKTogTmV3IG1ldGhvZHMuCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhIChyZW1vdmVOb3RpZnkpOiBSZW1vdmUgcmFjZS4KCSogamF2YS9hd3QvRXZlbnREaXNwYXRjaFRocmVhZC5qYXZhIAoJKEV2ZW50RGlzcGF0Y2hUaHJlYWQpOiBEb24ndCBzdGFydCBvbiBjb25zdHJ1Y3Rpb24uCgkocnVuKTogUmVtb3ZlIGlzSW50ZXJydXB0ZWQgY2hlY2suCgkqIGphdmEvYXd0L0V2ZW50UXVldWUuamF2YSAoc2h1dGRvd24pOiBOZXcgZmxhZy4KCShpc1NodXRkb3duKTogTmV3IG1ldGhvZCBjaGVja2luZyBKMlNFIHNodXRkb3duIGNvbmRpdGlvbi4KCShzZXRTaHV0ZG93bik6IE5ldyBtZXRob2QuCgkoZ2V0TmV4dEV2ZW50KTogUmVzdHJ1Y3R1cmUgdG8gdXNlIENsYXNzcGF0aFRvb2xraXQuCgkocG9zdEV2ZW50KTogQWN0aXZhdGUgbmV3IHRocmVhZCBvbiBwb3N0aW5nLCB3YWtlIHRocmVhZCBvbgoJcG9zdCBvZiBwb3NzaWJsZSBzaHV0ZG93biBjb25kaXRpb24gZXZlbnQuCgkqIGphdmEvYXd0L0ZyYW1lLmphdmEgCgkoRnJhbWUpOiBDYWxsIG5vdGVGcmFtZSBpbiBhbGwgY29uc3RydWN0b3JzLgoJKGZpcmVEdW1teUV2ZW50KTogTmV3IGhlbHBlciBtZXRob2QuCgkoYWRkTm90aWZ5KTogRmlyZSBhIGR1bW15IGV2ZW50IHRvIHdha2UgdXAgcXVldWUuCgkocmVtb3ZlTm90aWZ5KTogRmlyZSBhIGR1bW15IGV2ZW50IHRvIHdha2UgdXAgcXVldWUuCgkobm90ZUZyYW1lKTogTmV3IG1ldGhvZC4KCSh3ZWFrRnJhbWVzKTogTmV3IHN0YXRpYyBmaWVsZC4KCShnZXRGcmFtZXMpOiBJbXBsZW1lbnQuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWFpblRocmVhZC5jOiAKCVJlbW92ZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUb29sa2l0LmM6CglNb3ZlIGV2ZXJ5dGhpbmcgZnJvbSBHdGtNYWluVGhyZWFkIGludG8gdGhpcyBmaWxlCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdF9pdGVyYXRlTmF0aXZlUXVldWUpCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdF93YWtlTmF0aXZlUXVldWUpCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdF9uYXRpdmVRdWV1ZUVtcHR5KToKCU5ldyBmdW5jdGlvbnMgdG8gaW1wbGVtZW50IHNpbmdsZS10aHJlYWRlZCBxdWV1ZSBzZW1hbnRpY3MuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbExvb2tBbmRGZWVsLmphdmEKCShnZXRDb250cm9sVGV4dEZvbnQpOiBOZXcgbWV0aG9kLgoJKGdldE1lbnVUZXh0Rm9udCk6IExpa2V3aXNlLgoJKGdldFN1YlRleHRGb250KTogTGlrZXdpc2UuCgkoZ2V0U3lzdGVtVGV4dEZvbnQpOiBMaWtld2lzZS4KCShnZXRVc2VyVGV4dEZvbnQpOiBMaWtld2lzZS4KCShnZXRXaW5kb3dUaXRsZUZvbnQpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKGRvY3VtZW50RmlsdGVyKTogTmV3IGZpZWxkLgoJKGdldERvY3VtZW50RmlsdGVyKTogTmV3IG1ldGhvZC4KCShzZXREb2N1bWVudEZpbHRlcik6IExpa2V3aXNlLgoJKGR1bXApOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVHJlZS5qYXZhCgkoRHluYW1pY1V0aWxUcmVlTm9kZS5oYXNDaGlsZHJlbik6IENsYXJpZnkgamF2YWRvYy4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKEFic3RyYWN0RWxlbWVudC5nZXRMZW5ndGgpOiBGaXhlZCBvZmYtYnktb25lIGVycm9yLgoJKEFic3RyYWN0RWxlbWVudC5jaGlsZHJlbik6IE1hZGUgYWJzdHJhY3QuCgkoQWJzdHJhY3RFbGVtZW50LmdldEFsbG93c0NoaWxkcmVuKTogTGlrZXdpc2UuCgkoQWJzdHJhY3RFbGVtZW50LmdldEVsZW1lbnQpOiBMaWtld2lzZS4KCShBYnN0cmFjdEVsZW1lbnQuZHVtcEVsZW1lbnQpOiBOZXcgcHJpdmF0ZSBtZXRob2QuCgkoQWJzdHJhY3RFbGVtZW50LmR1bXApOiBOZXcgbWV0aG9kLgoJKEJyYW5jaEVsZW1lbXQuZ2V0TmFtZSk6IEZpeGVkIGltcGxlbWVudGF0aW9uLgoJKEJyYW5jaEVsZW1lbXQudG9TdHJpbmcpOiBMaWtld2lzZS4KCShCcmFuY2hFbGVtZW10LmdldEVsZW1lbnQpOiBGaXhlZCBhcmd1bWVudHMuCgkoTGVhZkVsZW1lbnQuZ2V0TmFtZSk6IEZpeGVkIGltcGxlbWVudGF0aW9uLgoJKExlYWZFbGVtZW50LnRvU3RyaW5nKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvR2FwQ29udGVudC5qYXZhCgkoR2FwQ29udGVudCk6IFB1dCBkZWZhdWx0IGNvbnRlbnQgaW50byBidWZmZXIuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5Eb2N1bWVudC5qYXZhCgkocmVpbmRleCk6IFVzZSBlbXB0eSBhdHRyaWJ1dGUgc2V0cyBpbnN0ZWFkIG9mIG51bGwuCgkoY3JlYXRlRGVmYXVsdFJvb3QpOiBSZWltcGxlbWVudGVkLgoJKGluc2VydFVwZGF0ZSk6IENhbGwgc3VwZXIgbWV0aG9kLgoJKHJlbW92ZVVwZGF0ZSk6IExpa2V3aXNlLgoJKGdldFBhcmFncmFwaEVsZW1lbnQpOiBJbXBsZW1lbnRlZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvQ2xhc3NwYXRoVG9vbGtpdC5qYXZhCgkoY3JlYXRlUm9ib3QpOiBUaHJvd3MgamF2YS5hd3QuQVdURXhjZXB0aW9uLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1JvYm90UGVlci5jOgoJQWRkZWQgJ19fYXR0cmlidXRlX18oKHVudXNlZCkpJyB0byBhbGwgdW51c2VkIG1ldGhvZCBhcmd1bWVudHMuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdEJvdW5kZWRSYW5nZU1vZGVsLmphdmEKCShmaXJlVmFsdWVDaGFuZ2VkKTogRml4ZWQgb2ZmLWJ5LW9uZSBlcnJvci4KCjIwMDUtMDItMTUgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChndGtfY19zb3VyY2VfZmlsZXMpOiBBZGQgR2RrUm9ib3RQZWVyLmMuCgkoZ3RrX2F3dF9wZWVyX3NvdXJjZXMpOiBBZGQgR2RrU2NyZWVuR3JhcGhpY3NEZXZpY2UuamF2YSBhbmQKCUdka1JvYm90UGVlci5qYXZhLgoJKGxpYl9nbnVfamF2YV9hd3RfcGVlcl9ndGtfbGFfQ0ZMQUdTKTogQWRkIFggZmxhZ3MuCgkobGliX2dudV9qYXZhX2F3dF9wZWVyX2d0a19sYV9MREZMQUdTKTogQWRkIFhUZXN0IGZsYWdzLgoJKiBnbnUvYXd0L3hsaWIvWFRvb2xraXQuamF2YSAoY3JlYXRlUm9ib3QpOiBOZXcgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvQ2xhc3NwYXRoVG9vbGtpdC5qYXZhIChjcmVhdGVSb2JvdCk6IE5ldyBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljc0Vudmlyb25tZW50LmphdmEKCShnZXREZWZhdWx0U2NyZWVuRGV2aWNlKTogSW1wbGVtZW50LgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrUm9ib3RQZWVyLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrU2NyZWVuR3JhcGhpY3NEZXZpY2UuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKGNyZWF0ZVJvYm90KTogTmV3IG1ldGhvZC4KCSogamF2YS9hd3QvUm9ib3QuamF2YTogSW1wbGVtZW50LgoJKiBqYXZhL2F3dC9wZWVyL1JvYm90UGVlci5qYXZhOiBSZW5hbWUgcGFyYW1ldGVycy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtSb2JvdFBlZXIuYzogTmV3IGZpbGUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoYXd0X2tleWNvZGVfdG9fa2V5c3ltKTogTWFrZSBub24tc3RhdGljLgoJKiBqbmkvZ3RrLXBlZXIvZ3RrcGVlci5oIChBV1RfQlVUVE9OMV9NQVNLLCBBV1RfQlVUVE9OMl9NQVNLLAoJQVdUX0JVVFRPTjNfTUFTSyk6IERlY2xhcmUgY29uc3RhbnRzLgoJKGF3dF9rZXljb2RlX3RvX2tleXN5bSk6IERlY2xhcmUuCgoJKiBNYWtlZmlsZS5hbSAoQU1fTUFLRUZMQUdTKTogU2V0IEtFWVMgdmFyaWFibGUuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLm1hdXZlL21hdXZlLmV4cCAodGVzdF9tYXV2ZSk6IElmIEtFWVMgZXhpc3RzCglhbmQgaXMgbm9uLWVtcHR5IHBhc3MgaXRzIHZhbHVlIHRvICJtYWtlIGNoZWNrIi4KCSh0ZXN0X21hdXZlX3NpbSk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vSUlPUGFyYW0uamF2YQoJKHNldFNvdXJjZUJhbmRzKTogTmV3IG1ldGhvZC4KCShzZXRTb3VyY2VTdWJzYW1wbGluZyk6IExpa2V3aXNlLgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlUmVhZFBhcmFtLmphdmEKCShzZXREZXN0aW5hdGlvbik6IExpa2V3aXNlLgoJKHNldERlc3RpbmF0aW9uQmFuZHMpOiBMaWtld2lzZS4KCShzZXRTb3VyY2VQcm9ncmVzc2l2ZVBhc3Nlcyk6IExpa2V3aXNlLgoJKiBqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT0ludmFsaWRUcmVlRXhjZXB0aW9uLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IHN0YXRpYyBmaWVsZC4KCSogamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9NZXRhZGF0YU5vZGUuamF2YQoJKElJT01ldGFkYXRhTm9kZSk6IERvbid0IGV4cGxpY2l0ZWx5IGltcGxlbWVudCBvcmcudzNjLmRvbS5Ob2RlLgoJKHBhcmVudCk6IERvbnQgaW5pdGFpbGl6ZSB3aXRoIGRlZmF1bHQgdmFsdWUgZXhwbGljaXRlbHkuCgkoT2JqZWN0KTogTGlrZXdpc2UuCgkocmVtb3ZlQXR0cmlidXRlKTogRG9lc24ndCB0aHJvd3Mgb3JnLnczYy5kb20uRE9NRXhjZXB0aW9uLgoJKHJlbW92ZUF0dHJpYnV0ZU5vZGUpOiBMaWtld2lzZS4KCShyZW1vdmVBdHRyaWJ1dGVOUyk6IExpa2V3aXNlLgoJKHNldEF0dHJpYnV0ZSk6IExpa2V3aXNlLgoJKHNldEF0dHJpYnV0ZU5vZGUpOiBMaWtld2lzZS4KCShzZXRBdHRyaWJ1dGVOb2RlTlMpOiBMaWtld2lzZS4KCShzZXRBdHRyaWJ1dGVOUyk6IExpa2V3aXNlLgoJKGFwcGVuZENoaWxkKTogTGlrZXdpc2UuCgkoZ2V0Tm9kZVZhbHVlKTogTGlrZXdpc2UuCgkoaW5zZXJ0QmVmb3JlKTogTGlrZXdpc2UuCgkocmVtb3ZlQ2hpbGQpOiBMaWtld2lzZS4KCShyZXBsYWNlQ2hpbGQpOiBMaWtld2lzZS4KCShzZXRQcmVmaXgpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9Mb29rQW5kRmVlbC5qYXZhCgkoZ2V0RGVza3RvcFByb3BlcnR5VmFsdWUpOiBOZXcgbWV0aG9kLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShoYXNDaGlsZHJlbik6IE5ldyBpbnN0YW5jZSBmaWVsZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShnZXRUb29sVGlwVGV4dCk6IE5ldyBtZXRob2QuCgkoZ2V0VGl0bGVkQm9yZGVyVGV4dCk6IExpa2V3aXNlLgoJKGdldEFjY2Vzc2libGVLZXlCaW5kaW5nKTogTGlrZXdpc2UuCgkoZ2V0VmVyaWZ5SW5wdXRXaGVuRm9jdXNUYXJnZXQpOiBMaWtld2lzZS4KCShzZXRWZXJpZnlJbnB1dFdoZW5Gb2N1c1RhcmdldCk6IExpa2V3aXNlLgoJKHZlcmlmeUlucHV0V2hlbkZvY3VzVGFyZ2V0KTogTmV3IGluc3RhbmNlIGZpZWxkLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0U2VsZWN0aW9uTW9kZWwuamF2YQoJKGZpcmVWYWx1ZUNoYW5nZWQpOiBOZXcgbWV0aG9kLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCb3VuZGVkUmFuZ2VNb2RlbC5qYXZhOgoJRml4ZWQgamF2YWRvY3MgYWxsIG92ZXIuCgkoZmlyZVN0YXRlQ2hhbmdlZCk6IFNpbXBsaWZpZWQuCgkqIGphdmF4L3N3aW5nL0JvdW5kZWRSYW5nZU1vZGVsLmphdmE6CglSZWZvcm1hdHRlZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YQoJKHNldE1lbnVCYXIpOiBBZGRlZCBAZGVwcmVjYXRlZCB0YWcuCgkoZ2V0TWVudUJhcik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKHNpemVDb2x1bW5zVG9GaXQpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIFBhdWwgSmVubmVyICA8cHNqLmhvbWVAbnRsd29ybGQuY29tPgoKCSogamF2YXgvc3dpbmcvSW1hZ2VJY29uLmphdmEgKHNldEltYWdlKTogSW1wbGVtZW50ZWQuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmE6CglSZW1vdmVkIHVudXNlZCBpbXBvcnRzLgoKMjAwNS0wMi0xNSAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKHByZXBhcmVSZW5kZXJlcik6IEdldCBjb2x1bW4ncyBpbmRleCBpbiBkYXRhTW9kZWwgaW5zdGVhZAoJb2YgY29sdW1uJ3MgdmlldyBpbmRleC4KCShnZXRDb2x1bW5Db3VudCk6IHJldHVybiBjb3VudCBvZiB0aGUgY29sdW1ucyBpbiBDb2x1bW5Nb2RlbCwKCW5vdCBpbiBkYXRhTW9kZWwuCgkocmVtb3ZlQ29sdW1uKTogSW1wbGVtZW50ZWQuCgkobW92ZUNvbHVtbSk6IExpa2V3aXNlLgoJKHNldFJvd0hlaWdodCk6IHRocm93IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBpZiBoZWlnaHQgaXMgCglsZXNzIHRoZW4gMS4KCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ29sdW1uTW9kZWwuamF2YTogQWRkIGphdmFkb2NzLgoJKERlZmF1bHRUYWJsZUNvbHVtbk1vZGVsKTpBZGQgY2FsbCB0byBjcmVhdGVTZWxlY3Rpb25Nb2RlbCgpLgoJKGFkZENvbHVtbik6IEZpcmUgY29sdW1uQWRkZWQgZXZlbnQgdG8gcmVnaXN0ZXJlZCBsaXN0ZW5lcnMuCgkocmVtb3ZlQ29sdW1uKTogRmlyZSBjb2x1bW5SZW1vdmVkIGV2ZW50IHRvIHJlZ2lzdGVyZWQgbGlzdGVuZXJzLgoJKG1vdmVDb2x1bW4pOiBGaXJlIGNvbHVtbk1vdmVkIGV2ZW50IHRvIHJlZ2lzdGVyZWQgbGlzdGVuZXJzLgoJKHNldENvbHVtbk1hcmdpbik6IEZpcmUgQ29sdW1uTWFyZ2luQ2hhbmdlZCBldmVudCB0byByZWdpc3RlcmVkIGxpc3RlbmVycy4KCShnZXRDb2x1bW5JbmRleCk6IENoYW5nZWQgcGFyYW1ldGVyIG5hbWUuCgkoc2V0Q29sdW1uU2VsZWN0aW9uQWxsb3dlZCk6IExpa2V3aXNlLgoJKGZpcmVDb2x1bW5BZGRlZCk6IEltcGxlbWVudGVkLgoJKGZpcmVDb2x1bW5SZW1vdmVkKTogTGlrZXdpc2UuCgkoZmlyZUNvbHVtbk1vdmVkKTogTGlrZXdpc2UuCgkoZmlyZUNvbHVtbk1hcmdpbkNoYW5nZWQpOiBMaWtld2lzZS4KCShnZXRMaXN0ZW5lcnMpOiBDaGFuZ2VkIHBhcmFtZXRlciBuYW1lLgoJKHByb3BlcnR5Q2hhbmdlKTogSW1wbGVtZW50ZWQuCgkodmFsdWVDaGFuZ2VkKTogQ2hhbmdlZCBwYXJhbWV0ZXIgbmFtZS4gCgkoY3JlYXRlU2VsZWN0aW9uTW9kZWwpOiBJbXBsZW1lbnRlZC4JCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YToKCUV4cGxpY2l0ZWx5IGltcG9ydCB1c2VkIGNsYXNzZXMuCgkoZ2V0TG9jYWxHcmFwaGljc0Vudmlyb25tZW50KTogU2ltcGxpZnkuCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhIChXaW5kb3cpOgoJRW5hYmxlIGNvZGUgdG8gZ2V0IHRoZSBkZWZhdWx0IEdyYXBoaWNzQ29uZmlndXJhdGlvbi4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL0RlZmF1bHRNZXRhbFRoZW1lLmphdmEKCShDT05UUk9MX1RFWFRfRk9OVCk6IE5ldyBzdGF0aWMgZmllbGQuCgkoTUVOVV9URVhUX0ZPTlQpOiBMaWtld2lzZS4KCShTVUJfVEVYVF9GT05UKTogTGlrZXdpc2UuCgkoU1lTVEVNX1RFWFRfRk9OVCk6IExpa2V3aXNlLgoJKFVTRVJfVEVYVF9GT05UKTogTGlrZXdpc2UuCgkoV0lORE9XX1RJVExFX0ZPTlQpOiBMaWtld2lzZS4KCShnZXRDb250cm9sVGV4dEZvbnQpOiBOZXcgbWV0aG9kLgoJKGdldE1lbnVUZXh0Rm9udCk6IExpa2V3aXNlLgoJKGdldFN1YlRleHRGb250KTogTGlrZXdpc2UuCgkoZ2V0U3lzdGVtVGV4dEZvbnQpOiBMaWtld2lzZS4KCShnZXRVc2VyVGV4dEZvbnQpOiBMaWtld2lzZS4KCShnZXRXaW5kb3dUaXRsZUZvbnQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9NZXRhbFRoZW1lLmphdmEKCShCTEFDSyk6IEluaXRpYWxpemUgd2l0aCBDb2xvci5CTEFDSy4KCShXSElURSk6IEluaXRpYWxpemUgd2l0aCBDb2xvci5XSElURS4KCShnZXRJbmFjdGl2ZUNvbnRyb2xUZXh0Q29sb3IpOiBSZXR1cm4gZ2V0Q29udHJvbERpc2FibGVkKCkuCgkoZ2V0TWVudURpc2FibGVkRm9yZWdyb3VuZCk6IFJldHVybiBnZXRTZWNvbmRhcnkzKCkuCgkoZ2V0Q29udHJvbFRleHRGb250KTogTmV3IGFic3RyYWN0IG1ldGhvZC4KCShnZXRNZW51VGV4dEZvbnQpOiBMaWtld2lzZS4KCShnZXRTdWJUZXh0Rm9udCk6IExpa2V3aXNlLgoJKGdldFN5c3RlbVRleHRGb250KTogTGlrZXdpc2UuCgkoZ2V0VXNlclRleHRGb250KTogTGlrZXdpc2UuCgkoZ2V0V2luZG93VGl0bGVGb250KTogTGlrZXdpc2UuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkZvcm1hdHRlZFRleHRGaWVsZC5qYXZhCgkoZ2V0Rm9jdXNMb3N0QmVoYXZpb3IpOiBGaXhlZCB0eXBvIGluIG1ldGhvZCBuYW1lLgoJKHNldEZvY3VzTG9zdEJlaGF2aW9yKTogTGlrZXdpc2UuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvVHJhbnNmZXJIYW5kbGVyLmphdmE6CglSZXdvcmtlZCBpbXBvcnQgc3RhdGVtZW50cy4KCjIwMDUtMDItMTUgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvQnV0dG9uLmphdmEsCglqYXZhL2F3dC9DYW52YXMuamF2YSwKCWphdmEvYXd0L0NoZWNrYm94LmphdmEsCglqYXZhL2F3dC9DaGVja2JveE1lbnVJdGVtLmphdmEsCglqYXZhL2F3dC9DaG9pY2UuamF2YSwKCWphdmEvYXd0L0RpYWxvZy5qYXZhLAoJamF2YS9hd3QvRnJhbWUuamF2YSwKCWphdmEvYXd0L0xhYmVsLmphdmEsCglqYXZhL2F3dC9MaXN0LmphdmEsCglqYXZhL2F3dC9NZW51LmphdmEsCglqYXZhL2F3dC9NZW51QmFyLmphdmEsCglqYXZhL2F3dC9NZW51SXRlbS5qYXZhLAoJamF2YS9hd3QvUG9wdXBNZW51LmphdmEsCglqYXZhL2F3dC9TY3JvbGxQYW5lLmphdmEsCglqYXZhL2F3dC9TY3JvbGxiYXIuamF2YSwKCWphdmEvYXd0L1RleHRBcmVhLmphdmEsCglqYXZhL2F3dC9XaW5kb3cuamF2YSAoZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBDbGVhbiB1cCBjb21tZW50cy4KCVJlZm9ybWF0LgoJKiBqYXZhL2F3dC9CdXR0b24uamF2YSwKCWphdmEvYXd0L0NoZWNrYm94LmphdmEsCglqYXZhL2F3dC9DaG9pY2UuamF2YSwKCWphdmEvYXd0L01lbnUuamF2YSwKCWphdmEvYXd0L1BvcHVwTWVudS5qYXZhLAoJamF2YS9hd3QvVGV4dEFyZWEuamF2YSAoZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBPbmx5IGNyZWF0ZSBuZXcKCWFjY2Vzc2libGUgb25jZS4KCSogamF2YS9hd3QvVGV4dENvbXBvbmVudC5qYXZhIChnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEltcGxlbWVudC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9CdXR0b24uamF2YSwKCWphdmF4L3N3aW5nL0pBcHBsZXQuamF2YSwKCWphdmF4L3N3aW5nL0pGb3JtYXR0ZWRUZXh0RmllbGQuamF2YSwKCWphdmF4L3N3aW5nL0pXaW5kb3cuamF2YSwKCWphdmF4L3N3aW5nL0pUcmVlLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRWRpdG9yUGFuZVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFBhbmVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhOgoJUmV3b3JrZWQgaW1wb3J0IHN0YXRlbWVudHMuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogTWFrZWZpbGUuYW06IFB1dCBqYXZheC5pbWFnZWlvIGludG8gaXRzIG93biBsaWJyYXJ5IGFuZCBsaW5rIGl0CglhZ2FpbnN0IGxpYi1vcmctdzNjLWRvbS5sYSB0byBmaXggYm9vdHN0cmFwcGluZy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvVGV4dEFjdGlvbi5qYXZhCgkoZ2V0VGV4dENvbXBvbmVudCk6IFNpbXBsaWZpZWQuIEFkZGVkIEphdmFkb2MuCgkoYXVnbWVudExpc3QpOiBJbXBsZW1lbnRlZC4gQWRkZWQgSmF2YWRvYy4KCShnZXRGb2N1c2VkQ29tcG9uZW50KTogQWRkZWQgamF2YWRvYy4KCjIwMDUtMDItMTUgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvU2Nyb2xsYmFyLmphdmEgKEFjY2Vzc2libGVBV1RTY3JvbGxiYXIsCglnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEltcGxlbWVudC4KCSogamF2YS9hd3QvU2Nyb2xsUGFuZS5qYXZhIChBY2Nlc3NpYmxlQVdUU2Nyb2xsUGFuZSwKCWdldEFjY2Vzc2libGVDb250ZXh0KTogSW1wbGVtZW50LgoKMjAwNS0wMi0xNSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9EaWFsb2cuamF2YSAoQWNjZXNzaWJsZUFXVEZyYW1lLCBnZXRBY2Nlc3NpYmxlQ29udGV4dCk6CglJbXBsZW1lbnQuCgkqIGphdmEvYXd0L0ZyYW1lLmphdmEgKEFjY2Vzc2libGVBV1RGcmFtZSwgZ2V0QWNjZXNzaWJsZUNvbnRleHQpOgoJSW1wbGVtZW50LgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YSAoZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBGaXggY29tbWVudC4KCVJlbW92ZSBleHRyYSBpbXBvcnQuCgoyMDA1LTAyLTE1ICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhIChBY2Nlc3NpYmxlQVdUV2luZG93KTogSW1wbGVtZW50LgoJKGlzQWN0aXZlLCBpc0ZvY3VzZWQsIGdldEFjY2Vzc2libGVDb250ZXh0KTogSW1wbGVtZW50LgoKMjAwNS0wMi0xNSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9NZW51SXRlbS5qYXZhIChnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEltcGxlbWVudC4KCSogamF2YS9hd3QvTWVudUNvbXBvbmVudC5qYXZhIChhY2Nlc3NpYmxlQ29udGV4dCk6IE1ha2UgcGFja2FnZQoJdmlzaWJsZS4KCSogamF2YS9hd3QvQ2hlY2tib3hNZW51SXRlbS5qYXZhIChnZXRBY2Nlc3NpYmxlQ29udGV4dCwKCUFjY2Vzc2libGVBV1RDaGVja2JveE1lbnVJdGVtKTogSW1wbGVtZW50LgoKMjAwNS0wMi0xNSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9MaXN0LmphdmE6IEltcGxlbWVudCBBY2Nlc3NpYmxlQVdUTGlzdCwKCUFjY2Vzc2libGVBV1RMaXN0Q2hpbGQuCgoyMDA1LTAyLTE1ICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L0Nob2ljZS5qYXZhOiBBZGQgaW1wbGVtZW50cyBkZWNsYXJhdGlvbiBmb3IKCUFjY2Vzc2libGUuCgoyMDA1LTAyLTE1ICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPSW52YWxpZFRyZWVFeGNlcHRpb24uamF2YTogVXNlIE5vZGUKCWluc3RlYWQgb2YgT2JqZWN0LgoKMjAwNS0wMi0xNSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT01ldGFkYXRhTm9kZS5qYXZhOiBBZGQgTm9kZSB0bwoJaW1wbGVtZW50ZWQgaW50ZXJmYWNlIGxpc3QuCgoyMDA1LTAyLTE1ICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTWV0YWRhdGFOb2RlLmphdmE6IEltcGxlbWVudC4KCSogamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9BdHRyLmphdmE6IE5ldyBjbGFzcy4KCSogamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9OYW1lZE5vZGVNYXAuamF2YTogTmV3IGNsYXNzLgoJKiBqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT05vZGVMaXN0LmphdmE6IE5ldyBjbGFzcy4KCSogTWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QWN0aW9uLmphdmEsCglqYXZheC9zd2luZy9BYnN0cmFjdENlbGxFZGl0b3IuamF2YSwKCWphdmF4L3N3aW5nL0Fic3RyYWN0TGlzdE1vZGVsLmphdmEsCglqYXZheC9zd2luZy9EZWZhdWx0Qm91bmRlZFJhbmdlTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvRGVmYXVsdENlbGxFZGl0b3IuamF2YSwKCWphdmF4L3N3aW5nL0RlZmF1bHRDb21ib0JveE1vZGVsLmphdmEsCglqYXZheC9zd2luZy9EZWZhdWx0RGVza3RvcE1hbmFnZXIuamF2YSwKCWphdmF4L3N3aW5nL0pNZW51LmphdmEsCglqYXZheC9zd2luZy9KU2xpZGVyLmphdmEsCglqYXZheC9zd2luZy9LZXlTdHJva2UuamF2YSwKCWphdmF4L3N3aW5nL092ZXJsYXlMYXlvdXQuamF2YSwKCWphdmF4L3N3aW5nL1Njcm9sbFBhbmVMYXlvdXQuamF2YSwKCWphdmF4L3N3aW5nL1NpemVSZXF1aXJlbWVudHMuamF2YSwKCWphdmF4L3N3aW5nL1ZpZXdwb3J0TGF5b3V0LmphdmE6CglNYWRlIHNlcmlhbFZlcnNpb25VSUQgcHJpdmF0ZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhOgoJUmVmb3JtYXR0ZWQuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YTogTW9yZSByZWZvcm1hdHRpbmcuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YTogUmVmb3JtYXR0ZWQuCgoyMDA1LTAyLTE1ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9hd3QvRXZlbnREaXNwYXRjaFRocmVhZC5qYXZhLAoJamF2YS9hd3QvVG9vbGtpdC5qYXZhOgoJRG9uJ3QgY2F0Y2ggamF2YS5sYW5nLlRocmVhZERlYXRoLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGFzc3dvcmRWaWV3LmphdmEKCShkcmF3RWNob0NoYXJhY3Rlcik6IEFkZGVkIGphdmFkb2MuCgkoZHJhd1NlbGVjdGVkVGV4dCk6IExpa2V3aXNlLgoJKGRyYXdVbnNlbGVjdGVkVGV4dCk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhCgkod2luZG93RGVjb3JhdGlvblN0eWxlKTogTmV3IGZpZWxkLgoJKHNldE1lbnVCYXIpOiBOZXcgbWV0aG9kLgoJKGdldE1lbnVCYXIpOiBMaWtld2lzZS4KCShnZXRXaW5kb3dEZWNvcmF0aW9uU3R5bGUpOiBMaWtld2lzZS4KCShzZXRXaW5kb3dEZWNvcmF0aW9uU3R5bGUpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdFNlbGVjdGlvbk1vZGVsLmphdmEKCShsZWFkQW5jaG9yTm90aWZpY2F0aW9uRW5hYmxlZCk6IE1hZGUgcHJvdGVjdGVkLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0ludGVybmFsRnJhbWVGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW06IEFkZGVkIEludGVybmFsRnJhbWVGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pGb3JtYXR0ZWRUZXh0RmllbGQuamF2YTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL0pXaW5kb3cuamF2YQoJKEpXaW5kb3cpOiBOZXcgY29uc3RydWN0b3JzLgoJKGluaXRXaW5kb3cpOiBSZW5hbWVkIGZyb20gaW5pdEZyYW1lLgoJKiBqYXZheC9zd2luZy9VSURlZmF1bHRzLmphdmEKCShBY3RpdmVWYWx1ZSk6IE1hZGUgaW50ZXJmYWNlIHN0YXRpYy4KCShMYXp5VmFsdWUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVUaXRsZVBhbmUuamF2YQoJKFRpdGxlUGFuZUxheW91dC5UaXRsZVBhbmVMYXlvdXQpOiBOZXcgY29uc3RydWN0b3IuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTbGlkZXJVSS5qYXZhCgkoQ2hhbmdlSGFuZGxlcik6IE1hZGUgcHVibGljLgoJKEZvY3VzSGFuZGxlcik6IExpa2V3aXNlLgoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlcik6IExpa2V3aXNlLgoJKFNjcm9sbExpc3RlbmVyKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YQoJKEZvY3VzSGFuZGxlcik6IExpa2V3aXNlLgoJKE1vdXNlSGFuZGxlcik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFBhbmVVSS5qYXZhCgkoQmFzaWNUZXh0UGFuZVVJKTogRXh0ZW5kIEJhc2ljRWRpdG9yUGFuZVVJLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEKCShCYXNpY1Rvb2xCYXJVSSk6IFNpbXBsaWZpZWQuIFJld29ya2VkIGphdmFkb2MuCgkoY2FuRG9jayk6IFNpbXBsaWZpZWQuIE1ha2UgcHVibGljLgoJKERvY2tpbmdMaXN0ZW5lcik6IE1hZGUgcHVibGljLgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShuYXZpZ2F0aW9uRmlsdGVyKTogTmV3IGZpZWxkLgoJKGdldE5hdmlnYXRpb25GaWx0ZXIpOiBOZXcgbWV0aG9kLgoJKHNldE5hdmlnYXRpb25GaWx0ZXIpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsVGhlbWUuamF2YQoJKGdldENvbnRyb2xUZXh0Q29sb3IpOiBSZXR1cm4gZ2V0Q29udHJvbEluZm8oKS4KCShnZXRIaWdobGlnaHRlZFRleHRDb2xvcik6IFJldHVybiBnZXRDb250cm9sVGV4dENvbG9yKCkuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvbkxpc3RlbmVyLmphdmEKCShCYXNpY0J1dHRvbkxpc3RlbmVyKTogTmV3IGNvbnN0cnVjdG9yLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YQoJKGNyZWF0ZUJ1dHRvbkxpc3RlbmVyKTogVXN3IG5ldyBCYXNpY0J1dHRvbkxpc3RlbmVyIGNvbnN0cnVjdG9yLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vZXZlbnQvcGFja2FnZS5odG1sLAoJamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9wYWNrYWdlLmh0bWw6IE5ldyBmaWxlcy4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9pbWFnZS9NZW1vcnlJbWFnZVNvdXJjZS5qYXZhOiBSZWZvcm1hdHRlZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90cmVlL1RyZWVDZWxsRWRpdG9yLmphdmE6IFJlZm9tYXR0ZWQuCgoyMDA1LTAyLTE1ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9hd3QvY29sb3IvSUNDX1Byb2ZpbGUuamF2YQoJKGZpbmFsaXplKTogUmVtb3ZlZCBwb2ludGxlc3MgZmllbGQgYXNzaWdubWVudHMuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0VkaXRvclBhbmVVSS5qYXZhOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW06IEFkZGVkIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNFZGl0b3JQYW5lVUkuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdFN0eWxlZERvY3VtZW50LmphdmE6IE5ldyBmaWxlLgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0U3R5bGVkRG9jdW1lbnQuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pGaWxlQ2hvb3Nlci5qYXZhCgkoc2hvd0RpYWxvZyk6IFJldHVybiBDQU5DRUxfT1BUSU9OIGZvciBub3cuCgkoc2hvd09wZW5EaWFsb2cpOiBMaWtld2lzZS4KCShzaG93U2F2ZURpYWxvZyk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pBcHBsZXQuamF2YQoJKEhJREVfT05fQ0xPU0UpOiBSZW1vdmVkLgoJKEVYSVRfT05fQ0xPU0UpOiBMaWtld2lzZS4KCShESVNQT1NFX09OX0NMT1NFKTogTGlrZXdpc2UuCgkoRE9fTk9USElOR19PTl9DTE9TRSk6IExpa2V3aXNlLgoJKGNsb3NlX2FjdGlvbik6IExpa2V3aXNlLgoJKGdldERlZmF1bHRDbG9zZU9wZXJhdGlvbik6IExpa2V3aXNlLgoJKHNldERlZmF1bHRDbG9zZU9wZXJhdGlvbik6IExpa2V3aXNlLgoJKHByb2Nlc3NXaW5kb3dFdmVudCk6IExpa2V3aXNlLgoJKGdldFByZWZlcnJlZFNpemUpOiBTaW1wbGlmaWVkLgoJKiBqYXZheC9zd2luZy9KSW50ZXJuYWxGcmFtZS5qYXZhCgkoc2V0RGVmYXVsdENsb3NlT3BlcmF0aW9uKTogRml4ZWQgdGhyb3dpbmcgZXhjZXB0aW9uIG9uIHdyb25nIGFyZ3VtZW50Cgl2YWx1ZS4KCSogamF2YXgvc3dpbmcvSldpbmRvdy5qYXZhCgkoSElERV9PTl9DTE9TRSk6IFJlbW92ZWQuCgkoRVhJVF9PTl9DTE9TRSk6IExpa2V3aXNlLgoJKERJU1BPU0VfT05fQ0xPU0UpOiBMaWtld2lzZS4KCShET19OT1RISU5HX09OX0NMT1NFKTogTGlrZXdpc2UuCgkoY2xvc2VfYWN0aW9uKTogTGlrZXdpc2UuCgkocHJvY2Vzc0tleUV2ZW50KTogTGlrZXdpc2UuCgkoc2V0RGVmYXVsdENsb3NlT3BlcmF0aW9uKTogTGlrZXdpc2UuCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IFNpbXBsaWZpZWQuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRleHRGaWVsZC5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IFJlLWltcGxlbWVudGVkLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhCgkoc2V0RGlzcGxheWVkTW5lbW9uaWMpOiBVc2Ugb25seSB1cHBlciBjYXNlIGNoYXJhY3RlcnMuCgkoc2V0RGlzcGxheWVkTW5lbW9uaWNJbmRleCk6IEhhbmRsZSBpbmRleCA9PSAtMSBhbmQgZmlyZQoJUHJvcGVydHlDaGFuZ2VFdmVudCBhZnRlciBwcm9wZXJ0eSBnb3Qgc2V0IHRvIHRoZSBuZXcgaW5kZXguCgoyMDA1LTAyLTE1ICBSb2JlcnQgU2NodXN0ZXIgPHRoZWJvaGVtaWFuQGdteC5uZXQ+CgoJKiBqYXZheC9zd2luZy9KQ29tYm9Cb3guamF2YToKCShKQ29tYm9Cb3gpOiBSZW1vdmVkIHNlbGVjdGlvbiBvZiB0aGUKCWZpcnN0IGl0ZW0gaW4gdGhlIG1vZGVsLgoKMjAwNS0wMi0xNSAgUm9iZXJ0IFNjaHVzdGVyIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCSogamF2YXgvc3dpbmcvSkNvbWJvQm94LmphdmEKCWFkZGVkIHN1cHBvcnQgZm9yIG5vIGl0ZW0gYmVpbmcgc2VsZWN0ZWQKCShKQ29tYm9Cb3gpOiBzZWxlY3QgZmlyc3Qgb3Igbm90aGluZyBkZXBlbmRpbmcgb24gZWxlbWVudCBjb3VudAoJKHNldE1vZGVsKTogY2xlYW5lZCB1cCB1bm5lZWRlZCAidGhpcy4iIHVzYWdlLCBhZGRlZCBtb3JlCglkb2NzLCBtYWRlIGV4Y2VwdGlvbiBiZWhhdmlvciBtYXRjaCB0aGF0IG9mIHRoZSBKREsKCShzZXRMaWdoV2VpZ2h0UG9wdXBFbmFibGVkKTogcmVtb3ZlZCB1bm5lZWRlZCAidGhpcy4iIHVzYWdlCgkoc2V0RWRpdGFibGUpOiBkaXRvCgkoc2V0TWF4aW11bVJvd0NvdW50KTogZGl0bwoJKHNldFJlbmRlcmVyKTogZGl0bwoJKHNldFByb3RvdHlwZURpc3BsYXlWYWx1ZSk6IGRpdG8KCShnZXRTZWxlY3RlZEl0ZW0pOiBzaW1wbGlmaWVkLCBhZGRlZCBtb3JlIHVzZXIgZG9jCgkoc2V0U2VsZWN0ZWRJbmRleCk6IGNvcnJlY3RlZCBleGNlcHRpb24gYmVoYXZpb3IsIGFkZGVkIG1vcmUgdXNlciBkb2MKCShnZXRTZWxlY3RlZEluZGV4KTogZml4ZWQgaGFyZGNvZGVkIGRlcGVuZGVuY3kgb24gRGVmYXVsdENvbWJvQm94TW9kZWwsCglhZGRlZCBwZXJmb3JtYW5jZSB3YXJuaW5nIHRvIHVzZXIgZG9jCgkoYWRkSXRlbSk6IGZpeGVkIGV4Y2VwdGlvbiBiZWhhdmlvciwgYWRkZWQgdXNlciBkb2MKCShpbnNlcnRJdGVtQXQpOiBkaXRvCgkocmVtb3ZlSXRlbSk6IGRpdG8KCShyZW1vdmVJdGVtQXQpOiBkaXRvCgkocmVtb3ZlQWxsKTogZml4ZWQgZXhjZXB0aW9uIGJlaGF2aW9yLCBhZGRlZCB1c2VyIGRvYywgYWRkZWQgc3VwcG9ydAoJZm9yIG1vZGVsIG5vdCBiZWluZyBpbnN0YW5jZSBvZiBEZWZhdWx0Q29tYm9Cb3hNb2RlbAoJKGdldFNlbGVjdGVkSXRlbU9iamVjdHMpOiBzaW1wbGlmaWVkCgkoZ2V0SXRlbUNvdW50KTogZml4ZWQgZGVwZW5kZW5jeSBvbiBEZWZhdWx0Q29tYm9Cb3hNb2RlbAoJKGdldEl0ZW1BdCk6IGZpeGVkIGRlcGVuZGVuY3kgb24gTXV0YWJsZUNvbWJvQm94TW9kZWwKCSogamF2YXgvc3dpbmcvRGVmYXVsdENvbWJvQm94TW9kZWwuamF2YToKCShzZXRTZWxlY3RlZEl0ZW0pOiB1cGRhdGVzIHNlbGVjdGVkIGl0ZW0gb25seSBpZiBuZXcKCXZhbHVlIGlzIG51bGwgb3Iga25vd24gKG1hdGNoIEpESyBiZWhhdmlvcikKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YToKCShwYWludEN1cnJlbnRWYWx1ZSk6IHJlbmRlcnMgIiIgaWYgbm8gaXRlbSBpcyBzZWxlY3RlZAoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxUaGVtZS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9tZXRhbC9EZWZhdWx0TWV0YWxUaGVtZS5qYXZhOgoJTmV3IGZpbGVzLgoJKiBqYXZheC9zd2luZy9wbGFmL21ldGFsL01ldGFsTG9va0FuZEZlZWwuamF2YQoJKiBNYWtlZmlsZS5hbTogQWRkZWQgdGhlIG5ldyBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNS0wMi0xNSAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKGVkaXRvckNvbXApOiBOZXcgZmllbGQuCgkoSlRhYmxlKTogSW5pdGlhbGl6ZSBsb2NhbCB2YXJpYWJsZXMgYW5kIGNhbGwgdXBkYXRlVUkKCShzZWxlY3Rpb25CYWNrZ3JvdW5kKTogTWFrZSBwcm90ZWN0ZWQuCgkoc2VsZWN0aW9uRm9yZWdyb3VuZCk6IExpa2V3aXNlLgoJKGluaXRpYWxpemVMb2NhbFZhcnMpOiBDcmVhdGUgZGVmYXVsdCBlZGl0b3JzIGFuZCByZW5kZXJlcnMsCglpbml0aWFsaXplIGVkaXRpbmdDb2x1bW4sIGVkaXRpbmdSb3cgdmFyaWFibGVzLgoJKGNyZWF0ZURlZmF1bHRFZGl0b3JzKTogTmV3IE1ldGhvZC4KCShjcmVhdGVEZWZhdWx0UmVuZGVyZXJzKTogTGlrZXdpc2UuCgkoY3JlYXRlRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbCk6IFJlbW92ZWQKCShjcmVhdGVEZWZhdWx0U2VsZWN0aW9uTW9kZWwpOiBOZXcgTWV0aG9kLgoJKGNyZWF0ZURlZmF1bHRUYWJsZUhlYWRlcik6IExpa2V3aXNlCgkocmVtb3ZlQ29sdW1uKTogTGlrZXdpc2UuCgkoZ2V0RWRpdGluZ0NvbHVtbik6IExpa2V3aXNlLgoJKHNldEVkaXRpbmdDb2x1bW4pOiBMaWtld2lzZS4KCShnZXRFZGl0aW5nUm93KTogTGlrZXdpc2UuCgkoc2V0RWRpdGluZ1Jvdyk6IExpa2V3aXNlLgoJKGdldEVkaXRvckNvbXBvbmVudCk6IExpa2V3aXNlLgoJKGlzRWRpdGluZyk6IExpa2V3aXNlLgoJKHNldERlZmF1bHRFZGl0b3IpOiBMaWtld2lzZS4KCShhZGRDb2x1bW5TZWxlY3Rpb25JbnRlcnZhbCk6IExpa2V3aXNlLgoJKGFkZFJvd1NlbGVjdGlvbkludGVydmFsKTogTGlrZXdpc2UuCgkoc2V0Q29sdW1uU2VsZWN0aW9uSW50ZXJ2YWwpOiBMaWtld2lzZS4KCShzZXRSb3dTZWxlY3Rpb25JbnRlcnZhbCk6IExpa2V3aXNlLgoJKHJlbW92ZUNvbHVtblNlbGVjdGlvbkludGVydmFsKTogTGlrZXdpc2UuCgkocmVtb3ZlUm93U2VsZWN0aW9uSW50ZXJ2YWwpOiBMaWtld2lzZS4KIAkoaXNDb2x1bW5TZWxlY3RlZCk6IExpa2V3aXNlLgoJKGlzUm93U2VsZWN0ZWQpOiBMaWtld2lzZS4KCShpc0NlbGxTZWxlY3RlZCk6IExpa2V3aXNlLgoJKHNlbGVjdEFsbCk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoYWRkQ29sdW1uKTogTmV3IG1ldGhvZC4KCShnZXRDb2x1bW5DbGFzcyk6IExpa2V3aXNlLgoJKGdldENvbHVtbk5hbWUpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIFBhdWwgSmVubmVyICA8cHNqLmhvbWVAbnRsd29ybGQuY29tPgoKCSogamF2YXgvc3dpbmcvVHJhbnNmZXJIYW5kbGVyLmphdmEKCShjcmVhdGVUcmFuc2ZlcmFibGUpOiBNYWRlIHByb3RlY3RlZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZUhlYWRlclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOgoJVXNlIGZpeGVkIGdldC9zZXRJbnRlcmNlbGxTcGFjaW5nKCkgbWV0aG9kcy4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKGdldEludGVyY2VsbFNwYWNpbmcpOiBGaXhlZCB0eXBvIGluIG1ldGhvZCBuYW1lLgoJKHNldEludGVyY2VsbFNwYWNpbmcpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShmb2N1c0FjY2VsZXJhdG9yKTogTmV3IHZhcmlhYmxlLgoJKGdldEZvY3VzQWNjZWxlcmF0b3IpOiBOZXcgbWV0aG9kLgoJKHNldEZvY3VzQWNjZWxlcmF0b3IpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShzZXRUcmFuc2ZlckhhbmRsZXIpOiBNYWRlIHB1YmxpYy4gRmlyZSBwcm9wZXJ0eSBjaGFuZ2UgZXZlbnQuCgkqIGphdmF4L3N3aW5nL1RyYW5zZmVySGFuZGxlci5qYXZhOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoRGVmYXVsdFRyYW5zZmVySGFuZGxlcik6IE5ldyBpbm5lciBjbGFzcy4KCShkZWZhdWx0VHJhbnNmZXJIYW5kbGVyKTogTmV3IHZhcmlhYmxlLgoJKGNvcHkpOiBOZXcgbWV0aG9kLgoJKGN1dCk6IExpa2V3aXNlLgoJKHBhc3RlKTogTGlrZXdpc2UuCgkoZG9UcmFuc2ZlckFjdGlvbik6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShjb2xsYXBzZVBhdGgpOiBOZXcgbWV0aG9kLgoJKGNvbGxhcHNlUm93KTogTGlrZXdpc2UuCgkoZXhwYW5kUGF0aCk6IExpa2V3aXNlLgoJKGV4cGFuZFJvdyk6IExpa2V3aXNlLgoJKGNoZWNrRXhwYW5kUGFyZW50cyk6IExpa2V3aXNlLgoJKGRvRXhwYW5kUGFyZW50cyk6IExpa2V3aXNlLgoJKHNldEV4cGFuZGVkU3RhdGUpOiBMaWtld2lzZS4KCShtYWtlVmlzaWJsZSk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pQYXNzd29yZEZpZWxkLmphdmE6IFVwZGF0ZWQgamF2YWRvY3MuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkxheWVyZWRQYW5lLmphdmEKCShnZXRMYXllcik6IEZpeGVkIHJldHVybiB0eXBlLCBtYWRlIHB1YmxpYy4KCShnZXRQb3NpdGlvbik6IFVzZSBuZXcgZ2V0TGF5ZXIoKS4KCShTZXRQb3NpdGlvbik6IExpa2V3aXNlLgoJKGdldEluZGV4T2YpOiBMaWtld2lzZS4KCShyZW1vdmUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkludGVybmFsRnJhbWUuamF2YQoJKGdldExheWVyKTogVXNlIG5ldyBKTGF5ZXJlZFBhbmUuZ2V0TGF5ZXIoKS4KCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGFibGUvVGFibGVDb2x1bW4uamF2YTogQWRkZWQvZml4ZWQgamF2YWRvY3Mgb3ZlciBhbGwuCgkoc2V0SGVhZGVyVmFsdWUpOiBTaW1wbGlmaWVkLiBEbyBub3RoaW5nIHdoZW4gb2xkIHZhbHVlID09IG5ldyB2YWx1ZS4KCjIwMDUtMDItMTUgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhIChzZXRDbGlwKTogUHJvdGVjdAoJYWdhaW5zdCBudWxsIGNsaXAgcmVnaW9uLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEgKGNyZWF0ZSk6IENhbGwKCWd0a1dpbmRvd1NldFJlc2l6YWJsZS4KCShwb3N0Q29uZmlndXJlRXZlbnQpOiBPbmx5IHJldmFsaWRhdGUgaWYgZnJhbWUgc2l6ZSBoYXMgY2hhbmdlZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1dpbmRvd1BlZXIuamF2YSAocG9zdENvbmZpZ3VyZUV2ZW50KToKCU9ubHkgcmV2YWxpZGF0ZSBpZiBmcmFtZSBzaXplIGhhcyBjaGFuZ2VkLgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YSAocmVzaGFwZSk6IE9ubHkgcmVwYWludCBhbmQgcG9zdAoJY29tcG9uZW50IGV2ZW50cyBpZiBjb21wb25lbnQgaXMgc2hvd2luZy4KCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEgKGFkZEltcGwpOiBPbmx5IHBvc3QgY29udGFpbmVyIGV2ZW50IGlmCgljb250YWluZXIgaXMgc2hvd2luZy4KCShyZW1vdmUpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvV2luZG93LmphdmEgKHNldExvY2F0aW9uUmVsYXRpdmVUbyk6IEltcGxlbWVudC4KCShzZXRCb3VuZHNDYWxsYmFjayk6IE9ubHkgcG9zdCBjb21wb25lbnQgZXZlbnRzIGlmIGNvbXBvbmVudCBpcwoJc2hvd2luZy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jIChjbGVhclJlY3QpOgoJUHJvdGVjdCBhZ2FpbnN0IG51bGwgZ3JhcGhpY3Mgc3RydWN0dXJlLiAgRmx1c2ggZ2RrIGV2ZW50IHF1ZXVlLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VSZWFkZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vSW1hZ2VUcmFuc2NvZGVyLmphdmEsCglqYXZheC9pbWFnZWlvL0ltYWdlV3JpdGVyLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JbWFnZUlucHV0U3RyZWFtU3BpLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JbWFnZU91dHB1dFN0cmVhbVNwaS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zcGkvU2VydmljZVJlZ2lzdHJ5LmphdmEsCglqYXZheC9pbWFnZWlvL3N0cmVhbS9JbWFnZUlucHV0U3RyZWFtLmphdmEsCglqYXZheC9pbWFnZWlvL3N0cmVhbS9JbWFnZU91dHB1dFN0cmVhbS5qYXZhOiBVcGRhdGVkLgoJKiBqYXZheC9pbWFnZWlvL0lJT0V4Y2VwdGlvbi5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JSU9JbWFnZS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JSU9QYXJhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JSU9QYXJhbUNvbnRyb2xsZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vSW1hZ2VJTy5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JbWFnZVJlYWRQYXJhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JbWFnZVR5cGVTcGVjaWZpZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vSW1hZ2VXcml0ZVBhcmFtLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JSU9SZWdpc3RyeS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zcGkvSW1hZ2VSZWFkZXJTcGkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0ltYWdlV3JpdGVyU3BpLmphdmEsCglqYXZheC9pbWFnZWlvL3N0cmVhbS9GaWxlQ2FjaGVJbWFnZUlucHV0U3RyZWFtLmphdmEsCglqYXZheC9pbWFnZWlvL3N0cmVhbS9GaWxlQ2FjaGVJbWFnZU91dHB1dFN0cmVhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vRmlsZUltYWdlSW5wdXRTdHJlYW0uamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ZpbGVJbWFnZU91dHB1dFN0cmVhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vSW1hZ2VJbnB1dFN0cmVhbUltcGwuamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlT3V0cHV0U3RyZWFtSW1wbC5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vTWVtb3J5Q2FjaGVJbWFnZUlucHV0U3RyZWFtLmphdmEsCglqYXZheC9pbWFnZWlvL3N0cmVhbS9NZW1vcnlDYWNoZUltYWdlT3V0cHV0U3RyZWFtLmphdmEsCglqYXZheC9pbWFnZWlvL2V2ZW50L0lJT1JlYWRQcm9ncmVzc0xpc3RlbmVyLmphdmEsCglqYXZheC9pbWFnZWlvL2V2ZW50L0lJT1JlYWRVcGRhdGVMaXN0ZW5lci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9ldmVudC9JSU9SZWFkV2FybmluZ0xpc3RlbmVyLmphdmEsCglqYXZheC9pbWFnZWlvL2V2ZW50L0lJT1dyaXRlUHJvZ3Jlc3NMaXN0ZW5lci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9ldmVudC9JSU9Xcml0ZVdhcm5pbmdMaXN0ZW5lci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9NZXRhZGF0YS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9NZXRhZGF0YUNvbnRyb2xsZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTWV0YWRhdGFGb3JtYXQuamF2YSwKCWphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPSW52YWxpZFRyZWVFeGNlcHRpb24uamF2YSwKCWphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTWV0YWRhdGFGb3JtYXRJbXBsLmphdmEsCglqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT01ldGFkYXRhTm9kZS5qYXZhOiBOZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmFtIChqYXZheF9zb3VyY2VfZmlsZXMpOiBBZGRlZCBuZXcgZmlsZXMKCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNS0wMi0xNSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmE6IAoJUmV3b3JrIHBhaW50aW5nIGludG8gQnVmZmVyZWRJbWFnZXMKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1BpeGJ1ZkRlY29kZXIuamF2YToKCUNvbnN0cnVjdCBCdWZmZXJlZEltYWdlIHdpdGggYWxwaGEgb25seSB3aGVuIGFscGhhIGlzCglwcmVzZW50IGluIGNvbG9ybW9kZWwuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jOgoJUmV3b3JrIHBhaW50aW5nIGludG8gY2xpZW50LXNpZGUgamludCBhcnJheXMuCgkqIGpuaS9ndGstcGVlci9ndGtjYWlyb3BlZXIuaDogCglMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdENlbGxSZW5kZXJlci5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE1hZGUgcHJpdmF0ZS4KCShnZXRMaXN0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTogU2V0IGhvcml6b250YWwgYWxpZ25tZW50LgoJKiBqYXZheC9zd2luZy9KTGFiZWwuamF2YQoJKHNldFZlcnRpY2FsQWxpZ25tZW50KTogUmUtaW1wbGVtZW50ZWQuCgkoc2V0SG9yaXpvbnRhbEFsaWdubWVudCk6IERvIG5vdGhpbmcgaWYgb2xkIHZhbHVlID0gbmV3IHZhbHVlLgoJKiBqYXZheC9zd2luZy9KTGlzdC5qYXZhCgkoc2V0Q2VsbFJlbmRlcmVyKTogTGlrZXdpc2UuCgkoc2V0TW9kZWwpOiBSZS1pbXBsZW1lbnRlZC4KCShzZXRTZWxlY3Rpb25Nb2RlbCk6IExpa2V3aXNlLgoKMjAwNS0wMi0xNSAgRGF2aWQgR2lsYmVydCA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEsCglqYXZhL2F3dC9nZW9tL1JlY3RhbmdsZTJELmphdmE6CglKYXZhZG9jIGZpeGVzLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0TGlzdE1vZGVsLmphdmEKCShmaXJlQ29udGVudHNDaGFuZ2VkKTogU2ltcGxpZmllZC4KCShmaXJlSW50ZXJ2YWxBZGRlZCk6IExpa2V3aXNlLgoJKGZpcmVJbnRlcnZhbFJlbW92ZWQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvRGVmYXVsdFNpbmdsZVNlbGVjdGlvbk1vZGVsLmphdmE6CglSZWZvcm1hdHRlZC4KCShmaXJlU3RhdGVDaGFuZ2VkKTogU2ltcGxpZmllZC4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhCgkoc2V0U2VsZWN0aW9uTW9kZWwpOiBTZXQgcHJvcGVydHkuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvcHJpbnQvQm9vay5qYXZhOiBSZWZvcm1hdHRlZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9nZW9tL0FyZWEuamF2YQoJKFF1YWRTZWdtZW50LmN1cnZlQXJlYSk6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzLgoJKEN1YmljU2VnbWVudC5jdXJ2ZUFyZWEpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVHJlZS5qYXZhCgkoQU5DSE9SX1NFTEVDVElPTl9QQVRIX1BST1BFUlRZKTogQWRkZWQgQHNpbmNlIHRhZy4KCShMRUFEX1NFTEVDVElPTl9QQVRIX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoRVhQQU5EU19TRUxFQ1RFRF9QQVRIU19QUk9QRVJUWSk6IExpa2V3aXNlLgoJKEVYUEFOREVEKTogTmV3IGNvbnN0YW50LgoJKENPTExBUFNFRCk6IExpa2V3aXNlLgoJKG5vZGVTdGF0ZXMpOiBOZXcgZmllbGQuCgkoY2VsbEVkaXRvcik6IE5ldyBtZXRob2QuCgkoY2VsbFJlbmRlcmVyKTogTGlrZXdpc2UuCgkoc2VsZWN0aW9uTW9kZWwpOiBMaWtld2lzZS4KCSh0cmVlTW9kZWwpOiBMaWtld2lzZS4KCShzY3JvbGxQYXRoVG9WaXNpYmxlKTogTGlrZXdpc2UuCgkoc2Nyb2xsUm93VG9WaXNpYmxlKTogTGlrZXdpc2UuCgkoaXNDb2xsYXBzZWQpOiBMaWtld2lzZS4KCShpc0V4cGFuZGVkKTogTGlrZXdpc2UuCgkoY2xlYXJUb2dnbGVkUGF0aHMpOiBMaWtld2lzZS4KCShnZXREZXNjZW5kYW50VG9nZ2xlZFBhdGhzKTogTGlrZXdpc2UuCgkoaGFzQmVlbkV4cGFuZGVkKTogTGlrZXdpc2UuCgkoaXNWaXNpYmxlKTogTGlrZXdpc2UuCgkoaXNQYXRoRWRpdGFibGUpOiBMaWtld2lzZS4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YTogUmVmb3JtYXR0ZWQuCgoyMDA1LTAyLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0TXV0YWJsZVRyZWVOb2RlLmphdmE6CglDb21wbGV0ZWx5IFJldmlzZWQuCgkqIGphdmF4L3N3aW5nL3RyZWUvTXV0YWJsZVRyZWVOb2RlLmphdmE6CglSZWZvcm1hdHRlZC4KCjIwMDUtMDItMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KRm9ybWF0dGVkVGV4dEZpZWxkLmphdmEKCShzZXREb2N1bWVudCk6IENhbGwgc2V0RG9jdW1lbnQgb2Ygc3VwZXIgY2xhc3MuIERvbid0IGZpcmUgcHJvcGVydHkKCWNoYW5nZSBldmVudC4KCjIwMDUtMDItMTUgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9hd3QvaW1hZ2UvSW5kZXhDb2xvck1vZGVsLmphdmE6CglBZGQgRklYTUUgd2l0aCByZXNwZWN0IHRvIGFscGhhIGhhbmRsaW5nLgoJKGdldEFscGhhKTogRGVmYXVsdCB0byByZXR1cm5pbmcgb3BhcXVlIHBpeGVscy4gCgkqIGphdmEvYXd0L2ltYWdlL011bHRpUGl4ZWxQYWNrZWRTYW1wbGVNb2RlbC5qYXZhCgkoTXVsdGlQaXhlbFBhY2tlZFNhbXBsZU1vZGVsKTogQ29ycmVjdGVkIHBhcmFtZXRlcnMsIG9yZGVyIG9mCgliaXQgc2hpZnRzIGFuZCBtYXNrcywgc3RyaWRlIGxlbmd0aCBvZmYgYnkgb25lLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmEsIGphdmF4L3N3aW5nL0pUcmVlLmphdmE6CglBZGRlZCBtdWNoIG5ldyBtZXRob2RzIGFuZCBmaXhlZCBtdWNoIG1ldGhvZHMgc2V0dGluZyBib3VuZCBwcm9wZXJ0aWVzLgoKMjAwNS0wMi0xNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogTWFrZWZpbGUuYW0gKGdudV94bWxfc291cmNlX2ZpbGVzKTogUmVtb3ZlZAoJZ251L3htbC9kb20vRG9tQ0RBVEEuamF2YSwgZ251L3htbC9kb20vRG9tRXguamF2YSwKCWdudS94bWwvZG9tL0RvbUZyYWdtZW50LmphdmEsIGdudS94bWwvZG9tL0RvbVBJLmphdmEgYW5kCglnbnUveG1sL2RvbS9scy9Eb21MU0V4LmphdmEuIFJlcGxhY2VkIGJ5IGFkZGluZwoJZ251L3htbC9kb20vRG9tQ0RBVEFTZWN0aW9uLmphdmEsIGdudS94bWwvZG9tL0RvbURPTUV4Y2VwdGlvbi5qYXZhLAoJZ251L3htbC9kb20vRG9tRG9jdW1lbnRGcmFnbWVudC5qYXZhLAoJZ251L3htbC9kb20vRG9tUHJvY2Vzc2luZ0luc3RydWN0aW9uLmphdmEgYW5kCglnbnUveG1sL2RvbS9scy9Eb21MU0V4Y2VwdGlvbi5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA1LTAyLTE2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUveG1sL2FlbGZyZWQyL1NBWERyaXZlci5qYXZhOiBFbnN1cmUgdGhhdCBudWxsIGlzIHJldHVybmVkIHdoZW4KCWF0dHJpYnV0ZSBpbmRleCBpcyBvdXQgb2YgYm91bmRzLgoKMjAwNS0wMi0xNiAgQ2hyaXMgQnVyZGVzcyAgPGRvZ0BnbnUub3JnPgoKCSogZ251L3htbC9hZWxmcmVkMi9TQVhEcml2ZXIuamF2YTogQ29ycmVjdGVkIGltcGxlbWVudGF0aW9uIG9mCglpc0RlY2xhcmVkIG1ldGhvZHMuIEltcHJvdmVkIHBlcmZvcm1hbmNlIG9mIGlzU3BlY2lmaWVkIG1ldGhvZHMuCgoyMDA1LTAyLTE2ICBDaHJpcyBCdXJkZXNzICA8ZG9nQGdudS5vcmc+CgoJRml4ZXMgYnVnIGxpYmdjai8xOTg2NAoJKiBnbnUveG1sL2RvbS9Eb21BdHRyLmphdmEsCglnbnUveG1sL2RvbS9Eb21DREFUQS5qYXZhLAoJZ251L3htbC9kb20vRG9tQ0RBVEFTZWN0aW9uLmphdmEsCglnbnUveG1sL2RvbS9Eb21DaGFyYWN0ZXJEYXRhLmphdmEsCglnbnUveG1sL2RvbS9Eb21ET01FeGNlcHRpb24uamF2YSwKCWdudS94bWwvZG9tL0RvbURvY3R5cGUuamF2YSwKCWdudS94bWwvZG9tL0RvbURvY3VtZW50LmphdmEsCglnbnUveG1sL2RvbS9Eb21Eb2N1bWVudENvbmZpZ3VyYXRpb24uamF2YSwKCWdudS94bWwvZG9tL0RvbURvY3VtZW50RnJhZ21lbnQuamF2YSwKCWdudS94bWwvZG9tL0RvbUVsZW1lbnQuamF2YSwKCWdudS94bWwvZG9tL0RvbUV4LmphdmEsCglnbnUveG1sL2RvbS9Eb21GcmFnbWVudC5qYXZhLAoJZ251L3htbC9kb20vRG9tSW1wbC5qYXZhLAoJZ251L3htbC9kb20vRG9tSXRlcmF0b3IuamF2YSwKCWdudS94bWwvZG9tL0RvbU5hbWVkTm9kZU1hcC5qYXZhLAoJZ251L3htbC9kb20vRG9tTm9kZS5qYXZhLAoJZ251L3htbC9kb20vRG9tTnNOb2RlLmphdmEsCglnbnUveG1sL2RvbS9Eb21QSS5qYXZhLAoJZ251L3htbC9kb20vRG9tUHJvY2Vzc2luZ0luc3RydWN0aW9uLmphdmEsCglnbnUveG1sL2RvbS9Eb21UZXh0LmphdmEsCglnbnUveG1sL2RvbS9Eb21MU0V4LmphdmEsCglnbnUveG1sL2RvbS9Eb21MU0V4Y2VwdGlvbi5qYXZhLAoJZ251L3htbC9kb20vRG9tTFNQYXJzZXIuamF2YSwKCWdudS94bWwvZG9tL0RvbUxTU2VyaWFsaXplci5qYXZhOiBSZWZhY3RvcmluZyBvZiBleGNlcHRpb24gYW5kIERPTQoJaW1wbGVtZW50YXRpb24gY2xhc3MgbmFtZXMgdG8gY29uZm9ybSB0byBDbGFzc3BhdGggZ3VpZGVsaW5lcy4gIE1ha2UKCURvbUxTRXhjZXB0aW9uIHVzZSBKREsgMS40KyBleGNlcHRpb24gY2hhaW5pbmcuCgkqIGdudS94bWwvdXRpbC9TQVhOdWxsVHJhbnNmb3JtZXJGYWN0b3J5LmphdmEsCglnbnUveG1sL3hwYXRoL1ByZWRpY2F0ZS5qYXZhOiBVc2UgY29uc3RhbnRzIHJlbGF0aXZlIHRvIAoJZGVjbGFyaW5nIGNsYXNzIG9yIGludGVyZmFjZS4KCjIwMDUtMDItMTYgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9TdWJqZWN0LmphdmEgKGRvQXNQcml2aWxlZ2VkKTogSWYgYWNjIGlzCgludWxsLCBjcmVhdGUgYSBuZXcgQWNjZXNzQ29udHJvbENvbnRleHQuCgkqIGphdmEvc2VjdXJpdHkvU2VjdXJlQ2xhc3NMb2FkZXIuamF2YSAocHJvdGVjdGlvbkRvbWFpbkNhY2hlKToKCW5ldyBmaWVsZC4KCShkZWZpbmVDbGFzcyk6IENyZWF0ZSBhIG5ldyBwcm90ZWN0aW9uIGRvbWFpbiBhbmQgYWRkIGl0IHRvIG91cgoJY2FjaGUuCgoJKiBqYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFJlbW90ZU9iamVjdC5qYXZhIChleHBvcnRPYmplY3QpOiBDYWxsCglhZGRTdHViKCkgdG8ga2VlcCB0cmFjayBvZiB0aGUgc3R1YiB3ZSd2ZSBleHBvcnRlZC4KCSh1bmV4cG9ydE9iamVjdCk6IENhbGwgZGVsZXRlU3R1YigpLgoJKiBqYXZhL3JtaS9zZXJ2ZXIvUmVtb3RlT2JqZWN0LmphdmEgKHN0dWJzKTogTmV3IGZpZWxkLgoJKGFkZFN0dWIpOiBOZXcgbWV0aG9kLgoJKGRlbGV0ZVN0dWIpOiBOZXcgbWV0aG9kLgoJKHRvU3R1Yik6IFJld3JpdGUuCgkKCSogamF2YS9sYW5nL1ZNQ29tcGlsZXIuamF2YSAobG9hZFNoYXJlZExpYnJhcnkpOiBQYXNzCgl0cnVlIHRvIGZpbmRIZWxwZXIgKHRyeVBhcmVudHMpLgoJKiBnbnUvZ2NqL3J1bnRpbWUvU2hhcmVkTGliTG9hZGVyLmphdmEgKFNoYXJlZExpYkxvYWRlcik6CglMaWtld2lzZS4KCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSAoU29VUkxMb2FkZXIpOiBMaWtld2lzZS4KCSogZ251L2djai9ydW50aW1lL1NoYXJlZExpYkhlbHBlci5qYXZhIChTaGFyZWRMaWJIZWxwZXIpOiBQYXNzCglQcm90ZWN0aW9uRG9tYWluLiAgCglJZiB0cnlQYXJlbnRzIGlzIGZhbHNlLCBkb24ndCBzY2FuIHBhcmVudCBjbGFzcyBsb2FkZXJzLgoKCSogamF2YS9zZWN1cml0eS9QZXJtaXNzaW9ucy5qYXZhIChQZXJtaXNzaW9uc0hhc2guaW1wbGllcyk6CglJdGVyYXRlIG92ZXIgdGhlIGNvbGxlY3Rpb24gYW5kIGludm9rZSBpbXBsaWVzKCkgb24gZWFjaAoJZWxlbWVudC4KCjIwMDUtMDItMTYgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogZ251L2djai9ydW50aW1lL1BlcnNpc3RlbnRCeXRlTWFwLmphdmEgKG5hbWUsIHZhbHVlcywgZmMpOiBuZXcKCWZpZWxkcy4KCShQZXJzaXN0ZW50Qnl0ZU1hcCk6IFNldCBuYW1lCglNYWdpYyBudW1iZXIgY2hhbmdlZCB0byAweDY3NjM2YTY0ICgiZ2NqZCIpLgoJKGluaXQpOiBGb3JjZSB0aGUgbWFwIHRvIGJlIHByaW1lLgoJKGVtcHR5UGVyc2lzdGVudEJ5dGVNYXApOiBGaWxlIG5hbWUgd2FzIGEgc3RyaW5nLCBub3cgYSBGaWxlLgoJKGFkZEJ5dGVzKTogU2hhcmUgc3JpbmdzIGJldHdlZW4gZW50cmllcy4KCShzdHJpbmdUYWJsZVNpemUpOiBOZXcgbWV0aG9kLgoJKGNhcGFjaXR5KTogU2NhbGUgYnkgbG9hZCBmYWN0b3IuCgkoZm9yY2UpOiBOZXcgbWV0aG9kLgoJKGdldEZpbGUpOiBOZXcgbWV0aG9kLgoJKGNsb3NlKTogTmV3IG1ldGhvZC4KCShwdXRBbGwpOiBOZXcgbWV0aG9kLgoJKEJ5dGVXcmFwcGVyKTogTmV3IGNsYXNzLgoJKiBnbnUvZ2NqL3Rvb2xzL2djal9kYnRvb2wvTWFpbi5qYXZhICh2ZXJib3NlKTogTmV3IGZpZWxkLgoJKG1haW4pOiBHdWVzcyB0aGUgYXZlcmFnZSBzdHJpbmcgc2l6ZSBhcyAzMiwgbm90IDY0LgoJQ29weSBhIGRhdGFiYXNlIGJlZm9yZSBtb2RpZnlpbmcgaXQsIHNvIHRoYXQgd2UgY2FuIHVwZGF0ZSBhCglkYXRhYmFzZSBpbiBhIHJ1bm5pbmcgc3lzdGVtLgoJSWYgYSBkYXRhYmFzZSBpc24ndCBiaWcgZW5vdWdoLCByZXNpemUgaXQuCgkiLW0iOiBuZXcgb3B0aW9uOiBtZXJnZXMgZGF0YWJhc2VzLgoJIi1hIjogQ3JlYXRlIGEgbmV3IGRldGFiYXNlIGlmIGl0IGRvZXNuJ3QgZXhpc3QuCgkodXNhZ2UpOiBDb3JyZWN0LCBhZGQgbmV3IG9wdGlvbi4KCShhZGRKYXIpOiBDb3B5IGEgZGF0YWJhc2UgYmVmb3JlIG1vZGlmeWluZyBpdC4KCShyZXNpemVNYXApOiBOZXcgbWV0aG9kLgoKMjAwNS0wMi0xNSAgRGF2aWQgRGFuZXkgPGRkYW5leUBhdnRyZXguY29tPgoJICAgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCSAgICAKCSogcHJpbXMuY2MgKF9Kdl9DcmVhdGVKYXZhVk0pOiBBZGQgY29tbWVudCBhYm91dCBpbml0aWFsaXphdGlvbiBvcmRlci4KCSogcG9zaXgtdGhyZWFkcy5jYyAoX0p2X0luaXRUaHJlYWRzKTogQ2FsbCBibG9ja19zaWdjaGxkKCkgaGVyZSB0bwoJZW5zdXJlIHRoYXQgR0MgdGhyZWFkcyBpbmhlcml0IHRoZSBuZXcgc2lnbmFsIG1hc2suCgkoYmxvY2tfc2lnY2hsZCk6IENhbGwgSnZGYWlsIHJhdGhlciB0aGFuIHRocm93aW5nIGV4Y2VwdGlvbiBpZgoJcHRocmVhZF9zaWdtYXNrKCkgZmFpbHMuCgoyMDA1LTAyLTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3V0aWwvamFyL0F0dHJpYnV0ZXMuamF2YSAoTmFtZS5DTEFTU19QQVRIKTogRG9jdW1lbnQgdGhhdAoJZmlsZSBwYXRoIGVsZW1lbnRzIGFyZSBzZXBhcmF0ZWQgYnkgc3BhY2VzLgoKMjAwNS0wMi0xNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS91dGlsL2phci9BdHRyaWJ1dGVzLmphdmEgKEF0dHJpYnV0ZXMuTmFtZSk6IEFkZCBkb2N1bWVudGF0aW9uCgl0byBkZXNjcmliZSBhdHRyaWJ1dGVzIHdpdGhvdXQgYSBjb25zdGFudCBmaWVsZCB2YWx1ZSBpbiB0aGlzIGNsYXNzLgoKMjAwNS0wMi0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdXRpbC9qYXIvQXR0cmlidXRlcy5qYXZhCgkoQ1JFQVRFRF9CWSwgSkFWQV9CRUFOLCBNQUdJQyk6IFJlbW92ZWQuCgoyMDA1LTAyLTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhIChKYXJVUkxMb2FkZXIuSmFyVVJMTG9hZGVyKTogSnVzdCB1c2UKCXNwYWNlIGZvciBwYXJzaW5nIENMQVNTX1BBVEggYXR0cmlidXRlLgoKMjAwNS0wMi0xNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSAoSmFyVVJMTG9hZGVyLkphclVSTExvYWRlcik6IERvbid0IGxvb2sKCWFzaWRlIGZvciAiR0NKTElCUyIgaW4gZGlyZWN0b3J5IHdoZXJlIGphcmZpbGVzIGFyZSBsb2FkZWQuCgkoSmFyVVJMTG9hZGVyLmdldENsYXNzKTogUmVtb3ZlZCBtZXRob2QuCgkoSmFyVVJMTG9hZGVyLnRvU3RyaW5nKTogUmVtb3ZlZCBtZXRob2QuCgkoRmlsZVJlc291cmNlLnRvU3RyaW5nKTogUmVtb3ZlZCBtZXRob2QuCgoyMDA1LTAyLTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CiAKCSogamF2YXgvbmV0L3NzbC9TU0xDb250ZXh0LmphdmEgKGdldEluc3RhbmNlKTogQWRkIGV4Y2VwdGlvbiBtZXNzYWdlCglhbmQvb3IgY2F1c2UgYmVmb3JlIHRocm93aW5nLgoKMjAwNS0wMi0xNSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChsaWJnY2pfbGFfU09VUkNFUyk6IE1vdmUgYWxsIHNvdXJjZXMgLi4uCgkobGliZ2NqMF9jb252ZW5pZW5jZV9sYV9TT1VSQ0VTKTogLi4uIGhlcmUuCgkobGliZ2NqX2xhX0xJQkFERCk6IEFkZCBsaWJnY2owX2NvbnZlbmllbmNlLmxhLgoJKGxpYmdjal9sYV9ERVBFTkRFTkNJRVMpOiBJbmNsdWRlIGxpYmdjal9sYV9MSUJBREQuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNS0wMi0xNCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF3dC5jOiBOZXcgZmlsZS4KCSogaW5jbHVkZS9qYXd0Lmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2phd3RfbWQuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKHRvb2xfaW5jbHVkZV9fSEVBREVSUyk6IEFkZCBqYXd0LmggYW5kCglqYXd0X21kLmggZmlsZXMuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGpuaS9jbGFzc3BhdGgvY2xhc3NwYXRoX2phd3QuaDogTGlrZXdpc2UuCgkqIGpuaS9ndGstcGVlci9ndGtfamF3dC5jOiBMaWtld2lzZS4KCSogTWFrZWZpbGUuYW06IEJ1aWxkIGxpYmphd3Quc28uCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNS0wMi0xNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9QUjE5OTIxLmphdmE6IFVzZSBjb3JyZWN0IGNsYXNzIG5hbWUuCgoyMDA1LTAyLTE0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1BSMTk5MjEub3V0OiBSZW5hbWVkIGZyb20gUFIxOTkyOS5vdXQuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUFIxOTkyMS5qYXZhOiBSZW5hbWVkIGZyb20gUFIxOTkyOS5qYXZhLgoKMjAwNS0wMi0xNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCUZvciBQUiBqYXZhLzE5OTI5OgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1BSMTk5Mjkub3V0OiBOZXcgZmlsZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9QUjE5OTI5LmphdmE6IE5ldyBmaWxlLgoKMjAwNS0wMi0xNCAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzE4MTE2CgkqIHRlc3RzdWl0ZS9saWJqYXZhLmpuaS9QUjE4MTE2LmM6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5qbmkvUFIxODExNi5qYXZhOiBOZXcgZmlsZS4KCSogdGVzdHN1aXRlL2xpYmphdmEuam5pL1BSMTgxMTYub3V0OiBOZXcgZmlsZS4KCjIwMDUtMDItMTMgIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xODExNgoJKiBqbmkuY2MgKG5hdGhhc2hfYWRkKTogRG9uJ3Qgc3RyZHVwIHRoZSBtZXRob2Qgc2lnbmF0dXJlLgoJKF9Kdl9KTklfUmVnaXN0ZXJOYXRpdmVzKTogQ29udmVydCB0aGUgc2xhc2hlcyB0byBkb3RzIGluIHRoZQoJbWV0aG9kIHNpZ25hdHVyZS4KCVVwZGF0ZSBjb3B5cmlnaHQuCgoyMDA1LTAyLTEyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJRml4ZXMgYnVnIGxpYmdjai84MTcwCgkqIGphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhIChsb2FkQ2xhc3MpOiBEb24ndCByZXdyYXAKCUNsYXNzTm90Rm91bmRFeGNlcHRpb24uCgkqIGdudS9qYXZhL2xhbmcvTWFpblRocmVhZC5qYXZhIChydW4pOiBDaGFpbiBOb0NsYXNzRGVmRm91bmRFcnJvci4KCSogZ251L2djai9ydW50aW1lL05hbWVGaW5kZXIuamF2YSAocmVtb3ZlX2ludGVycHJldGVyKTogUmVtb3ZlZC4KCShyZW1vdmVfaW50ZXJuYWwpOiBOZXcgZmllbGQgc3VwZXJjZWRpbmcgcmVtb3ZlX2ludGVycHJldGVyLgoJKHNhbml0aXplU3RhY2spOiBSZW1vdmUgYWxsIG5vLXBhY2thZ2UgY2xhc3NlcyBzdGFydGluZyB3aXRoICJfSnZfIi4KCVJlbW92ZSBuby1jbGFzcyBtZXRob2RzIHN0YXJ0aW5nIHdpdGggIl9Kdl8iLiBBbmQgUmVwbGFjZSBudWxsCgljbGFzcyBvciBtZXRob2QgbmFtZXMgd2l0aCB0aGUgZW1wdHkgc3RyaW5nLiBTdG9wIGF0IGVpdGhlciB0aGUKCU1haW5UaHJlYWQgb3IgYSByZWFsIFRocmVhZCBydW4oKSBtZXRob2QuCgkobmV3RWxlbWVudCk6IE1hZGUgc3RhdGljLgoJKiBqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhIChmaW5kQ2xhc3MpOiBUaHJvdwoJQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbnMgaW5jbHVkaW5nIHVybHMsIHBsdXMgcGFyZW50IHVzaW5nIHRvU3RyaW5nKCkuCgkodGhpc1N0cmluZyk6IE5ldyBmaWVsZC4KCSh0b1N0cmluZyk6IE5ldyBtZXRob2QuCgoyMDA1LTAyLTEwICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBleHRlcm5hbC9zYXgvTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIGV4dGVybmFsL3NheC9NYWtlZmlsZS5hbSAoYWxsLWxvY2FsKTogUmVtb3ZlZC4KCShCVUlMVF9TT1VSQ0VTKTogTmV3IHZhcmlhYmxlLgoJKG1vc3RseWNsZWFuLWxvY2FsKTogTm8gZXJyb3IgaWYgbm8gY2xhc3NlcyB0byBkZWxldGUuCgkqIGV4dGVybmFsL3czY19kb20vTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIGV4dGVybmFsL3czY19kb20vTWFrZWZpbGUuYW0gKGFsbC1sb2NhbCk6IFJlbW92ZWQuCgkoQlVJTFRfU09VUkNFUyk6IE5ldyB2YXJpYWJsZS4KCShtb3N0bHljbGVhbi1sb2NhbCk6IE5vIGVycm9yIGlmIG5vIGNsYXNzZXMgdG8gZGVsZXRlLgoKMjAwNS0wMi0xMCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEubWF1dmUveGZhaWxzOiBVcGRhdGVkIHRvIHJlZmxlY3QgY3VycmVudCBzdGF0ZSAKCW9mIG1hdXZlIGFuZCBsaWJqYXZhLgoKMjAwNS0wMi0wOSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2phci9Db25uZWN0aW9uLmphdmEgKGdldEphckZpbGUpOiBPcGVuCglqYXIgZmlsZSB3aXRoIE9QRU5fREVMRVRFLgoJKiBqYXZhL3V0aWwvemlwL1ppcEZpbGUuamF2YSAoWmlwRmlsZSk6IENhbGwgZGVsZXRlT25FeGl0IHdoZW4KCU9QRU5fREVMRVRFIGlzIHVzZWQuCgoyMDA1LTAyLTA5ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvemlwL0luZmxhdGVySW5wdXRTdHJlYW0uamF2YSAobWFya1N1cHBvcnRlZCk6CglPdmVycmlkZS4KCShtYXJrLCByZXNldCk6IExpa2V3aXNlLgoKMjAwNS0wMi0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvVVJJLmphdmEgKEFVVEhPUklUWV9SRUdFWFApOiBIYW5kbGUgY2FzZSB3aGVyZSB1c2VyCgluYW1lIG9yIHBvcnQgaXMgbWlzc2luZy4KCShBVVRIT1JJVFlfVVNFUklORk9fR1JPVVAsIEFVVEhPUklUWV9IT1NUX0dST1VQLAoJQVVUSE9SSVRZX1BPUlRfR1JPVVApOiBVcGRhdGVkLgoKMjAwNS0wMi0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlOiBSZWJ1aWx0LgoJKiBjb25maWd1cmUuYWM6IFJlZHVjZSBudW1iZXIgb2YgY2FsbHMgdG8gQUNfQ0hFQ0tfRlVOQ1MgYW5kCglBQ19DSEVDS19IRUFERVJTLgoKMjAwNS0wMi0wNyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL25hdFJ1bnRpbWUuY2MgKGluc2VydFN5c3RlbVByb3BlcnRpZXMpOiBTZXQKCXN1bi5ib290LmNsYXNzLnBhdGggZWFybGllci4KCjIwMDUtMDItMDcgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGRlZmluZWNsYXNzLmNjIChoYW5kbGVDbGFzc0JlZ2luKTogVXNlCglfSnZfUmVnaXN0ZXJJbml0aWF0aW5nTG9hZGVyLgoJKiBqYXZhL2xhbmcvQ2xhc3MuaCAoX0p2X1VucmVnaXN0ZXJJbml0aWF0aW5nTG9hZGVyKTogRGVjbGFyZS4KCSogamF2YS9sYW5nL25hdFZNQ2xhc3NMb2FkZXIuY2MgKHJlc29sdmVDbGFzcyk6IERvbid0IHJlZ2lzdGVyCgljbGFzcy4gIFVzZSBfSnZfVW5yZWdpc3RlckluaXRpYXRpbmdMb2FkZXIuCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X1VucmVnaXN0ZXJJbml0aWF0aW5nTG9hZGVyKToKCU5ldyBmdW5jdGlvbi4KCjIwMDUtMDItMDcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCiAgICAgICAgUmVwb3J0ZWQgYnkgVGltbyBMaW5kZm9ycyA8dGltby5saW5kZm9yc0Bpa2kuZmk+CiAgICAgICAgamF2YS91dGlsL3JlZ2V4L01hdGNoZXIuamF2YSAobG9va2luZ0F0KTogU2V0IHBvc2l0aW9uIHdoZW4gbWF0Y2gKICAgICAgICBmb3VuZC4KICAgICAgICAobWF0Y2hlcyk6IEltcGxlbWVudGVkIHRocm91Z2ggbG9va2luZ0F0KCkuCgoyMDA1LTAyLTA3ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgogICAgICAgIEZpeCBzdWdnZXN0ZWQgYnkgVGltbyBMaW5kZm9ycyA8dGltby5saW5kZm9yc0Bpa2kuZmk+CiAgICAgICAgKiBqYXZhL3V0aWwvcmVnZXgvUGF0dGVybi5qYXZhIChzcGxpdChDaGFyU2VxdWVuY2UsaW50KSk6CiAgICAgICAgRml4IHdoaWxlIGVtcHRpZXMgPiAwIGxvb3BzLgoKMjAwNS0wMi0wNyAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L0lTT184ODU5XzEuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L1VTX0FTQ0lJLmphdmEsIAoJZ251L2phdmEvbmlvL2NoYXJzZXQvVVRGXzE2LmphdmEsCglnbnUvamF2YS9uaW8vY2hhcnNldC9VVEZfMTZfTEUuamF2YSwKCWdudS9qYXZhL25pby9jaGFyc2V0L1VURl8xNl9CRS5qYXZhLAoJZ251L2phdmEvbmlvL2NoYXJzZXQvVVRGXzguamF2YTogRml4ZWQgY2Fub25pY2FsIG5hbWVzCgkgYW5kIGFsaWFzZXMgYWNjb3JkaW5nIHRvCgkgImh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcmFjdGVyLXNldHMiLAoJICJodHRwOi8vamF2YS5zdW4uY29tL2oyc2UvMS41LjAvZG9jcy9ndWlkZS9pbnRsL2VuY29kaW5nLmRvYy5odG1sIgoJIGFuZCAiaHR0cDovL29zcy5zb2Z0d2FyZS5pYm0uY29tL2NnaS1iaW4vaWN1L2NvbnZleHA/cz1BTEwiLgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9Qcm92aWRlci5qYXZhOiBNYWRlIGNoYXJzZXQgbG9va3VwCgkgY2FzZS1pbnNlbnNpdGl2ZSB3aGljaCBmaXhlcyBidWcgIzExNzQwLiAKCjIwMDUtMDItMDcgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTk2MTE6CgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBNYWtlZmlsZS5hbSAoc3JjLnppcCk6IE5ldyB0YXJnZXQuCgkoaW5zdGFsbC1zcmMuemlwKTogTGlrZXdpc2UuCgkoc291cmNlc2Rpcik6IE5ldyB2YXJpYWJsZS4KCjIwMDUtMDItMDYgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9NZXRhZGF0YU5vZGUuamF2YToKCUltcGxlbWVudGVkLgoJKiBqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT0F0dHIuamF2YSwKCWphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTmFtZWROb2RlTWFwLmphdmEsCglqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT05vZGVMaXN0LmphdmE6CglOZXcgZmlsZXMKCjIwMDUtMDItMDYgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvQ2xhc3NwYXRoVG9vbGtpdC5qYXZhCgkocmVnaXN0ZXJJbWFnZUlPU3Bpcyk6IE5ldyBtZXRob2QuCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VJTy5qYXZhCgkoV3JpdGVyRm9ybWF0RmlsdGVyLmZpbHRlcik6IEZpeCBjb3B5LWFuZC1wYXN0ZSB0eXBvcy4KCShXcml0ZXJNSU1FVHlwZUZpbHRlci5maWx0ZXIpOiBMaWtld2lzZS4KCShJbWFnZVJlYWRlckl0ZXJhdG9yKTogUGFzcyBleHRlbnNpb24gYXJndW1lbnQgdGhyb3VnaCB0byBTUEkuCgkoZ2V0UmVhZGVyc0J5RmlsdGVyKTogTGlrZXdpc2UuCgkoZ2V0V3JpdGVyc0J5RmlsdGVyKTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VSZWFkZXJzQnlGb3JtYXROYW1lKTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VSZWFkZXJzQnlNSU1FVHlwZSk6IExpa2V3aXNlLgoJKGdldEltYWdlUmVhZGVyc0J5U3VmZml4KTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VXcml0ZXJzQnlGb3JtYXROYW1lKTogTGlrZXdpc2UuCgkoZ2V0SW1hZ2VXcml0ZXJzQnlNSU1FVHlwZSk6IExpa2V3aXNlLgoJKGdldEltYWdlV3JpdGVyc0J5U3VmZml4KTogTGlrZXdpc2UuCgkocmVhZCk6IEltcGxlbWVudC4KCSh3cml0ZSk6IEltcGxlbWVudC4KCSogamF2YXgvaW1hZ2Vpby9JbWFnZVJlYWRlci5qYXZhCgkocHJvZ3Jlc3NMaXN0ZW5lcnMpOiBJbml0aWFsaXplLgoJKHNldElucHV0KTogSW1wbGVtZW50LgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlV3JpdGVyLmphdmEKCShwcm9ncmVzc0xpc3RlbmVycyk6IEluaXRpYWxpemUuCgkod2FybmluZ0xpc3RlbmVycyk6IExpa2V3aXNlLgoJKHdhcm5pbmdMb2NhbGVzKTogTGlrZXdpc2UuCgkoc2V0T3V0cHV0KTogVGVzdCAiaXNJbnN0YW5jZSIgcmF0aGVyIHRoYW4gY2xhc3MgZXF1YWxpdHkuCgkqIGphdmF4L2ltYWdlaW8vc3BpL0lJT1JlZ2lzdHJ5LmphdmEKCShzdGF0aWMpOiBBZGQgcmVhZGVyIGFuZCB3cml0ZXIgU1BJcy4KCShJSU9SZWdpc3RyeSk6IENhbGwgQ2xhc3NwYXRoVG9vbGtpdC5yZWdpc3RlckltYWdlSU9TcGlzLgoKMjAwNC0wMi0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPSW52YWxpZFRyZWVFeGNlcHRpb24uamF2YQoJKElJT0ludmFsaWRUcmVlRXhjZXB0aW9uKTogUmVmb3JtYXR0ZWQuCgkqIGphdmF4L2ltYWdlaW8vc3BpL0lJT1JlZ2lzdHJ5LmphdmEKCShzdGF0aWMpOiBSZWdpc3RlciBJbWFnZVJlYWRlclNwaS5jbGFzcyBhbmQgSW1hZ2VXcml0ZXJTcGkuY2xhc3MuCgkqIGphdmF4L2ltYWdlaW8vc3RyZWFtL01lbW9yeUNhY2hlSW1hZ2VJbnB1dFN0cmVhbS5qYXZhOgoJUmV3b3JrZWQgaW1wb3J0IHN0YXRlbWVudHMuCgoyMDA0LTAyLTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvaW1hZ2Vpby9zdHJlYW0vRmlsZUltYWdlT3V0cHV0U3RyZWFtLmphdmE6CglJbXBsZW1lbnRlZC4KCjIwMDQtMDItMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9pbWFnZWlvL3N0cmVhbS9GaWxlQ2FjaGVJbWFnZUlucHV0U3RyZWFtLmphdmEsCglqYXZheC9pbWFnZWlvL3N0cmVhbS9GaWxlQ2FjaGVJbWFnZU91dHB1dFN0cmVhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vRmlsZUltYWdlSW5wdXRTdHJlYW0uamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlSW5wdXRTdHJlYW1JbXBsLmphdmEsCglqYXZheC9pbWFnZWlvL3N0cmVhbS9JbWFnZU91dHB1dFN0cmVhbUltcGwuamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL01lbW9yeUNhY2hlSW1hZ2VJbnB1dFN0cmVhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vTWVtb3J5Q2FjaGVJbWFnZU91dHB1dFN0cmVhbS5qYXZhOgoJQWRkZWQgYWxsIG1pc3NpbmcgbWV0aG9kcyBpbiBqYXZheC5pbWFnZWlvLnN0cmVhbS4KCjIwMDUtMDItMDIgIERhdmlkIERhbmV5ICA8ZGRhbmV5QGF2dHJleC5jb20+CgoJKiBqYXZhL25ldC9JbmV0QWRkcmVzcy5qYXZhIChJbmV0QWRkcmVzcyk6IE1ha2UgYSBwcml2YXRlIGNvcHkgb2YKCXRoZSBhZGRyZXNzLgoJKiBqYXZhL25ldC9JbmV0NEFkZHJlc3MuamF2YSAoZ2V0QWRkcmVzcyk6IFJldHVybiBhIGNvcHkgb2YgdGhlCglhZGRyZXNzLgoJKiBqYXZhL25ldC9JbmV0NkFkZHJlc3MuamF2YSAoSW5ldDZBZGRyZXNzKTogVXNlIHByaXZhdGUgY29weSBvZgoJdGhlIGFkZHJlc3MKCShnZXRBZGRyZXNzKTogUmV0dXJuIGEgY29weSBvZiB0aGUgYWRkcmVzcy4KCShlcXVhbHMpOiBSZXdyb3RlLgoKMjAwNS0wMi0wMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIE1ha2VmaWxlLmFtIChjbGFzc2VzLnN0YW1wKTogTmV3IHRhcmdldCwgYnJva2VuIG91dCBmcm9tCglsaWJnY2ouamFyIHRhcmdldC4KCSgkKGFsbF9qYXZhX2NsYXNzX2ZpbGVzKSk6IERlcGVuZCBvbiBpdC4KCShsaWJnY2otQGdjY192ZXJzaW9uQC5qYXIpOiBMaWtld2lzZS4KCShhbGwtcmVjdXJzaXZlKTogTGlrZXdpc2UuCgkoQ0xFQU5GSUxFUyk6IEluY2x1ZGUgY2xhc3Nlcy5zdGFtcC4KCjIwMDUtMDItMDIgIEhhbnMgQm9laG0gIDxIYW5zLkJvZWhtQGhwLmNvbT4KCgkqIGxpbmsuY2M6IEluY2x1ZGUgPHN0ZGlvLmg+CgoyMDA1LTAyLTAyICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzE5NjgxOgoJKiBNYWtlZmlsZS5pbjogUmVidWlsdC4KCSogTWFrZWZpbGUuYW0gKG9yZGluYXJ5X2phdmFfc291cmNlX2ZpbGVzKTogQWRkZWQgbmV3IGNsYXNzLgoJKiBqYXZhL2xhbmcvbmF0Vk1DbGFzc0xvYWRlci5jYyAoZ2V0U3lzdGVtQ2xhc3NMb2FkZXJJbnRlcm5hbCk6CglVc2Ugc3lzdGVtX2luc3RhbmNlLCBub3QgaW5zdGFuY2UuCgkqIGdudS9nY2ovcnVudGltZS9TeXN0ZW1DbGFzc0xvYWRlci5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2djai9ydW50aW1lL1ZNQ2xhc3NMb2FkZXIuamF2YSAoaW5pdCk6IERvbid0IHNlYXJjaAoJamF2YS5jbGFzcy5wYXRoLgoJKHN5c3RlbV9pbnN0YW5jZSk6IE5ldyBmaWVsZC4KCShpbml0aWFsaXplKTogSW5pdGlhbGl6ZSB0aGUgc3lzdGVtIGxvYWRlciBhcyB3ZWxsLgoJKFZNQ2xhc3NMb2FkZXIpOiBEZWZhdWx0IHRvIExJQl9DQUNIRS4KCjIwMDUtMDItMDIgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGdudS9nY2ovcnVudGltZS9QZXJzaXN0ZW50Qnl0ZU1hcC5qYXZhOiBGaXhlZCB0eXBvLgoJKiBwcmltcy5jYzogRml4ZWQgY29tbWVudC4KCjIwMDUtMDItMDEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBNYWtlZmlsZS5hbSAoQk9PVENMQVNTUEFUSCk6IEFkZGVkIHNheCBhbmQgdzNjX2RvbS4KCSguamF2YS5jbGFzcyk6IFVzZSBCT09UQ0xBU1NQQVRILgoKMjAwNS0wMi0wMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZXh0ZXJuYWwvdzNjX2RvbS9NYWtlZmlsZS5hbTogTmV3IGZpbGUuCgkqIGV4dGVybmFsL3czY19kb20vTWFrZWZpbGUuaW46IE5ldyBmaWxlLgoJKiBleHRlcm5hbC9zYXgvTWFrZWZpbGUuYW06IE5ldyBmaWxlLgoJKiBleHRlcm5hbC9zYXgvTWFrZWZpbGUuaW46IE5ldyBmaWxlLgoJKiBleHRlcm5hbC9NYWtlZmlsZS5pbjogTmV3IGZpbGUuCgkqIGV4dGVybmFsL01ha2VmaWxlLmFtOiBOZXcgZmlsZS4KCSogZXh0ZXJuYWwvUkVBRE1FOiBOZXcgZmlsZSBmcm9tIENsYXNzcGF0aC4KCSogY29uZmlndXJlLCBhY2xvY2FsLm00LCBNYWtlZmlsZS5pbjogUmVidWlsdC4KCSogY29uZmlndXJlLmFjIChBQ19DT05GSUdfRklMRVMpOiBDcmVhdGUgbmV3IE1ha2VmaWxlcy4KCSogTWFrZWZpbGUuYW0gKFNVQkRJUlMpOiBBZGRlZCBleHRlcm5hbC4KCSh0b29sZXhlY2xpYl9MVExJQlJBUklFUyk6IFJlbW92ZWQgbGliLW9yZy14bWwtc2F4LmxhLAoJbGliLW9yZy13M2MtZG9tLmxhLCBsaWItb3JnLWlldGYtZ3NzLmxhLgoJKEJPT1RDTEFTU1BBVEgpOiBOZXcgdmFyaWFibGUuCgkoQU1fR0NKRkxBR1MpOiBVc2UgaXQuCgkoZ251X3htbF9zb3VyY2VfZmlsZXMpOiBOZXcgdmFyaWFibGUuCgkobGliZ2NqX2xhX1NPVVJDRVMpOiBVc2UgaXQuCgkobGliZ2NqX2xhX0xEQUREKTogSW5jbHVkZSBuZXcgY29udmVuaWVuY2UgbGlicmFyaWVzLgoJKGxpYl9vcmdfaWV0Zl9qZ3NzX2xhX1NPVVJDRVMpOiBSZW1vdmVkLgoJKGxpYl9vcmdfaWV0Zl9qZ3NzX2xhX0RFUEVOREVOQ0lFUyk6IExpa2V3aXNlLgoJKGxpYl9vcmdfaWV0Zl9qZ3NzX2xhX0xJQkFERCk6IExpa2V3aXNlLgoJKGxpYl9vcmdfdzNjX2RvbV9sYV9TT1VSQ0VTKTogUmVtb3ZlZC4KCShsaWJfb3JnX3czY19kb21fbGFfREVQRU5ERU5DSUVTKTogTGlrZXdpc2UuCgkobGliX29yZ193M2NfZG9tX2xhX0xJQkFERCk6IExpa2V3aXNlLgoJKGxpYl9vcmdfeG1sX3NheF9sYV9TT1VSQ0VTKTogUmVtb3ZlZC4KCShsaWJfb3JnX3htbF9zYXhfbGFfREVQRU5ERU5DSUVTKTogTGlrZXdpc2UuCgkobGliX29yZ194bWxfc2F4X2xhX0xJQkFERCk6IExpa2V3aXNlLgoJKGFsbF9qYXZhX3NvdXJjZV9maWxlcyk6IFVwZGF0ZWQuCgkocHJvcGVydHlfZmlsZXMpOiBMaWtld2lzZS4KCShsaWJnY2otQGdjY192ZXJzaW9uQC5qYXIpOiBJbmNsdWRlIGNsYXNzZXMgZnJvbSBleHRlcm5hbC8uCgkoamF2YXhfc291cmNlX2ZpbGVzKTogVXBkYXRlZC4KCShvcmRpbmFyeV9qYXZhX3NvdXJjZV9maWxlcyk6IFVwZGF0ZWQuCgkqIGphdmF4L3htbC9YTUxDb25zdGFudHMuamF2YSwKCWphdmF4L3htbC9kYXRhdHlwZS9EYXRhdHlwZUNvbmZpZ3VyYXRpb25FeGNlcHRpb24uamF2YSwKCWphdmF4L3htbC9kYXRhdHlwZS9EYXRhdHlwZUNvbnN0YW50cy5qYXZhLAoJamF2YXgveG1sL2RhdGF0eXBlL0RhdGF0eXBlRmFjdG9yeS5qYXZhLAoJamF2YXgveG1sL2RhdGF0eXBlL0R1cmF0aW9uLmphdmEsCglqYXZheC94bWwvZGF0YXR5cGUvWE1MR3JlZ29yaWFuQ2FsZW5kYXIuamF2YSwKCWphdmF4L3htbC9kYXRhdHlwZS9wYWNrYWdlLmh0bWwsCglqYXZheC94bWwvbmFtZXNwYWNlL05hbWVzcGFjZUNvbnRleHQuamF2YSwKCWphdmF4L3htbC9uYW1lc3BhY2UvUU5hbWUuamF2YSwgamF2YXgveG1sL25hbWVzcGFjZS9wYWNrYWdlLmh0bWwsCglqYXZheC94bWwvcGFyc2Vycy9Eb2N1bWVudEJ1aWxkZXIuamF2YSwKCWphdmF4L3htbC9wYXJzZXJzL0RvY3VtZW50QnVpbGRlckZhY3RvcnkuamF2YSwKCWphdmF4L3htbC9wYXJzZXJzL0ZhY3RvcnlDb25maWd1cmF0aW9uRXJyb3IuamF2YSwKCWphdmF4L3htbC9wYXJzZXJzL1BhcnNlckNvbmZpZ3VyYXRpb25FeGNlcHRpb24uamF2YSwKCWphdmF4L3htbC9wYXJzZXJzL1NBWFBhcnNlci5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvU0FYUGFyc2VyRmFjdG9yeS5qYXZhLAoJamF2YXgveG1sL3BhcnNlcnMvcGFja2FnZS5odG1sLAoJamF2YXgveG1sL3RyYW5zZm9ybS9FcnJvckxpc3RlbmVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL091dHB1dEtleXMuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vUmVzdWx0LmphdmEsIGphdmF4L3htbC90cmFuc2Zvcm0vU291cmNlLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1NvdXJjZUxvY2F0b3IuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vVGVtcGxhdGVzLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1RyYW5zZm9ybWVyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9UcmFuc2Zvcm1lckZhY3RvcnkuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vVHJhbnNmb3JtZXJGYWN0b3J5Q29uZmlndXJhdGlvbkVycm9yLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL1VSSVJlc29sdmVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL3BhY2thZ2UuaHRtbCwKCWphdmF4L3htbC90cmFuc2Zvcm0vZG9tL0RPTUxvY2F0b3IuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vZG9tL0RPTVJlc3VsdC5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9kb20vRE9NU291cmNlLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL2RvbS9wYWNrYWdlLmh0bWwsCglqYXZheC94bWwvdHJhbnNmb3JtL3NheC9TQVhSZXN1bHQuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vc2F4L1NBWFNvdXJjZS5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9zYXgvU0FYVHJhbnNmb3JtZXJGYWN0b3J5LmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL3NheC9UZW1wbGF0ZXNIYW5kbGVyLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL3NheC9UcmFuc2Zvcm1lckhhbmRsZXIuamF2YSwKCWphdmF4L3htbC90cmFuc2Zvcm0vc2F4L3BhY2thZ2UuaHRtbCwKCWphdmF4L3htbC90cmFuc2Zvcm0vc3RyZWFtL1N0cmVhbVJlc3VsdC5qYXZhLAoJamF2YXgveG1sL3RyYW5zZm9ybS9zdHJlYW0vU3RyZWFtU291cmNlLmphdmEsCglqYXZheC94bWwvdHJhbnNmb3JtL3N0cmVhbS9wYWNrYWdlLmh0bWwsCglqYXZheC94bWwvdmFsaWRhdGlvbi9TY2hlbWEuamF2YSwKCWphdmF4L3htbC92YWxpZGF0aW9uL1NjaGVtYUZhY3RvcnkuamF2YSwKCWphdmF4L3htbC92YWxpZGF0aW9uL1R5cGVJbmZvUHJvdmlkZXIuamF2YSwKCWphdmF4L3htbC92YWxpZGF0aW9uL1ZhbGlkYXRvci5qYXZhLAoJamF2YXgveG1sL3ZhbGlkYXRpb24vVmFsaWRhdG9ySGFuZGxlci5qYXZhLAoJamF2YXgveG1sL3ZhbGlkYXRpb24vcGFja2FnZS5odG1sLCBqYXZheC94bWwveHBhdGgvWFBhdGguamF2YSwKCWphdmF4L3htbC94cGF0aC9YUGF0aENvbnN0YW50cy5qYXZhLAoJamF2YXgveG1sL3hwYXRoL1hQYXRoRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhFeHByZXNzaW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhFeHByZXNzaW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhGYWN0b3J5LmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhGYWN0b3J5Q29uZmlndXJhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgveG1sL3hwYXRoL1hQYXRoRnVuY3Rpb24uamF2YSwKCWphdmF4L3htbC94cGF0aC9YUGF0aEZ1bmN0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhGdW5jdGlvblJlc29sdmVyLmphdmEsCglqYXZheC94bWwveHBhdGgvWFBhdGhWYXJpYWJsZVJlc29sdmVyLmphdmEsCglqYXZheC94bWwveHBhdGgvcGFja2FnZS5odG1sOiBOZXcgZmlsZXMsIGZyb20gR05VIEpBWFAuCgkqIG9yZy93M2MvZG9tL0F0dHIuamF2YSwgb3JnL3czYy9kb20vQ0RBVEFTZWN0aW9uLmphdmEsCglvcmcvdzNjL2RvbS9DaGFyYWN0ZXJEYXRhLmphdmEsIG9yZy93M2MvZG9tL0NvbW1lbnQuamF2YSwKCW9yZy93M2MvZG9tL0RPTUV4Y2VwdGlvbi5qYXZhLCBvcmcvdzNjL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5qYXZhLAoJb3JnL3czYy9kb20vRG9jdW1lbnQuamF2YSwgb3JnL3czYy9kb20vRG9jdW1lbnRGcmFnbWVudC5qYXZhLAoJb3JnL3czYy9kb20vRG9jdW1lbnRUeXBlLmphdmEsIG9yZy93M2MvZG9tL0VsZW1lbnQuamF2YSwKCW9yZy93M2MvZG9tL0VudGl0eS5qYXZhLCBvcmcvdzNjL2RvbS9FbnRpdHlSZWZlcmVuY2UuamF2YSwKCW9yZy93M2MvZG9tL05hbWVkTm9kZU1hcC5qYXZhLCBvcmcvdzNjL2RvbS9Ob2RlLmphdmEsCglvcmcvdzNjL2RvbS9Ob2RlTGlzdC5qYXZhLCBvcmcvdzNjL2RvbS9Ob3RhdGlvbi5qYXZhLAoJb3JnL3czYy9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmphdmEsIG9yZy93M2MvZG9tL1RleHQuamF2YSwKCW9yZy93M2MvZG9tL3Jhbmdlcy9Eb2N1bWVudFJhbmdlLmphdmEsCglvcmcvdzNjL2RvbS9yYW5nZXMvUmFuZ2UuamF2YSwKCW9yZy93M2MvZG9tL3Jhbmdlcy9SYW5nZUV4Y2VwdGlvbi5qYXZhLAoJb3JnL3czYy9kb20vdHJhdmVyc2FsL0RvY3VtZW50VHJhdmVyc2FsLmphdmEsCglvcmcvdzNjL2RvbS90cmF2ZXJzYWwvTm9kZUZpbHRlci5qYXZhLAoJb3JnL3czYy9kb20vdHJhdmVyc2FsL05vZGVJdGVyYXRvci5qYXZhLAoJb3JnL3czYy9kb20vdHJhdmVyc2FsL1RyZWVXYWxrZXIuamF2YSwKCW9yZy94bWwvc2F4L0F0dHJpYnV0ZUxpc3QuamF2YSwgb3JnL3htbC9zYXgvQXR0cmlidXRlcy5qYXZhLAoJb3JnL3htbC9zYXgvQ29udGVudEhhbmRsZXIuamF2YSwgb3JnL3htbC9zYXgvRFRESGFuZGxlci5qYXZhLAoJb3JnL3htbC9zYXgvRG9jdW1lbnRIYW5kbGVyLmphdmEsIG9yZy94bWwvc2F4L0VudGl0eVJlc29sdmVyLmphdmEsCglvcmcveG1sL3NheC9FcnJvckhhbmRsZXIuamF2YSwgb3JnL3htbC9zYXgvSGFuZGxlckJhc2UuamF2YSwKCW9yZy94bWwvc2F4L0lucHV0U291cmNlLmphdmEsIG9yZy94bWwvc2F4L0xvY2F0b3IuamF2YSwKCW9yZy94bWwvc2F4L1BhcnNlci5qYXZhLCBvcmcveG1sL3NheC9TQVhFeGNlcHRpb24uamF2YSwKCW9yZy94bWwvc2F4L1NBWE5vdFJlY29nbml6ZWRFeGNlcHRpb24uamF2YSwKCW9yZy94bWwvc2F4L1NBWE5vdFN1cHBvcnRlZEV4Y2VwdGlvbi5qYXZhLAoJb3JnL3htbC9zYXgvU0FYUGFyc2VFeGNlcHRpb24uamF2YSwgb3JnL3htbC9zYXgvWE1MRmlsdGVyLmphdmEsCglvcmcveG1sL3NheC9YTUxSZWFkZXIuamF2YSwgb3JnL3htbC9zYXgvcGFja2FnZS5odG1sLAoJb3JnL3htbC9zYXgvZXh0L0RlY2xIYW5kbGVyLmphdmEsCglvcmcveG1sL3NheC9leHQvTGV4aWNhbEhhbmRsZXIuamF2YSwgb3JnL3htbC9zYXgvZXh0L3BhY2thZ2UuaHRtbCwKCW9yZy94bWwvc2F4L2hlbHBlcnMvQXR0cmlidXRlTGlzdEltcGwuamF2YSwKCW9yZy94bWwvc2F4L2hlbHBlcnMvQXR0cmlidXRlc0ltcGwuamF2YSwKCW9yZy94bWwvc2F4L2hlbHBlcnMvRGVmYXVsdEhhbmRsZXIuamF2YSwKCW9yZy94bWwvc2F4L2hlbHBlcnMvTG9jYXRvckltcGwuamF2YSwKCW9yZy94bWwvc2F4L2hlbHBlcnMvTmFtZXNwYWNlU3VwcG9ydC5qYXZhLAoJb3JnL3htbC9zYXgvaGVscGVycy9OZXdJbnN0YW5jZS5qYXZhLAoJb3JnL3htbC9zYXgvaGVscGVycy9QYXJzZXJBZGFwdGVyLmphdmEsCglvcmcveG1sL3NheC9oZWxwZXJzL1BhcnNlckZhY3RvcnkuamF2YSwKCW9yZy94bWwvc2F4L2hlbHBlcnMvWE1MRmlsdGVySW1wbC5qYXZhLAoJb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJBZGFwdGVyLmphdmEsCglvcmcveG1sL3NheC9oZWxwZXJzL1hNTFJlYWRlckZhY3RvcnkuamF2YSwKCW9yZy94bWwvc2F4L2hlbHBlcnMvcGFja2FnZS5odG1sOiBNb3ZlZCB0byBleHRlcm5hbC8uCgkqIGV4dGVybmFsL3NheC9SRUFETUUsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvQXR0cmlidXRlTGlzdC5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L0F0dHJpYnV0ZXMuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9Db250ZW50SGFuZGxlci5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L0RUREhhbmRsZXIuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9Eb2N1bWVudEhhbmRsZXIuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9FbnRpdHlSZXNvbHZlci5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L0Vycm9ySGFuZGxlci5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L0hhbmRsZXJCYXNlLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvSW5wdXRTb3VyY2UuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9Mb2NhdG9yLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvUGFyc2VyLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvU0FYRXhjZXB0aW9uLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvU0FYTm90UmVjb2duaXplZEV4Y2VwdGlvbi5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L1NBWE5vdFN1cHBvcnRlZEV4Y2VwdGlvbi5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L1NBWFBhcnNlRXhjZXB0aW9uLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvWE1MRmlsdGVyLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvWE1MUmVhZGVyLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvcGFja2FnZS5odG1sLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L2V4dC9BdHRyaWJ1dGVzMi5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L2V4dC9BdHRyaWJ1dGVzMkltcGwuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9leHQvRGVjbEhhbmRsZXIuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9leHQvRGVmYXVsdEhhbmRsZXIyLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvZXh0L0VudGl0eVJlc29sdmVyMi5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L2V4dC9MZXhpY2FsSGFuZGxlci5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L2V4dC9Mb2NhdG9yMi5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L2V4dC9Mb2NhdG9yMkltcGwuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9leHQvcGFja2FnZS5odG1sLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L2hlbHBlcnMvQXR0cmlidXRlTGlzdEltcGwuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9oZWxwZXJzL0F0dHJpYnV0ZXNJbXBsLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvaGVscGVycy9EZWZhdWx0SGFuZGxlci5qYXZhLAoJZXh0ZXJuYWwvc2F4L29yZy94bWwvc2F4L2hlbHBlcnMvTG9jYXRvckltcGwuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9oZWxwZXJzL05hbWVzcGFjZVN1cHBvcnQuamF2YSwKCWV4dGVybmFsL3NheC9vcmcveG1sL3NheC9oZWxwZXJzL05ld0luc3RhbmNlLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvaGVscGVycy9QYXJzZXJBZGFwdGVyLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvaGVscGVycy9QYXJzZXJGYWN0b3J5LmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvaGVscGVycy9YTUxGaWx0ZXJJbXBsLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJBZGFwdGVyLmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvaGVscGVycy9YTUxSZWFkZXJGYWN0b3J5LmphdmEsCglleHRlcm5hbC9zYXgvb3JnL3htbC9zYXgvaGVscGVycy9wYWNrYWdlLmh0bWwsCglleHRlcm5hbC93M2NfZG9tL0NPUFlSSUdIVC5odG1sLCBleHRlcm5hbC93M2NfZG9tL1JFQURNRSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vQXR0ci5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9DREFUQVNlY3Rpb24uamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vQ2hhcmFjdGVyRGF0YS5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9Db21tZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL0RPTUNvbmZpZ3VyYXRpb24uamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vRE9NRXJyb3IuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vRE9NRXJyb3JIYW5kbGVyLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL0RPTUV4Y2VwdGlvbi5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9ET01JbXBsZW1lbnRhdGlvbkxpc3QuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vRE9NSW1wbGVtZW50YXRpb25Tb3VyY2UuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vRE9NTG9jYXRvci5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9ET01TdHJpbmdMaXN0LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL0RvY3VtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL0RvY3VtZW50RnJhZ21lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vRG9jdW1lbnRUeXBlLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL0VsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vRW50aXR5LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL0VudGl0eVJlZmVyZW5jZS5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9OYW1lTGlzdC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9OYW1lZE5vZGVNYXAuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vTm9kZS5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9Ob2RlTGlzdC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9Ob3RhdGlvbi5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vVGV4dC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9UeXBlSW5mby5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9Vc2VyRGF0YUhhbmRsZXIuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vYm9vdHN0cmFwL0RPTUltcGxlbWVudGF0aW9uUmVnaXN0cnkuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vY3NzL0NTUzJQcm9wZXJ0aWVzLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2Nzcy9DU1NDaGFyc2V0UnVsZS5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9jc3MvQ1NTRm9udEZhY2VSdWxlLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2Nzcy9DU1NJbXBvcnRSdWxlLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2Nzcy9DU1NNZWRpYVJ1bGUuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vY3NzL0NTU1BhZ2VSdWxlLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9jc3MvQ1NTUnVsZS5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9jc3MvQ1NTUnVsZUxpc3QuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vY3NzL0NTU1N0eWxlUnVsZS5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9jc3MvQ1NTU3R5bGVTaGVldC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9jc3MvQ1NTVW5rbm93blJ1bGUuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vY3NzL0NTU1ZhbHVlLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2Nzcy9DU1NWYWx1ZUxpc3QuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vY3NzL0NvdW50ZXIuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vY3NzL0RPTUltcGxlbWVudGF0aW9uQ1NTLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2Nzcy9Eb2N1bWVudENTUy5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9jc3MvRWxlbWVudENTU0lubGluZVN0eWxlLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2Nzcy9SR0JDb2xvci5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9jc3MvUmVjdC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9jc3MvVmlld0NTUy5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9ldmVudHMvRG9jdW1lbnRFdmVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9ldmVudHMvRXZlbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vZXZlbnRzL0V2ZW50RXhjZXB0aW9uLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2V2ZW50cy9FdmVudFRhcmdldC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9ldmVudHMvTW91c2VFdmVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9ldmVudHMvTXV0YXRpb25FdmVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9ldmVudHMvVUlFdmVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MQW5jaG9yRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MQXBwbGV0RWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MQXJlYUVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTEJSRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MQmFzZUVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTEJhc2VGb250RWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MQm9keUVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTEJ1dHRvbkVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTENvbGxlY3Rpb24uamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTERMaXN0RWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MRGlyZWN0b3J5RWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MRGl2RWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MRG9jdW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTEVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTEZpZWxkU2V0RWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MRm9udEVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTEZvcm1FbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxGcmFtZUVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTEZyYW1lU2V0RWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MSFJFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxIZWFkRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MSGVhZGluZ0VsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTEh0bWxFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxJRnJhbWVFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxJbWFnZUVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTElucHV0RWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MSXNJbmRleEVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTExJRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MTGFiZWxFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxMZWdlbmRFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxMaW5rRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MTWFwRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MTWVudUVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTE1ldGFFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxNb2RFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxPTGlzdEVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTE9iamVjdEVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTE9wdEdyb3VwRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MT3B0aW9uRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTFBhcmFncmFwaEVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTFBhcmFtRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MUHJlRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MUXVvdGVFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxTY3JpcHRFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxTZWxlY3RFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxTdHlsZUVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTFRhYmxlQ29sRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MVGFibGVFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxUYWJsZVJvd0VsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vaHRtbDIvSFRNTFRleHRBcmVhRWxlbWVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9odG1sMi9IVE1MVGl0bGVFbGVtZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2h0bWwyL0hUTUxVTGlzdEVsZW1lbnQuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vbHMvRE9NSW1wbGVtZW50YXRpb25MUy5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9scy9MU0V4Y2VwdGlvbi5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9scy9MU0lucHV0LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2xzL0xTTG9hZEV2ZW50LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2xzL0xTT3V0cHV0LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2xzL0xTUGFyc2VyLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2xzL0xTUGFyc2VyRmlsdGVyLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2xzL0xTUHJvZ3Jlc3NFdmVudC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9scy9MU1Jlc291cmNlUmVzb2x2ZXIuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vbHMvTFNTZXJpYWxpemVyLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL2xzL0xTU2VyaWFsaXplckZpbHRlci5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9yYW5nZXMvRG9jdW1lbnRSYW5nZS5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9yYW5nZXMvUmFuZ2UuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vcmFuZ2VzL1JhbmdlRXhjZXB0aW9uLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL3N0eWxlc2hlZXRzL0RvY3VtZW50U3R5bGUuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20vc3R5bGVzaGVldHMvTGlua1N0eWxlLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL3N0eWxlc2hlZXRzL01lZGlhTGlzdC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS9zdHlsZXNoZWV0cy9TdHlsZVNoZWV0LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL3N0eWxlc2hlZXRzL1N0eWxlU2hlZXRMaXN0LmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL3RyYXZlcnNhbC9Eb2N1bWVudFRyYXZlcnNhbC5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS90cmF2ZXJzYWwvTm9kZUZpbHRlci5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS90cmF2ZXJzYWwvTm9kZUl0ZXJhdG9yLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL3ZpZXdzL0Fic3RyYWN0Vmlldy5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS92aWV3cy9Eb2N1bWVudFZpZXcuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20veHBhdGgvWFBhdGhFdmFsdWF0b3IuamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20veHBhdGgvWFBhdGhFeGNlcHRpb24uamF2YSwKCWV4dGVybmFsL3czY19kb20vb3JnL3czYy9kb20veHBhdGgvWFBhdGhFeHByZXNzaW9uLmphdmEsCglleHRlcm5hbC93M2NfZG9tL29yZy93M2MvZG9tL3hwYXRoL1hQYXRoTlNSZXNvbHZlci5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS94cGF0aC9YUGF0aE5hbWVzcGFjZS5qYXZhLAoJZXh0ZXJuYWwvdzNjX2RvbS9vcmcvdzNjL2RvbS94cGF0aC9YUGF0aFJlc3VsdC5qYXZhOiBOZXcgZmlsZXMKCWZyb20gQ2xhc3NwYXRoLgoKMjAwNS0wMS0zMSAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9uZXQvbmF0UGxhaW5EYXRhZ3JhbVNvY2tldEltcGxQb3NpeC5jYyAoZ2V0T3B0aW9uKToKCVN1cHBvcnQgSVBfTVVMVElDQVNUX0xPT1AuCgkoc2V0T3B0aW9uKTogU3VwcG9ydCBJUF9NVUxUSUNBU1RfTE9PUC4KCgkqIGdudS9qYXZhL25ldC9uYXRQbGFpblNvY2tldEltcGxQb3NpeC5jYyAoc2V0T3B0aW9uKTogQWRkCglTT19SRVVTRUFERFIgc3VwcG9ydC4KCShnZXRPcHRpb24pOiBTdXBwb3J0IFNPX1JFVVNFQUREUi4KCjIwMDQtMDEtMjggIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJUFIgbGliZ2NqLzE5NjQ5CgkqIGphdmEvdXRpbC9EYXRlLmphdmEKCShEYXRlKGludCxpbnQsaW50KSwgRGF0ZShpbnQsaW50LGludCxpbnQsaW50KSk6IERlbGVnYXRlIHRvIG90aGVyCgljb25zdHJ1Y3Rvci4KCShEYXRlKGludCxpbnQsaW50LGludCxpbnQsaW50KSk6IEZpeGVkIHRvIGhhbmRsZSBvdXQtb2YtcmFuZ2UKCWFyZ3VtZW50cy4KCShnZXRUaW1lem9uZU9mZnNldCk6IEludmVydGVkIHNpZ24uCgoyMDA1LTAxLTI2ICBSYW5qaXQgTWF0aGV3ICA8cm1hdGhld0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmphY2tzL2phY2tzLnhmYWlsOiBVcGRhdGUgZm9yIFBSIGphdmEvMTkwNzAsCglyZW1vdmUgb3RoZXIgcGFzc2luZyB0ZXN0cyBhbmQgYWRkIG5ldyBYRkFJTHMuCgoyMDA1LTAxLTI0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvQ2xhc3MuaCAobmV4dCk6IFVwZGF0ZWQgZG9jdW1lbnRhdGlvbi4gIFJlbmFtZWQgdG8KCSduZXh0X29yX3ZlcnNpb24nLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3NMb2FkZXIuY2MgKF9Kdl9SZWdpc3RlckNsYXNzZXMpOiBVc2UKCV9Kdl9DaGVja0FCSVZlcnNpb24uCgkoX0p2X1JlZ2lzdGVyQ2xhc3Nlc19Db3VudGVkKTogTGlrZXdpc2UuCgkoX0p2X1JlZ2lzdGVyQ2xhc3NIb29rRGVmYXVsdCk6IEZpeCBzdGFydGluZyBjb25kaXRpb24gb2YKCWR1cGxpY2F0ZS1jaGVja2luZyBsb29wLgoJKiBpbmNsdWRlL2p2bS5oIChHQ0pfVkVSU0lPTik6IE5ldyBkZWZpbmUuCgkoR0NKX0JJTkFSWUNPTVBBVF9BRERJVElPTik6IExpa2V3aXNlLgoJKF9Kdl9DaGVja0FCSVZlcnNpb24pOiBOZXcgZnVuY3Rpb24uCgoyMDA1LTAxLTI0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChsaWJnaWpfbGFfTElCQUREKTogQWRkIC1MJChoZXJlKS8ubGlicy4KCShsaWJnaWpfbGFfTERGTEFHUyk6IEFkZC4KCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgoyMDA1LTAxLTI0ICBSb2dlciBTYXlsZSAgPHJvZ2VyQGV5ZXNvcGVuLmNvbT4KCglQUiBqYXZhLzE5Mjk1CgkqIHRlc3RzdWl0ZS9saWJqYXZhLmNvbXBpbGUvUFIxOTI5NS5qYXZhOiBOZXcgdGVzdCBjYXNlLgoKMjAwNS0wMS0xOSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1ZNQ29tcGlsZXIuamF2YSAoY29tcGlsZUNsYXNzKTogSWdub3JlIFVua25vd25FcnJvci4KCSogZ251L2djai9ydW50aW1lL25hdFNoYXJlZExpYkxvYWRlci5jYyAoZmluYWxpemUpOiBPbmx5IGRsY2xvc2UKCWlmICdoYW5kbGVyJyBpcyB2YWxpZC4KCjIwMDUtMDEtMTcgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvdGV4dC9NZXNzYWdlRm9ybWF0LmphdmEgKHNjYW5TdHJpbmcpOiBDaGFuZ2VkIGhvdyBxdW90aW5nCglpcyBoYW5kbGVkLgoJKHNjYW5Gb3JtYXRFbGVtZW50KTogTGlrZXdpc2UuCgoyMDA0LTEyLTA3ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhIChzY2FuRm9ybWF0KTogQ2hhaW4gdGhyb3duIGV4Y2VwdGlvbi4KCjIwMDUtMDEtMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJUFIgbGliZ2NqLzE5NDQ0CgkqIGphdmEvbmV0L1VSSS5qYXZhCgkoQVVUSE9SSVRZX1JFR0VYUCk6IE5ldyByZWdleHAgY29uc3RhbnQuCgkoQVVUSE9SSVRZX1VTRVJJTkZPX0dST1VQKTogTmV3IGNvbnN0YW50LgoJKEFVVEhPUklUWV9IT1NUX0dST1VQKTogTGlrZXdpc2UuCgkoQVVUSE9SSVRZX1BPUlRfR1JPVVApOiBMaWtld2lzZS4KCShwb3J0KTogQ2hhbmdlZCBkZWZhdWx0IHZhbHVlIHRvIC0xLgoJKHBhcnNlVVJJKTogUGFyc2UgYXV0aG9yaXR5IHBhcnQgYW5kIGluaXRpYWxpemUgaG9zdCwKCXBvcnQgYW5kIHVzZXJJbmZvLgoKMjAwNS0wMS0xNCAgUm9iaW4gR3JlZW4gIDxncmVlbnJkQGdyZWVucmQub3JnPgoKCSogamF2YS9pby9GaWxlLmphdmEgKHRvVVJJKTogR2VuZXJhdGUgYSBVUkkgd2hpY2ggd2UgdW5kZXJzdGFuZC4KCjIwMDUtMDEtMTMgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2puaS5oIChfSnZfSk5JRW52Ojpib3R0b21fbG9jYWxzKTogTmV3IGZpZWxkLgoJKiBpbmNsdWRlL2p2bS5oIChfSnZfRnJlZUpOSUVudik6IERlY2xhcmUuCgkqIGphdmEvbGFuZy9uYXRUaHJlYWQuY2MgKGZpbmFsaXplX25hdGl2ZSk6IENhbGwgX0p2X0ZyZWVKTklFbnYuCgkqIGpuaS5jYzogUmV1c2UgYm90dG9tIGZyYW1lIGJldHdlZW4gY2FsbHMsIGF2b2lkIGNsZWFyaW5nCglmcmFtZSB3aGVuIG5vIGxvY2FsIHJlZmVyZW5jZXMgYXJlIG1hZGUuCgoyMDA1LTAxLTEzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCVBSIGxpYmdjai8xNzc4NAoJKiBqYXZhL2xhbmcvVGhyZWFkLmphdmEKCShUaHJlYWQpOiBDYWxsIGNoZWNrQWNjZXNzKCkuCgkoc3RvcCk6IEZpeGVkIGFyZ3VtZW50IG5hbWUgdG8gbWF0Y2ggamF2YWRvYy4KCSogamF2YS9sYW5nL25hdFRocmVhZC5jYwoJKGludGVycnVwdCk6IENhbGwgY2hlY2tBY2Nlc3MoKS4KCShzdG9wKTogTGlrZXdpc2UuCgoyMDA1LTAxLTExICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCVBSIGxpYmdjai8xMzk3MgoJKiBqYXZhL25ldC9VUkwuamF2YSAoVVJMKTogSGFuZGxlIHNwZWNzIGxpa2UKCSIvcmVkaXI/aHR0cDovL2RvbWFpbjIuY29tL2luZGV4Lmh0bWwiIHdoaWNoIHN0YXJ0IHdpdGggYSBzbGFzaC4KCjIwMDUtMDEtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJUFIgbGliZ2NqLzE0MDEyLCBQUiBsaWJnY2ovMTQwMTMsIFBSIGxpYmdjai8xNTE1NywgUFIgbGliZ2NqLzE1NTA5CgkqIGdudS9qYXZhL25ldC9CQVNFNjQuamF2YSwKCWdudS9qYXZhL25ldC9FbXB0eVg1MDlUcnVzdE1hbmFnZXIuamF2YSwKCWdudS9qYXZhL25ldC9MaW5lSW5wdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0F1dGhlbnRpY2F0b3IuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0J5dGVBcnJheVJlcXVlc3RCb2R5V3JpdGVyLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9CeXRlQXJyYXlSZXNwb25zZUJvZHlSZWFkZXIuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0NodW5rZWRJbnB1dFN0cmVhbS5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvQ29va2llLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9Db29raWVNYW5hZ2VyLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9DcmVkZW50aWFscy5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvSFRUUENvbm5lY3Rpb24uamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0hUVFBEYXRlRm9ybWF0LmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9IVFRQVVJMQ29ubmVjdGlvbi5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvSGVhZGVycy5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvUmVxdWVzdC5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvUmVxdWVzdEJvZHlXcml0ZXIuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL1Jlc3BvbnNlLmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9SZXNwb25zZUJvZHlSZWFkZXIuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL1Jlc3BvbnNlSGVhZGVySGFuZGxlci5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvU2ltcGxlQ29va2llTWFuYWdlci5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvZXZlbnQvQ29ubmVjdGlvbkV2ZW50LmphdmEsCglnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9ldmVudC9Db25uZWN0aW9uTGlzdGVuZXIuamF2YSwKCWdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL2V2ZW50L1JlcXVlc3RFdmVudC5qYXZhLAoJZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvZXZlbnQvUmVxdWVzdExpc3RlbmVyLmphdmE6IE5ldyBmaWxlcy4KCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvQ29ubmVjdGlvbi5qYXZhOiBSZW1vdmVkLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9IYW5kbGVyLmphdmEsCglqYXZheC9uZXQvc3NsL0h0dHBzVVJMQ29ubmVjdGlvbi5qYXZhOiBVcGRhdGVkLgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGVzIGFuZCByZW1vdmUgb2xkIG9uZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDUtMDEtMTEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTg4NDA6CgkqIGphdmEvaW8vQnVmZmVyZWRJbnB1dFN0cmVhbS5qYXZhIChyZWFkKTogUmVwZWF0ZWRseSByZWFkIHRvCglmaWxsIGJ1ZmZlci4KCShyZWZpbGwpOiBDaGFuZ2UgdGVzdCB0byBzZWUgaWYgYnVmZmVyIG11c3QgYmUgZ3Jvd24uCgoyMDA1LTAxLTEwICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBtYXV2ZS1saWJnY2o6IEV4Y2x1ZGUgc29tZSBzd2luZyB0ZXN0cy4KCjIwMDUtMDEtMTAgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTIwMTYsIFBSIGxpYmdjai8xODQwNSwgUFIgbGliZ2NqLzE3NzM4OgoJKiBqYXZhL2xhbmcvUGFja2FnZS5qYXZhIChnZXRQYWNrYWdlcyk6IFVzZSBWTUNsYXNzTG9hZGVyIHdoZW4KCWFwcHJvcHJpYXRlLgoJKGdldFBhY2thZ2UpOiBMaWtld2lzZS4KCSogcHJpbXMuY2MgKF9Kdl9DcmVhdGVKYXZhVk0pOiBDYWxsCglfSnZfUmVnaXN0ZXJCb290c3RyYXBQYWNrYWdlcy4KCSogaW5jbHVkZS9qdm0uaCAoX0p2X1JlZ2lzdGVyQm9vdHN0cmFwUGFja2FnZXMpOiBEZWNsYXJlLgoJKiBqYXZhL2xhbmcvVk1DbGFzc0xvYWRlci5qYXZhIChnZXRQYWNrYWdlKTogUmV3cm90ZS4KCShnZXRQYWNrYWdlcyk6IExpa2V3aXNlLgoJKGRlZmluZWRQYWNrYWdlcyk6IE5ldyBmaWVsZC4KCShkZWZpbmVQYWNrYWdlRm9yTmF0aXZlKTogTmV3IG1ldGhvZC4KCSogamF2YS9sYW5nL0NsYXNzLmggKF9Kdl9GaW5kQ2xhc3NJbkNhY2hlKTogVXBkYXRlZC4KCSogamF2YS9sYW5nL25hdFZNQ2xhc3NMb2FkZXIuY2MgKGxvYWRDbGFzcyk6IFVwZGF0ZWQuCgkqIGRlZmluZWNsYXNzLmNjIChoYW5kbGVDbGFzc0JlZ2luKTogVXNlCglDbGFzc0xvYWRlci5maW5kTG9hZGVkQ2xhc3MuCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X1JlZ2lzdGVySW5pdGlhdGluZ0xvYWRlcik6CglSZXdyb3RlLgoJKHN0cnVjdCBfSnZfTG9hZGVySW5mbyk6IFJlbW92ZWQuCgkoaW5pdGlhdGVkX2NsYXNzZXMpOiBMaWtld2lzZS4KCShfSnZfVW5yZWdpc3RlckNsYXNzKTogRG9uJ3QgdXNlIGluaXRpYXRlZF9jbGFzc2VzLgoJKF9Kdl9GaW5kQ2xhc3NJbkNhY2hlKTogTGlrZXdpc2UuICBSZW1vdmVkICdsb2FkZXInIGFyZ3VtZW50LgoJKF9Kdl9GaW5kQ2xhc3MpOiBSZWdpc3RlciBjbGFzc2VzIGZvdW5kIGR1cmluZyBib29zdHJhcC4KCShCT09UU1RSQVBfQ0xBU1NfTElTVF9TSVpFKTogTmV3IGRlZmluZS4KCShib290c3RyYXBfY2xhc3NfbGlzdCk6IE5ldyBnbG9iYWwuCgkoYm9vdHN0cmFwX2luZGV4KTogTGlrZXdpc2UuCgkoX0p2X1JlZ2lzdGVyQm9vdHN0cmFwUGFja2FnZXMpOiBOZXcgZnVuY3Rpb24uCgkqIGdudS9nY2ovcnVudGltZS9uYXRWTUNsYXNzTG9hZGVyLmNjIChmaW5kQ2xhc3MpOiBDYWxsCglkZWZpbmVQYWNrYWdlRm9yTmF0aXZlLgoJKGZpbmRDbGFzcyk6IFVwZGF0ZWQuCgkqIGdudS9nY2ovcnVudGltZS9WTUNsYXNzTG9hZGVyLmphdmEgKGRlZmluZVBhY2thZ2VGb3JOYXRpdmUpOgoJTmV3IG1ldGhvZC4KCjIwMDUtMDEtMTAgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTg4Njg6CgkqIGluY2x1ZGUvanZtLmggKF9Kdl9MaW5rZXI6OmZpbmRfZmllbGQpOiBEZWNsYXJlLgoJKF9Kdl9MaW5rZXI6OmZpbmRfZmllbGRfaGVscGVyKTogTGlrZXdpc2UuCgkqIGxpbmsuY2MgKGZpbmRfZmllbGRfaGVscGVyKTogTmV3IG1ldGhvZC4KCShmaW5kX2ZpZWxkKTogTGlrZXdpc2UuCgkocmVzb2x2ZV9wb29sX2VudHJ5KTogVXNlIGl0LiAgVGhyb3cgTm9TdWNoRmllbGRFcnJvciB3aGVuIGZpZWxkCglub3QgZm91bmQuCgkobGlua19zeW1ib2xfdGFibGUpOiBVc2UgZmluZF9maWVsZC4KCjIwMDUtMDEtMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJUFIgbGliZ2NqLzE4MDE0CgkqIGphdmEvdXRpbC9Mb2NhbGUuamF2YSAoTG9jYWxlKTogRG9uJ3QgdXBwZXJjYXNlIHZhcmlhbnQuCgkoZ2V0SVNPQ291bnRyaWVzKTogRml4ZWQgdHlwbyBpbiBqYXZhZG9jLgoKMjAwNS0wMS0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhIChjaGVja1J1bGUpOgoJVGhyb3cgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIG9uIGludmFsaWQgbW9udGggdmFsdWVzLgoJKiBqYXZhL3V0aWwvVGltZVpvbmUuamF2YSAoc2V0SUQpOgoJVGhyb3cgTnVsbFBvaW50ZXJFeGNlcHRpb24gaWYgbmVlZGVkLgoKMjAwNS0wMS0xMCAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhIChnZXRPZmZzZXQpOgoJb2Zmc2V0IGVuZCBkYXRlIHdpdGggZGF5bGlnaHQgc2F2aW5ncwoKMjAwNS0wMS0xMCAgUmFuaml0IE1hdGhldyAgPHJtYXRoZXdAaG90bWFpbC5jb20+CgoJKiB0ZXN0c3VpdGUvbGliamF2YS5jb21waWxlL1BSMTkyNzcuamF2YTogTmV3IGZpbGUgZm9yIFBSIGphdmEvMTkyNzcuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmNvbXBpbGUvUFIxOTI3Ny54ZmFpbDogTGlrZXdpc2UuCgoyMDA1LTAxLTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCVBSIGxpYmdjai8xNzA2OQoJKiBqYXZhL25ldC9JbmV0QWRkcmVzcy5qYXZhIChnZXRMb2NhbEhvc3QpOgoJVGhyb3cgVW5rbm93bkhvc3RFeGNlcHRpb24gaWYgbG9jYWwgaG9zdG5hbWUgY2Fubm90IGJlIGRldGVybWluZWQuCgoyMDA1LTAxLTA2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YSAoZmluZENsYXNzKTogRml4ZWQgZG9jdW1lbnRhdGlvbi4KCjIwMDUtMDEtMDcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJUFIgbGliZ2NqLzE4MTE1CgkqIGphdmEvbmlvL0J1ZmZlci5qYXZhIChhZGRyZXNzKTogTmV3IGZpZWxkLgoJKiBqYXZhL25pby9EaXJlY3RCeXRlQnVmZmVySW1wbC5qYXZhIChhZGRyZXNzKTogUmVtb3ZlZC4KCSogamF2YS9uaW8vTWFwcGVkQnl0ZUJ1ZmZlckltcGwuamF2YSAoYWRkcmVzcyk6IExpa2V3aXNlLgoJKiBqYXZhL25pby9DaGFyVmlld0J1ZmZlckltcGwuamF2YSAoQ2hhclZpZXdCdWZmZXJJbXBsKToKCUV4cGxpY2l0bHkgaW5pdGlhbGl6ZSBCdWZmZXIuYWRkcmVzcyBpZiBuZWVkZWQuCgkqIGphdmEvbmlvL0RvdWJsZVZpZXdCdWZmZXJJbXBsLmphdmEgKERvdWJsZVZpZXdCdWZmZXJJbXBsKTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL0Zsb2F0Vmlld0J1ZmZlckltcGwuamF2YSAoRmxvYXRWaWV3QnVmZmVySW1wbCk6IExpa2V3aXNlLgoJKiBqYXZhL25pby9JbnRWaWV3QnVmZmVySW1wbC5qYXZhIChJbnRWaWV3QnVmZmVySW1wbCk6IExpa2V3aXNlLgoJKiBqYXZhL25pby9Mb25nVmlld0J1ZmZlckltcGwuamF2YSAoTG9uZ1ZpZXdCdWZmZXJJbXBsKTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL1Nob3J0Vmlld0J1ZmZlckltcGwuamF2YSAoU2hvcnRWaWV3QnVmZmVySW1wbCk6IExpa2V3aXNlLgoJKiBqbmkuY2MgKF9Kdl9KTklfR2V0RGlyZWN0QnVmZmVyQWRkcmVzcyk6IERvbid0IGFzc3VtZSBidWZmZXIgaXMgYQoJRGlyZWN0Qnl0ZUJ1ZmZlckltcGwgb2JqZWN0LgoJKF9Kdl9KTklfR2V0RGlyZWN0QnVmZmVyQ2FwYWNpdHkpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL2xpYmphdmEuam5pL2RpcmVjdGJ1ZmZlci5jLAoJdGVzdHN1aXRlL2xpYmphdmEuam5pL2RpcmVjdGJ1ZmZlci5qYXZhLAoJdGVzdHN1aXRlL2xpYmphdmEuam5pL2RpcmVjdGJ1ZmZlci5vdXQsCgl0ZXN0c3VpdGUvbGliamF2YS5qbmkvYnl0ZWJ1ZmZlci5jLAoJdGVzdHN1aXRlL2xpYmphdmEuam5pL2J5dGVidWZmZXIuamF2YSwKCXRlc3RzdWl0ZS9saWJqYXZhLmpuaS9ieXRlYnVmZmVyLm91dDogTmV3IGZpbGVzLgoKMjAwNS0wMS0wNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL3ppcC9aaXBFbnRyeS5qYXZhIChzZXRDb21wcmVzc2VkU2l6ZSk6IEFsbG93IGFueQoJYXJndW1lbnQuCgkoY29tcHJlc3NlZFNpemUpOiBOb3cgJ2xvbmcnLiAgRGVmYXVsdCB0byAtMS4KCShnZXRDb21wcmVzc2VkU2l6ZSk6IFJld3JvdGUuCgkqIGphdmEvdXRpbC96aXAvRGVmbGF0ZXJPdXRwdXRTdHJlYW0uamF2YSAoZGVmbGF0ZSk6IERvbid0CglkZWZsYXRlIGF0IGFsbCBpZiB3ZSBuZWVkIGlucHV0LgoKMjAwNS0wMS0wNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xNTcxOToKCSogaW50ZXJwcmV0LmNjIChydW4pIDxpbnNuX2RjbXBsLCBpbnNuX2RjbXBnPjogU2V0IHRtcHZhbAoJY29ycmVjdGx5LgoKMjAwNS0wMS0wNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL25hdFJ1bnRpbWUuY2MgKGluc2VydFN5c3RlbVByb3BlcnRpZXMpOiBTZXQKCWphdmEuZXh0LmRpcnMgZWFybGllci4KCjIwMDUtMDEtMDUgIEVyaWMgQm90Y2F6b3UgIDxlYm90Y2F6b3VAbGliZXJ0eXN1cmYuZnI+CgoJKiBqYXZhL2xhbmcvbmF0T2JqZWN0LmNjIChfSnZfT2JqZWN0Q2hlY2tNb25pdG9yKTogSW5pdGlhbGl6ZSB0aGUKCXN5bmNfaW5mbyBlbGVtZW50IG9mIHRoZSBvYmplY3QgaWYgbmVlZGVkLgoKMjAwNS0wMS0wMyAgRXJpYyBCb3RjYXpvdSAgPGVib3RjYXpvdUBsaWJlcnR5c3VyZi5mcj4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUHJvY2Vzc180LmphdmEgKFByb2Nlc3NfNCk6IEV4cGVjdCBvbmx5CglhIG5vbi16ZXJvIGV4aXQgc3RhdHVzIGZyb20gJ2ZhbHNlJy4KCjIwMDUtMDEtMDEgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYm9laG0tZ2MuaDogSW5jbHVkZSBnY19leHRfY29uZmlnLmgsIG5vdCBnY19jb25maWcuaC4KCjIwMDQtMTItMzEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHRlc3RzdWl0ZS9saWIvbGliamF2YS5leHAgKGxpYmphdmFfZmluZF9naWopOiBIYW5kbGUgbXVsdGlsaWJzLgoKMjAwNC0xMi0yMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL25hdENsYXNzTG9hZGVyLmNjIChfSnZfUmVnaXN0ZXJDbGFzc0hvb2tEZWZhdWx0KToKCVJlLWVuYWJsZSBkdXBsaWNhdGUgY2xhc3MgcmVnaXN0cmF0aW9uIGVycm9yLgoKCSogdGVzdHN1aXRlL2xpYmphdmEuamFyL2phci5leHAgKGdjal9qYXJfaW50ZXJwcmV0KTogVXBkYXRlZC4KCSogdGVzdHN1aXRlL2xpYmphdmEudmVyaWZ5L3ZlcmlmeS5leHAgKGdjal92ZXJpZnlfcnVuKTogVXBkYXRlZC4KCSogdGVzdHN1aXRlL2xpYmphdmEuam5pL2puaS5leHAgKGdjal9qbmlfdGVzdF9vbmUpOiBVcGRhdGVkLgoJKiB0ZXN0c3VpdGUvbGliL2xpYmphdmEuZXhwIChsaWJqYXZhX2ZpbmRfc3BlYyk6IERvbid0IHVzZQoJZ2V0X211bHRpbGlicy4KCShsaWJqYXZhX2ZpbmRfZ2lqKTogTGlrZXdpc2UuICBDaGFuZ2VkIHJldHVybiByZXN1bHQgaWYgZ2lqIG5vdAoJZm91bmQuCgkodGVzdF9saWJqYXZhX2Zyb21famF2YWMpOiBVcGRhdGVkLgoKCVBSIGphdmEvMTUwMDEKCSogdGVzdHN1aXRlL2xpYmphdmEuam5pL2lmYWNlLmM6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5qbmkvaWZhY2Uub3V0OiBOZXcgZmlsZS4KCSogdGVzdHN1aXRlL2xpYmphdmEuam5pL2lmYWNlLmphdmE6IE5ldyBmaWxlLgoKMjAwNC0xMi0xOSAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvY29uZmlnLmguaW46IFJlZ2VuZXJhdGUuCgoyMDA0LTEyLTEwICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCglQUiBqYXZhLzE1MDAxCgkqIGphdmEvbGFuZy9yZWZsZWN0L25hdE1ldGhvZC5jYyAoX0p2X0NhbGxBbnlNZXRob2RBKTogTG9vayB1cAoJYWJzdHJhY3QgbWV0aG9kcyBieSBuYW1lLgoKMjAwNC0xMi0wOCAgUmFuaml0IE1hdGhldyAgPHJtYXRoZXdAaG90bWFpbC5jb20+CgoJKiBqYXZhL3V0aWwvSWRlbnRpdHlIYXNoTWFwLmphdmEgKHB1dCk6IFJlcGxhY2UgbWlzdGFrZW4gdXNlCglvZiAiPDwiIGJ5ICIqIi4KCjIwMDQtMTItMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglGb3IgUFIgamF2YS8xNDg1MzoKCSogdGVzdHN1aXRlL2xpYmphdmEuY29tcGlsZS9QUjE0ODUzLmphdmE6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5jb21waWxlL1BSMTQ4NTMueGZhaWw6IE5ldyBmaWxlLgoKMjAwNC0xMi0wMyAgUmljaGFyZCBTYW5kaWZvcmQgIDxyc2FuZGlmb0ByZWRoYXQuY29tPgoKCVBSIGxpYmdjai83MzA1CgkqIGNvbmZpZ3VyZS5hYzogVXNlIFRMX0FDX0dYWF9JTkNMVURFX0RJUi4KCSogTWFrZWZpbGUuYW0gKGluc3RhbGwtZGF0YS1sb2NhbCk6IEluc3RhbGwgaGVhZGVycyBpbnRvCgkkKGd4eF9pbmNsdWRlX2RpcikgcmF0aGVyIHRoYW4gJChpbmNsdWRlZGlyKS4KCShBTV9NQUtFRkxBR1MpOiBQYXNzIGRvd24gZ3h4X2luY2x1ZGVfZGlyLgoJKiBnY2ovTWFrZWZpbGUuYW0gKGdjamRpcik6IFNldCB0byAkKGd4eF9pbmNsdWRlX2RpcikvZ2NqLgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtICh0b29sX2luY2x1ZGVfX0hFQURFUlMpOiBEZWZpbmUgdGhpcy4uLgoJKGluY2x1ZGVfSEVBREVSUyk6IC4uLmluc3RlYWQgb2YgdGhpcy4KCSogY29uZmlndXJlLCBhY2xvY2FsLm00LCBNYWtlZmlsZS5pbiwgZ2NqL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluLCB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA0LTEyLTAyICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJRm9yIFBSIGphdmEvMTY2NzU6CgkqIHRlc3RzdWl0ZS9saWJqYXZhLmNvbXBpbGUvUFIxNjY3NS5qYXZhOiBOZXcgZmlsZS4KCjIwMDQtMTItMDIgIFJpY2hhcmQgU2FuZGlmb3JkICA8cnNhbmRpZm9AcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzogVXNlIFRMX0FDX0dDQ19WRVJTSU9OIHRvIHNldCBnY2NfdmVyc2lvbi4KCSogY29uZmlndXJlLCBhY2xvY2FsLm00LCBNYWtlZmlsZS5pbiwgZ2NqL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluLCB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA0LTEyLTAxICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL25vLXRocmVhZHMuaCAoX0p2X1RocmVhZERlc3Ryb3lEYXRhKTogUmVtb3ZlZCBhcmd1bWVudAoJbmFtZS4KCShfSnZfVGhyZWFkUmVnaXN0ZXIpOiBMaWtld2lzZS4KCShfSnZfTXV0ZXhDaGVja01vbml0b3IpOiBMaWtld2lzZS4KCgkqIGxpbmsuY2M6IEluY2x1ZGUgbGltaXRzLmguCgoyMDA0LTEyLTAxICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzE4Njk5CgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUFIxODY5OS5qYXZhLAoJdGVzdHN1aXRlL2xpYmphdmEubGFuZy9QUjE4Njk5Lm91dDogTmV3IHRlc3QuCgoyMDA0LTExLTMwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MuamF2YSAoZHJhd0ltYWdlIHZhcmlhbnRzKToKCVVwZGF0ZSBpbWFnZSBvYnNlcnZlci4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSAoY3JlYXRlSW1hZ2UpOgoJU3RhcnQgaW1hZ2UgcHJvZHVjdGlvbi4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhIChzZXRNZW51QmFyKTogUHJvdGVjdAoJYWdhaW5zdCBuZWdhdGl2ZSBtZW51IGJhciB3aWR0aHMuCgkoc2V0Qm91bmRzKTogTGlrZXdpc2UuCgkocG9zdENvbmZpZ3VyZUV2ZW50KTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtJbWFnZS5qYXZhIChpbWFnZUNvbXBsZXRlKTogRG9uJ3QKCXJlbW92ZSBjb25zdW1lciB1bmxlc3Mgb25seSBhIHNpbmdsZSBmcmFtZSBoYXMgY29tcGxldGVkLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrSW1hZ2VQYWludGVyLmphdmEgKEd0a0ltYWdlUGFpbnRlcik6CglBZGQgb2JzZXJ2ZXIgcGFyYW1ldGVyLgoJKHNldFBpeGVscyk6IFVwZGF0ZSBpbWFnZSBvYnNlcnZlci4KCShpbWFnZUNvbXBsZXRlKTogTGlrZXdpc2UuCgkqIGphdmEvYXBwbGV0L0FwcGxldC5qYXZhICh3aWR0aCk6IE5ldyBmaWVsZC4KCShoZWlnaHQpOiBMaWtld2lzZS4KCShzZXRTdHViKTogU2V0IHNpemUgaWYgd2lkdGggb3IgaGVpZ2h0IGZpZWxkIGhhcyBiZWVuIHNldC4KCShyZXNpemUpOiBJZiBzdHViIGlzIG51bGwgc2F2ZSB3aWR0aCBhbmQgaGVpZ2h0IHZhbHVlcy4KCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEgKHJlc2hhcGUpOiBQcm90ZWN0IGFnYWluc3QgbnVsbAoJcGFyZW50LgoJKiBqYXZhL2F3dC9pbWFnZS9NZW1vcnlJbWFnZVNvdXJjZS5qYXZhCgkoTWVtb3J5SW1hZ2VTb3VyY2UoaW50LGludCxDb2xvck1vZGVsLGJ5dGVbXSxpbnQsaW50KSk6CglEb2N1bWVudC4KCShNZW1vcnlJbWFnZVNvdXJjZShpbnQsaW50LENvbG9yTW9kZWwsaW50W10saW50LGludCkpOgoJTGlrZXdpc2UuCgkoTWVtb3J5SW1hZ2VTb3VyY2UoaW50LGludCxDb2xvck1vZGVsLGJ5dGVbXSxpbnQsaW50LEhhc2h0YWJsZSkpOgoJUmVmZXJlbmNlIHBpeGVsIGFycmF5IGRpcmVjdGx5LCByYXRoZXIgdGhhbiBjcmVhdGluZyBhIGxvY2FsCgljb3B5LgoJKE1lbW9yeUltYWdlU291cmNlKGludCxpbnQsQ29sb3JNb2RlbCxpbnRbXSxpbnQsaW50LEhhc2h0YWJsZSkpOgoJTGlrZXdpc2UuCgkobmV3UGl4ZWxzKGludCxpbnQsaW50LGludCkpOiBGaXggZm9yIGxvb3AgYW5kIGFycmF5IGNvcHkKCWJvdW5kcy4KCShuZXdQaXhlbHMoaW50LGludCxpbnQsaW50LGJvb2xlYW4pKTogTGlrZXdpc2UuCgkoc3RhcnRQcm9kdWN0aW9uKTogSWYgYW5pbWF0ZWQgY2FsbCBpbWFnZUNvbXBsZXRlIHdpdGgKCVNJTkdMRUZSQU1FLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmM6IFVuY29tbWVudAoJZ2RrX2ZsdXNoIGxpbmVzLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlUGFpbnRlci5jCgkoZHJhd1BpeGVscyk6IFJldHVybiBpZiBnIGlzIG51bGwgb3IgZy0+ZHJhd2FibGUgaXMgbm90IGEgZ2RrCglkcmF3YWJsZS4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9EZWZhdWx0U2luZ2xlU2VsZWN0aW9uTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL0pQYXNzd29yZEZpZWxkLmphdmEsCglqYXZheC9zd2luZy90cmVlL0Fic3RyYWN0TGF5b3V0Q2FjaGUuamF2YToKCVJlZm9ybWF0dGVkIGFuZCBqYXZhZG9jcyBjbGVhbmVkIHVwLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhOgoJRml4ZWQgYXJndW1lbnQgbmFtZXMgdG8gbWF0Y2ggamF2YWRvY3MuCgkoc2V0Rm9udCk6IFJld3JpdHRlbiBzZXQgcHJvcGVydHkgZmlyc3QgYW5kIHRoZW4gZmlyZSBldmVudC4KCShzZXRMb2NhbGUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoc2V0RWRpdGFibGUpOiBMaWtld2lzZS4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvQnV0dG9uLmphdmEKCShBY2Nlc3NpYmxlQVdUQnV0dG9uLmdldEFjY2Vzc2libGVBY3Rpb25EZXNjcmlwdGlvbik6IEV4cGxhaW4gdGhlCglzb3VyY2Ugb2YgJ2NsaWNrJy4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvQ2hlY2tib3guamF2YTogUmVtb3ZlIHN0dWIgY29tbWVudHMuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L0J1dHRvbi5qYXZhCgkoQWNjZXNzaWJsZUFXVEJ1dHRvbi5nZXRBY2Nlc3NpYmxlQWN0aW9uRGVzY3JpcHRpb24pOiBSZXR1cm4KCSdjbGljaycuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvQ2FyZExheW91dC5qYXZhOgoJTWFkZSBzb21lIGNvbnN0YW50cyBzdGF0aWMuCgkoc2VyaWFsVmVyc2lvblVJRCk6IE1hZGUgcHJpdmF0ZS4KCShhZGRMYXlvdXRDb21wb25lbnQpOiBTaW1wbGlmaWVkIGNvZGUuCgkqIGphdmEvYXd0L2V2ZW50L0lucHV0RXZlbnQuamF2YQoJKGdldE1vZGlmaWVyc0V4KTogQWRkZWQgbWlzc2luZyBAcGFyYW0gdGFnLgoJKiBqYXZhL2F3dC9pbWFnZS9SR0JJbWFnZUZpbHRlci5qYXZhCgkoZmlsdGVyUkdCUGl4ZWxzKTogUmVmb3JtYXR0ZWQsIHJlbW92ZWQgd3JvbmcgQHBhcmFtIHRhZy4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90ZXh0L0ZpZWxkVmlldy5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhOgoJUmVtb3ZlZCBkZWJ1ZyBjb2RlLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0JvcmRlckZhY3RvcnkuamF2YQoJKEJvcmRlckZhY3RvcnkpOiBBZGRlZCBwcml2YXRlIGNvbnN0cnVjdG9yLgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhCgkoU3dpbmdVdGlsaXRpZXMpOiBMaWtld2lzZS4KCShjb21wdXRlU3RyaW5nV2lkdGgpOiBOZXcgbWV0aG9kLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L2NvbG9yL0lDQ19Qcm9maWxlLmphdmEKCShpY1NpZ05hbWVkQ29sb3JUYWcpOiBSZW1vdmVkLgoJKiBqYXZhL2F3dC9kYXRhdHJhbnNmZXIvRGF0YUZsYXZvci5qYXZhCgkoaXNNaW1lVHlwZUVxdWFsKTogTWFkZSBmaW5hbC4KCSogamF2YS9hd3QvaW1hZ2UvQWZmaW5lVHJhbnNmb3JtT3AuamF2YToKCVJld29ya2VkIGphdmFkb2NzLgoJKFRZUEVfQklDVUJJQyk6IEFkZGVkIEBzaW5jZSB0YWcuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L0NoZWNrYm94LmphdmEgKEFjY2Vzc2libGVBV1RDaGVja0JveCk6IFJlbW92ZSB0b2RvCgljb21tZW50cy4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvQ2hlY2tib3guamF2YSAoaXRlbVN0YXRlQ2hhbmdlZCk6IEltcGxlbWVudCBmdW5jdGlvbi4KCShnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEFkZCBBY2Nlc3NpYmxlQVdUQ2hlY2tCb3ggdG8gaXRlbSBsaXN0ZW5lcnMuCgoyMDA0LTExLTMwICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvYXd0L1BvbHlnb24uamF2YSAoY29udGFpbnMpOiBSZWltcGxlbWVudGVkLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L3ByaW50L1ByaW50ZXJKb2IuamF2YTogUmVmb3JtYXR0ZWQuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvaW1hZ2UvQWZmaW5lVHJhbnNmb3JtT3AuamF2YSwKCWphdmEvYXd0L2ltYWdlL0NvbG9yQ29udmVydE9wLmphdmEsCglqYXZhL2F3dC9pbWFnZS9Mb29rdXBPcC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvUmVzY2FsZU9wLmphdmE6CglBZGRlZCBmaW5hbCBrZXl3b3JkcyB3aGVyZSB0aGV5IGJlbG9uZy4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9DYXJkTGF5b3V0LmphdmEsCglqYXZhL2F3dC9Db21wb25lbnQuamF2YSwKCWphdmEvYXd0L0ZvbnQuamF2YSwKCWphdmEvYXd0L2ltYWdlL1NpbmdsZVBpeGVsUGFja2VkU2FtcGxlTW9kZWwuamF2YToKCUZpeGVkIGphdmFkb2NzIGFuZCBhcmd1bWVudCBuYW1lcyBhbGwgb3Zlci4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyU2hvcnQuamF2YTogRml4ZWQgZmlsZSBoZWFkZXIuCgkqIGphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJVU2hvcnQuamF2YTogTGlrZXdpc2UuCgkoRGF0YUJ1ZmZlclVTaG9ydCk6IFRocm93IE51bGxQb2ludGVyRXhjZXB0aW9uIGlmIGRhdGFBcnJheSBpcyBudWxsLgoKMjAwNC0xMS0zMCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL2F3dC9nZW9tL0FyYzJELmphdmEKCShzZXRBbmdsZVN0YXJ0KTogQ29ycmVjdGVkICh3cm9uZyBzaWduIG9uIGF0YW4yIHkgcGFyYW1ldGVyKS4KCShzZXRBbmdsZXMpOiBMaWtld2lzZS4KCShjb250YWluc0FuZ2xlKTogUmV0dXJuIGZhbHNlIG9uIHplcm8gZXh0ZW50LCBkb24ndCBpbmNsdWRlCglmaW5hbCBhbmdsZS4KCShjb250YWlucyk6IFRyZWF0IE9QRU4tdHlwZSBhcmNzIGxpa2UgQ0hPUkQgb25lcywgbm90IGFzIFBJRQoJb25lcy4KCjIwMDQtMTEtMzAgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9hd3QvZ2VvbS9BZmZpbmVUcmFuc2Zvcm0uamF2YSwKCShpbnZlcnNlVHJhbnNmb3JtKTogRml4ZWQgYnVnIGFuZCBzaW1wbGlmaWVkIGNvZGUuCgkoY3JlYXRlVHJhbnNmb3JtZWRTaGFwZSk6IFJldHVybiBudWxsIG9uIG51bGwgcGFyYW1ldGVyLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L2NvbG9yL0lDQ19Db2xvclNwYWNlLmphdmEsCglqYXZhL2F3dC9jb2xvci9JQ0NfUHJvZmlsZS5qYXZhLAoJamF2YS9hd3QvY29sb3IvSUNDX1Byb2ZpbGVHcmF5LmphdmEsCglqYXZhL2F3dC9jb2xvci9JQ0NfUHJvZmlsZVJHQi5qYXZhOgoJUmUtaW5kZW50IGNvcHlyaWdodCBoZWFkZXIgdG8gYmUgc3RhbmRhcmRpc2guCgkqIGphdmEvYXd0L2RhdGF0cmFuc2Zlci9TdHJpbmdTZWxlY3Rpb24uamF2YToKCVJlZm9ybWF0dGVkLgoJKiBqYXZhL2F3dC9nZW9tL0FyZWEuamF2YQoJKEVQU0lMT04pOiBNYWRlIHN0YXRpYy4KCShSU19FUFNJTE9OKTogTGlrZXdpc2UuCgkoUEVfRVBTSUxPTik6IExpa2V3aWRlLgoKMjAwNC0xMS0zMCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhOgoJKGNvbXB1dGVEaWZmZXJlbmNlKTogSW1wbGVtZW50ZWQKCShjb21wdXRlSW50ZXJzZWN0aW9uKTogTGlrZXdpc2UKCShjb21wdXRlVW5pb24pOiBMaWtld2lzZQoJKGlzUmVjdGFuZ2xlQ29udGFpbmluZ1JlY3RhbmdsZSk6IExpa2V3aXNlCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvQmFzaWNTdHJva2UuamF2YSwKCWphdmEvYXd0L0J1dHRvbi5qYXZhLAoJamF2YS9hd3QvQ2FudmFzLmphdmEsCglqYXZhL2F3dC9DaGVja2JveE1lbnVJdGVtLmphdmEsCglqYXZhL2F3dC9Db250YWluZXIuamF2YSwKCWphdmEvYXd0L0V2ZW50UXVldWUuamF2YSwKCWphdmEvYXd0L0ZpbGVEaWFsb2cuamF2YSwKCWphdmEvYXd0L0Zsb3dMYXlvdXQuamF2YSwKCWphdmEvYXd0L0ZvbnRNZXRyaWNzLmphdmEsCglqYXZhL2F3dC9HcmFwaGljcy5qYXZhLAoJamF2YS9hd3QvR3JpZExheW91dC5qYXZhLAoJamF2YS9hd3QvS2V5Ym9hcmRGb2N1c01hbmFnZXIuamF2YSwKCWphdmEvYXd0L0xhYmVsLmphdmEsCglqYXZhL2F3dC9MYXlvdXRNYW5hZ2VyMi5qYXZhLAoJamF2YS9hd3QvTGlzdC5qYXZhLAoJamF2YS9hd3QvTWVudUJhci5qYXZhLAoJamF2YS9hd3QvU2Nyb2xsYmFyLmphdmEsCglqYXZhL2F3dC9Ub29sa2l0LmphdmEsCglqYXZhL2F3dC9XaW5kb3cuamF2YSwKCWphdmEvYXd0L2RhdGF0cmFuc2Zlci9EYXRhRmxhdm9yLmphdmEsCglqYXZhL2F3dC9kYXRhdHJhbnNmZXIvRmxhdm9yVGFibGUuamF2YSwKCWphdmEvYXd0L2V2ZW50L0FjdGlvbkxpc3RlbmVyLmphdmEsCglqYXZhL2F3dC9ldmVudC9IaWVyYXJjaHlCb3VuZHNBZGFwdGVyLmphdmEsCglqYXZhL2F3dC9nZW9tL0FyYzJELmphdmEsCglqYXZhL2F3dC9nZW9tL1JlY3RhbmdsZTJELmphdmEsCglqYXZhL2F3dC9nZW9tL1JlY3Rhbmd1bGFyU2hhcGUuamF2YSwKCWphdmEvYXd0L2ltL3NwaS9JbnB1dE1ldGhvZC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvQnl0ZUxvb2t1cFRhYmxlLmphdmEsCglqYXZhL2F3dC9pbWFnZS9Db2xvck1vZGVsLmphdmEsCglqYXZhL2F3dC9pbWFnZS9EaXJlY3RDb2xvck1vZGVsLmphdmEsCglqYXZhL2F3dC9pbWFnZS9TaG9ydExvb2t1cFRhYmxlLmphdmEsCglqYXZhL2F3dC9wcmludC9Cb29rLmphdmE6CglGaXhlZCBqYXZhZG9jcyBhbmQgbWV0aG9kIGFyZ3VtZW50IG5hbWVzIGFsbCBvdmVyLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtGb250UGVlci5qYXZhCgkoYnVpbGRTdHJpbmcpOiBPcHRpbWlzZSBTdHJpbmcgYnVpbGRpbmcuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L1RleHRBcmVhLmphdmEgKEFjY2Vzc2libGVBV1RUZXh0QXJlYSwKCWdldEFjY2Vzc2libGVDb250ZXh0KTogSW1wbGVtZW50LgoJKiBqYXZhL2F3dC9UZXh0RmllbGQuamF2YSAoQWNjZXNzaWJsZUFXVFRleHRGaWVsZCwKCWdldEFjY2Vzc2libGVDb250ZXh0KTogSW1wbGVtZW50LgoKMjAwNC0xMS0zMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIE1ha2VmaWxlLmFtIChqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Njcm9sbEJhclBlZXIubG8pOgoJRml4ZWQgdHlwby4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvTWVudS5qYXZhIChBY2Nlc3NpYmxlQVdUTWVudSwgZ2V0QWNjZXNzaWJsZUNvbnRleHQpOgoJSW1wbGVtZW50LgoJKiBqYXZhL2F3dC9Qb3B1cE1lbnUuamF2YSAoQWNjZXNzaWJsZUFXVE1lbnUsIGdldEFjY2Vzc2libGVDb250ZXh0KToKCUltcGxlbWVudC4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvcHJpbnQvUHJpbnRlckpvYi5qYXZhIChsb29rdXBQcmludFNlcnZpY2VzLAoJZ2V0UHJpbnRTZXJ2aWNlLCBzZXRQcmludFNlcnZpY2UpOiBJbXBsZW1lbnQuCgkobG9va3VwU3RyZWFtUHJpbnRTZXJ2aWNlcyk6IEFkZCBjb21tZW50ZWQgb3V0IGltcGxlbWVudGF0aW9uLgoJKHByaW50ZXIpOiBOZXcgZmllbGQuCgoyMDA0LTExLTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhIChtb3VzZU1vdmVkKTogU2V0IGN1cnJlbnRDb21wb25lbnQKCXdoZW4gbm90IHlldCBzZXQuCgoyMDA0LTExLTMwICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvYXd0L2dlb20vR2VuZXJhbFBhdGguamF2YSAoZXZhbHVhdGVDcm9zc2luZ3MpOgoJRml4ZWQgZXBzaWxvbiB2YWx1ZSwgc2hvdWxkIGFsd2F5cyBiZSBub256ZXJvLgoKMjAwNC0xMS0zMCAgUGF1bCBKZW5uZXIgIDxwc2ouaG9tZUBudGx3b3JsZC5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9SYXN0ZXIuamF2YQoJKGNyZWF0ZVBhY2tlZFJhc3Rlcik6IEltcGxlbWVudGVkLgoKMjAwNC0xMS0zMCAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YToKCUxpc3RlbiB0byBmb2N1cyBldmVudHMsIGluZGljYXRlIGZvY3VzIHZpYSBjYXJldC4KCSogamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmEgKGdldFN0cmluZyk6IFJldHVybiBzdWJzdHJpbmcuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5Eb2N1bWVudC5qYXZhIChyZWluZGV4KTogTmV3IG1ldGhvZC4KCShjcmVhdGVEZWZhdWx0Um9vdCk6IENhbGwgaXQuCgkoaW5zZXJ0VXBkYXRlKTogTGlrZXdpc2UuCgkocmVtb3ZlVXBkYXRlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmEgKGRyYXdUYWJiZWRUZXh0KTogQWx3YXlzIGFkdmFuY2UKCW9uIHRhYiBhbmQgbmV3bGluZSwgZXZlbiBpZiBubyBwYWludGluZyBoYXBwZW5zLgoKMjAwNC0xMS0zMCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IExpc3QgcGVlciBKTkkgaGVhZGVyOiBKYXZhIHNvdXJjZSBmaWxlCglkZXBlbmRlbmNpZXMgZXhwbGljaXRseS4gIExpa2V3aXNlIGZvciBKTkkgLmxvOiBKTkkgaGVhZGVyCglkZXBlbmRlbmNpZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNC0xMS0zMCAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBBZGQgZW50cnkgZm9yIEJhc2ljVGV4dFBhbmVVSS5qYXZhCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhCgkoR2RrR3JhcGhpY3MyRCk6IFNldCBjbGlwIGFmdGVyIHRyYW5zZm9ybS4KCShkcmF3SW1hZ2UpOiBQcm90ZWN0IGFnYWluc3QgbnVsbCBpbWFnZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhCgkoc2V0SWNvbkltYWdlKTogUHJvdGVjdCBhZ2FpbnN0IG5vbi1HdGtJbWFnZSBhcmdzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhCgkoY2hlY2tJbWFnZSk6IFByb3RlY3QgYWdhaW5zdCBub24tR3RrSW1hZ2UgYXJncy4KCSogamF2YS9hd3QvcHJpbnQvUHJpbnRlckpvYi5qYXZhOgoJKHByaW50KTogQWRkIHZhcmlhbnQgdGFraW5nIFByaW50UmVxdWVzdEF0dHJpYnV0ZVNldC4KCShwcmludERpYWxvZyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6CgkodHJhbnNmZXJIYW5kbGVyKTogTmV3IGZpZWxkLgoJKGdldENvbXBvbmVudEdyYXBoaWNzKTogQnVpbGQgbmV3IEdyYXBoaWNzIGZvciBlYWNoIHN1Yi1wYWludC4KCShnZXRUcmFuc2ZlckhhbmRsZXIpOiBOZXcgbWV0aG9kLgoJKHNldFRyYW5zZmVySGFuZGxlcik6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL0pEZXNrdG9wUGFuZS5qYXZhCgkoc2V0RHJhZ01vZGUpOiBGb3JjZSBMSVZFX0RSQUdfTU9ERS4KCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmEKCShtZW51U2VsZWN0aW9uQ2hhbmdlZCk6IFByb3RlY3QgYWdhaW5zdCBudWxsIHBhcmVudC4KCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEgKHNldERlZmF1bHRSZW5kZXJlcik6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmE6IEdldCBiYXNpYyBjdG9ycyBhbmQgVUkgd29ya2luZy4KCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmEgKEpWaWV3cG9ydCk6IFNldCBzY3JvbGwgbW9kZS4KCSogamF2YXgvc3dpbmcvUmVwYWludE1hbmFnZXIuamF2YQoJKGFkZERpcnR5UmVnaW9uKTogU2tpcCBlbXB0eSByZWdpb25zLgoJKiBqYXZheC9zd2luZy9TY3JvbGxQYW5lTGF5b3V0LmphdmEgKG1pbmltdW1MYXlvdXRTaXplKTogRG8gbm90Cglib3VuZCBzY3JvbGxwYW5lIG1pbmltdW0gYnkgY2VudHJhbCB2aWV3IG1pbmltdW0uCgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmEKCShzaG93VGlwKTogR3VhcmQgYWdhaW5zdCBudWxsIGNvbXBvbmVudC4KCSogamF2YXgvc3dpbmcvVHJhbnNmZXJIYW5kbGVyLmphdmE6IFN0dWIgb3V0LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCUFkZCBlbnRyeSBmb3IgVGV4dFBhbmVVSSwgY2hhbmdlIFRyZWUgaWNvbnMgdG8gcG5ncy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YToKCShpbnN0YWxsRGVmYXVsdHMpOiBTZXQgdGV4dCBwb3NpdGlvbiBhbmQgYWxpZ25tZW50LgoJKHBhaW50TWVudUl0ZW0pOiBMYXlvdXQgaWNvbiB3aXRoIG5vcm1hbCBjb21wb3VuZCBmdW5jdGlvbi4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlSGVhZGVyVUkuamF2YToKCShnZXRNYXhpbXVtU2l6ZSk6IERlbGV0ZS4KCShnZXRNaW5pbXVtU2l6ZSk6IERlbGV0ZS4KCShnZXRQcmVmZXJyZWRTaXplKTogVXNlIGNvbHVtbiBtb2RlbCdzIHRvdGFsIHdpZHRoLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFBhbmVVSS5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkobW9kZWxDaGFuZ2VkKTogTWFrZSByZXNpbGllbnQgYWdhaW5zdCBudWxscy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RyZWVVSS5qYXZhOgoJQWRkIHNvbWUgc2ltcGxpc3RpYyBjb25maWcgLyBwYWludGluZyBmdW5jdGlvbnMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNWaWV3cG9ydFVJLmphdmEKCShwYWludFNpbXBsZSk6IEFkZCBuZXcgbm9uLWJhY2tpbmdzdG9yZSBwYWludCBtb2RlLgoJKHBhaW50QmFja2luZ1N0b3JlKTogU3BsaXQgb3V0IGJhY2tpbmcgc3RvcmUgY29kZS4KCShwYWludCk6IFN3aXRjaCBvbiBwYWludGluZyBtb2RlLgoJKiBqYXZheC9zd2luZy90ZXh0L1NpbXBsZUF0dHJpYnV0ZVNldC5qYXZhCgkoU2ltcGxlQXR0cmlidXRlU2V0KTogUmVzaXN0IG51bGxzLgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbFJlbmRlcmVyLmphdmE6IEltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZU1vZGVsLmphdmE6IFBhcnRpYWxseSBpbXBsZW1lbnQuCgoyMDA0LTExLTMwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRQZWVyLmMgKHNldEZvbnQpOgoJU2V0IHBhbmdvIGNvbnRleHQncyBkZXNjcmlwdGlvbiBhbmQgbGFuZ3VhZ2UuCgoyMDA0LTExLTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2F3dC9pbWFnZS9Mb29rdXBPcC5qYXZhOiBDb21tZW50cyBhbmQgaW5kZW50YXRpb24gZml4ZXMuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L0NoZWNrYm94LmphdmEgKEFjY2Vzc2libGVBV1RDaGVja0JveCk6IEltcGxlbWVudC4KCShnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEltcGxlbWVudC4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvVGV4dENvbXBvbmVudC5qYXZhIChBY2Nlc3NpYmxlQVdUVGV4dENvbXBvbmVudCk6CglJbXBsZW1lbnQuCgkoZ2V0SW5kZXhBdFBvaW50LCBnZXRDaGFyYWN0ZXJCb3VuZHMpOiBOZXcgbWV0aG9kcy4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvQnV0dG9uLmphdmEgKEFjY2Vzc2libGVBV1RCdXR0b24pOiBJbXBsZW1lbnQuCgoyMDA0LTExLTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dQZWVyLmMKCShmaWxlbmFtZUZpbHRlckNhbGxiYWNrKTogTWFkZSBzdGF0aWMuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmMKCShjYWlyb1Nob3dHbHlwaHMpIFJlbW92ZWQuCgoyMDA0LTExLTMwICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogZ251L2phdmEvYXd0L2NvbG9yL1JnYlByb2ZpbGVDb252ZXJ0ZXIuamF2YSAoUmdiUHJvZmlsZUNvbnZlcnRlcik6CglEb24ndCBpbnZlcnQgbWF0cml4IHdoZW4gcmV2ZXJzZSBDTFVUIGlzIGF2YWlsYWJsZS4KCSogZ251L2phdmEvYXd0L2NvbG9yL0xpbmVhclJHQkNvbnZlcnRlci5qYXZhOiBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KCSogamF2YS9hd3QvY29sb3IvSUNDX0NvbG9yU3BhY2UuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L2NvbG9yL0lDQ19Qcm9maWxlLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9jb2xvci9JQ0NfUHJvZmlsZUdyYXkuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L2NvbG9yL0lDQ19Qcm9maWxlUkdCLmphdmE6IExpa2V3aXNlLgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9NZW51SXRlbS5qYXZhIChBY2Nlc3NpYmxlQVdUTWVudUl0ZW0pOiBJbXBsZW1lbnQuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L0Nob2ljZS5qYXZhIChBY2Nlc3NpYmxlQVdUQ2hvaWNlKTogSW1wbGVtZW50LgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9CYW5kZWRTYW1wbGVNb2RlbC5qYXZhIChzY2FubGluZVN0cmlkZSk6IFJlbW92ZQoJZmllbGQgaGlkaW5nIENvbXBvbmVudFNhbXBsZU1vZGVsLnNjYW5saW5lU3RyaWRlLgoKMjAwNC0xMS0zMCAgTm9hIFJlc2FyZSAgPG5vYUByZXNhcmUuY29tPgoKCSogamF2YS9hd3QvZ2VvbS9HZW5lcmFsUGF0aC5qYXZhIChjdXJyZW50U2VnbWVudCk6CglGaXggdHlwbyBpbiB0cmFuc2Zvcm0udHJhbnNmb3JtKCkgaW52b2NhdGlvbi4KCjIwMDQtMTEtMzAgIFN2ZW4gZGUgTWFyb3RoeSA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhCgkoY3JlYXRlSW1hZ2UpOiBDcmVhdGVkIGJpdG1hcCBzaG91bGQgYmUgZmlsbGVkIHdpdGggYmcgY29sb3IKCjIwMDQtMTEtMzAgIE5vYSBSZXNhcmUgIDxub2FAcmVzYXJlLmNvbT4KCgkqIGphdmEvYXd0L0Nob2ljZS5qYXZhIChhZGQpOgoJSW1wbGVtZW50IGNvcnJlY3Qgc2VsZWN0aW9uIGJlaGF2aW9yIHdoZW4gcGVlciA9PSBudWxsLgoJKGluc2VydCk6IExpa2V3aXNlLgoJKHJlbW92ZSk6IExpa2V3aXNlLgoKMjAwNC0xMS0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0Nob2ljZVBlZXIuamF2YSAoR3RrQ2hvaWNlUGVlcik6CglDYWxsIHNlbGVjdCgpIHdoZW4gQ2hvaWNlIGhhcyBhIHNlbGVjdGVkIGl0ZW0uCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxhZGRyZXNzQGJvZ3VzLmV4YW1wbGUuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HVGhyZWFkTmF0aXZlTWV0aG9kUnVubmVyLmMsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRNZXRyaWNzLmMsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRQZWVyLmMsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dseXBoVmVjdG9yLmMsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuYywKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3NFbnZpcm9ubWVudC5jLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyLmMsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1RleHRMYXlvdXQuYywKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2FudmFzUGVlci5jLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaGVja2JveEdyb3VwUGVlci5jLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0dlbmVyaWNQZWVyLmMsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlUGFpbnRlci5jLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51QmFyUGVlci5jLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51SXRlbVBlZXIuYywKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWVudVBlZXIuYywKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrUG9wdXBNZW51UGVlci5jOgoJRml4ZWQgbWV0aG9kIG5hbWVzIHRvIHN0YXJ0IGF0IGJlZ2luIG9mIGxpbmUuIFRoaXMgaXMgZGVzaXJlZCBieSBHTlUKCWNvZGluZyBzdHlsZSBndWlkZS4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhCgkoZ3RrV2lkZ2V0U2V0VmlzaWJsZSk6IFVudXNlZC4gUmVtb3ZlZC4KCShjb25uZWN0Sk9iamVjdCk6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrU2Nyb2xsUGFuZVBlZXIuamF2YQoJKGd0a1Njcm9sbGVkV2luZG93U2V0U2Nyb2xsUG9zaXRpb24pOiBDb21tZW50ZWQgb3V0LgoKMjAwNC0xMS0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrVGV4dExheW91dC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrVGV4dExheW91dF9zZXRUZXh0KTogSW5zdGFsbGVkIGFuZAoJcmVuYW1lZCBmcm9tIEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dseXBoVmVjdG9yX3NldFRleHQuCgoyMDA0LTExLTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtUZXh0TGF5b3V0LmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHbHlwaFZlY3Rvcl9zZXRUZXh0KTogUmVtb3ZlZC4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWFpblRocmVhZC5jCgkoaW5pdF9kcGlfY29udmVyc2lvbl9mYWN0b3IpOiBDb3JyZWN0IHByb3RvdHlwZS4KCjIwMDQtMTEtMzAgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9hd3QvaW1hZ2UvQ29udm9sdmVPcC5qYXZhOiBBZGRlZCBtaXNzaW5nCgljb3B5cmlnaHQgbm90aWNlLgoKMjAwNC0xMS0zMCAgUm9iZXJ0IFNjaHVzdGVyICA8dGhlQm9oZW1pYW5AZ214Lm5ldD4KCglGaXhlcyBidWcgIzEwOTA4CgkqIGdudS9qYXZhL2JlYW5zL0ludHJvc3BlY3Rpb25JbmN1YmF0b3IuamF2YToKCShhZGRNZXRob2QpOiBzdGF0aWMgbWV0aG9kcyBhcmUgZGlzY2FyZGVkIG5vdywgdG9vLgoKMjAwNC0xMS0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogTWFrZWZpbGUuYW0gKGF3dF9qYXZhX3NvdXJjZV9maWxlcyk6IEFkZCBuZXcgZ251L2phdmEvYXd0L2NvbG9yCglqYXZhIHNvdXJjZSBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0xMS0zMCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBnbnUvamF2YS9hd3QvY29sb3IvQ2llWHl6Q29udmVydGVyLmphdmEsCglnbnUvamF2YS9hd3QvY29sb3IvR3JheVNjYWxlQ29udmVydGVyLmphdmEsCglnbnUvamF2YS9hd3QvY29sb3IvU3JnYkNvbnZlcnRlci5qYXZhLAoJZ251L2phdmEvYXd0L2NvbG9yL0NsdXRQcm9maWxlQ29udmVydGVyLmphdmEsCglnbnUvamF2YS9hd3QvY29sb3IvTGluZWFyUkdCQ29udmVydGVyLmphdmEsCglnbnUvamF2YS9hd3QvY29sb3IvVGFnRW50cnkuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9Db2xvckxvb2tVcFRhYmxlLmphdmEsCglnbnUvamF2YS9hd3QvY29sb3IvUHJvZmlsZUhlYWRlci5qYXZhLAoJZ251L2phdmEvYXd0L2NvbG9yL1RvbmVSZXByb2R1Y3Rpb25DdXJ2ZS5qYXZhLAoJZ251L2phdmEvYXd0L2NvbG9yL0NvbG9yU3BhY2VDb252ZXJ0ZXIuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9QeWNjQ29udmVydGVyLmphdmEsCglnbnUvamF2YS9hd3QvY29sb3IvR3JheVByb2ZpbGVDb252ZXJ0ZXIuamF2YSwKCWdudS9qYXZhL2F3dC9jb2xvci9SZ2JQcm9maWxlQ29udmVydGVyLmphdmE6CglOZXcgZmlsZXMuCgkqIGphdmEvYXd0L2NvbG9yL0lDQ19Db2xvclNwYWNlLmphdmEsCglqYXZhL2F3dC9jb2xvci9JQ0NfUHJvZmlsZS5qYXZhLAoJamF2YS9hd3QvY29sb3IvSUNDX1Byb2ZpbGVHcmF5LmphdmEsCglqYXZhL2F3dC9jb2xvci9JQ0NfUHJvZmlsZVJHQi5qYXZhOgoJSW1wbGVtZW50ZWQgKHNhbnMgUGhvdG9ZQ0MgY29sb3Igc3BhY2UpLgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9BZmZpbmVUcmFuc2Zvcm1PcC5qYXZhIChmaWx0ZXIpOiAgSW1wbGVtZW50CgliaWxpbmVhciBpbnRlcnBvbGF0aW9uIGZvciBSYXN0ZXJzLgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9JbmRleENvbG9yTW9kZWwuamF2YSAoSW5kZXhDb2xvck1vZGVsKTogQWN0dWFsbHkKCXVzZSB0aGUgcHJvdmlkZWQgY29sb3JtYXAuICBUaHJvdyBkb2N1bWVudGVkIGV4Y2VwdGlvbnMuICBEb2N1bWVudAoJZXhjZXB0aW9ucy4KCjIwMDQtMTEtMzAgIFBhdWwgSmVubmVyICA8cHNqLmhvbWVAbnRsd29ybGQuY29tPgoKCSogamF2YS9hd3QvaW1hZ2UvSW5kZXhDb2xvck1vZGVsLmphdmEgKEluZGV4Q29sb3JNb2RlbCk6IEZpeAoJY29uc3RydWN0b3IuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL0FmZmluZVRyYW5zZm9ybU9wLmphdmE6IEFkZCBUWVBFX0JJQ1VCSUMuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL0FmZmluZVRyYW5zZm9ybU9wLmphdmEgKGZpbHRlcik6IEltcGxlbWVudCBSYXN0ZXIKCWZpbHRlcmluZy4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvQ29tcG9uZW50U2FtcGxlTW9kZWwuamF2YSAoZ2V0RGF0YUVsZW1lbnRzLAoJc2V0RGF0YUVsZW1lbnRzKTogSW1wbGVtZW50IFNIT1JULCBGTE9BVCwgYW5kIElOVCB0cmFuc2ZlciB0eXBlcy4KCjIwMDQtMTEtMzAgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0ZvbnQuamF2YSAobmFtZSk6IE5ldyBmaWVsZC4KCShzaXplKTogTGlrZXdpc2UuCgkoc3R5bGUpOiBMaWtld2lzZS4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvUmFzdGVyLmphdmEgKGNyZWF0ZUJhbmRlZFJhc3Rlcik6IEltcGxlbWVudC4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvQ29udm9sdmVPcC5qYXZhOiBOZXcgY2xhc3MuCgkqIE1ha2VmaWxlLmFtOiBBZGQgQ29udm9sdmVPcC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL1Jlc2NhbGVPcC5qYXZhIChCYW5kQ29tYmluZU9wLCBDb2xvckNvbnZlcnRPcCwKCUxvb2t1cE9wLCBSZXNjYWxlT3ApOiBGaXggbG9vcCBib3VuZHMuCgoyMDA0LTExLTMwICBqbHF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogTWFrZWZpbGUuYW06IEZpeCB0eXBvIGluIEJhbmRDb21iaW5lT3AuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9CYW5kQ29tYmluZU9wLmphdmE6IE5ldyBjbGFzcy4KCSogTWFrZWZpbGUuYW06IEFkZCBCYW5kQ29tYmluZU9wLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvTG9va3VwT3AuamF2YTogTmV3IGNsYXNzLgoJKiBNYWtlZmlsZS5hbTogQWRkIExvb2t1cE9wLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvU2FtcGxlTW9kZWwuamF2YSAoY3JlYXRlU3Vic2V0U2FtcGxlTW9kZWwpOiBBZGQKCWphdmFkb2NzLgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9Db2xvck1vZGVsLmphdmEgKGNsb25lQ29sb3JNb2RlbCk6IEZpeCBsaW5lCgl3cmFwLiAgVXNlIEJvb2xlYW4udmFsdWVPZi4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhCgkocmVsZWFzZVBlZXJHcmFwaGljc1Jlc291cmNlKTogRml4ZWQgdHlwbyBpbiBtZXRob2QgbmFtZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRQZWVyLmphdmEKCShmaW5hbGl6ZSk6IEZpeGVkIHR5cG8gaW4gcmVsZWFzZVBlZXJHcmFwaGljc1Jlc291cmNlLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L2ZvbnQvVGV4dEF0dHJpYnV0ZS5qYXZhCgkoUlVOX0RJUkVDVElPTl9MVFIpOiBJbml0aWFsaWUgd2l0aCBzdGF0aWMgdmFsdWUgaW5zdGVhZCBvZgoJY2FsY3VsYXRpbmcgaXQuCgkoUlVOX0RJUkVDVElPTl9SVEwpOiBMaWtld2lzZS4KCShTVFJJS0VUSFJPVUdIX09OKTogTGlrZXdpc2UuCgkoU1dBUF9DT0xPUlNfT04pOiBMaWtld2lzZS4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvQ29sb3JDb252ZXJ0T3AuamF2YTogTmV3IGNsYXNzLgoJKiBqYXZhL2F3dC9pbWFnZS9Db2xvck1vZGVsLmphdmEgKGNsb25lQ29sb3JNb2RlbCk6IE5ldyBtZXRob2QuCgkqIE1ha2VmaWxlLmFtOiBBZGQgQ29sb3JDb252ZXJ0T3AuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNC0xMS0zMCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvRGVmYXVsdEtleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmEgKGRpc3BhdGNoRXZlbnQpOgoJVHJhY2sgV2luZG93IGZvY3VzIG93bmVyIG9uIEZPQ1VTX0dBSU5FRCBldmVudHMuCgoyMDA0LTExLTMwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZyYW1lUGVlci5jCgkobmF0aXZlU2V0SWNvbkltYWdlKTogUmVuYW1lIHRvIG5hdGl2ZVNldEljb25JbWFnZUZyb21EZWNvZGVyLgoKMjAwNC0xMS0zMCAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HVGhyZWFkTmF0aXZlTWV0aG9kUnVubmVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HVGhyZWFkTmF0aXZlTWV0aG9kUnVubmVyX25hdGl2ZVJ1bik6CglGaXggcG9pbnRlciB3YXJuaW5nLgoKMjAwNC0xMS0zMCAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ1BlZXJfbmF0aXZlU2V0RmlsZW5hbWVGaWx0ZXIpOgoJRml4IHBvaW50ZXIgd2FybmluZy4KCgkqIGpuaS9ndGstcGVlci9ndGtwZWVyLmg6IEludHJvZHVjZSB3aWRnZXRfdW5pb24gdG8gZml4IHR5cGUgcHVubmVkCgl3YXJuaW5ncy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3NfY2xlYXJSZWN0KTogVXNlIHdpZGdldF91bmlvbgoJdG8gZml4IHR5cGUgcHVubmVkIHBvaW50ZXIgd2FybmluZy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYyAocHJlX2V2ZW50X2hhbmRsZXIpOgoJTGlrZXdpc2UuCgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHdpbmRvd19nZXRfbmV3X3N0YXRlKTogSW50cm9kdWNlIHVuaW9ucyB0byBmaXggd2FybmluZ3MgYXMgYWJvdmUuCgkod2luZG93X3Byb3BlcnR5X2NoYW5nZWRfY2IpOiBMaWtld2lzZS4KCSh3aW5kb3dfYWN0aXZlX3N0YXRlX2NoYW5nZV9jYik6IE1hcmsgdW51c2VkIHZhcmlhYmxlcyB1bnVzZWQuCgkod2luZG93X2ZvY3VzX3N0YXRlX2NoYW5nZV9jYik6IExpa2V3aXNlLgoJKHdpbmRvd19mb2N1c19pbl9jYik6IExpa2V3aXNlLgoJKHdpbmRvd19mb2N1c19vdXRfY2IpOiBMaWtld2lzZS4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udFBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRQZWVyX3NldEZvbnQpOiBDb252ZXJ0CglQYW5nb0ZvbnRNYXAgY29ycmVjdGx5IHdpdGggUEFOR09fRlQyRk9OVF9NQVAgbWFjcm8uCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSk1lbnVCYXIuamF2YQoJKHVwZGF0ZVVJKTogU2ltcGxpZmllZC4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZVNlbGVjdGlvbk1vZGVsLmphdmE6CglSZW9yZ2FuaXplZCBpbXBvcnQgc3RhdGVtZW50cy4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9mb250L1RleHRBdHRyaWJ1dGUuamF2YSwKCWphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YSwKCWphdmF4L3N3aW5nL0pJbnRlcm5hbEZyYW1lLmphdmEsCglqYXZheC9zd2luZy90YWJsZS9UYWJsZUNvbHVtbi5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9TdHlsZUNvbnN0YW50cy5qYXZhOgoJUmVwbGFjZWQgIm5ldyBCb29sZWFuKGJvb2xlYW4pIiB3aXRoICJCb29sZWFuLnZhbHVlT2YoYm9vbGVhbikiLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVDZWxsRWRpdG9yLmphdmEsCglqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVTZWxlY3Rpb25Nb2RlbC5qYXZhOgoJSmFsb3BpZWQuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxFZGl0b3IuamF2YQoJKEVkaXRvckNvbnRhaW5lci5FZGl0b3JDb250YWluZXIpOiBGaXhlZCBhcmd1bWVudHMuCgkoRWRpdG9yQ29udGFpbmVyLkVkaXRvckNvbnRhaW5lcik6IE5ldyBtZXRob2QuCgkoRGVmYXVsdFRleHRGaWVsZC5EZWZhdWx0VGV4dEZpZWxkKTogRml4ZWQgYXJndW1lbnRzLCBpbXBsZW1lbnRlZC4KCShEZWZhdWx0VGV4dEZpZWxkLmdldEJvcmRlcik6IEltcGxlbWVudGVkLgoJKGxpc3RlbmVyTGlzdCk6IE5ldyBmaWVsZC4KCShhZGRDZWxsRWRpdG9yTGlzdGVuZXIpOiBJbXBsZW1lbnRlZC4KCShyZW1vdmVDZWxsRWRpdG9yTGlzdGVuZXIpOiBJbXBsZW1lbnRlZC4KCShnZXRDZWxsRWRpdG9yTGlzdGVuZXJzKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZU1vZGVsLmphdmEKCShhZGRUcmVlTW9kZWxMaXN0ZW5lcik6IEZpeGVkIGphdmFkb2MuCgkocmVtb3ZlVHJlZU1vZGVsTGlzdGVuZXIpOiBMaWtld2lzZS4KCShnZXRUcmVlTW9kZWxMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKGZpcmVUcmVlTm9kZXNDaGFuZ2VkKTogSW1wbGVtZW50ZWQuCgkoZmlyZVRyZWVOb2Rlc0luc2VydGVkKTogTGlrZXdpc2UuCgkoZmlyZVRyZWVOb2Rlc1JlbW92ZWQpOiBMaWtld2lzZS4KCShmaXJlVHJlZVN0cnVjdHVyZUNoYW5nZWQpOiBMaWtld2lzZS4KCShnZXRMaXN0ZW5lcnMpOiBGaXhlZCBqYXZhZG9jLgoJKiBqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlU2VsZWN0aW9uTW9kZWwuamF2YQoJKGFkZFRyZWVTZWxlY3Rpb25MaXN0ZW5lcik6IEltcGxlbWVudGVkLgoJKHJlbW92ZVRyZWVTZWxlY3Rpb25MaXN0ZW5lcik6IExpa2V3aXNlLgoJKGZpcmVWYWx1ZUNoYW5nZWQpOiBMaWtld2lzZS4KCShnZXRMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCShhZGRQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyKTogTGlrZXdpc2UuCgkocmVtb3ZlUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGdldFRyZWVTZWxlY3Rpb25MaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKGdldFByb3BlcnR5Q2hhbmdlTGlzdGVuZXJzKTogTGlrZXdpc2UuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEKCShtYXhpbXVtVGh1bWJTaXplKTogUmVtb3ZlZCBzdGF0aWMga2V5d29yZC4KCShtaW5pbXVtVGh1bWJTaXplKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJbnRlcm5hbEZyYW1lVGl0bGVQYW5lLmphdmEKCShDbG9zZUFjdGlvbik6IE1hZGUgcHVibGljLgoJKEljb25pZnlBY3Rpb24pOiBMaWtld2lzZS4KCShNYXhpbWl6ZUFjdGlvbik6IExpa2V3aXNlLgoJKE1vdmVBY3Rpb24pOiBMaWtld2lzZS4KCShSZXN0b3JlQWN0aW9uKTogTGlrZXdpc2UuCgkoU2l6ZUFjdGlvbik6IExpa2V3aXNlLgoJKFN5c3RlbU1lbnVCYXIpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEKCShUcmFja0xpc3RlbmVyKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhCgkoS2V5Ym9hcmREb3duUmlnaHRIYW5kbGVyKTogTGlrZXdpc2UuCgkoS2V5Ym9hcmRFbmRIYW5kbGVyKTogTGlrZXdpc2UuCgkoS2V5Ym9hcmRIb21lSGFuZGxlcik6IExpa2V3aXNlLgoJKEtleWJvYXJkUmVzaXplVG9nZ2xlSGFuZGxlcik6IExpa2V3aXNlLgoJKEtleWJvYXJkVXBMZWZ0SGFuZGxlcik6IExpa2V3aXNlLgoJKFByb3BlcnR5SGFuZGxlcik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFiYmVkUGFuZVVJLmphdmEKCShQcm9wZXJ0eUNoYW5nZUhhbmRsZXIpOiBMaWtld2lzZS4KCShUYWJTZWxlY3Rpb25IYW5kbGVyKTogTGlrZXdpc2UuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoZ2V0S2V5bWFwKTogTWFkZSBwdWJsaWMuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkVkaXRvclBhbmUuamF2YQoJKGdldFN0cmVhbSk6IFRocm93cyBJT0V4Y2VwdGlvbi4KCShyZWFkKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhCgkoY3JlYXRlQ29udGVudFBhbmUpOiBGaXhlZCByZXR1cm4gdHlwZS4KCSogamF2YXgvc3dpbmcvSlNwaW5uZXIuamF2YQoJKGNvbW1pdEVkaXQpOiBUaHJvd3MgUGFyc2VFeGNlcHRpb24uCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBmaWVsZC4KCSogamF2YXgvc3dpbmcvdGFibGUvVGFibGVDb2x1bW4uamF2YQoJKHJlc2l6ZWRQb3N0aW5nRGlzYWJsZUNvdW50KTogQWRkZWQgQGRlcHJlY2F0ZWQgdGFnLgoJKGRpc2FibGVSZXNpemVkUG9zdGluZyk6IExpa2V3aXNlLgoJKGVuYWJsZVJlc2l6ZWRQb3N0aW5nKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvRG9jdW1lbnQuamF2YQoJKFRpdGxlUHJvcGVydHkpOiBGaXhlZCB2YWx1ZS4KCSogamF2YXgvc3dpbmcvdHJlZS9UcmVlQ2VsbEVkaXRvci5qYXZhCgkoVHJlZUNlbGxFZGl0b3IpOiBFeHRlbmRzIENlbGxFZGl0b3IuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSldpbmRvdy5qYXZhCglqYXZheC9zd2luZy9TcGlubmVyTW9kZWwuamF2YQoJamF2YXgvc3dpbmcvVGltZXIuamF2YQoJamF2YXgvc3dpbmcvZXZlbnQvTWVudUtleUV2ZW50LmphdmEKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25VSS5qYXZhCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSWNvbkZhY3RvcnkuamF2YQoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmJlZFBhbmVVSS5qYXZhCglqYXZheC9zd2luZy90ZXh0L0F0dHJpYnV0ZVNldC5qYXZhCglqYXZheC9zd2luZy90ZXh0L0hpZ2hsaWdodGVyLmphdmEKCWphdmF4L3N3aW5nL3RleHQvU3R5bGVDb25zdGFudHMuamF2YQoJamF2YXgvc3dpbmcvdHJlZS9UcmVlQ2VsbEVkaXRvci5qYXZhOgoJUmVtb3ZlZCByZWR1bmRhbnQgYW5kIHJlb3JkZXJlZCBtb2RpZmllcnMuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Rvb2xUaXBVSS5qYXZhOgoJUmVmb3JtYXR0ZWQgY29weXJpZ2h0IGhlYWRlci4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEFjdGlvbi5qYXZhLAoJamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YSwKCWphdmF4L3N3aW5nL0Fic3RyYWN0Q2VsbEVkaXRvci5qYXZhLAoJamF2YXgvc3dpbmcvQWJzdHJhY3RMaXN0TW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL0Fic3RyYWN0U3Bpbm5lck1vZGVsLmphdmEsCglqYXZheC9zd2luZy9BY3Rpb25NYXAuamF2YSwKCWphdmF4L3N3aW5nL0JvcmRlckZhY3RvcnkuamF2YSwKCWphdmF4L3N3aW5nL0JveC5qYXZhLAoJamF2YXgvc3dpbmcvQnV0dG9uTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL0NlbGxFZGl0b3IuamF2YSwKCWphdmF4L3N3aW5nL0NlbGxSZW5kZXJlclBhbmUuamF2YSwKCWphdmF4L3N3aW5nL0RlZmF1bHRCb3VuZGVkUmFuZ2VNb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvRGVmYXVsdEJ1dHRvbk1vZGVsLmphdmEsCglqYXZheC9zd2luZy9EZWZhdWx0Q2VsbEVkaXRvci5qYXZhLAoJamF2YXgvc3dpbmcvRGVmYXVsdERlc2t0b3BNYW5hZ2VyLmphdmEsCglqYXZheC9zd2luZy9EZWZhdWx0TGlzdENlbGxSZW5kZXJlci5qYXZhLAoJamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvRGVmYXVsdFNpbmdsZVNlbGVjdGlvbk1vZGVsLmphdmEsCglqYXZheC9zd2luZy9HcmF5RmlsdGVyLmphdmEsCglqYXZheC9zd2luZy9JbnB1dE1hcC5qYXZhLAoJamF2YXgvc3dpbmcvSkFwcGxldC5qYXZhLAoJamF2YXgvc3dpbmcvSkNoZWNrQm94TWVudUl0ZW0uamF2YSwKCWphdmF4L3N3aW5nL0pDb2xvckNob29zZXIuamF2YSwKCWphdmF4L3N3aW5nL0pDb21ib0JveC5qYXZhLAoJamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhLAoJamF2YXgvc3dpbmcvSkRlc2t0b3BQYW5lLmphdmEsCglqYXZheC9zd2luZy9KRGlhbG9nLmphdmEsCglqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvSkZpbGVDaG9vc2VyLmphdmEsCglqYXZheC9zd2luZy9KRm9ybWF0dGVkVGV4dEZpZWxkLmphdmEsCglqYXZheC9zd2luZy9KRnJhbWUuamF2YSwKCWphdmF4L3N3aW5nL0pJbnRlcm5hbEZyYW1lLmphdmEsCglqYXZheC9zd2luZy9KTGFiZWwuamF2YSwKCWphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvSkxpc3QuamF2YSwKCWphdmF4L3N3aW5nL0pNZW51LmphdmEsCglqYXZheC9zd2luZy9KTWVudUJhci5qYXZhLAoJamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmEsCglqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvSlBhbmVsLmphdmEsCglqYXZheC9zd2luZy9KUGFzc3dvcmRGaWVsZC5qYXZhLAoJamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhLAoJamF2YXgvc3dpbmcvSlJhZGlvQnV0dG9uTWVudUl0ZW0uamF2YSwKCWphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvSlNwaW5uZXIuamF2YSwKCWphdmF4L3N3aW5nL0pTcGxpdFBhbmUuamF2YSwKCWphdmF4L3N3aW5nL0pUYWJiZWRQYW5lLmphdmEsCglqYXZheC9zd2luZy9KVGFibGUuamF2YSwKCWphdmF4L3N3aW5nL0pUZXh0QXJlYS5qYXZhLAoJamF2YXgvc3dpbmcvSlRleHRQYW5lLmphdmEsCglqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmEsCglqYXZheC9zd2luZy9KVG9vbEJhci5qYXZhLAoJamF2YXgvc3dpbmcvSlRvb2xUaXAuamF2YSwKCWphdmF4L3N3aW5nL0pUcmVlLmphdmEsCglqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YSwKCWphdmF4L3N3aW5nL0xpc3RNb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvTG9va0FuZEZlZWwuamF2YSwKCWphdmF4L3N3aW5nL01lbnVTZWxlY3Rpb25NYW5hZ2VyLmphdmEsCglqYXZheC9zd2luZy9Qcm9ncmVzc01vbml0b3JJbnB1dFN0cmVhbS5qYXZhLAoJamF2YXgvc3dpbmcvUmVwYWludE1hbmFnZXIuamF2YSwKCWphdmF4L3N3aW5nL1Jvb3RQYW5lQ29udGFpbmVyLmphdmEsCglqYXZheC9zd2luZy9TY3JvbGxQYW5lTGF5b3V0LmphdmEsCglqYXZheC9zd2luZy9TcHJpbmdMYXlvdXQuamF2YSwKCWphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmEsCglqYXZheC9zd2luZy9UaW1lci5qYXZhLAoJamF2YXgvc3dpbmcvVG9vbFRpcE1hbmFnZXIuamF2YSwKCWphdmF4L3N3aW5nL1VJRGVmYXVsdHMuamF2YSwKCWphdmF4L3N3aW5nL1VJTWFuYWdlci5qYXZhLAoJamF2YXgvc3dpbmcvYm9yZGVyL01hdHRlQm9yZGVyLmphdmEsCglqYXZheC9zd2luZy9jb2xvcmNob29zZXIvQWJzdHJhY3RDb2xvckNob29zZXJQYW5lbC5qYXZhLAoJamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0NvbG9yU2VsZWN0aW9uTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL2NvbG9yY2hvb3Nlci9EZWZhdWx0Q29sb3JTZWxlY3Rpb25Nb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0RlZmF1bHRIU0JDaG9vc2VyUGFuZWwuamF2YSwKCWphdmF4L3N3aW5nL2NvbG9yY2hvb3Nlci9EZWZhdWx0UHJldmlld1BhbmVsLmphdmEsCglqYXZheC9zd2luZy9jb2xvcmNob29zZXIvRGVmYXVsdFJHQkNob29zZXJQYW5lbC5qYXZhLAoJamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0RlZmF1bHRTd2F0Y2hDaG9vc2VyUGFuZWwuamF2YSwKCWphdmF4L3N3aW5nL2V2ZW50L0FuY2VzdG9yRXZlbnQuamF2YSwKCWphdmF4L3N3aW5nL2V2ZW50L0h5cGVybGlua0V2ZW50LmphdmEsCglqYXZheC9zd2luZy9ldmVudC9JbnRlcm5hbEZyYW1lRXZlbnQuamF2YSwKCWphdmF4L3N3aW5nL2V2ZW50L01lbnVEcmFnTW91c2VFdmVudC5qYXZhLAoJamF2YXgvc3dpbmcvZXZlbnQvVGFibGVDb2x1bW5Nb2RlbEV2ZW50LmphdmEsCglqYXZheC9zd2luZy9ldmVudC9UYWJsZU1vZGVsRXZlbnQuamF2YSwKCWphdmF4L3N3aW5nL2V2ZW50L1RyZWVFeHBhbnNpb25FdmVudC5qYXZhLAoJamF2YXgvc3dpbmcvZXZlbnQvVHJlZU1vZGVsRXZlbnQuamF2YSwKCWphdmF4L3N3aW5nL2V2ZW50L1RyZWVTZWxlY3Rpb25FdmVudC5qYXZhLAoJamF2YXgvc3dpbmcvZXZlbnQvVHJlZVdpbGxFeHBhbmRMaXN0ZW5lci5qYXZhLAoJamF2YXgvc3dpbmcvZXZlbnQvVW5kb2FibGVFZGl0RXZlbnQuamF2YSwKCWphdmF4L3N3aW5nL2ZpbGVjaG9vc2VyL0ZpbGVWaWV3LmphdmEsCglqYXZheC9zd2luZy9wbGFmL0JvcmRlclVJUmVzb3VyY2UuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvQ29tcG9uZW50VUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvRmlsZUNob29zZXJVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9JY29uVUlSZXNvdXJjZS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9MaXN0VUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvUG9wdXBNZW51VUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvU3BsaXRQYW5lVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvVGFiYmVkUGFuZVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL1RleHRVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9UcmVlVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNBcnJvd0J1dHRvbi5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0JvcmRlcnMuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25VSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NoZWNrQm94TWVudUl0ZW1VSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbG9yQ2hvb3NlclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hFZGl0b3IuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFJlbmRlcmVyLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvUG9wdXAuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNEZXNrdG9wSWNvblVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRGVza3RvcFBhbmVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ljb25GYWN0b3J5LmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUJhclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BvcHVwTWVudVNlcGFyYXRvclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUG9wdXBNZW51VUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQcm9ncmVzc0JhclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUmFkaW9CdXR0b25NZW51SXRlbVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUm9vdFBhbmVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2VwYXJhdG9yVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTbGlkZXJVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NwaW5uZXJVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NwbGl0UGFuZURpdmlkZXIuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmJlZFBhbmVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlSGVhZGVyVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dEFyZWFVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRGaWVsZFVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclNlcGFyYXRvclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbFRpcFVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVHJlZVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVmlld3BvcnRVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9Db21ib1BvcHVwLmphdmEsCglqYXZheC9zd2luZy90YWJsZS9BYnN0cmFjdFRhYmxlTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bHRUYWJsZUNlbGxSZW5kZXJlci5qYXZhLAoJamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ29sdW1uTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bHRUYWJsZU1vZGVsLmphdmEsCglqYXZheC9zd2luZy90YWJsZS9KVGFibGVIZWFkZXIuamF2YSwKCWphdmF4L3N3aW5nL3RhYmxlL1RhYmxlQ2VsbEVkaXRvci5qYXZhLAoJamF2YXgvc3dpbmcvdGFibGUvVGFibGVDZWxsUmVuZGVyZXIuamF2YSwKCWphdmF4L3N3aW5nL3RhYmxlL1RhYmxlQ29sdW1uLmphdmEsCglqYXZheC9zd2luZy90YWJsZS9UYWJsZUNvbHVtbk1vZGVsLmphdmEsCglqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvQ2FyZXQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEhpZ2hsaWdodGVyLmphdmEsCglqYXZheC9zd2luZy90ZXh0L0VkaXRvcktpdC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9MYXllcmVkSGlnaGxpZ2h0ZXIuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvUGFzc3dvcmRWaWV3LmphdmEsCglqYXZheC9zd2luZy90ZXh0L1NpbXBsZUF0dHJpYnV0ZVNldC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9TdHlsZUNvbnN0YW50cy5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9TdHlsZUNvbnRleHQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvU3R5bGVkRWRpdG9yS2l0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L1RleHRBY3Rpb24uamF2YSwKCWphdmF4L3N3aW5nL3RleHQvVmlldy5qYXZhLAoJamF2YXgvc3dpbmcvdHJlZS9BYnN0cmFjdExheW91dENhY2hlLmphdmEsCglqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlQ2VsbFJlbmRlcmVyLmphdmEsCglqYXZheC9zd2luZy90cmVlL0RlZmF1bHRUcmVlTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL3RyZWUvRGVmYXVsdFRyZWVTZWxlY3Rpb25Nb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvdHJlZS9GaXhlZEhlaWdodExheW91dENhY2hlLmphdmEsCglqYXZheC9zd2luZy90cmVlL1RyZWVDZWxsUmVuZGVyZXIuamF2YSwKCWphdmF4L3N3aW5nL3RyZWUvVHJlZVNlbGVjdGlvbk1vZGVsLmphdmEsCglqYXZheC9zd2luZy90cmVlL1ZhcmlhYmxlSGVpZ2h0TGF5b3V0Q2FjaGUuamF2YSwKCWphdmF4L3N3aW5nL3VuZG8vQWJzdHJhY3RVbmRvYWJsZUVkaXQuamF2YSwKCWphdmF4L3N3aW5nL3VuZG8vVW5kb2FibGVFZGl0U3VwcG9ydC5qYXZhOgoJSW1wb3J0cyBjbGVhbmVkIHVwLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhLAoJamF2YS9hd3QvRm9udC5qYXZhLAoJamF2YS9hd3QvZm9udC9UZXh0TGF5b3V0LmphdmE6CglJbXBvcnRzIGNsZWFuZWQgdXAuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKGdldExhYmVsKTogQWRkZWQgQGRlcHJlY2F0ZWQgdGFnLgoJKHNldExhYmVsKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0ZvY3VzTWFuYWdlci5qYXZhCgkoZGlzYWJsZVN3aW5nRm9jdXNNYW5hZ2VyKTogTGlrZXdpc2UuCgkoaXNGb2N1c01hbmFnZXJFbmFibGVkKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKGlzTWFuYWdpbmdGb2N1cyk6IEFkZGVkIHZlcnNpb24gdG8gQGRlcHJlY2F0ZWQgdGFnLgoJKGdldE5leHRGb2N1c2FibGVDb21wb25lbnQpOiBNb3ZlZCBAZGVwcmVjYXRlZCB0YWcgdG8gYm90dG9tIG9mCglqYXZhZG9jLgoJKGdldENvbmRpdGlvbkZvcktleVN0cm9rZSk6IExpa2V3aXNlLgoJKGdldEFjdGlvbkZvcktleVN0cm9rZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KRGVza3RvcFBhbmUuamF2YQoJKExJVkVfRFJBR19NT0RFKTogQWRkZWQgQHNwZWNub3RlIHRhZy4KCShPVVRMSU5FX0RSQUdfTU9ERSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KSW50ZXJuYWxGcmFtZS5qYXZhCgkoTUVOVV9CQVJfUFJPUEVSVFkpOiBGaXhlZCB2YWx1ZS4KCShnZXRNZW51QmFyKTogQWRkZWQgQGRlcHJlY2F0ZWQgdGFnLgoJKHNldE1lbnVCYXIpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmEKCShpc0JhY2tpbmdTdG9yZUVuYWJsZWQpOiBMaWtld2lzZS4KCShzZXRCYWNraW5nU3RvcmVFbmFibGVkKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNEZXNrdG9wUGFuZVVJLmphdmEKCShjbG9zZUtleSk6IExpa2V3aXNlLgoJKG1heGltaXplS2V5KTogTGlrZXdpc2UuCgkobWluaW1pemVLZXkpOiBMaWtld2lzZS4KCShuYXZpZ2F0ZUtleSk6IExpa2V3aXNlLgoJKG5hdmlnYXRlS2V5Mik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmEKCShvcGVuTWVudUtleSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lVUkuamF2YQoJKGtleWJvYXJkRG93blJpZ2h0TGlzdGVuZXIpOiBMaWtld2lzZS4KCShrZXlib2FyZEVuZExpc3RlbmVyKTogTGlrZXdpc2UuCgkoa2V5Ym9hcmRIb21lTGlzdGVuZXIpOiBMaWtld2lzZS4KCShrZXlib2FyZFJlc2l6ZVRvZ2dsZUxpc3RlbmVyKTogTGlrZXdpc2UuCgkoa2V5Ym9hcmRVcExlZnRMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGRpdmlkZXJSZXNpemVUb2dnbGVLZXkpOiBMaWtld2lzZS4KCShkb3duS2V5KTogTGlrZXdpc2UuCgkoZW5kS2V5KTogTGlrZXdpc2UuCgkoaG9tZUtleSk6IExpa2V3aXNlLgoJKGxlZnRLZXkpOiBMaWtld2lzZS4KCShyaWdodEtleSk6IExpa2V3aXNlLgoJKHVwS2V5KTogTGlrZXdpc2UuCgkoY3JlYXRlS2V5Ym9hcmRVcExlZnRMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGNyZWF0ZUtleWJvYXJkRG93blJpZ2h0TGlzdGVuZXIpOiBMaWtld2lzZS4KCShjcmVhdGVLZXlib2FyZEhvbWVMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGNyZWF0ZUtleWJvYXJkRW5kTGlzdGVuZXIpOiBMaWtld2lzZS4KCShjcmVhdGVLZXlib2FyZFJlc2l6ZVRvZ2dsZUxpc3RlbmVyKTogTGlrZXdpc2UuCgkoZ2V0RGl2aWRlckJvcmRlclNpemUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmJlZFBhbmVVSS5qYXZhCgkoZG93bktleSk6IExpa2V3aXNlLgoJKGxlZnRLZXkpOiBMaWtld2lzZS4KCShyaWdodEtleSk6IExpa2V3aXNlLgoJKHVwS2V5KTogTGlrZXdpc2UuCgoyMDA0LTExLTMwICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1RleHRBcmVhUGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dEFyZWFQZWVyX2NyZWF0ZSk6IFVzZSB0aGUKCUdUS19URVhUX1ZJRVcgbWFjcm8uCgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jCgkoY29ubmVjdF9hd3RfaG9va19jYik6IE1hcmsgdW51c2VkIHZhcmlhYmxlIHVudXNlZC4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2xpcGJvYXJkLmMgKHNlbGVjdGlvbl9nZXQpOgoJRG8gdGhlIGNhc3QgcmlnaHQuCgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0Nob2ljZVBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0Nob2ljZVBlZXJfY3JlYXRlKTogQWNjb3JkaW5nIHRvCgl0aGUgZ3RrIEFQSSBndGtfY29tYm9fYm94X25ld190ZXh0IGFjdHVhbGx5IHJldHVybnMgYSBHdGtXaWRnZXQuCglSZW1vdmUgdW51c2VkIHZhciBtZW51LgoJKHNlbGVjdGlvbl9jaGFuZ2VkKTogUmVtb3ZlIHVudXNlZCB2YWx1ZS4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQnV0dG9uUGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQnV0dG9uUGVlcl9zZXROYXRpdmVCb3VuZHMpOiBGaXggcG9pbnRlcgoJd2FybmluZyB3aXRoIHVzaW5nIGFuIGludGVybWVkaWF0ZSB2YXJpYWJsZS4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrUGl4YnVmRGVjb2Rlci5jCgkoYXJlYV91cGRhdGVkKTogRml4IHVudXNlZCB2YXIgd2FybmluZyBmb3IgQkUgYXJjaHMuCgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljc19jb25uZWN0U2lnbmFscyk6IFJlbW92ZSB1bnVzZWQKCXZhci4KCShyZWFsaXplX2NiKTogTWFyayB1bnVzZWQgdmFyaWFibGUgdW51c2VkLgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHbHlwaFZlY3Rvci5jCgkoc2Vla19nbHlwaHN0cmluZ19pZHgpOiBGaXggYSBDOTAgd2FybmluZy4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR1RocmVhZE5hdGl2ZU1ldGhvZFJ1bm5lci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR1RocmVhZE5hdGl2ZU1ldGhvZFJ1bm5lcl9uYXRpdmVSdW4pOgoJTWFyayB1bnVzZWQgYXJndW1lbnRzIHVudXNlZC4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR2x5cGhWZWN0b3IuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dseXBoVmVjdG9yX2luaXRTdGF0ZSksCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR2x5cGhWZWN0b3Jfc2V0R2x5cGhDb2RlcyksCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR2x5cGhWZWN0b3JfZ2x5cGhDaGFySW5kZXgpLAoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dseXBoVmVjdG9yX2dseXBoSXNIb3Jpem9udGFsKToKCUxpa2V3aXNlLgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250TWV0cmljcy5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrRm9udE1ldHJpY3NfZ2V0UGVlckZvbnRNZXRyaWNzKSwKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250TWV0cmljc19nZXRQZWVyVGV4dE1ldHJpY3MpOgoJTGlrZXdpc2UuCgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlcl9uYXRpdmVTZXRGaWxlbmFtZUZpbHRlcik6CglMaWtld2lzZS4KCShmaWxlbmFtZUZpbHRlckNhbGxiYWNrKTogUmVtb3ZlIHVudXNlZCB2YXIuCgkoaGFuZGxlX3Jlc3BvbnNlKTogRGVjbGFyZSBzdHJfZmlsZU5hbWUgYW5kIHJlbW92ZSBsYXN0IGVsc2Ugc3RhdGVtZW50LgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljc0Vudmlyb25tZW50LmM6CglOZXcgRmlsZS4KCShuYXRpdmVHZXROdW1Gb250c0ZhbWlsaWVzKSBOZXcgZnVuY3Rpb24uCgkobmF0aXZlR2V0Rm9udEZhbWlsaWVzKSBMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzRW52aXJvbm1lbnQuamF2YQoJKGdldEF2YWlsYWJsZUZvbnRGYW1pbHlOYW1lcyk6IEltcGxlbWVudC4KCSogTWFrZWZpbGUuYW0gKGd0a19jX3NvdXJjZV9maWxlcyk6IEFkZCBHZGtHcmFwaGljc0Vudmlyb25tZW50LmMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNC0xMS0zMCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvQ2xhc3NwYXRoRm9udFBlZXIuamF2YQoJKHNldFN0YW5kYXJkQXR0cmlidXRlcyhTdHJpbmcsTWFwKSk6IElmIHNpemUgYXR0cmlidXRlIGRvZXNuJ3QKCWV4aXN0LCBkZWZhdWx0IHRvIHNpemUgMTIuICBDbGFtcCBzaXplIHZhbHVlIHRvIGEgbWluaW11bSBvZiAxLgoKMjAwNC0xMS0zMCAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmF4L3N3aW5nL0pEaWFsb2cuamF2YQoJKGRlY29yYXRlZCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YQoJKGRlZmF1bHRMb29rQW5kRmVlbERlY29yYXRlZCk6IExpa2V3aXNlLgoKMjAwNC0xMS0zMCAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sQmFyVUkuamF2YQoJKG9mZnNldCwgcmVndWxhcik6IE1hZGUgZmluYWwuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhCgkoREVDUkVBU0VfSElHSExJR0hULCBJTkNSRUFTRV9ISUdITElHSFQsIE5PX0hJR0hMSUdIVCwKCVBPU0lUSVZFX1NDUk9MTCwgTkVHQVRJVkVfU0NST0xMKTogTWFkZSBmaW5hbC4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvQml0d2lzZVhPUkNvbXBvc2l0ZS5qYXZhLAoJZ251L2phdmEvYXd0L0NsYXNzcGF0aFRvb2xraXQuamF2YSwKCWdudS9qYXZhL2F3dC9pbWFnZS9YQk1EZWNvZGVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9HTGlnaHR3ZWlnaHRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR2x5cGhWZWN0b3IuamF2YToKCVJlb3JnYW5pemVkIGltcG9ydCBzdGF0ZW1lbnRzLgoKMjAwNC0xMS0zMCAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvYXd0L0J1dHRvbi5qYXZhCgkobmV4dF9idXR0b25fbnVtYmVyKTogUmVtb3ZlZCB1c2VsZXNzIGluaXRpYWxpemVyLgoJKiBqYXZhL2F3dC9GcmFtZS5qYXZhCgkobmV4dF9mcmFtZV9udW1iZXIpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvUGFuZWwuamF2YQoJKG5leHRfcGFuZWxfbnVtYmVyKTogTGlrZXdpc2UsCgkqIGphdmEvYXd0L1Njcm9sbGJhci5qYXZhCgkobmV4dF9zY3JvbGxiYXJfbnVtYmVyKTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L1RleHRBcmVhLmphdmEKCShuZXh0X3RleHRfbnVtYmVyKTogTGlrZXdpc2UuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvaW1hZ2UvQnl0ZUxvb2t1cFRhYmxlLmphdmEKCShCeXRlTG9va3VwVGFibGUpIDpGaXhlZCBIVE1MIGVudGl0aWVzIGluIGphdmFkb2NzLgoJKGxvb2t1cFBpeGVsKTogRml4IGNhc2Ugd2hlbiBkc3QgaXMgbnVsbC4KCSogamF2YS9hd3QvaW1hZ2UvU2hvcnRMb29rdXBUYWJsZS5qYXZhCgkoU2hvcnRMb29rdXBUYWJsZSkgOkZpeGVkIEhUTUwgZW50aXRpZXMgaW4gamF2YWRvY3MuCgkobG9va3VwUGl4ZWwpOiBGaXggY2FzZSB3aGVuIGRzdCBpcyBudWxsLgoJKiBqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyQnl0ZS5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckRvdWJsZS5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckZsb2F0LmphdmEsCglqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVySW50LmphdmEsCglqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyU2hvcnQuamF2YSwKCWphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJVU2hvcnQuamF2YToKCUZpeCBpbml0aWFsaXphdGlvbiBvZiBiYW5rRGF0YSBpbiBjb25zdHJ1Y3RvcnMuCgoyMDA0LTExLTMwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQnV0dG9uUGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyLmMKCShzZXROYXRpdmVCb3VuZHMpOiBTZXQgR3RrRXZlbnRCb3gsIEd0a0J1dHRvbiBhbmQgR3RrTGFiZWwgc2l6ZQoJcmVxdWVzdHMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKHNldE5hdGl2ZUJvdW5kcyk6IE1ha2UgcGFja2FnZSBwcml2YXRlLiAgU2V0IHNpemUgcmVxdWVzdCBldmVuCglpZiBHVEsgcGFyZW50IGlzIE5VTEwuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtMYWJlbFBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTGFiZWxQZWVyLmMKCShzZXROYXRpdmVCb3VuZHMpOiBTZXQgR3RrRXZlbnRCb3ggYW5kIEd0a0xhYmVsIHNpemUgcmVxdWVzdHMuCgoyMDA0LTExLTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJV29ya2Fyb3VuZCBmb3IgYnVnICMxNzk1Mi4KCSogIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jCgkocmVxdWVzdF9mcmFtZV9leHRlbnRzKTogQ2hlY2sgd2luZG93LT53aW5kb3cgIT0gTlVMTC4KCjIwMDQtMTEtMzAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGpuaS9ndGstcGVlci9nZGtmb250Lmg6IEluY2x1ZGUgZ3RrcGVlci5oIG5vdCBndGtjYWlyb3BlZXIuaC4KCjIwMDQtMTEtMzAgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrVGV4dExheW91dC5jOiBVc2UKCW5hdGl2ZV90ZXh0X2xheW91dF9zdGF0ZV90YWJsZSBoZXJlLgoKCSogam5pL2d0ay1wZWVyL2dka2ZvbnQuaDogTWFyayBuYXRpdmVfdGV4dF9sYXlvdXRfc3RhdGVfdGFibGUgZXh0ZXJuLgoKMjAwNC0xMS0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR2x5cGhWZWN0b3IuYwoJKHNldENoYXJzKTogT25seSBjYWxsIHBhbmdvX2l0ZW1pemUoKSB3aGVuIHZlYy0+Z2x5cGhpdGVtcyAhPSBOVUxMLgoJT25seSBjYWxsIHBhbmdvX3NoYXBlKCkgd2hlbiBnaS0+Z2x5cGhzLT5udW1fZ2x5cGhzID4gMC4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhOgoJTWVyZ2VkIGltcG9ydCBzdGF0ZW1lbnRzLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEKCShpc0J1ZmZlcmVkSW1hZ2VHcmFwaGljcyk6IFNpbXBsaWZpZWQuCgoyMDA0LTExLTMwICBQYXVsIEplbm5lciAgPHBzai5ob21lQG50bHdvcmxkLmNvbT4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShpc1Jvb3RWaXNpYmxlKTogRml4ZWQgdHlwbyBpbiBtZXRob2QgbmFtZS4KCSogamF2YXgvc3dpbmcvSlNjcm9sbEJhci5qYXZhCgkoc2V0VmFsdWVzKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pTY3JvbGxQYW5lLmphdmEKCShjcmVhdGVTY3JvbGxMaXN0ZW5lcik6IENhbGwgSlNjcm9sbEJhci5zZXRWYWx1ZXMuCgoyMDA0LTExLTMwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29udGFpbmVyUGVlci5qYXZhIChlbmRWYWxpZGF0ZSk6CglEb24ndCBjYWxsIHNldFBhcmVudEFuZEJvdW5kcyBvbiBHdGtXaW5kb3dQZWVycy4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhIChzdGF0aWMpOiBEb24ndCBzZXQgZGVmYXVsdCBrZXlib2FyZAoJZm9jdXMgbWFuYWdlci4KCSogamF2YS9hd3QvS2V5Ym9hcmRGb2N1c01hbmFnZXIuamF2YQoJKGdldEN1cnJlbnRLZXlib2FyZEZvY3VzTWFuYWdlcik6IElmIGN1cnJlbnQga2V5Ym9hcmQgZm9jdXMKCW1hbmFnZXIgaXMgbnVsbCBzZXQgYSBkZWZhdWx0LgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0J1dHRvblBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQnV0dG9uUGVlci5jCgkoZ3RrV2lkZ2V0U2V0QmFja2dyb3VuZCk6IE5ldyBtZXRob2QuCgkoYmxvY2tfZXhwb3NlX2V2ZW50c19jYik6IE5ldyBmdW5jdGlvbi4KCShjb25uZWN0U2lnbmFscyk6IEJsb2NrIHRoZSBBV1QncyBleHBvc2UgZXZlbnQgcHJvY2Vzc2luZyBvbgoJYnV0dG9uIHByZXNzIGFuZCByZWxlYXNlLgoJKGd0a1NldExhYmVsKTogU2V0IHRleHQgb24gcHJvcGVyIHdpZGdldC4KCShndGtXaWRnZXRNb2RpZnlGb250KTogTW9kaWZ5IGZvbnQgb24gcHJvcGVyIHdpZGdldC4KCShndGtXaWRnZXRTZXRCYWNrZ3JvdW5kKTogU2V0IG5vcm1hbCwgYWN0aXZlIGFuZCBwcmVsaWdodAoJY29sb3Vycy4KCShndGtXaWRnZXRTZXRGb3JlZ3JvdW5kKTogU2V0IGZvcmdyb3VuZCBjb2xvdXIgb2YgcHJvcGVyIHdpZGdldC4KCShndGtBY3RpdmF0ZSk6IEFjdGl2YXRlIHRoZSBjb3JyZWN0IHdpZGdldC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jIChjbGVhclJlY3QpOgoJT25seSBjbGVhciByZWN0YW5nbGUgaWYgdGhlIGJhY2tpbmcgY29tcG9uZW50IGlzIG5vdCBhbiBldmVudAoJYm94LgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01haW5UaHJlYWQuYwoJKGJlZ2luTmF0aXZlUmVwYWludElEKTogTmV3IHZhcmlhYmxlLgoJKGVuZE5hdGl2ZVJlcGFpbnRJRCk6IExpa2V3aXNlLgoJKGd0a0luaXQpOiBJbml0aWFsaXplIG5ldyBmaWVsZHMgd2l0aCBtZXRob2QgSURzLgoJKiBqbmkvZ3RrLXBlZXIvZ3RrcGVlci5oIChiZWdpbk5hdGl2ZVJlcGFpbnRJRCk6IERlY2xhcmUgZXh0ZXJuLgoJKGVuZE5hdGl2ZVJlcGFpbnRJRCk6IExpa2V3aXNlLgoKMjAwNC0xMS0zMCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YSAoaW5pdCk6IFJldmVydCBhY2NpZGVudGFsIGNvbW1pdC4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jIChHZGtHcmFwaGljcyk6CglDYWxsIGluaXRDb21wb25lbnRHcmFwaGljcyBvciBjb25uZWN0U2lnbmFscyBkZXBlbmRpbmcgb24KCWNvbXBvbmVudCdzIHJlYWxpemF0aW9uIHN0YXR1cy4KCShyZWFsaXplX2NiKTogTmV3IGZ1bmN0aW9uLgoJKGluaXRDb21wb25lbnRHcmFwaGljcyk6IE5ldyBtZXRob2QuCgkoY29ubmVjdFNpZ25hbHMpOiBOZXcgbWV0aG9kLgoJKGNsaXBSZWN0KTogUmV0dXJuIGltbWVkaWF0ZWx5IGlmIGNvbXBvbmVudCBpcyBub3QgcmVhbGl6ZWQuCgkoc2V0Q2xpcCk6IExpa2V3aXNlLgoJKHRyYW5zbGF0ZSk6IExpa2V3aXNlLgoJKGRyYXdJbWFnZSB2YXJpYW50cyk6IFJldHVybiBmYWxzZSBpbW1lZGlhdGVseSBpZiBjb21wb25lbnQgaXMKCW5vdCByZWFsaXplZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jCgkoY29ubmVjdFNpZ25hbHMpOiBOZXcgbWV0aG9kLgoJKEdka0dyYXBoaWNzMkQpOiBDYWxsIGluaXRDb21wb25lbnRHcmFwaGljczJEIG9yIGNvbm5lY3RTaWduYWxzCglkZXBlbmRpbmcgb24gY29tcG9uZW50J3MgcmVhbGl6YXRpb24gc3RhdHVzLiAgTW92ZSBvdGhlcgoJaW5pdGlhbGl6YXRpb24gY2FsbHMgdG8gLi4uCgkoaW5pdENvbXBvbmVudEdyYXBoaWNzMkQpOiBOZXcgbWV0aG9kLgoJKHJlYWxpemVfY2IpOiBOZXcgZnVuY3Rpb24uCgkoY2Fpcm9TZXRNYXRyaXgpOiBSZXR1cm4gaW1tZWRpYXRlbHkgaWYgZ3IgaXMgTlVMTC4KCShjYWlyb05ld1BhdGgpOiBMaWtld2lzZS4KCShjYWlyb1JlY3RhbmdsZSk6IExpa2V3aXNlLgoJKGNhaXJvQ2xpcCk6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShndGtXaWRnZXRSZXBhaW50QXJlYSk6IFJlbW92ZSBtZXRob2QuCgkoaXNSZWFsaXplZCk6IE5ldyBtZXRob2QuCgkoR3RrQ29tcG9uZW50UGVlcik6IE1vdmUgc2V0UGFyZW50LCBjb25uZWN0Sk9iamVjdCBhbmQgc2V0Q3Vyc29yCgljYWxscyB0byBzZXRQYXJlbnRBbmRCb3VuZHMuICBDYWxsIHNldFBhcmVudEFuZEJvdW5kcy4KCShzZXRQYXJlbnRBbmRCb3VuZHMpOiBOZXcgbWV0aG9kLgoJKHNldENvbXBvbmVudEJvdW5kcyk6IFJldHVybiBpbW1lZGlhdGVseSBpZiBib3VuZHMgYXJlIGFsbCB6ZXJvLgoJKHJlcGFpbnQpOiBSZW1vdmUgY2FsbCB0byBndGtXaWRnZXRSZXBhaW50QXJlYS4gIFJldHVybgoJaW1tZWRpYXRlbHkgaWYgcmVxdWVzdGVkIHBhaW50IHJlZ2lvbiBpcyAweDAuCgkoc2V0Q3Vyc29yKTogTmV3IG1ldGhvZC4KCShndGtXaWRnZXRTZXRQYXJlbnQpOiBPbmx5IHNldCB3aWRnZXQncyBwYXJlbnQgaWYgaXRzIHBhcmVudCBpcwoJY3VycmVudGx5IE5VTEwuCgkoc2V0TmF0aXZlQm91bmRzKTogT25seSBzZXQgd2lkZ2V0J3MgYm91bmRzIGlmIGl0IGhhcyBhIHBhcmVudC4KCShjb25uZWN0U2lnbmFscyk6IERvbid0IGNhbGwgZ3RrX3dpZGdldF9yZWFsaXplLiAgQ29ubmVjdAoJInJlYWxpemUiIHNpZ25hbCB0byBjb25uZWN0X2F3dF9ob29rX2NiIGhhbmRsZXIuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb250YWluZXJQZWVyLmphdmEgKGlzVmFsaWRhdGluZyk6CglOZXcgZmllbGQuCgkoYmVnaW5WYWxpZGF0ZSk6IFNldCBpc1ZhbGlkYXRpbmcgdHJ1ZS4KCShlbmRWYWxpZGF0ZSk6IFNldCBwYXJlbnRzIGFuZCBib3VuZHMgZm9yIGNoaWxkcmVuIGZpcnN0LCB0aGVuCglmb3IgdGhpcy4gIFNldCBpc1ZhbGlkYXRpbmcgZmFsc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGaWxlRGlhbG9nUGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jCgkoY29ubmVjdEpPYmplY3QpOiBSZW1vdmUgbWV0aG9kLgoJKGNvbm5lY3RTaWduYWxzKTogRG9uJ3QgY2FsbCBndGtfd2lkZ2V0X3JlYWxpemUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtMaXN0UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtMaXN0UGVlci5jCgkoY29ubmVjdEpPYmplY3QpOiBSZW1vdmUgbWV0aG9kLgoJKGNvbm5lY3RTaWduYWxzKTogRG9uJ3QgY2FsbCBndGtfd2lkZ2V0X3JlYWxpemUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtQYW5lbFBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrUGFuZWxQZWVyLmMKCShjb25uZWN0Sk9iamVjdCk6IFJlbW92ZSBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtTY3JvbGxiYXJQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Njcm9sbEJhclBlZXIuYwoJKGNvbm5lY3RKT2JqZWN0KTogUmVtb3ZlIG1ldGhvZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1dpbmRvd1BlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jCgkoY3JlYXRlKTogRG9uJ3QgY2FsbCBndGtfd2lkZ2V0X3JlYWxpemUuCgkoY29ubmVjdEpPYmplY3QpOiBSZW1vdmUgbWV0aG9kLgoJKGNvbm5lY3RTaWduYWxzKTogRG9uJ3QgY2FsbCBndGtfd2lkZ2V0X3JlYWxpemUuICBDb25uZWN0CgkicmVhbGl6ZSIgc2lnbmFsIHRvIGNvbm5lY3RfYXd0X2hvb2tfY2IgaGFuZGxlci4KCShuYXRpdmVTZXRCb3VuZHMpOiBEb24ndCBhdHRlbXB0IHRvIG1vdmUgR0RLIHdpbmRvdyBpZiBpdCBpcwoJTlVMTC4KCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEgKGFkZEltcGwpOiBEb24ndCBjYWxsIGNvbXAuYWRkTm90aWZ5CglpZiBwZWVyIGlzIG5vdCBudWxsLgoJKHZhbGlkYXRlVHJlZSk6IENyZWF0ZSBwZWVycyBmb3IgYWxsIGNoaWxkcmVuIGJlZm9yZSBjYWxsaW5nCglkb0xheW91dC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyLmMKCShjb25uZWN0U2lnbmFscyk6IERvbid0IGNhbGwgZ3RrX3dpZGdldF9yZWFsaXplLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jCgkoY29ubmVjdF9hd3RfaG9va19jYik6IE5ldyBmdW5jdGlvbi4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNYWluVGhyZWFkLmMKCShpbml0Q29tcG9uZW50R3JhcGhpY3NJRCk6IE5ldyB2YXJpYWJsZS4KCShpbml0Q29tcG9uZW50R3JhcGhpY3MyRElEKTogTGlrZXdpc2UuCgkoc2V0Q3Vyc29ySUQpOiBMaWtld2lzZS4KCShndGtJbml0KTogSW5pdGlhbGl6ZSBuZXcgZmllbGRzIHdpdGggbWV0aG9kIElEcy4KCSogam5pL2d0ay1wZWVyL2d0a3BlZXIuaCAoaW5pdENvbXBvbmVudEdyYXBoaWNzSUQpOiBEZWNsYXJlCglleHRlcm4uCgkoaW5pdENvbXBvbmVudEdyYXBoaWNzMkRJRCk6IERlY2xhcmUgZXh0ZXJuLgoJKHNldEN1cnNvcklEKTogTGlrZXdpc2UuCgkoY29ubmVjdF9hd3RfaG9va19jYik6IERlY2xhcmUgZnVuY3Rpb24uCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0NsYXNzcGF0aEZvbnRQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR2x5cGhWZWN0b3IuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3NFbnZpcm9ubWVudC5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1BpeGJ1ZkRlY29kZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtCdXR0b25QZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2xpcGJvYXJkLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRGlhbG9nUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZpbGVEaWFsb2dQZWVyLmphdmEsCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRm9udFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtMaXN0UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a01lbnVJdGVtUGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtXaW5kb3dQZWVyLmphdmE6CglJbXBvcnQgc3RhdGVtZW50cyByZXdvcmtlZC4gIFNvbWUgbGl0dGxlIHJlZm9ybWF0dGluZ3MuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvaW1hZ2UvQWZmaW5lVHJhbnNmb3JtT3AuamF2YQoJKFRZUEVfQklMSU5FQVIpOiBJbml0aWFsaXplIHdpdGggMi4KCSogamF2YS9hd3QvcHJpbnQvUHJpbnRhYmxlLmphdmE6IEphbG9waWVkLgoJKFBBR0VfRVhJU1RTKTogSW5pdGlhbGl6ZSB3aXRoIDA7CgkoTk9fU1VDSF9QQUdFKTogSW5pdGlhbGl6ZWQgd2l0aCAxLgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBNYWtlZmlsZS5hbTogQWRkIEJ1ZmZlcmVkSW1hZ2VGaWx0ZXIuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA0LTExLTMwICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmMKCShpbnN0YWxsX2ZvbnRfcGVlcik6IE1pbm9yIGJ1ZyBmaXhlcyB0byB0cmFjayBjYWlybyBmb250IHNlbWFudGljcy4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvQnVmZmVyZWRJbWFnZUZpbHRlci5qYXZhOiBJbXBsZW1lbnQuCgoyMDA0LTExLTMwICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW0KCShqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0NsYXNzcGF0aEZvbnRQZWVyLmMpCgkoam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtDbGFzc3BhdGhGb250UGVlck1ldHJpY3MuYykKCShnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrQ2xhc3NwYXRoRm9udFBlZXIuamF2YSkKCShnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrQ2xhc3NwYXRoRm9udFBlZXJNZXRyaWNzLmphdmEpOiBSZW1vdmUuCgkoam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtUZXh0TGF5b3V0LmMpCgkoam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250UGVlci5jKQoJKGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtUZXh0TGF5b3V0LmphdmEpCgkoZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRQZWVyLmphdmEpCgkoZ251L2phdmEvYXd0L3BlZXIvQ2xhc3NwYXRoVGV4dExheW91dFBlZXIuamF2YSk6IEFkZAoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogZ251L2F3dC94bGliL1hUb29sa2l0LmphdmEKCShnZXRDbGFzc3BhdGhUZXh0TGF5b3V0UGVlcik6IEFkZCBzdHViLgoJKiBnbnUvamF2YS9hd3QvQ2xhc3NwYXRoVG9vbGtpdC5qYXZhCgkoZ2V0Q2xhc3NwYXRoVGV4dExheW91dFBlZXIpIEFkZC4KCSogZ251L2phdmEvYXd0L3BlZXIvQ2xhc3NwYXRoRm9udFBlZXIuamF2YQoJKGNvcHlTdHlsZVRvQXR0cnMpCgkoY29weVNpemVUb0F0dHJzKTogTWFrZSBwdWJsaWMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL0NsYXNzcGF0aFRleHRMYXlvdXRQZWVyLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrQ2xhc3NwYXRoRm9udFBlZXIuamF2YTogUmVtb3ZlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrQ2xhc3NwYXRoRm9udFBlZXJNZXRyaWNzLmphdmE6IFJlbW92ZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0ZvbnRNZXRyaWNzLmphdmE6IFJld3JpdGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtGb250UGVlci5qYXZhOiBOZXcgZmlsZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dseXBoVmVjdG9yLmphdmE6IEFkanVzdCB0eXBlIG5hbWVzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MuamF2YQoJKGdldEZvbnRQZWVyKTogTmV3IGZ1bmN0aW9uLgoJKGRyYXdTdHJpbmcpOiBQYXNzIGZvbnQgcGVlciB0byBuYXRpdmUgc2lkZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YQoJKGNhaXJvU2V0Rm9udCkKCShjYWlyb1Nob3dHbHlwaHMpCgkoUGFpbnRlclRocmVhZCk6IFJlbW92ZS4KCShHZGtHcmFwaGljczJEKTogU2V0IGhpbnRzIGR1cmluZyBjb25zdHJ1Y3Rpb24uCgkoc2hpZnRlZCkKCSh3YWxrUGF0aCkKCShkcmF3KQoJKHNldFJlbmRlcmluZ0hpbnQpCgkoc2V0UmVuZGVyaW5nSGludHMpOiBSZWltcGxlbWVudCBub3JtYWxpemF0aW9uIGxvZ2ljLgoJKGdldERlZmF1bHRIaW50cykKCSh1cGRhdGVCdWZmZXJlZEltYWdlKQoJKGlzQnVmZmVyZWRJbWFnZUdyYXBoaWNzKQoJKHVwZGF0ZUltYWdlUGl4ZWxzKQoJKGRyYXdJbWFnZSk6IE1ha2UgZmluYWwuCgkoZHJhd0ltYWdlKTogQWx3YXlzIHBhaW50IHN5bmNocm9ub3VzbHkuCgkoZHJhd1N0cmluZykKCShkcmF3R2x5cGhWZWN0b3IpOiBSZXdyaXRlLgoJKHJlbGVhc2VQZWVyR3JhcGhpY1Jlc291cmNlKQoJKGdldFBlZXJUZXh0TWV0cmljcykKCShnZXRQZWVyRm9udE1ldHJpY3MpCgkoZHJhd0dka0dseXBoVmVjdG9yKQoJKGRyYXdHZGtUZXh0TGF5b3V0KQoJKGNhaXJvRHJhd0dka0dseXBoVmVjdG9yKQoJKGNhaXJvRHJhd0dka1RleHRMYXlvdXQpCgkoY2Fpcm9EcmF3U3RyaW5nKQoJKGdldEZvbnRQZWVyKTogTmV3IGZ1bmN0aW9ucy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka1RleHRMYXlvdXQuamF2YTogTmV3IGZpbGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEKCShnZXRGb250TWV0cmljcyk6IEdldCBtZXRyaWNzIHZpYSB0b29sa2l0LCB0byBoaXQgY2FjaGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUZXh0QXJlYVBlZXIuamF2YTogVXNlIGdldEZvbnRNZXRyaWNzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVGV4dEZpZWxkUGVlci5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YSAoTFJVQ2FjaGUpOiBOZXcgY2xhc3MuCgkoZm9udENhY2hlKQoJKG1ldHJpY3NDYWNoZSkKCShpbWFnZUNhY2hlKTogTmV3IG1lbWJlcnMuCgkoZ2V0Rm9udE1ldHJpY3MpCgkoZ2V0SW1hZ2UpCgkoZ2V0Q2xhc3NwYXRoRm9udFBlZXIpOiBVc2UgY2FjaGVzLgoJKGdldEZvbnRQZWVyKTogUm91dGUgdGhyb3VnaCBnZXRDbGFzc3BhdGhGb250UGVlci4KCSogamF2YS9hd3QvRm9udC5qYXZhIChhdHRyc1RvTWFwKTogUmVtb3ZlLCBhZGp1c3QgY3RvcnMuCgkqIGphdmEvYXd0L2ZvbnQvVGV4dExheW91dC5qYXZhOiBJbXBsZW1lbnQgaW4gdGVybXMgb2YgcGVlci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEKCShwYWludFRodW1iKTogVXNlIHBvbHlsaW5lIHJhdGhlciB0aGFuIHBvbHlnb24uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNHcmFwaGljc1V0aWxzLmphdmE6CglVcGRhdGUgY29tbWVudCBidXQsIGFsYXMsIHN0aWxsIGRvIG5vdCBzd2l0Y2ggdG8gdXNpbmcgVGV4dExheW91dHMuCgkqIGphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmEgKGRyYXdUYWJiZWRUZXh0KToKCURyYXcgdGV4dCBydW4tYXQtYS10aW1lLCBub3QgY2hhci1hdC1hLXRpbWUuCgkqIGpuaS9ndGstcGVlci9nZGtmb250Lmg6IFB1YmxpY2l6ZSBzb21lIG9mIHRoZSBmb250IGludGVyZmFjZSwgYWRkCglsYXlvdXQgdGFibGUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrQ2xhc3NwYXRoRm9udFBlZXIuYzoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtDbGFzc3BhdGhGb250UGVlck1ldHJpY3MuYzoKCVJlbW92ZSBmaWxlcy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250TWV0cmljcy5jOiBSZXdyaXRlIHRvCglpbmNvcnBvcmF0ZSBicmFpbnMgb2Ygb2xkIEdka0NsYXNzcGF0aEZvbnRQZWVyTWV0cmljcy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtGb250UGVlci5jOiBSZXdyaXRlIHRvCglpbmNvcnBvcmF0ZSBicmFpbnMgb2Ygb2xkIEdka0NsYXNzcGF0aEZvbnRQZWVyLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1RleHRMYXlvdXQuYzogTmV3IGZpbGUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MuYwoJKGRyYXdTdHJpbmcpOiBSZXdyaXRlIHRvIHVzZSBwZXJzaXN0ZW50IGxheW91dCBpbiBwZWVyIGZvbnQuCglDb21tZW50IG91dCBleHRyYW5lb3VzIGdka19mbHVzaCBjYWxscy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmMKCShtZXRyaWNzX2NhaXJvKQoJKG1ldHJpY3Nfc3VyZmFjZSk6IE5ldyBzdGF0aWMgdmFyaWFibGVzLgoJKHBhaW50X2dseXBoX3J1bikKCShpbnN0YWxsX2ZvbnRfcGVlcik6IE5ldyBoZWxwZXIgZnVuY3Rpb25zLgoJKHJlbGVhc2VQZWVyR3JhcGhpY1Jlc291cmNlKQoJKGdldFBlZXJUZXh0TWV0cmljcykKCShnZXRQZWVyRm9udE1ldHJpY3MpCgkoY2Fpcm9EcmF3R2RrVGV4dExheW91dCkKCShjYWlyb0RyYXdHZGtHbHlwaFZlY3Rvcik6IE5ldyBuYXRpdmUgbWV0aG9kcy4KCShjYWlyb0RyYXdTdHJpbmcpOiBSZXdyaXRlLCBsZWF2aW5nIGxheW91dC1iYXNlZCB2ZXJzaW9uCgljb21tZW50ZWQgb3V0IGZvciB0aGUgdGltZSBiZWluZy4KCSogam5pL2d0ay1wZWVyL2d0a3BlZXIuaCAoZ3JhcGhpY3MpOiBBZGQgZmllbGRzIGZvciBwYW5nbyBzdHVmZi4KCjIwMDQtMTEtMzAgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL2F3dC9nZW9tL0FmZmluZVRyYW5zZm9ybS5qYXZhOgoJRml4ZWQgamF2YWRvY3Mgb3ZlcmFsbC4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvQ29tcG9uZW50Q29sb3JNb2RlbC5qYXZhOiBSZW1vdmUgRklYTUUgY29tbWVudCBzaW5jZQoJaXQncyBjb3JyZWN0LgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9JbmRleENvbG9yTW9kZWwuamF2YTogRml4IHVzZSBvZiBpbW11dGFibGUKCUJpZ0ludGVnZXJzLgoKMjAwNC0xMS0zMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhIChNZXNzYWdlSWNvbik6CglSZW5hbWVkIGZyb20gJ21lc3NhZ2VJY29uJy4KCShlcnJvckljb24sIGluZm9JY29uLCB3YXJuaW5nSWNvbiwgcXVlc3Rpb25JY29uKTogVXBkYXRlZC4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvUmVzY2FsZU9wLmphdmE6IEZpeCBmb3JtYXR0aW5nLgoKMjAwNC0xMS0zMCAgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvUG9wdXAuamF2YQoJKFNDUk9MTF9ET1dOKTogbWFkZSBmaW5hbC4KCShTQ1JPTExfVVApOiBtYWRlIGZpbmFsLgoKMjAwNC0xMS0zMCAgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvUG9wdXAuamF2YToKCUFkZGVkIGphdmFkb2NzIGZvciB1bmRvY3VtZW50ZWQgZmllbGRzLgoJKHNob3cpOiBzY3JvbGwgZG93biB0byB0aGUgc2VsZWN0ZWQgaXRlbSBhbmQKCWhpZ2hsaWdodCBzZWxlY3RlZCBpdGVtLgoJKHN0YXJ0QXV0b1Njcm9sbGluZyk6IEltcGxlbWVudGVkLgoJKHN0b3BBdXRvU2Nyb2xsaW5nKTogSW1wbGVtZW50ZWQuCgkoYXV0b1Njcm9sbFVwKTogSW1wbGVtZW50ZWQuCgkoYXV0b1Njcm9sbERvd24pOiBJbXBsZW1lbnRlZC4KCShJbnZvY2F0aW9uTW91c2VIYW5kbGVyLm1vdXNlUmVsZWFzZWQpOiBJbXBsZW1lbnRlZC4KCShJbnZvY2F0aW9uTW91c2VNb3Rpb25IYW5kbGVyLm1vdXNlRHJhZ2dlZCk6IEltcGxlbWVudGVkLgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9SZXNjYWxlT3AuamF2YTogSW1wbGVtZW50LgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9JbmRleENvbG9yTW9kZWwuamF2YSAoZ2V0UkdCcywKCWNvbnZlcnRUb0ludERpc2NyZXRlKTogSW1wbGVtZW50LgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9JbmRleENvbG9yTW9kZWwuamF2YTogQWRkIGNsYXNzIGRvY3MuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL0luZGV4Q29sb3JNb2RlbC5qYXZhIChpc1ZhbGlkLCBnZXRWYWxpZFBpeGVscyk6CglJbXBsZW1lbnQuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvTWVudUJhci5qYXZhLAoJamF2YS9hd3QvcGVlci9NZW51QmFyUGVlci5qYXZhOgoJUmV2ZXJ0IGFjY2lkZW50YWxseSBjb21taXRlZCBjaGFuZ2VzLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0FXVEtleVN0cm9rZS5qYXZhLAoJamF2YS9hd3QvQ2FudmFzLmphdmEsCglqYXZhL2F3dC9DYXJkTGF5b3V0LmphdmEsCglqYXZhL2F3dC9DaGVja2JveE1lbnVJdGVtLmphdmEsCglqYXZhL2F3dC9Db21wb25lbnQuamF2YSwKCWphdmEvYXd0L0NvbnRhaW5lci5qYXZhLAoJamF2YS9hd3QvRGVmYXVsdEtleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmEsCglqYXZhL2F3dC9FdmVudERpc3BhdGNoVGhyZWFkLmphdmEsCglqYXZhL2F3dC9GaWxlRGlhbG9nLmphdmEsCglqYXZhL2F3dC9GbG93TGF5b3V0LmphdmEsCglqYXZhL2F3dC9Gb250LmphdmEsCglqYXZhL2F3dC9GcmFtZS5qYXZhLAoJamF2YS9hd3QvR3JhcGhpY3MyRC5qYXZhLAoJamF2YS9hd3QvR3JhcGhpY3NFbnZpcm9ubWVudC5qYXZhLAoJamF2YS9hd3QvR3JpZEJhZ0NvbnN0cmFpbnRzLmphdmEsCglqYXZhL2F3dC9HcmlkQmFnTGF5b3V0LmphdmEsCglqYXZhL2F3dC9HcmlkTGF5b3V0LmphdmEsCglqYXZhL2F3dC9JbWFnZS5qYXZhLAoJamF2YS9hd3QvS2V5Ym9hcmRGb2N1c01hbmFnZXIuamF2YSwKCWphdmEvYXd0L0xhYmVsLmphdmEsCglqYXZhL2F3dC9MaXN0LmphdmEsCglqYXZhL2F3dC9NZWRpYVRyYWNrZXIuamF2YSwKCWphdmEvYXd0L01lbnUuamF2YSwKCWphdmEvYXd0L01lbnVCYXIuamF2YSwKCWphdmEvYXd0L01lbnVDb21wb25lbnQuamF2YSwKCWphdmEvYXd0L1BhbmVsLmphdmEsCglqYXZhL2F3dC9Qb3B1cE1lbnUuamF2YSwKCWphdmEvYXd0L1Njcm9sbFBhbmUuamF2YSwKCWphdmEvYXd0L1Njcm9sbGJhci5qYXZhLAoJamF2YS9hd3QvU3lzdGVtQ29sb3IuamF2YSwKCWphdmEvYXd0L1RleHRBcmVhLmphdmEsCglqYXZhL2F3dC9UZXh0RmllbGQuamF2YSwKCWphdmEvYXd0L1Rvb2xraXQuamF2YSwKCWphdmEvYXd0L1dpbmRvdy5qYXZhLAoJamF2YS9hd3QvY29sb3IvSUNDX1Byb2ZpbGUuamF2YSwKCWphdmEvYXd0L2RhdGF0cmFuc2Zlci9EYXRhRmxhdm9yLmphdmEsCglqYXZhL2F3dC9kYXRhdHJhbnNmZXIvU3RyaW5nU2VsZWN0aW9uLmphdmEsCglqYXZhL2F3dC9kYXRhdHJhbnNmZXIvU3lzdGVtRmxhdm9yTWFwLmphdmEsCglqYXZhL2F3dC9kbmQvQXV0b3Njcm9sbC5qYXZhLAoJamF2YS9hd3QvZG5kL0Ryb3BUYXJnZXQuamF2YSwKCWphdmEvYXd0L2RuZC9Ecm9wVGFyZ2V0Q29udGV4dC5qYXZhLAoJamF2YS9hd3QvZG5kL0Ryb3BUYXJnZXREcmFnRXZlbnQuamF2YSwKCWphdmEvYXd0L2RuZC9wZWVyL0Ryb3BUYXJnZXRDb250ZXh0UGVlci5qYXZhLAoJamF2YS9hd3QvZXZlbnQvQWRqdXN0bWVudEV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnB1dEV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9JbnZvY2F0aW9uRXZlbnQuamF2YSwKCWphdmEvYXd0L2V2ZW50L0tleUV2ZW50LmphdmEsCglqYXZhL2F3dC9ldmVudC9Nb3VzZUV2ZW50LmphdmEsCglqYXZhL2F3dC9mb250L1RleHRMYXlvdXQuamF2YSwKCWphdmEvYXd0L2dlb20vR2VuZXJhbFBhdGguamF2YSwKCWphdmEvYXd0L2dlb20vUG9pbnQyRC5qYXZhLAoJamF2YS9hd3QvaW0vSW5wdXRDb250ZXh0LmphdmEsCglqYXZhL2F3dC9pbS9zcGkvSW5wdXRNZXRob2RDb250ZXh0LmphdmEsCglqYXZhL2F3dC9pbWFnZS9BZmZpbmVUcmFuc2Zvcm1PcC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvQnVmZmVyZWRJbWFnZS5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvQ29sb3JNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvQ29tcG9uZW50Q29sb3JNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvQ3JvcEltYWdlRmlsdGVyLmphdmEsCglqYXZhL2F3dC9pbWFnZS9EaXJlY3RDb2xvck1vZGVsLmphdmEsCglqYXZhL2F3dC9pbWFnZS9NZW1vcnlJbWFnZVNvdXJjZS5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvUGFja2VkQ29sb3JNb2RlbC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvUGl4ZWxHcmFiYmVyLmphdmEsCglqYXZhL2F3dC9pbWFnZS9SYXN0ZXJPcC5qYXZhLAoJamF2YS9hd3QvcGVlci9NZW51QmFyUGVlci5qYXZhOgoJU29tZSBmaXhlcyBmb3IgY2hlY2tzdHlsZS4gSW1wb3J0IHN0YXRlbWVudCBhbmQgbW9kaWZpZXIgb3JkZXIKCXJlZG9yZGVyaW5nLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoc2V0TW9kZWwpOiBSZWltcGxlbWVudGVkLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUZXh0QXJlYS5qYXZhCgkoYXBwZW5kKTogUmUtaW1wbGVtZW50ZWQuCgkoaW5zZXJ0KTogTGlrZXdpc2UuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlNwaW5uZXIuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgc3RhdGljIGZpZWxkLgoJKiBqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmEKCShKVG9nZ2xlQnV0dG9uKTogRml4ZWQgZW1haWwgYWRkcmVzc2VzLgoJKiBqYXZheC9zd2luZy9TcGlubmVyTnVtYmVyTW9kZWwuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBBZGRlZCBqYXZhZG9jLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUZXh0QXJlYS5qYXZhOgoJRG9uJ3QgdXNlIEpUZXh0Q29tcG9uZW50LmRvYyBkaXJlY3RseS4gR0NKIGZyb20gamF2YS1ndWktYnJhbmNoIGhhcyBhCglidWcgaGVyZSB3aGljaCBpcyBmaXhlZCBpbiBIRUFEIC4uLgoKMjAwNC0xMS0zMCAgQW5kcmV3IEpvaG4gSHVnaGVzICA8YWRkcmVzc0BoaWRkZW4+CgoJKiBqYXZheC9zd2luZy9KVGV4dEFyZWEuamF2YTogQWRkZWQgYWRkaXRpb25hbAoJZG9jdW1lbnRhdGlvbi4KCjIwMDQtMTEtMzAgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGFkZHJlc3NAaGlkZGVuPgoKCSogamF2YXgvc3dpbmcvSlJhZGlvQnV0dG9uLmphdmE6CglJbXBsZW1lbnRlZCBhZGRpdGlvbmFsIGNvbnN0cnVjdG9ycyBhbmQgYWNjZXNzaWJpbGl0eQoJY2xhc3Nlcy4gIEFkZGVkIGRvY3VtZW50YXRpb24gYW5kIGZpeGVkIGEgdHlwbyBpbgoJQWJzdHJhY3RCdXR0b24uCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL0luZGV4Q29sb3JNb2RlbC5qYXZhIChJbmRleENvbG9yTW9kZWwpOiBJbXBsZW1lbnQKCW1pc3NpbmcgY29uc3RydWN0b3IuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL0NvbXBvbmVudENvbG9yTW9kZWwuamF2YSAoQ29tcG9uZW50Q29sb3JNb2RlbCk6CglJbXBsZW1lbnQgbWlzc2luZyAxLjQgY29uc3RydWN0b3IuCgoyMDA0LTExLTMwICBBbmRyZXcgSm9obiBIdWdoZXMgIDxhZGRyZXNzQGhpZGRlbj4KCgkqIGphdmF4L3N3aW5nL0pUb2dnbGVCdXR0b24uamF2YToKCUltcGxlbWVudGVkIGFkZGl0aW9uYWwgY29uc3RydWN0b3JzIGFuZCBhY2Nlc3NpYmlsaXR5CgljbGFzc2VzLiAgQWRkZWQgZG9jdW1lbnRhdGlvbiBhbmQgZml4ZWQgYSB0eXBvIGluCglBYnN0cmFjdEJ1dHRvbi4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvQ29sb3JNb2RlbC5qYXZhIChnZXREYXRhRWxlbWVudCwKCWdldERhdGFFbGVtZW50cyk6IERvY3VtZW50IHNpbmNlIDEuNC4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvQmFuZGVkU2FtcGxlTW9kZWwuamF2YTogSW1wbGVtZW50LgoJKiBNYWtlZmlsZS5hbTogQWRkIGphdmEvYXd0L2ltYWdlL0JhbmRlZFNhbXBsZU1vZGVsLmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YTogRml4ZWQgd2hpdGVzcGFjZSBkaWZmZXJlbmNlIHdpdGggR05VCgljbGFzc3BhdGguCgoyMDA0LTExLTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBNYWtlZmlsZS5hbTogQWRkIGphdmF4L3N3aW5nL1NwaW5uZXJMaXN0TW9kZWwuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0xMS0zMCAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmF4L3N3aW5nL1NwaW5uZXJMaXN0TW9kZWwuamF2YSwgamF2YXgvc3dpbmcvU3Bpbm5lck1vZGVsLmphdmEKCUltcGxlbWVudGVkIFNwaW5uZXJMaXN0TW9kZWwuICBBZGRlZCBkb2N1bWVudGF0aW9uIHRvCglTcGlubmVyTW9kZWwuCgoyMDA0LTExLTMwICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01haW5UaHJlYWQuYwoJKGluaXRfZHBpX2NvbnZlcnNpb25fZmFjdG9yKTogQXBwbHkgdGhlIHBhdGNoIGZyb20gbWFpbiBjb3JyZWN0bHkuCgkyMDA0LTA2LTI2ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoyMDA0LTExLTMwICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJQnVnIDk5NDguCgkqIGphdmF4L3N3aW5nL0pEZXNrdG9wUGFuZS5qYXZhIChMSVZFX0RSQUdfTU9ERSk6IE5vdyBmaW5hbC4KCShPVVRMSU5FX0RSQUdfTU9ERSk6IExJVkVfRFJBR19NT0RFLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lVUkuamF2YQoJKE5PTl9DT05USU5VT1VTX0RJVklERVIpOiBOb3cgZmluYWwuICBJbml0aWFsaXplLgoKMjAwNC0xMS0zMCAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvYXd0L0NhbnZhcy5qYXZhCgkoQWNjZXNzaWJsZUFXVENhbnZhcyk6IGFkZGVkIHNlcmlhbGl6YXRpb24gVUlECgkqIGphdmEvYXd0L0xhYmVsLmphdmEKCShBY2Nlc3NpYmxlQVdUTGFiZWwpOiBhZGRlZCBzZXJpYWxpemF0aW9uIFVJRAoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YQoJKEFjY2Vzc2libGVKUm9vdFBhbmUpOiBhZGRlZCBjb21tZW50IHRvIGV4aXN0aW5nIFVJRAoJKiBqYXZheC9zd2luZy9KU3Bpbm5lci5qYXZhCgkoRGVmYXVsdEVkaXRvcik6IGFkZGVkIHNlcmlhbGl6YXRpb24gVUlECgkoTnVtYmVyRWRpdG9yKTogYWRkZWQgc2VyaWFsaXphdGlvbiBVSUQKCSogamF2YXgvc3dpbmcvdGV4dC9odG1sL0hUTUwuamF2YQoJKFVua25vd25UYWcpOiBhZGRlZCBzZXJpYWxpemF0aW9uIFVJRAoKMjAwNC0xMS0zMCAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmF4L3N3aW5nL0pJbnRlcm5hbEZyYW1lLmphdmEKCShDT05URU5UX1BBTkVfUFJPUEVSVFksRlJBTUVfSUNPTl9QUk9QRVJUWSxHTEFTU19QQU5FX1BST1BFUlRZLAoJSVNfQ0xPU0VEX1BST1BFUlRZLElTX0lDT05fUFJPUEVSVFksSVNfTUFYSU1VTV9QUk9QRVJUWSwKCUlTX1NFTEVDVEVEX1BST1BFUlRZLExBWUVSRURfUEFORV9QUk9QRVJUWSxNRU5VX0JBUl9QUk9QRVJUWSwKCVJPT1RfUEFORV9QUk9QRVJUWSxUSVRMRV9QUk9QRVJUWSk6IE1hZGUgZmluYWwgYXMgcGVyIEFQSSBzcGVjLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhCgkoQ0xPU0VfQ01ELElDT05JRllfQ01ELE1BWElNSVpFX0NNRCxNT1ZFX0NNRCxSRVNUT1JFX0NNRCxTSVpFX0NNRCk6CglNYWRlIGZpbmFsIGFzIHBlciBBUEkgc3BlYy4KCjIwMDQtMTEtMzAgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIGpuaS9ndGstcGVlci9ndGtwZWVyLmg6IFJlbW92ZSBkdXBsaWNhdGVkIGNvcHlyaWdodCBzdHJpbmcuCgoyMDA0LTExLTMwICBTdmVuIGRlIE1hcm90aHkgIDxzdmVuQHBoeXN0by5zZT4KCgkqIGphdmEvYXd0L2dlb20vQXJjMkQuamF2YTogUmVmb3JtYXR0ZWQuCgkoc2V0QXJjKTogQ29ycmVjdCBkb2N1bWVudGF0aW9uIHRvIHNheSAndXBwZXIgbGVmdCBjb3JuZXInLgoJKHNldEFyY0J5VGFuZ2VudCxjb250YWlucyxpbnRlcnNlY3RzKTogSW1wbGVtZW50ZWQuCgkoY29udGFpbnNBbmdsZSk6IENvcnJlY3RlZCB0byBoYW5kbGUgbmVnYXRpdmUgZXh0ZW50cy4KCShBcmNJdGVyYXRvcik6IFNldCB0byBwcml2YXRlLgoJKEFyY0l0ZXJhdG9yKTogQ29ycmVjdGVkIGZvciBDSE9SRC10eXBlIGFyY3MsIG5lZ2F0aXZlIGV4dGVudHMuCgkoaW50ZXJzZWN0cyk6IEZpeDogTm93IGNoZWNrcyB0aGUgYXJjIHNlZ21lbnQuCgkoY29udGFpbnMpOiBDbGVhbmVkIHVwLgoJKiBqYXZhL2F3dC9nZW9tL0N1YmljQ3VydmUyYS5qYXZhRDogRml4IGluc2lkZW5lc3MtdGVzdC4gUmVpbmRlbnQuCgkoY29udGFpbnMpOiBJbXBsZW1lbnRlZC4KCShpbnRlcnNlY3RzKTogSW1wbGVtZW50ZWQuCgkqIGphdmEvYXd0L2dlb20vUXVhZEN1cnZlMkQuamF2YTogRml4IGluc2lkZW5lc3MtdGVzdC4gUmVpbmRlbnQuCgkqIGphdmEvYXd0L2dlb20vR2VuZXJhbFBhdGg6IEZpeCBpbnNpZGVuZXNzLXRlc3QuIFJlaW5kZW50IGFuZAoJZG9jdW1lbnQuICBGdWxseSAocmUpaW1wbGVtZW50ZWQgdXNpbmcgc2VwYXJhdGUgeHBvaW50cyBhbmQgeXBvaW50cwoJZmxvYXRbXSBjb29yZHMuCgoyMDA0LTExLTMwICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBjb25maWd1cmUuYWM6IEludHJvZHVjZSBBQ19DX0JJR0VORElBTl9DUk9TUyBmb3IgV09SRFNfQklHRU5ESUFOLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvY29uZmlnLmguaW46IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ3RrcGVlci5oIChTV0FQVTMyKTogSW50cm9kdWNlIG1hY3JvIHRvIHN3YXAgcGl4ZWxzLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlUGFpbnRlci5jOiBNb3ZlZCBTV0FQVTMyCgltYWNybyB0byBndGtwZWVyLmguCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9nZXRJbWFnZVBpeGVscyk6IENvbnZlcnQKCXBpeGVscyBmcm9tICAweEJCR0dSUkFBIHRvIDB4QUFSUkdHQkIgb25seSBvbiBMaXR0bGUgRW5kaWFuCglhcmNoaXRlY3R1cmVzLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1BpeGJ1ZkRlY29kZXIuYyAoYXJlYV91cGRhdGVkKToKCUxpa2V3aXNlLgoKMjAwNC0xMS0zMCAgRGF2aWQgR2lsYmVydCAgPGRhdmlkLmdpbGJlcnRAb2JqZWN0LXJlZmluZXJ5LmNvbT4KCgkqIGphdmEvYXd0L1N5c3RlbUNvbG9yLmphdmE6IEZpeCBAbGluayBkb2MgZW50cmllcy4KCjIwMDQtMTEtMzAgIERhdmlkIEdpbGJlcnQgIDxkYXZpZC5naWxiZXJ0QG9iamVjdC1yZWZpbmVyeS5jb20+CgoJKiBqYXZhL2F3dC9SZW5kZXJpbmdIaW50cy5qYXZhOiBEb2N1bWVudGVkLgoJKFJlbmRlcmluZ0hpbnRzKTogQWNjZXB0IG51bGwgaW5pdCBNYXAuCgkocHV0QWxsKTogUHJlcHJvY2VzcyBtYXAgdG8gZ2VuZXJhdGUgYXBwcm9wcmlhdGUgZXhjZXB0aW9ucy4KCShyZW1vdmUpOiBDYXN0IG9iamVjdCB0byBLZXkgYW5kIHJlbW92ZSBmcm9tIGhpbnRNYXAuCgoyMDA0LTExLTMwICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS9hd3QvTWVudUNvbXBvbmVudC5qYXZhLCBqYXZhL2F3dC9NZW51QmFyLmphdmE6CglJbXBsZW1lbnRhdGlvbiBvZiBhY2Nlc3NpYmlsaXR5IGNsYXNzZXMgYW5kIG1ldGhvZHMKCWZvciB0aGVzZSB0d28gY29tcG9uZW50cy4KCjIwMDQtMTEtMzAgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL2F3dC9LZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhOgoJQWRkZWQgbWlzc2luZyBkb2N1bWVudGF0aW9uLgoKMjAwNC0xMS0zMCAgQW5kcmV3IEpvaG4gSHVnaGVzIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS9hd3QvTGFiZWwuamF2YSwgamF2YS9hd3QvQ2FudmFzLmphdmE6CglBZGRlZCBhY2Nlc3NpYmlsaXR5IGNsYXNzZXMgdG8gQVdUIExhYmVsIGFuZCBDYW52YXMsCglhcyB3ZWxsIGFzIGFkZGl0aW9uYWwgZG9jdW1lbnRhdGlvbiBmb3IgQ2FudmFzLgoKMjAwNC0xMS0zMCAgRGF2aWQgR2lsYmVydCAgPGFkZHJlc3NAYm9ndXMuZXhhbXBsZS5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyLmphdmE6IFVwZGF0ZSBBUEkgZG9jdW1lbnRhdGlvbi4KCSogamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckJ5dGUuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJEb3VibGUuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJGbG9hdC5qYXZhOiBMaWtld2lzZS4KCSogamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckludC5qYXZhOiBMaWtld2lzZS4KCSogamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlclNob3J0LmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyVVNob3J0LmphdmE6IExpa2V3aXNlLgoKMjAwNC0xMS0zMCAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEgKHBvc3RFdmVudCk6CglPbmx5IGRlbGVnYXRlIHRvIHBhcmVudCBpZiBhIHBhcmVudCBleGlzdHMuCglSZXBvcnRlZCBieTogU3RlcGhhbmUgTWVzbGluLVdlYmVyIDxzdGVwaEB0YW5nZW5jeS5jby51az4KCjIwMDQtMTEtMzAgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSpqYXZhL2F3dC9BV1RFdmVudE11bHRpY2FzdGVyLmphdmEsCglqYXZhL2F3dC9BZGp1c3RhYmxlLmphdmEsCglqYXZhL2F3dC9Qb2ludC5qYXZhLAoJamF2YS9hd3QvUG9seWdvbi5qYXZhLAoJamF2YS9hd3QvUmVjdGFuZ2xlLmphdmEsCglqYXZhL2F3dC9TaGFwZS5qYXZhLAoJamF2YS9hd3QvZ2VvbS9BcmVhLmphdmEsCglqYXZhL2F3dC9nZW9tL0VsbGlwc2UyRC5qYXZhLAoJamF2YS9hd3QvZ2VvbS9QYXRoSXRlcmF0b3IuamF2YSwKCWphdmEvYXd0L2dlb20vUG9pbnQyRC5qYXZhLAoJamF2YS9hd3QvZ2VvbS9SZWN0YW5nbGUyRC5qYXZhLAoJamF2YS9sYW5nL0NvbXBhcmFibGUuamF2YSwKCWphdmEvdXRpbC9BcnJheXMuamF2YToKCUZpeGVkIGRvY3VtZW50YXRpb24gZXJyb3JzCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL0NvbXBvbmVudFNhbXBsZU1vZGVsLmphdmE6IEFkZCBkb2N1bWVudGF0aW9uLgoKCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvQ29tcG9uZW50U2FtcGxlTW9kZWwuamF2YSAoY29uc3RydWN0b3IpOgoJSW5pdGlhbGl6ZSBudW1CYW5rcyB3aGVuIGZpZ3VyaW5nIG91dCB0aGUgbWF4IGJhbmsgaW5kZXguCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL1Jhc3Rlci5qYXZhIChjcmVhdGVQYWNrZWRSYXN0ZXIpOiBJbXBsZW1lbnQKCU11bHRpUGl4ZWxQYWNrZWRTYW1wbGVNb2RlbCBjb2RlcGF0aC4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvTXVsdGlQaXhlbFBhY2tlZFNhbXBsZU1vZGVsLmphdmE6IEltcGxlbWVudC4KCSogTWFrZWZpbGUuYW06IEFkZCBNdWx0aVBpeGVsUGFja2VkU2FtcGxlTW9kZWwuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL1Jhc3Rlci5qYXZhIChnZXROdW1CYW5kcyk6IEltcGxlbWVudC4KCjIwMDQtMTEtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvaW1hZ2UvUmFzdGVyLmphdmEKCShjcmVhdGVQYWNrZWRSYXN0ZXIoaW50LGludCxpbnQsaW50LGludCxQb2ludCkpOiBJbXBsZW1lbnQgZm9yCgliYW5kcz4xLgoKMjAwNC0xMS0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9TaW5nbGVQaXhlbFBhY2tlZFNhbXBsZU1vZGVsLmphdmEKCShTaW5nbGVQaXhlbFBhY2tlZFNhbXBsZU1vZGVsKTogVGhyb3cgZXhjZXB0aW9uIGZvciB1bnN1cHBvcnRlZAoJZGF0YXR5cGUuCgoyMDA0LTExLTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL0NvbG9yTW9kZWwuamF2YSAoZ2V0RGF0YUVsZW1lbnQpOiBJbXBsZW1lbnRlZC4KCVVwZGF0ZSBqYXZhZG9jLgoJKGdldERhdGFFbGVtZW50cyk6IEFkZCBtaXNzaW5nIHZlcnNpb24uICBSZW1vdmUgYm9ndXMgdmVyc2lvbi4KCVVwZGF0ZSBqYXZhZG9jLgoKMjAwNC0xMS0zMCAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hVSS5qYXZhOgoJKHBhaW50Q3VycmVudFZhbHVlKTogUGFzcyBjb3JyZWN0IHBhcmFtZXRlcnMgdG8KCWdldExpc3RDZWxsUmVuZGVyZXJDb21wb25lbnQoKS4KCShMaXN0RGF0YUhhbmRsZXIuaW50ZXJ2YWxSZW1vdmVkKTogSW1wbGVtZW50ZWQuCgkoUHJvcGVydHlDaGFuZ2VIYW5kbGVyLnByb3BlcnR5Q2hhbmdlKTogSGFuZGxlIGNoYW5nZXMgaW4KCU1PREVMX0NIQU5HRURfUFJPUEVSVFkgb2YgdGhlIEpDb21ib0JveAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Qb3B1cC5qYXZhOgoJKEJhc2ljQ29tYm9Qb3B1cCk6IE1vdmVkIGNvZGUgdGhhdCBjb25maWd1cmVzIHBvcHVwIHRvCgljb25maWd1cmVQb3B1cCgpIGFuZCBjYWxsIGl0IGluc3RlYWQuCgkoZmlyZVBvcHVwTWVudVdpbGxCZWNvbWVWaXNpYmxlKTogSW1wbGVtZW50ZWQuCgkoZmlyZVBvcHVwTWVudVdpbGxCZWNvbWVJbnZpc2libGUpOiBMaWtld2lzZS4KCShmaXJlUG9wdXBNZW51Q2FuY2VsZWQpOiBMaWtld2lzZS4KCShjb25maWd1cmVMaXN0KTogU2V0IGxpc3QncyB2aXNpYmxlUm93Q291bnQgc2FtZSBhcwoJY29tYm9Cb3gncyB2aXNpYmxlUm93Q291bnQuCgkoY29uZmlndXJlUG9wdXApOiBJbXBsZW1lbnRlZC4KCShnZXRQb3B1cEhlaWdodEZvclJvd0NvdW50KTogR2V0IGl0ZW0ncyBmcm9tIEpDb21ib0JveCdzIG1vZGVsIGFuZAoJbm90IGZyb20gbW9kZWwgb2YgdGhlIEpMaXN0LgoJKExpc3RNb3VzZU1vdGlvbkhhbmRsZXIubW91c2VNb3ZlZCk6IEltcGxlbWVudGVkLgoJKFByb3BlcnR5Q2hhbmdlSGFuZGxlci5wcm9wZXJ0eUNoYW5nZSk6IEhhbmRsZXMgY2hhbmdlIGluIHRoZQoJSkNvbWJvQm94J3MgbW9kZWwuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoaXNNYXhpbXVtU2l6ZVNldCk6IE5ldyBtZXRob2QuCgkoaXNNaW5pbXVtU2l6ZVNldCk6IExpa2V3aXNlLgoJKGlzUHJlZmVycmVkU2l6ZVNldCk6IExpa2V3aXNlLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pTcGlubmVyLmphdmE6CglTb21lIFJlLWZvcm1hdHRpbmcuCgkoc3Bpbm5lcik6IE5ldyBmaWVsZC4KCShEZWZhdWx0RWRpdG9yKTogTmV3IG1ldGhvZC4KCShnZXRTcGlubmVyKTogTGlrZXdpc2UuCgkoTnVtYmVyRWRpdG8pOiBMaWtld2lzZS4KCShnZXRNb2RlbCk6IExpa2V3aXNlCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSW5wdXRWZXJpZmllci5qYXZhOgoJUmUtZm9ybWF0dGVkLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShpbnB1dFZlcmlmaWVyKTogTmV3IHByb3BlcnR5IGZpZWxkLgoJKGdldElucHV0VmVyaWZpZXIpOiBOZXcgbWV0aG9kLgoJKHNldElucHV0VmVyaWZpZXIpOiBMaWtld2lzZS4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShKQ29tcG9uZW50KTogQWRkZWQgamF2YWRvYyBjb21tZW50LgoJKHNldEJvcmRlcik6IEZpcmUgcHJvcGVydHkgY2hhbmdlIGV2ZW50ci4KCShzZXRFbmFibGVkKTogTGlrZXdpc2UuCgkoc2V0TWF4aW11bVNpemUpOiBMaWtld2lzZS4KCShzZXRNaW5pbXVtU2l6ZSk6IExpa2V3aXNlLgoJKHNldFByZWZlcnJlZFNpemUpOiBMaWtld2lzZS4KCShzZXRPcGFxdWUpOiBMaWtld2lzZS4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShhY3Rpb24pOiBOZXcgZmllbGQuCgkoYWN0aW9uQ29tbWFuZCk6IExpa2V3aXNlLgoJKGFjdGlvblByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBMaWtld2lzZS4KCShzZXRIb3Jpem9udGFsQWxpZ25tZW50KTogQWJvcnQgc29vbiBpZiBuZXcgdmFsdWUgPT0gb2xkIHZhbHVlLiBGaXJlCglldmVudCBiZWZvcmUgcmVwYWludGluZy4KCShwb3N0QWN0aW9uRXZlbnQpOiBOZXcgbWV0aG9kLgoJKGdldEFjdGlvbik6IExpa2V3aXNlLgoJKHNldEFjdGlvbik6IExpa2V3aXNlLgoJKGdldEFjdGlvbkNvbW1hbmQpOiBMaWtld2lzZS4KCShzZXRBY3Rpb25Db21tYW5kKTogTGlrZXdpc2UuCgkoY3JlYXRlQWN0aW9uUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGNvbmZpZ3VyZVByb3BlcnRpZXNGcm9tQWN0aW9uKTogTGlrZXdpc2UuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvRGVidWdHcmFwaGljcy5qYXZhOgoJUmUtZm9ybWF0dGVkLiBGaXhlZCBzb21lIGphdmFkb2NzLgoJKiBqYXZheC9zd2luZy9KQXBwbGV0LmphdmEKCShyb290UGFuZUNoZWNraW5nRW5hYmxlZCk6IFJlbmFtZWQgZnJvbSBjaGVja2luZy4KCSogamF2YXgvc3dpbmcvSkNoZWNrQm94LmphdmEKCShCT1JERVJfUEFJTlRFRF9GTEFUX0NIQU5HRURfUFJPUEVSVFkpOiBOZXcgc3RhdGlmIGZpZWxkLgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YToKCVJlLWZvcm1hdHRlZCBhIGJpdCBhbmQgcmVvcmRlcmVkIHNvbWUgbWV0aG9kcy4KCShyb290UGFuZUNoZWNraW5nRW5hYmxlZCk6IFJlbmFtZWQgZnJvbSBjaGVja2luZy4KCShnZXRQcmVmZXJyZWRTaXplKTogU2ltcGxpZmllZC4KCSogamF2YXgvc3dpbmcvSlRleHRBcmVhLmphdmEKCShnZXRDb2x1bW5XaWR0aCk6IE5ldyBtZXRob2QuCgkoZ2V0TGluZUNvdW50KTogTGlrZXdpc2UuCgkoZ2V0TGluZVN0YXJ0T2Zmc2V0KTogTGlrZXdpc2UuCgkoZ2V0TGluZUVuZE9mZnNldCk6IExpa2V3aXNlLgoJKGdldExpbmVPZk9mZnNldCk6IExpa2V3aXNlLgoJKGdldFJvd0hlaWdodCk6IExpa2V3aXNlLgoJKGluc2VydCk6IExpa2V3aXNlLgoJKHJlcGxhY2VSYW5nZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShzY3JvbGxPZmZzZXQpOiBuZXcgZmllbGQuCgkoZ2V0U2Nyb2xsT2Zmc2V0KTogTmV3IG1ldGhvZC4KCShzZXRTY3JvbGxPZmZzZXQpOiBMaWtld2lzZS4KCShnZXRDb2x1bW5XaWR0aCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVHJlZS5qYXZhCgkoQU5DSE9SX1NFTEVDVElPTl9QQVRIX1BST1BFUlRZKTogTmV3IHN0YXRpYyBmaWVsZC4KCShDRUxMX0VESVRPUl9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKENFTExfUkVOREVSRVJfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShFRElUQUJMRV9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKEVYUEFORFNfU0VMRUNURURfUEFUSFNfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShJTlZPS0VTX1NUT1BfQ0VMTF9FRElUSU5HX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoTEFSR0VfTU9ERUxfUFJPUEVSVFkpOiBMaWtld2lzZS4KCShMRUFEX1NFTEVDVElPTl9QQVRIX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoUk9PVF9WSVNJQkxFX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoUk9XX0hFSUdIVF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKFNDUk9MTFNfT05fRVhQQU5EX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoU0VMRUNUSU9OX01PREVMX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoU0hPV1NfUk9PVF9IQU5ETEVTX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoVE9HR0xFX0NMSUNLX0NPVU5UX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoVFJFRV9NT0RFTF9QUk9QRVJUWSk6IExpa2V3aXNlLgoJKFZJU0lCTEVfUk9XX0NPVU5UX1BST1BFUlRZKTogTGlrZXdpc2UuCgkoY2VsbEVkaXRvcik6IE5ldyBmaWVsZC4KCShpbnZva2VzU3RvcENlbGxFZGl0aW5nKTogTGlrZXdpc2UuCgkobGFyZ2VNb2RlbCk6IExpa2V3aXNlLgoJKHJvd0hlaWdodCk6IExpa2V3aXNlLgoJKHNjcm9sbHNPbkV4cGFuZCk6IExpa2V3aXNlLgoJKHNlbGVjdGlvbk1vZGVsKTogTGlrZXdpc2UuCgkodG9nZ2xlQ2xpY2tDb3VudCk6IExpa2V3aXNlLgoJKHZpc2libGVSb3dDb3VudCk6IExpa2V3aXNlLgoJKHNldFNob3dzUm9vdEhhbmRsZXMpOiBGaXhlZCB0eXBvIGluIG1ldGhvZCBuYW1lLgoJKGdldENlbGxFZGl0b3IpOiBOZXcgbWV0aG9kLgoJKHNldENlbGxFZGl0b3IpOiBMaWtld2lzZS4KCShnZXRTZWxlY3Rpb25Nb2RlbCk6IExpa2V3aXNlLgoJKHNldFNlbGVjdGlvbk1vZGVsKTogTGlrZXdpc2UuCgkoZ2V0VmlzaWJsZVJvd0NvdW50KTogTGlrZXdpc2UuCgkoc2V0VmlzaWJsZVJvd0NvdW50KTogTGlrZXdpc2UuCgkoaXNMYXJnZU1vZGVsKTogTGlrZXdpc2UuCgkoc2V0TGFyZ2VNb2RlbCk6IExpa2V3aXNlLgoJKGdldFJvd0hlaWdodCk6IExpa2V3aXNlLgoJKHNldFJvd0hlaWdodCk6IExpa2V3aXNlLgoJKGdldEludm9rZXNTdG9wQ2VsbEVkaXRpbmcpOiBMaWtld2lzZS4KCShzZXRJbnZva2VzU3RvcENlbGxFZGl0aW5nKTogTGlrZXdpc2UuCgkoZ2V0VG9nZ2xlQ2xpY2tDb3VudCk6IExpa2V3aXNlLgoJKHNldFRvZ2dsZUNsaWNrQ291bnQpOiBMaWtld2lzZS4KCShnZXRTY3JvbGxzT25FeHBhbmQpOiBMaWtld2lzZS4KCShzZXRTY3JvbGxzT25FeHBhbmQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ29sdW1uTW9kZWwuamF2YQoJKGFkZENvbHVtbk1vZGVsTGlzdGVuZXIpOiBGaXhlZCBqYXZhZG9jLgoJKHJlbW92ZUNvbHVtbk1vZGVsTGlzdGVuZXIpOiBJbXBsZW1lbnRlZC4gRml4ZWQgamF2YWRvYy4KCShnZXRDb2x1bW5Nb2RlbExpc3RlbmVycyk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RhYmxlL0pUYWJsZUhlYWRlci5qYXZhCgkoY29sdW1uTW9kZWwpOiBNYWRlIHByb3RlY3RlZC4KCShkcmFnZ2VkQ29sdW1uKTogTGlrZXdpc2UuCgkoZHJhZ2dlZERpc3RhbmNlKTogTGlrZXdpc2UuCgkocmVvcmRlcmluZ0FsbG93ZWQpOiBMaWtld2lzZS4KCShyZXNpemluZ0FsbG93ZWQpOiBMaWtld2lzZS4KCShyZXNpemluZ0NvbHVtbik6IExpa2V3aXNlLgoJKHRhYmxlKTogTGlrZXdpc2UuCgkodXBkYXRlVGFibGVJblJlYWxUaW1lKTogTGlrZXdpc2UuCgkoY3JlYXRlRGVmYXVsdENvbHVtbk1vZGVsKTogUmVuYW1lZCBmcm9tCgljcmVhdGVEZWZhdWx0VGFibGVDb2x1bW5Nb2RlbC4KCShzZXREZWZhdWx0UmVuZGVyZXIpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy90YWJsZS9UYWJsZUNvbHVtbi5qYXZhCgkoZ2V0UHJvcGVydHlDaGFuZ2VMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRIaWdobGlnaHRlci5qYXZhCgkoZHJhd3NMYXllcmVkSGlnaGxpZ2h0cyk6IE5ldyBmaWVsZC4KCShnZXREcmF3c0xheWVyZWRIaWdobGlnaHRzKTogTmV3IG1ldGhvZC4KCShzZXREcmF3c0xheWVyZWRIaWdobGlnaHRzKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvRG9jdW1lbnRGaWx0ZXIuamF2YQoJKEZpbHRlckJ5cGFzcyk6IE5ldyBpbm5lciBjbGFzcy4KCShpbnNlcnRTdHJpbmcpOiBOZXcgbWV0aG9kLgoJKHJlbW92ZSk6IExpa2V3aXNlLgoJKHJlcGxhY2UpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoZHJhZ0VuYWJsZWQpOiBOZXcgZmllbGQuCgkoZ2V0U2VsZWN0ZWRUZXh0KTogTmV3IG1ldGhvZC4KCShnZXREcmFnRW5hYmxlZCk6IExpa2V3aXNlLgoJKHNldERyYWdFbmFibGVkKTogTGlrZXdpc2UuCgkocmVwbGFjZVNlbGVjdGlvbik6IFJlaW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvTmF2aWdhdGlvbkZpbHRlci5qYXZhCgkoRmlsdGVyQnlwYXNzKTogTmV3IGlubmVyIGNsYXNzLgoJKE5hdmlnYXRpb25GaWx0ZXIpOiBOZXcgbWV0aG9kLgoJKG1vdmVEb3QpOiBMaWtld2lzZS4KCShzZXREb3QpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9TaW1wbGVBdHRyaWJ1dGVTZXQuamF2YQoJKEVNUFRZKTogTWFkZSBwdWJsaWMgZmluYWwuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvU3Bpbm5lck51bWJlck1vZGVsLmphdmEKCShnZXRNaW5pbXVtKTogTmV3IG1ldGhvZC4KCShzZXRNaW5pbXVtKTogTGlrZXdpc2UuCgkoZ2V0TWF4aW11bSk6IExpa2V3aXNlLgoJKHNldE1heGltdW0pOiBMaWtld2lzZS4KCShnZXRTdGVwU2l6ZSk6IExpa2V3aXNlLgoJKHNldFN0ZXBTaXplKTogTGlrZXdpc2UuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YQoJKGdldE1lbnVMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKGZpcmVNZW51U2VsZWN0ZWQpOiBTaW1wbGlmaWVkLgoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YQoJKE5PTkUpOiBOZXcgc3RhdGljIGZpZWxkLgoJKEZSQU1FKTogTGlrZXdpc2UuCgkoUExBSU5fRElBTE9HKTogTGlrZXdpc2UuCgkoSU5GT1JNQVRJT05fRElBTE9HKTogTGlrZXdpc2UuCgkoRVJST1JfRElBTE9HKTogTGlrZXdpc2UuCgkoQ09MT1JfQ0hPT1NFUl9ESUFMT0cpOiBMaWtld2lzZS4KCShGSUxFX0NIT09TRVJfRElBTE9HKTogTGlrZXdpc2UuCgkoUVVFU1RJT05fRElBTE9HKTogTGlrZXdpc2UuCgkoV0FSTklOR19ESUFMT0cpOiBMaWtld2lzZS4KCShkZWZhdWx0QnV0dG9uKTogTmV3IGZpZWxkLgoJKGdldERlZmF1bHRCdXR0b24pOiBOZXcgbWV0aG9kLgoJKHNldERlZmF1bHRCdXR0b24pOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YQoJKGdldFVJKTogTmV3IG1ldGhvZC4KCShzZXRVSSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKGdldFVJKTogSmF2YWRvYyBhZGRlZC4KCShzZXRVSSk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhCgkoZ2V0VUkpOiBOZXcgbWV0aG9kLgoJKHNldFVJKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL1VJRGVmYXVsdHMuamF2YQoJKHJlbW92ZVByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBNYWRlIHB1YmxpYy4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KQXBwbGV0LmphdmEsIGphdmF4L3N3aW5nL0pGcmFtZS5qYXZhOgoJUmUtaW5kZW50ZWQuCgoyMDA0LTExLTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YToKCUxpdHRsZSByZS1mb3JtYXR0aW5nLgoJKGNoYW5nZUV2ZW50KTogTWFkZSBwcm90ZWN0ZWQuCgkoZmlyZVN0YXRlQ2hhbmdlZCk6IFJlbW92ZWQgYXJndW1lbnQuCgkoc2V0SG9yaXpvbnRhbEFsaWdubWVudCk6IEFib3J0IG1ldGhvZCB3aGVuIG9sZCB2YWx1ZSBpcyBlcXVhbCB0b28gbmV3Cgl2YWx1ZS4KCShzZXRIb3Jpem9udGFsVGV4dFBvc2l0aW9uKTogTGlrZXdpc2UuCgkoc2V0VmVydGljYWxBbGlnbm1lbnQpOiBMaWtld2lzZS4KCShzZXRWZXJ0aWNhbFRleHRQb3NpdGlvbik6IExpa2V3aXNlLgoJKHNldEJvcmRlclBhaW50ZWQpOiBMaWtld2lzZS4KCShzZXRJY29uKTogTGlrZXdpc2UuCgkoc2V0VGV4dCk6IExpa2V3aXNlLgoJKHNldEljb25UZXh0R2FwKTogTGlrZXdpc2UuCgkoc2V0TWFyZ2luKTogTGlrZXdpc2UuCgkoc2V0UHJlc3NlZEljb24pOiBMaWtld2lzZS4KCShzZXRGb2N1c1BhaW50ZWQpOiBMaWtld2lzZS4KCShzZXREaXNhYmxlZFNlbGVjdGVkSWNvbik6IExpa2V3aXNlLgoJKHNldFJvbGxvdmVySWNvbik6IExpa2V3aXNlLgoJKHNldFJvbGxvdmVyU2VsZWN0ZWRJY29uKTogTGlrZXdpc2UuCgkoc2V0U2VsZWN0ZWRJY29uKTogTGlrZXdpc2UuCgkoc2V0Q29udGVudEFyZWFGaWxsZWQpOiBMaWtld2lzZS4KCjIwMDQtMTEtMzAgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0Fycm93QnV0dG9uLmphdmE6CglKYWxvcHkuIFJlaW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YToKCUphbG9weS4KCShhcnJvd0ljb24sIHVwSWNvbiwgZG93bkljb24sIGxlZnRJY29uLAoJcmlnaHRJY29uKTogUmVtb3ZlZC4KCShjcmVhdGVJbmNyZWFzZUJ1dHRvbik6IFVzZSBCYXNpY0Fycm93QnV0dG9uLgoJKGNyZWF0ZURlY3JlYXNlQnV0dG9uKTogRGl0dG8uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVEaXZpZGVyLmphdmE6CgkoY3JlYXRlUmlnaHRPbmVUb3VjaEJ1dHRvbik6IFJlbW92ZSBidXR0b24gYm9yZGVyLgoJKGNyZWF0ZUxlZnRPbmVUb3VjaEJ1dHRvbik6IERpdHRvLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pTcGlubmVyLmphdmEKCShzZXRNb2RlbCk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL1NwcmluZ0xheW91dC5qYXZhCgkoQ29uc3RyYWludHMpOiBNYXkgbm90IGJlIGZpbmFsLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDbGlwYm9hcmQuamF2YSwKCWphdmEvYXd0L2RhdGF0cmFuc2Zlci9DbGlwYm9hcmQuamF2YSwKCWphdmEvYXd0L2RhdGF0cmFuc2Zlci9DbGlwYm9hcmRPd25lci5qYXZhOgoJUmVmb3JtYXRlZCB0byBtYWtlIGl0IHVzZSBvdXIgY29kaW5nIHN0YW5kYXJkLgoKMjAwNC0xMS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL1NwaW5uZXJOdW1iZXJNb2RlbC5qYXZhCgkoU3Bpbm5lck51bWJlck1vZGVsKTogSW1wbGVtZW50cyBqYXZhLmlvLlNlcmlhbGl6YWJsZS4KCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKFNwaW5uZXJOdW1iZXJNb2RlbCk6IEFkZGVkIG1pc3NpbmcgQHRocm93cyB0YWdzIHRvIGphdmFkb2NzLgoJKiBqYXZheC9zd2luZy9VSU1hbmFnZXIuamF2YQoJKGdldCk6IE5ldyBtZXRob2QuCgkoZ2V0Qm9vbGVhbik6IExpa2V3aXNlLgoJKGdldEJvcmRlcik6IExpa2V3aXNlLgoJKGdldENvbG9yKTogTGlrZXdpc2UuCgkoZ2V0RGltZW5zaW9uKTogTGlrZXdpc2UuCgkoZ2V0Rm9udCk6IExpa2V3aXNlLgoJKGdldEljb24pOiBMaWtld2lzZS4KCShnZXRJbnNldHMpOiBMaWtld2lzZS4KCShnZXRJbnQpOiBMaWtld2lzZS4KCShnZXRTdHJpbmcpOiBMaWtld2lzZS4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KUGFzc3dvcmRGaWVsZC5qYXZhOgoJUmVmb3JtYXRlZC4gSW1wbGVtZW50ZWQgY29uc3RydXRvcnMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQYXNzd29yZEZpZWxkVUkuamF2YQoJKGNyZWF0ZSk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEKCShzZWxlY3RlZENvbG9yKTogTWFkZSBwYWNrYWdlLXByaXZhdGUgdG8gYWxsb3cgYWNjZXNzIGZyb20gc3ViLWNsYXNzZXMKCWluIHNhbWUgcGFja2FnZSB0b28uCgkodW5zZWxlY3RlZENvbG9yKTogTGlrZXdpc2UuCgkoZm9udCk6IExpa2V3aXNlLgoJKGRyYXdTZWxlY3RlZFRleHQpOiBNYWtlIHByb3RlY3RlZC4KCShkcmF3VW5zZWxlY3RlZFRleHQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9QYXNzd29yZFZpZXcuamF2YTogTmV3IGZpbGUuCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBqYXZheC9zd2luZy90ZXh0L1Bhc3N3b3JkVmlldy5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTExLTMwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEgKHNldE1lbnVCYXIpOiBTZXQgbWVudQoJYmFyJ3Mgd2lkdGguCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51QmFyUGVlci5qYXZhIChuYXRpdmVTZXRIZWxwTWVudSk6CglBZGQgRklYTUUgY29tbWVudC4KCShhZGRIZWxwTWVudSk6IEVsaWRlIGNhbGwgdG8gbmF0aXZlU2V0SGVscE1lbnUuCgkqIGphdmEvYXd0L01lbnUuamF2YSAoaXNUZWFyT2ZmKTogUmVuYW1lIHRvIHRlYXJPZmYuCgkobWVudVNlcmlhbGl6ZWREYXRhVmVyc2lvbik6IEluaXRpYWxpemUgdG8gMS4KCShzZXBhcmF0b3JMYWJlbCk6IE1hcmsgdHJhbnNpZW50LgoJKGluc2VydChNZW51SXRlbSxpbnQpKTogSW1wbGVtZW50LgoJKiBqYXZhL2F3dC9NZW51QmFyLmphdmEgKHNldEhlbHBNZW51KTogQ2FsbCBnZXRQZWVyIHRvIHJldHJpZXZlCglwZWVyLgoJKGNvdW50TWVudXMpOiBDb3VudCBoZWxwIG1lbnUuCgkqIGphdmEvYXd0L01lbnVDb21wb25lbnQuamF2YSAobmFtZUV4cGxpY2l0bHlTZXQsIG5ld0V2ZW50c09ubHksCglhY2Nlc3NpYmxlQ29udGV4dCk6IEFkZCBmaWVsZHMuCgkqIGphdmEvYXd0L01lbnVJdGVtLmphdmE6IFJlbW92ZSBldmVudCBtYXNrIEZJWE1FLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVJdGVtUGVlci5jCgkoZ3RrV2lkZ2V0TW9kaWZ5Rm9udCk6IE9ubHkgc2V0IGZvbnQgaWYgbGFiZWwgaXMgbm9uLU5VTEwuCgkoc2V0TGFiZWwpOiBEb24ndCB0cmVhdCAiLSIgc3BlY2lhbGx5LgoKMjAwNC0xMS0zMCAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvRGVmYXVsdEhTQkNob29zZXJQYW5lbC5qYXZhOgoJKHN0YXRlQ2hhbmdlZCk6IE9ubHkgdXBkYXRlIHRoZSBpbWFnZSBhbmQgdGhlIHRyYWNrIGlmCgl0aGUgdmFsdWVzIGFyZSBub3QgYmVpbmcgYWRqdXN0ZWQuCgkodXBkYXRlQ2hvb3Nlcik6IEdyYWIgdGhlIG5ldyBtb3VzZSBwb2ludCBmcm9tIHRoZQoJc3Bpbm5lciB2YWx1ZXMuIFVwZGF0ZSB0aGUgaW1hZ2UgYW5kIHRyYWNrIG9ubHkgaWYKCXRoZSB2YWx1ZXMgYXJlIG5vdCBiZWluZyBhZGp1c3RlZC4KCShnZXRIU0JWYWx1ZXMpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvRGVmYXVsdFJHQkNob29zZXJQYW5lbC5qYXZhOgoJKFNsaWRlckhhbmRsZXI6OnN0YXRlQ2hhbmdlZCk6IENoYW5nZWQgaW50ZXJuYWxDaGFuZ2UKCXRvIHVwZGF0ZUNoYW5nZS4gU2V0IHNsaWRlckNoYW5nZS4KCShTcGlubmVySGFuZGxlcjo6c3RhdGVDaGFuZ2VkKTogRGl0dG8uIFNldCBzcGlubmVyQ2hhbmdlLgoJKHNwaW5uZXJDaGFuZ2UpOiBOZXcgdmFyaWFibGUuCgkoc2xpZGVyQ2hhbmdlKTogRGl0dG8uCgkodXBkYXRlQ2hhbmdlKTogUmVuYW1lZCBmcm9tIGludGVybmFsQ2hhbmdlLgoJKHVwZGF0ZUNob29zZXIpOiBEbyBub3QgdXBkYXRlIHNsaWRlcnMgaWYgdGhlIHNsaWRlcnMKCXdlcmUgdGhlIG9yaWdpbmFsIHNvdXJjZSBvZiB0aGUgY2hhbmdlLiBEaXR0byBmb3Igc3Bpbm5lcnMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YToKCShtb3VzZVByZXNzKTogRG9uJ3Qgc2Nyb2xsIHRoZSBKVmlld3BvcnQgaWYgdGhlcmUgd2lsbAoJYmUgZXh0cmEgc3BhY2UgYXQgdGhlIGVuZCBvZiB0aGUgcnVuLiBDaGFuZ2UgbGF5b3V0KCkgdG8KCXJldmFsaWRhdGUoKS4KCShjYWxjdWxhdGVTaXplKTogVXNlIHRoZSBjb21wb25lbnQncyB3aWR0aC9oZWlnaHQgdW5sZXNzCglpdCBpcyBzbWFsbGVyIHRoYW4gdGhlIG1heCB0YWIgd2lkdGgvaGVpZ2h0LgoJKGNhbGN1bGF0ZVRhYlJlY3RzKTogU3VidHJhY3QgdGhlIHRhYiBydW4gb3ZlcmxheS4KCShyb3RhdGVUYWJSdW5zKTogRG9uJ3Qgcm90YXRlIGlmIHRoZXJlJ3Mgb25seSBvbmUgcnVuLgoJKGxheW91dENvbnRhaW5lcik6IFJldXNlIHRoZSB2aWV3cG9ydCBwb2ludC4KCShjcmVhdGVMYXlvdXRNYW5hZ2VyKTogU2V0IHRoZSB2aWV3cG9ydCB0byB1c2Ugbm8gbGF5b3V0LgoJKHBhaW50VGFiQXJlYSk6IERvbid0IHBhaW50IHRoZSB0YWJzIHRoYXQgYXJlIG5vdCB2aXNpYmxlCgl0byB0aGUgSlZpZXdwb3J0LgoJKHBhaW50Q29udGVudEJvcmRlclRvcEVkZ2UpOiBDaGVjayBmb3Igc2Nyb2xsIHRhYiBsYXlvdXQgYmVmb3JlCglsb29raW5nIGZvciBnYXAuCgkocGFpbnRDb250ZW50Qm9yZGVyTGVmdEVkZ2UpOiBEaXR0by4KCShwYWludENvbnRlbnRCb3JkZXJCb3R0b21FZGdlKTogRGl0dG8uCgkocGFpbnRDb250ZW50Qm9yZGVyUmlnaHRFZGdlKTogRGl0dG8uCgoyMDA0LTExLTMwICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQnV0dG9uUGVlci5qYXZhIChndGtXaWRnZXRTZXRGb250KToKCVJlbmFtZSAuLi4KCShndGtXaWRnZXRNb2RpZnlGb250KTogTmV3IG1ldGhvZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGcmFtZVBlZXIuYwoJKHNldE1lbnVCYXJXaWR0aCk6IE5ldyBtZXRob2QuCgkoc2V0Qm91bmRzKTogU2V0IHRoZSBtZW51IGJhciB3aWR0aC4KCShwb3N0Q29uZmlndXJlRXZlbnQpOiBTZXQgdGhlIG1lbnUgYmFyIHdpZHRoIGlmIHRoZSB3aW5kb3cncwoJd2lkdGggaGFzIGNoYW5nZWQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51QmFyUGVlci5qYXZhIChHdGtNZW51QmFyUGVlcik6CglEb24ndCBjYWxsIGNyZWF0ZS4KCShzZXRGb250KTogTmV3IG1ldGhvZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a01lbnVDb21wb25lbnRQZWVyLmphdmEgKGNyZWF0ZSk6IE5ldwoJbWV0aG9kLgoJKHNldEZvbnQpOiBMaWtld2lzZS4KCShHdGtNZW51Q29tcG9uZW50UGVlcik6IENhbGwgY3JlYXRlIGFuZCBzZXRGb250LgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWVudUl0ZW1QZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVJdGVtUGVlci5jCgkoY29ubmVjdFNpZ25hbHMpOiBNYWtlIHBhY2thZ2UgcHJpdmF0ZS4KCShndGtXaWRnZXRNb2RpZnlGb250KTogTmV3IG1ldGhvZC4KCShjcmVhdGUpOiBMaWtld2lzZS4KCShHdGtNZW51SXRlbVBlZXIpOiBEb24ndCBjYWxsIGNyZWF0ZS4KCShzZXRGb250KTogTmV3IG1ldGhvZC4KCSogamF2YS9hd3QvQ2hlY2tib3hNZW51SXRlbS5qYXZhIChhZGROb3RpZnkpOiBGaXggcGVlciA9PSBudWxsCgljb25kaXRpb24uCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhICh2YWxpZGF0ZVRyZWUpOiBGaXggY29tbWVudCB0eXBvcy4KCSogamF2YS9hd3QvTWVudUNvbXBvbmVudC5qYXZhIChnZXRGb250KTogUmV0dXJuIHBhcmVudCdzIGZvbnQgaWYKCW91ciBmb250IGlzIG51bGwuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hNZW51SXRlbVBlZXIuYwoJKGNyZWF0ZSk6IFJlbW92ZSBjYWxsIHRvIGRlcHJlY2F0ZWQKCWd0a19jaGVja19tZW51X2l0ZW1fc2V0X3Nob3dfdG9nZ2xlIGZ1bmN0aW9uLgoKMjAwNC0xMS0zMCAgSGFucyBCb2VobSA8SGFucy5Cb2VobUBocC5jb20+CgoJKiBqYXZhL2xhbmcvbmF0T2JqZWN0LmNjIChMT0NLX0xPRywgTE9HKTogQWRkIGRlYnVnIHRyYWNpbmcuCgkoQWxtb3N0IGV2ZXJ5d2hlcmUpOiBhZGQgTE9HIGNhbGxzLCBmaXgsIGFkZCBjb21tZW50cy4KCShfSnZfTW9uaXRvckVudGVyKTogUmVwbGFjZSBtYXNraW5nIG9mIExPQ0tFRCBiaXQgd2l0aCBhc3NlcnRpb24uCglBZGQgZXhwbGljaXQgY2hlY2sgZm9yIExPQ0tFRCBiaXQgaW4gc2xvdyBjYXNlIChQUiAxNjY2MikuCgkoX0p2X01vbml0b3JFeGl0KTogQWRkIGNhc3RzIGluIGRlYnVnLW9ubHkgY29kZS4KCUFsd2F5cyByZWxlYXNlIExPQ0tFRCBiaXQgYmVmb3JlIHRocm93aW5nIGV4Y2VwdGlvbi4KCShfSnZfT2JqZWN0Q2hlY2tNb25pdG9yKTogTG9jayBtYXkgYmUgaGVsZCBpZiBsaWdodHdlaWdodCBsb2NrCglpc24ndC4gIEhhbmRsZSBlYXN5IGNhc2VzIHdpdGhvdXQgbG9jayBhY3F1aXNpdGlvbi4KCShPYmplY3Q6OndhaXQpOiBVc2UgTm90aWZ5QWxsIGZvciBsb2NrIGluZmxhdGlvbi4KCjIwMDQtMTEtMzAgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGcmFtZVBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRnJhbWVQZWVyLmMKCShndGtGaXhlZE1vdmUpOiBSZW1vdmUgbWV0aG9kLgoKMjAwNC0xMS0zMCAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL2F3dC9nZW9tL0FyZWEuamF2YTogSW1wbGVtZW50ZWQuCgoyMDA0LTExLTMwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2F3dC9nZW9tL0FyYzJELmphdmEgKEFyY0l0ZXJhdG9yKTogTWFrZSBwYWNrYWdlIHByaXZhdGUuCgoyMDA0LTExLTMwIFN2ZW4gZGUgTWFyb3RoeSA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL2F3dC9nZW9tL0FyYzJELmphdmEKCVJlZm9ybWF0dGVkLgoJKHNldEFyYyk6IENvcnJlY3QgZG9jdW1lbnRhdGlvbiB0byBzYXkgJ3VwcGVyIGxlZnQgY29ybmVyJy4KCShzZXRBcmNCeVRhbmdlbnQsY29udGFpbnMsaW50ZXJzZWN0cyk6IEltcGxlbWVudGVkLgoJKGNvbnRhaW5zQW5nbGUpOiBDb3JyZWN0ZWQgdG8gaGFuZGxlIG5lZ2F0aXZlIGV4dGVudHMuCgkoQXJjSXRlcmF0b3IpOiBTZXQgdG8gcHJpdmF0ZS4KCShBcmNJdGVyYXRvcik6IENvcnJlY3RlZCBmb3IgQ0hPUkQtdHlwZSBhcmNzLCBuZWdhdGl2ZSBleHRlbnRzLgoJKiBqYXZhL2F3dC9nZW9tL0VsbGlwc2UyRC5qYXZhCglEb2N1bWVudGVkLgoJKGNvbnRhaW5zLGludGVyc2VjdHMpOiBJbXBsZW1lbnRlZC4KCSogamF2YS9hd3QvZ2VvbS9MaW5lMkQuamF2YQoJKGxpbmVzSW50ZXJzZWN0KTogQ29ycmVjdCBoYW5kbGluZyBvZiBzcGVjaWFsIGNhc2VzLgoKMjAwNC0xMS0zMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzLmphdmEgKHNldENvbG9yKTogVXNlCglDb2xvci5CTEFDSyBpZiBjID09IG51bGwsIGRvbid0IGNyZWF0ZSBuZXcgQ29sb3Igb2JqZWN0IGVhY2ggdGltZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSAoY29tcCk6IE5ldyBwcml2YXRlCglmaWVsZC4KCShzZXRDb2xvcik6IFVzZSBDb2xvci5CTEFDSyB3aGVuIGFyZ3VtZW50IG51bGwuCgkoc2V0Q29tcG9zaXRlKTogU2V0IHRoaXMuY29tcCBmaWVsZC4KCShnZXRDb21wb3NpdGUpOiBSZXR1cm4gdGhpcy5jb21wLCBvciBBbHBoYUNvbXBvc2l0ZS5TcmNPdmVyIHdoZW4gbnVsbC4KCShEcmF3U3RhdGUuY29tcCk6IE5ldyBwcml2YXRlIGZpZWxkLgoJKERyYXdTdGF0ZS5zYXZlKTogU2F2ZSBDb21wb3NpdGUuCgkoRHJhd1N0YXRlLnJlc3RvcmUpOiBSZXN0b3JlIGNvbXAgZmllbGQuCgkqIGphdmEvYXd0L0ZvbnRNZXRyaWNzLmphdmEgKGdSQyk6IE5ldyBzdGF0aWMgZmluYWwgcHJpdmF0ZSBmaWVsZC4KCShnZXRMaW5lTWV0cmljcyhTdHJpbmcsIEdyYXBoaWNzKSk6IE5ldyBtZXRob2QuCgkoZ2V0TGluZU1ldHJpY3MoU3RyaW5nLCBpbnQsIGludCwgR3JhcGhpY3MpKTogTGlrZXdpc2UuCgkoZ2V0TGluZU1ldHJpY3MoY2hhcltdLCBpbnQsIGludCwgR3JhcGhpY3MpKTogTGlrZXdpc2UuCgkoZ2V0TGluZU1ldHJpY3MoQ2hhcmFjdGVySXRlcmF0b3IsIGludCwgaW50LCBHcmFwaGljcykpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YSAoSk1lbnUoU3RyaW5nLCBib29sZWFuKSk6IElnbm9yZSB0ZWFyb2ZmCglhcmd1bWVudC4gUFIgU1dJTkcvMTcyOTQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNHcmFwaGljc1V0aWxzLmphdmEgKCk6IEFsd2F5cyB1c2UKCXRoZSBmYWxsLWJhY2sgY29kZSBzaW5jZSBub25lIG9mIHRoZSBUZXh0QXJlYSBtZXRob2RzIGFyZSByZWFsbHkKCWltcGxlbWVudGVkIG5vdy4gUFIgU1dJTkcvMTcyOTYuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR2x5cGhWZWN0b3IuYwoJKEdka0dseXBoVmVjdG9yX3NldENoYXJzKTogUmVwbGFjZSBhc3NlcnQoKSB3aXRoIGlmIGJsb2NrIHdoZW4KCXBhbmdvX2l0ZW1pemUoKSByZXR1cm5zIG51bGwuIFBSIEFXVC8xNzI5NS4KCShHZGtHbHlwaFZlY3Rvcl9hbGxJbmtFeHRlbnRzKTogTGlrZXdpc2Ugd2hlbiB2ZWMtPmdseXBoaXRlbXMgaXMgbnVsbC4KCjIwMDQtMTEtMzAgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChndGtfY19zb3VyY2VfZmlsZXMpOiBBZGQKCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGcmFtZVBlZXIuYy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhIChnZXRDbGlwQm91bmRzKTogUmVtb3ZlCgljb21tZW50LgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQnV0dG9uUGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyLmMKCShjcmVhdGUpOiBQYWNrIEd0a0J1dHRvbiBpbiBHdGtFdmVudEJveC4KCShjb25uZWN0Sk9iamVjdCk6IFJlbW92ZS4KCShmb2N1c19pbl9jYik6IE5ldyBmdW5jdGlvbi4KCShmb2N1c19vdXRfY2IpOiBMaWtld2lzZS4KCShjb25uZWN0U2lnbmFscyk6IENvbm5lY3QgZm9jdXMtaW4tZXZlbnQgYW5kIGZvY3VzLW91dC1ldmVudAoJc2lnbmFscy4KCShndGtTZXRGb250KTogUmVuYW1lIHRvIC4uLgoJKGd0a1dpZGdldE1vZGlmeUZvbnQpOiBOZXcgbWV0aG9kLgoJKGd0a1dpZGdldFJlcXVlc3RGb2N1cyk6IE5ldyBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDaGVja2JveFBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hQZWVyLmMKCShndGtTZXRGb250KTogUmVuYW1lIHRvIC4uLgoJKGd0a1dpZGdldE1vZGlmeUZvbnQpOiBOZXcgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShpc0luUmVwYWludCk6IE5ldyBmaWVsZC4KCShndGtTZXRGb250KTogUmVtb3ZlIG1ldGhvZC4KCShhZGRFeHBvc2VGaWx0ZXIpOiBMaWtld2lzZS4KCShyZW1vdmVFeHBvc2VGaWx0ZXIpOiBMaWtld2lzZS4KCShndGtXaWRnZXRRdWV1ZURyYXdBcmVhKTogUmVuYW1lIHRvIC4uLgoJKGd0a1dpZGdldFJlcGFpbnRBcmVhKTogTmV3IG1ldGhvZC4KCShiZWdpbk5hdGl2ZVJlcGFpbnQpOiBOZXcgbWV0aG9kLgoJKGVuZE5hdGl2ZVJlcGFpbnQpOiBOZXcgbWV0aG9kLgoJKHNldENvbXBvbmVudEJvdW5kcyk6IE1vdmUgaW1wbGVtZW50YXRpb24gaGVyZSBmcm9tCglHdGtDb21wb25lbnRQZWVyLgoJKHBhaW50KTogUmVtb3ZlIGltcGxlbWVudGF0aW9uLgoJKHJlcGFpbnQpOiBXcmFwIGNhbGwgdG8gZ3RrV2lkZ2V0UmVwYWludEFyZWEgd2l0aCBjYWxscyB0bwoJYmVnaW5OYXRpdmVSZXBhaW50IGFuZCBlbmROYXRpdmVSZXBhaW50LgoJKHNldEJvdW5kcyk6IFVzZSBtZW51IGJhciBoZWlnaHQgaW4gYm91bmRzIGNhbGN1bGF0aW9uLgoJKHBvc3RFeHBvc2VFdmVudCk6IE9ubHkgcG9zdCBwYWludCBldmVudCBpZiB3ZSdyZSBub3QgZG9pbmcgYQoJbmF0aXZlIHJlcGFpbnQuCgkoZ3RrV2lkZ2V0U2V0UGFyZW50KTogUmVwbGFjZSBndGtfbGF5b3V0X3B1dCB3aXRoIGd0a19maXhlZF9wdXQuCgkoc2V0TmF0aXZlQm91bmRzKTogUmVwbGFjZSBndGtfbGF5b3V0X21vdmUgd2l0aCBndGtfZml4ZWRfbW92ZS4KCShmaW5kX2d0a19sYXlvdXQpOiBSZW1vdmUgZnVuY3Rpb24uCgkoZmlsdGVyX2V4cG9zZV9ldmVudF9oYW5kbGVyKTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtEaWFsb2dQZWVyLmphdmEgKHBvc3RFeHBvc2VFdmVudCk6CglMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZpbGVEaWFsb2dQZWVyLmphdmEKCShzZXRDb21wb25lbnRCb3VuZHMpOiBDYWxsIEd0a0NvbXBvbmVudFBlZXIncwoJc2V0Q29tcG9uZW50Qm91bmRzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEgKGdldE1lbnVCYXJIZWlnaHQpOgoJTmV3IG1ldGhvZC4KCShtb3ZlTGF5b3V0KTogUmVuYW1lIHRvIC4uLgoJKGd0a0ZpeGVkTW92ZSk6IE5ldyBtZXRob2QuCgkoZ3RrTGF5b3V0U2V0VmlzaWJsZSk6IFJlbmFtZSB0byAuLi4KCShndGtGaXhlZFNldFZpc2libGUpOiBOZXcgbWV0aG9kLgoJKHNldE1lbnVCYXIpOiBSZWFycmFuZ2UsIHRvIG1ha2UgdGhlIHRocmVlIHNlcGFyYXRlIGNhc2VzCgljbGVhcmVyLgoJKHBvc3RFeHBvc2VFdmVudCk6IE9ubHkgcG9zdCBwYWludCBldmVudCBpZiB3ZSdyZSBub3QgZG9pbmcgYQoJbmF0aXZlIHJlcGFpbnQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtHZW5lcmljUGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtHZW5lcmljUGVlci5jCgkoZ3RrV2lkZ2V0TW9kaWZ5Rm9udCk6IE5ldyBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtJbWFnZVBhaW50ZXIuamF2YQoJKEd0a0ltYWdlUGFpbnRlcihHdGtJbWFnZSxHZGtHcmFwaGljcyxpbnQsaW50LGludCxpbnQsQ29sb3IpKToKCUNhbGwgcnVuIGRpcmVjdGx5LCByYXRoZXIgdGhhbiBzcGF3bmluZyBhIG5ldyB0aHJlYWQuCgkoR3RrSW1hZ2VQYWludGVyKEd0a0ltYWdlLEdka0dyYXBoaWNzLGludCxpbnQsaW50LGludCxpbnQsaW50LGludCxpbnQsQ29sb3IpKToKCUxpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTGFiZWxQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xhYmVsUGVlci5jIChndGtTZXRGb250KToKCVJlbmFtZSB0byAuLi4KCShndGtXaWRnZXRNb2RpZnlGb250KTogTmV3IG1ldGhvZC4KCShjcmVhdGUpOiBSZW5hbWUgZWJveCB0byBldmVudGJveC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0xpc3RQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xpc3RQZWVyLmMgKGd0a1NldEZvbnQpOgoJUmVuYW1lIHRvIC4uLgoJKGd0a1dpZGdldE1vZGlmeUZvbnQpOiBOZXcgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWVudUNvbXBvbmVudFBlZXIuamF2YQoJKEd0a01lbnVDb21wb25lbnRQZWVyKTogU2V0IHRoZSBkZWZhdWx0IGZvbnQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUZXh0QXJlYVBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dEFyZWFQZWVyLmMKCShndGtTZXRGb250KTogUmVuYW1lIHRvIC4uLgoJKGd0a1dpZGdldE1vZGlmeUZvbnQpOiBOZXcgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVGV4dEZpZWxkUGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0RmllbGRQZWVyLmM6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YSAobG9jYWxlKTogSW5pdGlhbGl6ZSB0byBkZWZhdWx0Cglsb2NhbGUuCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhIChpbnZhbGlkYXRlVHJlZSk6IE1ha2UKCXBhY2thZ2UtcHJpdmF0ZS4KCShwYWludCk6IFBhaW50IHNlbGYgZmlyc3QuCgkoc2V0TWVudUJhcik6IENhbGwgaW52YWxpZGF0ZVRyZWUuCgkqIGphdmEvYXd0L1BhbmVsLmphdmEgKGRpc3BhdGNoRXZlbnRJbXBsKTogUmVtb3ZlIG1ldGhvZC4KCSogamF2YS9hd3QvV2luZG93LmphdmEgKHNob3cpOiBDYWxsIG5vLXBhcmFtZXRlciB2YXJpYW50IG9mCglyZXF1ZXN0Rm9jdXNJbldpbmRvdy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jIChpbml0U3RhdGUpOgoJUmVtb3ZlIHNwZWNpYWwgY2FzZSBmb3Igd2luZG93IHdpZGdldC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmMKCShncmFiX2N1cnJlbnRfZHJhd2FibGUpOiBMaWtld2lzZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFbWJlZGRlZFdpbmRvd1BlZXIuYwoJKGNyZWF0ZSk6IFJlcGxhY2UgR3RrTGF5b3V0IHdpdGggR3RrRml4ZWQuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRXZlbnRzLmMKCShwcmVfZXZlbnRfaGFuZGxlcik6IFJlbW92ZSBzcGVjaWFsIGNhc2VzIGZvciBHREtfRVhQT1NFIGV2ZW50cy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGcmFtZVBlZXIuYzogTmV3IGZpbGUuCglNb3ZlIGFsbCBHdGtGcmFtZVBlZXIgbmF0aXZlIG1ldGhvZCBpbXBsZW1lbnRhdGlvbnMgaGVyZSBmcm9tCglnbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BhbmVsUGVlci5jIChjcmVhdGUpOgoJUmVwbGFjZSBHdGtMYXlvdXQgd2l0aCBHdGtGaXhlZC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCShmaW5kX2xheW91dCk6IFJlbW92ZSBmdW5jdGlvbi4KCShjcmVhdGUpOiBSZXBsYWNlIEd0a0xheW91dCB3aXRoIEd0a0ZpeGVkLgoJKGNvbm5lY3RTaWduYWxzKTogUmVtb3ZlIGZpbmRfbGF5b3V0IGNhbGwuCgkodG9CYWNrKTogUmVwbGFjZSBYRmx1c2ggd2l0aCBnZGtfZmx1c2guCgkodG9Gcm9udCk6IFJlcGxhY2UgWEZsdXNoIHdpdGggZ2RrX2ZsdXNoLgoJTW92ZSBHdGtGcmFtZVBlZXIgbmF0aXZlIG1ldGhvZCBpbXBsZW1lbnRhdGlvbnMgdG8KCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGcmFtZVBlZXIuYy4KCSogam5pL2d0ay1wZWVyL2d0a3BlZXIuaDogUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGZpbmRfZ3RrX2xheW91dC4KCjIwMDQtMTEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVGV4dEFyZWEuamF2YQoJKGxpbmVXcmFwKTogUmVuYW1lZCBmcm9tICJ3cmFwcGluZyIuCgkod3JhcFN0eWxlV29yZCk6IE5FdyBmaWVsZC4KCShnZXRMaW5lV3JhcCk6IFJlLWVkaXRlZCBqYXZhZG9jIGNvbW1lbnQuCgkoc2V0TGluZVdyYXApOiBMaWtld2lzZS4KCShnZXRXcmFwU3R5bGVXb3JkKTogTmV3IG1ldGhvZC4KCShzZXRXcmFwU3R5bGVXb3JkKTogTGlrZXdpc2UuCgoyMDA0LTExLTI5ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogY29uZmlndXJlOiBSZWdlbmVyYXRlIGZvciBsaWJ0b29sIGNoYW5nZS4KCjIwMDQtMTEtMjkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGdudS9nY2ovdG9vbHMvZ2NqX2RidG9vbC9NYWluLmphdmEgKG1haW4pOiBNZW50aW9uIGdjai1kYnRvb2wuCglSZWNvZ25pemUgLS1oZWxwIGFuZCAtLXZlcnNpb24uCgkodXNhZ2UpOiBNZW50aW9uIGdjai1kYnRvb2wuICBBZGRlZCAib3V0IiBhcmd1bWVudC4KCShpbnNpc3QpOiBVcGRhdGVkLgoKMjAwNC0xMS0yOSAgRXJpYyBCb3RjYXpvdSAgPGVib3RjYXpvdUBsaWJlcnR5c3VyZi5mcj4KCgkqIGxpbmsuY2MgKGxpbmtfc3ltYm9sX3RhYmxlKTogRG8gbm90IHVzZSBpbnRwdHJfdC4KCjIwMDQtMTEtMjggIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIG1hdXZlLWxpYmdjajogRGlzYWJsZSBTcGlubmVyTGlzdE1vZGVsLCBTd2luZ1V0aWxpdGllcyBhbmQKCVhNTERlY29kZXIgdGVzdHMgd2hpY2ggY3VycmVudGx5IGRvbid0IGNvbXBpbGUuCgoyMDA0LTExLTI3ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGxpbmsuY2MgKGVuc3VyZV9jbGFzc19saW5rZWQpOiBDb25kaXRpb25hbGx5IGNvbXBpbGUKCV9Kdl9Jc0ludGVycHJldGVkQ2xhc3Mgb24gSU5URVJQUkVURVIuCgkocHJpbnRfY2xhc3NfbG9hZGVkKTogTGlrZXdpc2UuCgkod2FpdF9mb3Jfc3RhdGUpOiBMaWtld2lzZS4KCSogaW5jbHVkZS9qdm0uaCAoUk9VTkQpOiBNb3ZlIHRvIGhlcmUgZnJvbSBpbmNsdWRlL2phdmEtaW50ZXJwLmguCgkqIGluY2x1ZGUvamF2YS1pbnRlcnAuaCAoUk9VTkQpOiBSZW1vdmUuCgoyMDA0LTExLTI1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvZ2NqL3V0aWwvbmF0RGVidWcuY2MgKGdldEZpZWxkKTogRG9uJ3QgcXVhbGlmeSBuYW1lLgoJKiBqYXZhL2xhbmcvQ2xhc3MuaCAoX0p2X0xpbmtlcik6IERlY2xhcmUuCgkoQ2xhc3MpOiBGaXggbmFtZXMgb2YgZnJpZW5kcy4KCShfSnZfZ2V0SW50ZXJmYWNlTWV0aG9kKTogRGVjbGFyZS4KCjIwMDQtMTEtMjUgIEpvaG4gRGF2aWQgQW5nbGluICA8ZGF2ZS5hbmdsaW5AbnJjLWNucmMuZ2MuY2E+CgoJKiB0ZXN0c3VpdGUvbGliL2xpYmphdmEuZXhwIChsaWJqYXZhX2FyZ3VtZW50cyk6IEFkZCBuZXcgZ2xvYmFsCgl2YXJpYWJsZSBsaWJqYXZhX2xkX2xpYnJhcnlfcGF0aC4KCShnY2pfaW52b2tlLCBsaWJqYXZhX2ludm9rZSk6IFVzZSBpdCB0byBzZXQgbGRfbGlicmFyeV9wYXRoLgoKMjAwNC0xMS0yNSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL1Jlc291cmNlQnVuZGxlLmphdmEgKEJ1bmRsZUtleSk6IERvbid0IGltcGxlbWVudAoJQ2xvbmVhYmxlLgoJKEJ1bmRsZUtleS5jbG9uZSk6IFJlbW92ZWQuCgkoZ2V0QnVuZGxlKTogQ29weSBCdW5kbGVLZXkgdXNpbmcgY29uc3RydWN0b3IsIG5vdCBjbG9uZSgpLgoKMjAwNC0xMS0yNSAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZSBmb3IgbGlidG9vbCByZXZlcnNpb24uCgoyMDA0LTExLTI1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogTWFrZWZpbGUuYW06IEFkZGVkIG1vc3Qgb2YgamF2YXgucHJpbnQgYWdhaW4uCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMTEtMjUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgbW9zdCBvZiBqYXZheC5wcmludCBhZ2Fpbi4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0xMS0yNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogTWVyZ2VkIGdjai1hYmktMi1kZXYtYnJhbmNoIHRvIHRydW5rLgoKMjAwNC0xMS0xNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9qYXZhLWludGVycC5oIChfSnZfRGVmaW5lQ2xhc3MpOiBVcGRhdGVkLgoJKiBqYXZhL2xhbmcvbmF0Vk1DbGFzc0xvYWRlci5jYyAoZGVmaW5lQ2xhc3MpOiBQYXNzIHByb3RlY3Rpb24KCWRvbWFpbiB0byBjbGFzcyByZWFkZXIuCgkqIGRlZmluZWNsYXNzLmNjIChwYXJzZSk6IFVzZSBwcmludF9jbGFzc19sb2FkZWQuCglJbmNsdWRlIFByb3RlY3Rpb25Eb21haW4uaC4KCShfSnZfRGVmaW5lQ2xhc3MpOiBBZGRlZCBQcm90ZWN0aW9uRG9tYWluIGFyZ3VtZW50LgoJKF9Kdl9DbGFzc1JlYWRlcik6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2p2bS5oIChfSnZfTGlua2VyOjpwcmludF9jbGFzc19sb2FkZWQpOiBEZWNsYXJlLgoJKiBsaW5rLmNjOiBJbmNsdWRlIENvZGVTb3VyY2UuaC4KCShwcmludF9jbGFzc19sb2FkZWQpOiBOZXcgZnVuY3Rpb24uCgkod2FpdF9mb3Jfc3RhdGUpOiBVc2UgaXQuCgoyMDA0LTExLTE2ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGdudS9nY2ovdXRpbC9EZWJ1Zy5qYXZhIChwcmludCk6IEFkZCBSYXdEYXRhTWFuYWdlZC4KCjIwMDQtMTEtMTYgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjIChMSUJHQ0pfTERfU1lNQk9MSUMpOiBBQ19TVUJTVCB0aGlzIGRlZmluaXRpb24uCgkqIGNvbmZpZ3VyZS5ob3N0OiBEZWZpbmUgbGliZ2NqX2xkX3N5bWJvbGljIGZvciBMaW51eCBob3N0cy4KCSogTWFrZWZpbGUuYW0gKGxpYl8qX2xhX0xERkxBR1MpOiBBZGQgTElCR0NKX0xEX1NZTUJPTElDLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNC0xMS0xNSAgQW5kcmV3IEhhbGV5ICA8YXBoQHJlZGhhdC5jb20+CgoJKiBib2VobS5jYyAoX0p2X0dDUmVnaXN0ZXJEaXNhcHBlYXJpbmdMaW5rKTogQ2hlY2sgdGhhdCAqb2JqcCBpcyBhCglnYy1hbGxvY2F0ZWQgb2JqZWN0LgoKMjAwNC0xMS0xNSAgQW5kcmV3IEhhbGV5ICA8YXBoQHJlZGhhdC5jb20+CgoJKiBqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhCgkoVVJMTG9hZGVyLmdldENsYXNzUGF0aCk6IE5ldyBtZXRob2QuCgkoSmFyVVJMTG9hZGVyLkphclVSTExvYWRlcik6IFJlYWQgbWFpbmZlc3QgdG8gcGFyc2UgIkNsYXNzLVBhdGgiCglhdHRyaWJ1dGUgYW5kIGFkZCBVUkxzIGZvciBlYWNoIGVudHJ5LgoJKEphclVSTExvYWRlci5jbGFzc1BhdGgpOiBOZXcgZmllbGQuCgkoSmFyVVJMTG9hZGVyLmdldENsYXNzUGF0aCk6IE5ldyBtZXRob2QuCgkoYWRkVVJMSW1wbCk6IFNjYW4gdGhyb3VnaCB0aGUgbGlzdCBvZiBleHRyYVVybHMgaW4gdGhlIG5ldwoJbG9hZGVyLCBhZGRpbmcgdGhlbSB0byBvdXIgdXJsaW5mb3MuCgkoZGVmaW5lUGFja2FnZSwgZmluZFVSTFJlc291cmNlLCBmaW5kUmVzb3VyY2VzKTogVXNlCgl1cmxpbmZvcy5zaXplKCksIG5vdCB1cmxzLnNpemUoKS4KCjIwMDQtMTEtMTEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGdudS9nY2ovcnVudGltZS9uYXRTaGFyZWRMaWJMb2FkZXIuY2MgKGVuc3VyZVN1cGVyc0xpbmtlZCk6IE5ldwoJbWV0aG9kLgoJKiBnbnUvZ2NqL3J1bnRpbWUvU2hhcmVkTGliSGVscGVyLmphdmEgKGZpbmRDbGFzcyk6IEVuc3VyZSBzdXBlcnMKCWxpbmtlZC4KCShlbnN1cmVTdXBlcnNMaW5rZWQpOiBEZWNsYXJlLgoJKiBqYXZhL2xhbmcvbmF0Vk1DbGFzc0xvYWRlci5jYyAobG9hZENsYXNzKTogRW5zdXJlIHN1cGVycwoJbGlua2VkLgoKMjAwNC0xMS0xMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ2lqLmNjIChtYWluKTogVHJlYXQgLXZlcmJvc2UgdGhlIHNhbWUgYXMgLXZlcmJvc2U6Y2xhc3MuCgkoaGVscCk6IERvY3VtZW50IC12ZXJib3NlIGFuZCAtdmVyYm9zZTpjbGFzcy4KCgkqIGxpbmsuY2MgKHZlcmJvc2VfY2xhc3NfZmxhZyk6IERlY2xhcmUuCgkod2FpdF9mb3Jfc3RhdGUpOiBQcmludCBtZXNzYWdlIHdoZW4gaGFuZGxpbmcgcHJlY29tcGlsZWQgY2xhc3MuCgkqIGphdmEvbGFuZy9uYXRDbGFzcy5jYyAodmVyYm9zZV9jbGFzc19mbGFnKTogTW92ZWQgdG8gbGluay5jYy4KCjIwMDQtMTEtMDkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvYXNzaWduMi5vdXQ6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL2Fzc2lnbjIuamF2YTogTmV3IGZpbGUuCgoJKiBqYXZhL2xhbmcvbmF0UnVudGltZS5jYyAoaW5zZXJ0U3lzdGVtUHJvcGVydGllcyk6IFNldAoJamF2YS52ZXJzaW9uIHRvIDEuNC4yIGFuZCBqYXZhLnNwZWNpZmljYXRpb24udmVyc2lvbiB0byAxLjQuICBTZXQKCWphdmEucnVudGltZS52ZXJzaW9uLgoKMjAwNC0xMS0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChfSnZfSXNBc3NpZ25hYmxlRnJvbVNsb3cpOiBFbnN1cmUKCXN1cGVycyBpbnN0YWxsZWQuCgkqIGxpbmsuY2MgKHZlcmlmeV90eXBlX2Fzc2VydGlvbnMpOiBEb24ndCBsaW5rIHN1cGVycy4KCgkqIGluY2x1ZGUvanZtLmggKF9Kdl9MaW5rZXI6OnNlYXJjaF9tZXRob2RfaW5fY2xhc3MpOiBEZWNsYXJlLgoJKiBpbmNsdWRlL2phdmEtaW50ZXJwLmggKGNsYXNzIF9Kdl9JbnRlcnBDbGFzcykKCTxfSnZfUHJlcGFyZU1pc3NpbmdNZXRob2RzPjogTm8gbG9uZ2VyIGBmcmllbmQnLgoJKiBqYXZhL2xhbmcvQ2xhc3MuaCAoX0p2X1NlYXJjaE1ldGhvZEluQ2xhc3MpOiBObyBsb25nZXIKCWBmcmllbmQnLgoJKF9Kdl9QcmVwYXJlTWlzc2luZ01ldGhvZHMsIF9Kdl9QcmVwYXJlQ29tcGlsZWRDbGFzcywKCV9Kdl9HZXRJbnRlcmZhY2VzLCBfSnZfR2VuZXJhdGVJVGFibGUsIF9Kdl9GaW5kSUluZGV4LAoJX0p2X0FwcGVuZFBhcnRpYWxJVGFibGUsIF9Kdl9MaW5rU3ltYm9sVGFibGUsCglfSnZfTGF5b3V0SW50ZXJmYWNlTWV0aG9kcywgX0p2X1NldFZUYWJsZUVudHJpZXMsIF9Kdl9NYWtlVlRhYmxlLAoJX0p2X2xpbmtFeGNlcHRpb25DbGFzc1RhYmxlLCBfSnZfV2FpdEZvclN0YXRlKTogTGlrZXdpc2UuCgkqIGxpbmsuY2MgKHNlYXJjaF9tZXRob2RfaW5fY2xhc3MpOiBSZW5hbWVkIGZyb20KCV9Kdl9TZWFyY2hNZXRob2RJbkNsYXNzLgoJKHJlc29sdmVfcG9vbF9lbnRyeSk6IFVwZGF0ZWQuCgoJKiBpbmNsdWRlL2p2bS5oIChfSnZfQ2hlY2tBc3NpZ25tZW50KTogUmVtb3ZlZC4KCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChfSnZfQ2hlY2tBc3NpZ25tZW50KTogUmVtb3ZlZC4KCjIwMDQtMTEtMDUgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGxpbmsuY2MgKHZlcmlmeV90eXBlX2Fzc2VydGlvbnMpOiBFbnN1cmUgY2xhc3NlcyBoYXZlIHN1cGVycwoJbGlua2VkLiAgU3RyaXAgb2ZmIGFycmF5IHR5cGVzIGZpcnN0LgoKMjAwNC0xMS0wNSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogbGluay5jYzogSW5jbHVkZSBWZXJpZnlFcnJvci5oLgoJKF9Kdl9MaW5rZXI6OnZlcmlmeV90eXBlX2Fzc2VydGlvbnMpOiBOZXcuIFJlYWQgYW5kIGV2YWx1YXRlIGVudHJpZXMKCWluIHRoZSB0eXBlIGFzc2VydGlvbiB0YWJsZS4KCSogaW5jbHVkZS9leGVjdXRpb24uaCAoX0p2X0NvbXBpbGVkRW5naW5lOjpkb192ZXJpZnkpOiBVc2UKCXZlcmlmeV90eXBlX2Fzc2VydGlvbnMuCgkqIGluY2x1ZGUvanZtLmggKF9Kdl9MaW5rZXI6OnZlcmlmeV90eXBlX2Fzc2VydGlvbnMpOiBkZWNsYXJlLgoJKiBqYXZhL2xhbmcvQ2xhc3MuaCAoSlZfQVNTRVJUX0VORF9PRl9UQUJMRSwKCUpWX0FTU0VSVF9UWVBFU19DT01QQVRJQkxFLCBKVl9BU1NFUlRfSVNfSU5TVEFOVElBQkxFKTogRGVjbGFyZQoJYXNzZXJ0aW9uIGNvZGUgdmFsdWVzLgoJKHN0cnVjdCBfSnZfVHlwZUFzc2VydGlvbik6IERlY2xhcmUuCgkoYXNzZXJ0aW9uX3RhYmxlKTogTmV3IGNsYXNzIGZpZWxkLgoJKHZlcmlmeSk6IFJlbW92ZSBjbGFzcyBmaWVsZC4KCjIwMDQtMTEtMDUgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IE1vdmUganZfZGJ0b29sLmphdmEgdG8KCWdudS9nY2ovdG9vbHMvZ2NqX2RidG9vbC9NYWluLmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWxkLgoJKiBqYXZhL2xhbmcvVk1Db21waWxlci5qYXZhOiBSZW5hbWUgcHJvcGVydHkKCSJnbnUuZ2NqLnByZWNvbXBpbGVkLmRiIiB0byAiZ251Lmdjai5wcmVjb21waWxlZC5kYi5wYXRoIi4KCSogZ251L2djai90b29scy9nY2pfZGJ0b29sL01haW4uamF2YTogbW92ZWQgaGVyZSBmcm9tCglqdl9kYnRvb2wuamF2YS4KCjIwMDQtMTEtMDUgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSoganZfZGJ0b29sLmphdmEgKG1haW4pOiBBbGxvdyB0aGUgdXNlciB0byBzcGVjaWZ5IHRoZSBzaXplIG9mIHRoZQoJZGF0YWJhc2UuICBEaXNwbGF5IHRoZSBjYXBhY2l0eSBhbmQgdGhlIHNpemUuCgkodXNhZ2UpOiBTaG93IHRoZSBuZXcgb3B0aW9uLgoKMjAwNC0xMS0wNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9qdm0uaCAoX0p2X0xpbmtlcjo6c2V0X3Z0YWJsZV9lbnRyaWVzKTogVXBkYXRlZC4KCSogbGluay5jYyAobWFrZV92dGFibGUpOiBVc2UgY29ycmVjdCBpbmRleCB3aGVuIHNlYXJjaGluZyBmb3IKCW1pc3NpbmcgbWV0aG9kJ3MgbmFtZS4gIERvbid0IHVzZSBgZmxhZ3MnLgoJKHNldF92dGFibGVfZW50cmllcyk6IFJlbW92ZWQgYGZsYWdzJyBhcmd1bWVudC4gIERvbid0IHJlY3Vyc2UKCWludG8gc3VwZXJjbGFzc2VzLgoJKGxpbmtfc3ltYm9sX3RhYmxlKTogRW5zdXJlIHRhcmdldCBjbGFzcyBtZXRob2QgdGFibGUgaXMKCWNvbXBsZXRlLiAgRW5zdXJlIHRhcmdldCBmaWVsZHMgYXJlIGxhaWQgb3V0IGJlZm9yZSBlbnRlcmluZwoJbG9vcC4KCgkqIGphdmEvbGFuZy9uYXRDbGFzcy5jYyAoX0p2X2dldEludGVyZmFjZU1ldGhvZCk6IEluZGVudGF0aW9uCglmaXguCgoJKiBpbnRlcnByZXQuY2MgKGRvX3ZlcmlmeSk6IERvbid0IHZlcmlmeSBhYnN0cmFjdCBtZXRob2RzLgoKMjAwNC0xMS0wMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogbGluay5jYyAod2FpdF9mb3Jfc3RhdGUpOiBDYWxsIHZlcmlmeV9jbGFzcy4KCgkqIHZlcmlmeS5jYyAoc3RhdGU6OmNoZWNrX25vX3VuaW5pdGlhbGl6ZWRfb2JqZWN0cyk6IFJlbW92ZWQuCgkocHVzaF9qdW1wKTogVXBkYXRlZC4KCShwdXNoX2V4Y2VwdGlvbl9qdW1wKTogTGlrZXdpc2UuCgkoaGFuZGxlX3JldF9pbnNuKTogTGlrZXdpc2UuCgkoaGFuZGxlX2pzcl9pbnNuKTogTGlrZXdpc2UuCgoyMDA0LTEwLTI4ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGdudS9nY2ovcnVudGltZS9QZXJzaXN0ZW50Qnl0ZU1hcC5qYXZhOiBOZXcgZmlsZS4KCSoganZfZGJ0b29sLmphdmE6IE5ldyBmaWxlLgoJKiBNYWtlZmlsZS5hbSAoYmluX1BST0dSQU1TKTogQWRkIGp2LWRidG9vbAoJKGp2X2RidG9vbF9TT1VSQ0VTLCBqdl9kYnRvb2xfTERGTEFHUywganZfZGJ0b29sX0xJTkspCgkoanZfZGJ0b29sX0xEQURELCBqdl9kYnRvb2xfREVQRU5ERU5DSUVTKTogTmV3LgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZSwKCSogamF2YS9sYW5nL1ZNQ29tcGlsZXIuamF2YTogSW1wb3J0IE5vU3VjaEFsZ29yaXRobUV4Y2VwdGlvbiwKCUVudW1lcmF0aW9uLCBTdHJpbmdUb2tlbml6ZXIsIFZlY3RvciwgUGVyc2lzdGVudEJ5dGVNYXAuCgkocHJlY29tcGlsZWRNYXBGaWxlcyk6IE5ldyB2YXJpYWJsZS4KCShWTUNvbXBpbGVyIHN0YXRpYyBpbnRpYWxpemVyKTogUmVhZCAiZ251Lmdjai5wcmVjb21waWxlZC5kYiIgdG8KCWluaXRpYWxpemUgcHJlY29tcGlsZWRNYXBGaWxlcy4KCShjb21waWxlQ2xhc3MpOiBMb29rIGF0IHRoZSBkYXRhYmFzZSBvZiBwcmVjb21waWxlZCBjbGFzcyBmaWxlcwoJYmVmb3JlIGZpcmluZyB1cCBnY2ouCgoJKiBnbnUvZ2NqL3J1bnRpbWUvVk1DbGFzc0xvYWRlci5qYXZhIChmaW5kQ2xhc3MpOiBGaXggY29tbWVudC4KCjIwMDQtMTAtMjcgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1ZNQ29tcGlsZXIuamF2YSAoY29tcGlsZUNsYXNzKTogdHJ5IGxvb2tpbmcgZm9yCglwcmVjb21waWxlZE1hcEZpbGVzLgoJKiBnbnUvZ2NqL3J1bnRpbWUvUGVyc2lzdGVudEJ5dGVNYXAuamF2YTogTmV3IGZpbGUuCgoyMDA0LTEwLTI3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBsaW5rLmNjIChlbnN1cmVfY2xhc3NfbGlua2VkKTogT25seSByZXNvbHZlIGNsYXNzZXMgZm9yCgljb21waWxlZCBjbGFzc2VzLgoJKGFkZF9taXJhbmRhX21ldGhvZHMpOiBFbnN1cmUgaW50ZXJmYWNlIHN1cGVycyBhcmUgaW5zdGFsbGVkLgoJKHJlc29sdmVfcG9vbF9lbnRyeSk6IEJldHRlciBlcnJvciBtZXNzYWdlLgoKMjAwNC0xMC0yNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogYm9laG0uY2MgKF9Kdl9NYXJrT2JqKTogVGVzdCBhdXhfaW5mbyBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdC4KCgkqIGphdmEvdXRpbC9SZXNvdXJjZUJ1bmRsZS5qYXZhICh0cnlCdW5kbGUpOiBVc2UKCUNsYXNzLmlzQXNzaWduYWJsZUZyb20gcmF0aGVyIHRoYW4gY2F0Y2hpbmcgQ2xhc3NDYXN0RXhjZXB0aW9uLgoKCSogamF2YS91dGlsL3ppcC9JbmZsYXRlcklucHV0U3RyZWFtLmphdmEgKGZpbGwpOiBEb24ndCB0aHJvdyBhbgoJZXhjZXB0aW9uIGlmIHdlIGhpdCBFT0Ygb2YgYGluJy4KCShyZWFkKTogSGFuZGxlIGNhc2Ugd2hlcmUgaW5mbGF0aW5nIHJldHVybnMgLTEuCgoJKiBnbnUvamF2YS90ZXh0L1dvcmRCcmVha0l0ZXJhdG9yLmphdmEgKFdvcmRCcmVha0l0ZXJhdG9yKTogRG9uJ3QKCWluaXRpYWxpemUgYGl0ZXInLgoJKiBnbnUvamF2YS90ZXh0L1NlbnRlbmNlQnJlYWtJdGVyYXRvci5qYXZhCgkoU2VudGVuY2VCcmVha0l0ZXJhdG9yKTogRG9uJ3QgaW5pdGlhbGl6ZSBgaXRlcicuCgkqIGdudS9qYXZhL3RleHQvTGluZUJyZWFrSXRlcmF0b3IuamF2YSAoTGluZUJyZWFrSXRlcmF0b3IpOiBEb24ndAoJaW5pdGlhbGl6ZSBgaXRlcicuCgkqIGdudS9qYXZhL3RleHQvQ2hhcmFjdGVyQnJlYWtJdGVyYXRvci5qYXZhCgkoQ2hhcmFjdGVyQnJlYWtJdGVyYXRvcik6IERvbid0IGluaXRpYWxpemUgYGl0ZXInLgoJKiBnbnUvamF2YS90ZXh0L0Jhc2VCcmVha0l0ZXJhdG9yLmphdmEgKEJhc2VCcmVha0l0ZXJhdG9yKTogTmV3Cgljb25zdHJ1Y3Rvci4KCSogamF2YS90ZXh0L0JyZWFrSXRlcmF0b3IuamF2YTogVXBkYXRlZCBkb2N1bWVudGF0aW9uLgoKMjAwNC0xMC0yMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL1Jlc291cmNlQnVuZGxlLmphdmEgKHRyeUJ1bmRsZSk6IEFsc28gaWdub3JlCglDbGFzc0Nhc3RFeGNlcHRpb24uCgoyMDA0LTEwLTE4ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBpbnRlcnByZXQuY2MgKGRvX3Bvc3RfbWlyYW5kYV9ob29rKTogTmV3IG1ldGhvZC4KCSogaW5jbHVkZS9leGVjdXRpb24uaCAoX0p2X0V4ZWN1dGlvbkVuZ2luZTo6cG9zdF9taXJhbmRhX2hvb2spOgoJTmV3IGZpZWxkLgoJKF9Kdl9Db21waWxlZEVuZ2luZTo6ZG9fcG9zdF9taXJhbmRhX2hvb2spOiBOZXcgbWV0aG9kLgoJKF9Kdl9Db21waWxlZEVuZ2luZSk6IEluaXRpYWxpemUgbmV3IGZpZWxkLgoJKF9Kdl9JbnRlcnByZXRlckVuZ2luZTo6ZG9fcG9zdF9taXJhbmRhX2hvb2spOiBEZWNsYXJlLgoJKF9Kdl9JbnRlcnByZXRlckVuZ2luZSk6IEluaXRpYWxpemUgbmV3IGZpZWxkLgoJKiBsaW5rLmNjIChyZXNvbHZlX3Bvb2xfZW50cnkpOiBQdXQgTWlyYW5kYSBtZXRob2RzIGluIHRhcmdldAoJY2xhc3MuCgkoZW5zdXJlX21ldGhvZF90YWJsZV9jb21wbGV0ZSk6IENhbGwgcG9zdF9taXJhbmRhX2hvb2suCgkqIGphdmEvbGFuZy9uYXRWTUNsYXNzTG9hZGVyLmNjIChkZWZpbmVDbGFzcyk6IERvbid0IHNldCBjbGFzcycKCWF1eF9pbmZvLgoJKiBkZWZpbmVjbGFzcy5jYyAocmVhZF9vbmVfbWV0aG9kX2F0dHJpYnV0ZSk6IFVzZSBfSnZfQWxsb2NCeXRlcy4KCShwYXJzZSk6IFNldCBjbGFzcycgYXV4X2luZm8gaGVyZS4KCgkqIGJvZWhtLmNjIChfSnZfTWFya09iaik6IE1hcmsgYHRocm93cycuCgoJKiBib2VobS5jYzogUmUtbWVyZ2VkIHdpdGggdHJ1bmsuCgoyMDA0LTEwLTE4ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCglQUiBqYXZhLzE4MDM2OgoJKiBnbnUvZ2NqL3J1bnRpbWUvbmF0U3RhY2tUcmFjZS5jYyAoZmlsbEluU3RhY2tUcmFjZSk6IFJlb3JnYW5pemUKCWFuZCBjb3JyZWN0IGxvZ2ljIHVzZWQgdG8gZmluZCBpbnRlcnByZXRlci4KCjIwMDQtMTAtMTMgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogaW50ZXJwcmV0LmNjIChfSnZfSW50ZXJwTWV0aG9kOjpydW4pOiBJbml0aWFsaXplCglfSnZfU3RhcnRPZkludGVycHJldGVyLgoJKF9Kdl9TdGFydE9mSW50ZXJwcmV0ZXIsIF9Kdl9FbmRPZkludGVycHJldGVyKTogRnVuY3Rpb25zIHJlbW92ZWQuCgkoX0p2X1N0YXJ0T2ZJbnRlcnByZXRlciwgX0p2X0VuZE9mSW50ZXJwcmV0ZXIpOiBOZXcgdmFyaWFibGVzLgoJKiBnbnUvZ2NqL3J1bnRpbWUvbmF0U3RhY2tUcmFjZS5jYyAoZmlsbEluU3RhY2tUcmFjZSk6IFVzZQoJX1Vud2luZF9GaW5kRW5jbG9zaW5nRnVuY3Rpb24gdG8gZGlzY292ZXIgd2hldGhlciBQQyBpcyB3aXRoaW4gdGhlCglpbnRlcnByZXRlci4KCjIwMDQtMTAtMTMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGxpbmsuY2MgKGZpbmRfaWluZGV4KTogQ29weSBjb3JyZWN0IG51bWJlciBvZiBzbG90cyB0byBuZXcKCWlvZmZzZXRzLgoKMjAwNC0xMC0xMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEubG9hZGVyL2xvYWRlci5leHAgKGdjal9vYmplY3RfZmlsZV9uYW1lKTogTmV3Cglwcm9jLgoJKGdjal9sb2FkZXJfdGVzdF9vbmUpOiBVc2UgaXQuCgkoZ2NqX2xvYWRlcl9ydW4pOiBMaWtld2lzZS4KCgkqIHByaW1zLmNjOiBEb24ndCBpbmNsdWRlIEZpcnN0VGhyZWFkLmguCgoyMDA0LTEwLTA2ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBsaW5rLmNjIChlbnN1cmVfbWV0aG9kX3RhYmxlX2NvbXBsZXRlKTogRW5zdXJlIHN1cGVyY2xhc3MKCU1pcmFuZGEgbWV0aG9kcyBpbnN0YWxsZWQuCgoJKiBpbmNsdWRlL2phdmEtaW50ZXJwLmggKGNsYXNzIF9Kdl9KTklNZXRob2QpOiBBZGRlZAoJSlZfTUFSS09CSl9ERUNMIGFzIGEgZnJpZW5kLgoJKiBpbnRlcnByZXQuY2MgKG5jb2RlKTogQWxsb2NhdGUgam5pX2FyZ190eXBlcyBmaWVsZCB3aXRoIEdDLgoJKiBib2VobS5jYyAoX0p2X01hcmtPYmopOiBTa2lwIGFic3RyYWN0IG1ldGhvZHMgd2hlbiBtYXJraW5nCglpbnRlcnByZXRlciBtZXRob2Qgc3RydWN0dXJlcy4gIE1hcmsgam5pX2FyZ190eXBlcyBvZiBKTkkKCW1ldGhvZHMuCgoJKiBkZWZpbmVjbGFzcy5jYyAocGFyc2UpOiBVc2UgSlZfU1RBVEVfUkVBRC4KCSogamF2YS9sYW5nL0NsYXNzLmggKEpWX1NUQVRFX1JFQUQpOiBOZXcgZW51bSB2YWx1ZS4KCjIwMDQtMTAtMDUgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGxpbmsuY2MgKHJlc29sdmVfcG9vbF9lbnRyeSk6IEFkZCBzaWduYXR1cmUgaW5mbyB0byBtaXNzaW5nCgltZXRob2QncyBpbmZvcm1hdGlvbi4KCgkqIGdudS9nY2ovdXRpbC9EZWJ1Zy5qYXZhIChEZWJ1ZyhpbnQsYm9vbGVhbikpOiBOZXcgY29uc3RydWN0b3IuCgkqIGdudS9nY2ovdXRpbC9uYXREZWJ1Zy5jYyAoX0p2X1N0YXRpY0RlZXBEZWJ1Zyk6IE5ldyBmdW5jdGlvbi4KCjIwMDQtMTAtMDQgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGJvZWhtLmNjIChfSnZfTWFya09iaik6IENvcnJlY3RseSBpbmRpY2F0ZSBiYXNlIHBvaW50ZXIgd2hlbgoJbWFya2luZyBJRFQuCgoyMDA0LTA5LTI5ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbSAobGliZ2NqX2xhX1NPVVJDRVMpOiBNZW50aW9uIGxpbmsuY2MsIG5vdAoJcmVzb2x2ZS5jYy4KCSogaW5jbHVkZS9qdm0uaCAoY2xhc3MgX0p2X0xpbmtlcik6IFJlbmFtZWQgZnJvbSBfSnZfUmVzb2x2ZXIuCgkqIGpuaS5jYzogVXNlIF9Kdl9MaW5rZXIuCgkqIGludGVycHJldC5jYzogVXNlIF9Kdl9MaW5rZXIuCgkqIGphdmEvbGFuZy9yZWZsZWN0L25hdEZpZWxkLmNjIChnZXRUeXBlKTogVXNlIF9Kdl9MaW5rZXIuCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYzogVXNlIF9Kdl9MaW5rZXIuCgkqIGphdmEvbGFuZy9uYXRWTUNsYXNzTG9hZGVyLmNjIChyZXNvbHZlQ2xhc3MpOiBVc2UgX0p2X0xpbmtlci4KCSogamF2YS9sYW5nL0NsYXNzLmg6IFVzZSBfSnZfTGlua2VyLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3MuY2MgKGluaXRpYWxpemVDbGFzcyk6IFVzZSBfSnZfTGlua2VyLgoJKiByZXNvbHZlLmNjOiBSZW5hbWVkIC4uLgoJKiBsaW5rLmNjOiAuLi4gaGVyZS4gIFVzZSBfSnZfTGlua2VyLgoJKiBkZWZpbmVjbGFzcy5jYyAoY2hlY2tFeHRlbmRzKTogVXNlIF9Kdl9MaW5rZXIuCgoyMDA0LTA5LTE3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBkZWZpbmVjbGFzcy5jYyAoaGFuZGxlQ29kZUF0dHJpYnV0ZSk6IERvbid0IHJlZmVyZW5jZQoJYGRlZmVycmVkJy4KCShoYW5kbGVNZXRob2RzRW5kKTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvamF2YS1pbnRlcnAuaCAoX0p2X01ldGhvZEJhc2U6OmRlZmVycmVkKTogUmVtb3ZlZAoJZmllbGQuCgkoX0p2X0RlZmVyX1Jlc29sdXRpb24pOiBEb24ndCBkZWNsYXJlIG9yIGRlZmluZS4KCSogaW50ZXJwcmV0LmNjIChkb19jcmVhdGVfbmNvZGUpOiBEb24ndCByZXNvbHZlIGRlZmVycmVkIG1ldGhvZAoJcG9pbnRlcnMuCgkqIGphdmEvbGFuZy9DbGFzcy5oIChfSnZfRGVmZXJfUmVzb2x1dGlvbik6IERvbid0IGRlY2xhcmUuCgkqIHJlc29sdmUuY2MgKGxpbmtfc3ltYm9sX3RhYmxlKTogTm8gbmVlZCB0byBkZWZlciByZXNvbHV0aW9uLgoKMjAwNC0wOS0xNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogYm9laG0uY2MgKE1BWUJFX01BUkspOiBSZW1vdmUgdW51c2VkIGBFeGl0JyBhcmd1bWVudC4KCShfSnZfTWFya09iaik6IFVwZGF0ZWQuCgkoX0p2X01hcmtBcnJheSk6IExpa2V3aXNlLgoKCSogaW5jbHVkZS9qdm0uaCAoU3RyaW5nQ2xhc3MpOiBSZW1vdmVkLgoJKiBqbmkuY2MgKF9Kdl9KTklfVGhyb3dOZXcpOiBEb24ndCB1c2UgU3RyaW5nQ2xhc3MuCgkqIGludGVycHJldC5jYyAoX0p2X0luaXRGaWVsZCk6IERvbid0IHVzZSBTdHJpbmdDbGFzcy4KCSogamF2YS9sYW5nL25hdFN0cmluZy5jYyAoX0p2X1N0cmluZ0ZpbmRTbG90KTogRG9uJ3QgdXNlCglTdHJpbmdDbGFzcy4KCShyZWhhc2gpOiBMaWtld2lzZQoJKGludGVybik6IExpa2V3aXNlLgoJKF9Kdl9GaW5hbGl6ZVN0cmluZyk6IExpa2V3aXNlLgoJKF9Kdl9OZXdTdHJpbmdVdGY4Q29uc3QpOiBMaWtld2lzZS4KCShlcXVhbHMpOiBMaWtld2lzZS4KCSogcHJpbXMuY2MgKEp2Q29udmVydEFyZ3YpOiBEb24ndCB1c2UgU3RyaW5nQ2xhc3MuCgoJKiBnY2ovZmllbGQuaCAoc3RydWN0IF9Kdl9GaWVsZCk6IERvbid0IG1lbnRpb24gQ09NUEFDVF9GSUVMRFMuCgkqIHJlc29sdmUuY2MgKGVuc3VyZV9maWVsZHNfbGFpZF9vdXQpOiBEb24ndCBtZW50aW9uCglDT01QQUNUX0ZJRUxEUy4KCSogZGVmaW5lY2xhc3MuY2MgKGhhbmRsZUZpZWxkKTogRG9uJ3QgbWVudGlvbiBDT01QQUNUX0ZJRUxEUy4KCSogYm9laG0uY2MgKF9Kdl9NYXJrT2JqKTogRG9uJ3QgbWVudGlvbiBDT01QQUNUX0ZJRUxEUy4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L25hdEZpZWxkLmNjIChnZXRUeXBlKTogVXNlIHJlc29sdmVfZmllbGQuCgkqIGphdmEvbGFuZy9uYXRWTUNsYXNzTG9hZGVyLmNjIChyZXNvbHZlQ2xhc3MpOiBOZXcgbmF0aXZlCglpbXBsZW1lbnRhdGlvbi4KCShsaW5rQ2xhc3MwKTogUmVtb3ZlZC4KCShtYXJrQ2xhc3NFcnJvclN0YXRlMCk6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3NMb2FkZXIuY2M6IEluY2x1ZGUgZXhlY3V0aW9uLmguICBNb3ZlZCBjbGFzcwoJcHJlcGFyYXRpb24gY29kZSB0byByZXNvbHZlLmNjLgoJKF9Kdl9SZWdpc3RlckNsYXNzSG9va0RlZmF1bHQpOiBTZXQgY2xhc3MncyBleGVjdXRpb24gZW5naW5lIGlmCglub3QgYWxyZWFkeSBzZXQuCgkoX0p2X0ZpbmRDbGFzcyk6IFVzZSB3YWl0X2Zvcl9zdGF0ZS4KCShfSnZfTmV3QXJyYXlDbGFzcyk6IExpa2V3aXNlLiAgU2ltcGxpZmllZCBwZXJtaXNzaW9ucyBzZXR0aW5nLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3MuY2MgKF9Kdl9Jc0luc3RhbmNlT2YpOiBJbmNsdWRlIGV4ZWN1dGlvbi5oLgoJTW92ZWQgaW50ZXJmYWNlIHRhYmxlIGFuZCBjbGFzcyBwcmVwYXJhdGlvbiBjb2RlIHRvIHJlc29sdmUuY2MuCgkoZmluYWxpemUpOiBSZXdyb3RlLgoJKGluaXRpYWxpemVDbGFzcyk6IFNpbXBsaWZpZWQgbG9ja2luZyBhbmQgY2xhc3MgcHJlcGFyYXRpb24uCgkqIGphdmEvbGFuZy9WTUNsYXNzTG9hZGVyLmphdmEgKGxpbmtDbGFzczApOiBSZW1vdmVkLgoJKG1hcmtDbGFzc0Vycm9yU3RhdGUwKTogTGlrZXdpc2UuCgkocmVzb2x2ZUNsYXNzKTogTm93IG5hdGl2ZS4KCSh0cmFuc2Zvcm1FeGNlcHRpb24pOiBOZXcgbWV0aG9kLgoJKiBqYXZhL2xhbmcvQ2xhc3MuaCAoZ2V0U3VwZXJjbGFzcyk6IERvbid0IHRyeSB0byByZXNvbHZlIHN1cGVyCglyZWZlcmVuY2UuCgkoZ2V0SW50ZXJmYWNlKTogTGlrZXdpc2UuCgkoc2l6ZSk6IExpa2V3aXNlLgoJKHNldF9zdGF0ZSk6IE5ldyBtZXRob2QuCgkoQ2xhc3MpOiBVcGRhdGVkIGZyaWVuZCBkZWNsYXJhdGlvbnMuCgkodmVyaWZ5KTogRmllbGQgbm93IHByaXZhdGUuCgkoZW5naW5lKTogTmV3IGZpZWxkLgoJKiBpbmNsdWRlL2p2bS5oIChjbGFzcyBfSnZfUmVzb2x2ZXIpOiBOZXcgY2xhc3MgZGVjbGFyYXRpb24uCgkoX0p2X1Jlc29sdmVGaWVsZCk6IFJlbW92ZWQgZGVjbGFyYXRpb24uCgkoX0p2X0NoZWNrQWNjZXNzTm9Jbml0KTogTGlrZXdpc2UuCgkoX0p2X2lzQmluYXJ5Q29tcGF0aWJsZSk6IFJlbW92ZWQuCgkqIGluY2x1ZGUvamF2YS1pbnRlcnAuaCAoY2xhc3MgX0p2X01ldGhvZEJhc2UpOiBVcGRhdGVkIGZyaWVuZAoJZGVjbGFyYXRpb25zLgoJKGNsYXNzIF9Kdl9JbnRlcnBNZXRob2QpOiBMaWtld2lzZS4KCShjbGFzcyBfSnZfSW50ZXJwQ2xhc3MpOiBMaWtld2lzZS4KCShjbGFzcyBfSnZfSk5JTWV0aG9kKTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZXhlY3V0aW9uLmg6IE5ldyBmaWxlLgoJKiBnbnUvZ2NqL3J1bnRpbWUvbmF0U2hhcmVkTGliTG9hZGVyLmNjOiBJbmNsdWRlIGV4ZWN1dGlvbi5oLgoJKF9Kdl9zaGFyZWRsaWJfcmVnaXN0ZXJfaG9vayk6IFNldCBgZW5naW5lJyBvbiBsb2FkZWQgY2xhc3MuCglSZWdpc3RlciBjbGFzcyBhZnRlciBzZXR0aW5nIGZpZWxkcy4KCSogcmVzb2x2ZS5jYzogSW5jbHVkZSBleGVjdXRpb24uaCwgVmVyaWZ5RXJyb3IuaC4gIE1vdmVkCglpbnRlcnByZXRlci1zcGVjaWZpYyBjb2RlIHRvIGludGVycHJldC5jYy4KCSh1YWRkcik6IE5ldyBsb2NhdGlvbi4KCShzdHJ1Y3QgYWxpZ25lcik6IExpa2V3aXNlLgoJKEFMSUdOT0YpOiBMaWtld2lzZS4KCShJTklUSUFMX0lPRkZTRVRTX0xFTik6IEludGVyZmFjZSBkaXNwYXRjaCBjb2RlIG1vdmVkIGhlcmUuCgkoSU5JVElBTF9JRkFDRVNfTEVOKTogTGlrZXdpc2UuCgkobnVsbF9pZHQpOiBMaWtld2lzZS4KCShfSnZfR2V0TWV0aG9kU3RyaW5nKTogTGlrZXdpc2UuCgkoX0p2X1Rocm93Tm9TdWNoTWV0aG9kRXJyb3IpOiBMaWtld2lzZS4KCShfSnZfYWJzdHJhY3RNZXRob2RFcnJvcik6IExpa2V3aXNlLgoJKF9Kdl9SZXNvbHZlcjo6Z2V0X2FsaWdubWVudF9mcm9tX2NsYXNzKTogUmVuYW1lZC4KCShfSnZfUmVzb2x2ZXI6OnJlc29sdmVfZmllbGQpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OnJlc29sdmVfcG9vbF9lbnRyeSk6IExpa2V3aXNlLgoJKF9Kdl9SZXNvbHZlcjo6cmVzb2x2ZV9jbGFzc19yZWYpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OnByZXBhcmVfY29uc3RhbnRfdGltZV90YWJsZXMpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OmluZGV4b2YpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OmdldF9pbnRlcmZhY2VzKTogTGlrZXdpc2UuCgkoX0p2X1Jlc29sdmVyOjpnZW5lcmF0ZV9pdGFibGUpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OmFwcGVuZF9wYXJ0aWFsX2l0YWJsZSk6IExpa2V3aXNlLgoJKF9Kdl9SZXNvbHZlcjo6ZmluZF9paW5kZXgpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6Omxpbmtfc3ltYm9sX3RhYmxlKTogTGlrZXdpc2UuCgkoX0p2X1Jlc29sdmVyOjpsaW5rX2V4Y2VwdGlvbl90YWJsZSk6IExpa2V3aXNlLgoJKF9Kdl9SZXNvbHZlcjo6bGF5b3V0X2ludGVyZmFjZV9tZXRob2RzKTogTGlrZXdpc2UuCgkoX0p2X1Jlc29sdmVyOjpsYXlvdXRfdnRhYmxlX21ldGhvZHMpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OnNldF92dGFibGVfZW50cmllcyk6IExpa2V3aXNlLgoJKF9Kdl9SZXNvbHZlcjo6bWFrZV92dGFibGUpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OmVuc3VyZV9maWVsZHNfbGFpZF9vdXQpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OmVuc3VyZV9jbGFzc19saW5rZWQpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OmVuc3VyZV9zdXBlcnNfaW5zdGFsbGVkKTogTGlrZXdpc2UuCgkoX0p2X1Jlc29sdmVyOjphZGRfbWlyYW5kYV9tZXRob2RzKTogTGlrZXdpc2UuCgkoX0p2X1Jlc29sdmVyOjplbnN1cmVfbWV0aG9kX3RhYmxlX2NvbXBsZXRlKTogTGlrZXdpc2UuCgkoX0p2X1Jlc29sdmVyOjp2ZXJpZnlfY2xhc3MpOiBMaWtld2lzZS4KCShfSnZfUmVzb2x2ZXI6OndhaXRfZm9yX3N0YXRlKTogTGlrZXdpc2UuCgkqIHByaW1zLmNjIChfSnZfc29sZUNvbXBpbGVkRW5naW5lKTogTmV3IGdsb2JhbC4KCShfSnZfQ2hlY2tBY2Nlc3MpOiBVc2UgX0p2X0lzQXNzaWduYWJsZUZyb21TbG93LgoJKF9Kdl9DaGVja0FjY2Vzc05vSW5pdCk6IFJlbW92ZWQuCgkqIGpuaS5jYyAoX0p2X0pOSV9HZXRBbnlGaWVsZElEKTogVXNlIHJlc29sdmVfZmllbGQuCgkqIGludGVycHJldC5jYzogSW5jbHVkZSBwbGF0Zm9ybS5oLCBDbGFzc0Zvcm1hdEVycm9yLmgsCglNb2RpZmllci5oLCBleGVjdXRpb24uaC4KCShfSnZfc29sZUludGVycHJldGVyRW5naW5lKTogTmV3IGdsb2JhbC4KCShjb21waWxlKTogVXNlIHJlc29sdmVfcG9vbF9lbnRyeS4KCShydW4pOiBMaWtld2lzZS4KCShfSnZfSW5pdEZpZWxkKTogTmV3IGxvY2F0aW9uLgoJKHNraXBfb25lX3R5cGUpOiBMaWtld2lzZS4KCShnZXRfZmZpX3R5cGVfZnJvbV9zaWduYXR1cmUpOiBMaWtld2lzZS4KCShfSnZfY291bnRfYXJndW1lbnRzKTogTGlrZXdpc2UuCgkoaW5pdF9jaWYpOiBMaWtld2lzZS4KCShuY29kZV9jbG9zdXJlKTogTGlrZXdpc2UuCgkoZmZpX2Nsb3N1cmVfZnVuKTogTGlrZXdpc2UuCgkobmNvZGUpOiBMaWtld2lzZS4KCSh0aHJvd19jbGFzc19mb3JtYXRfZXJyb3IpOiBMaWtld2lzZS4KCSh0aHJvd19jbGFzc19mb3JtYXRfZXJyb3IpOiBMaWtld2lzZS4KCShfSnZfSW50ZXJwcmV0ZXJFbmdpbmU6OmRvX3ZlcmlmeSk6IE5ldyBtZXRob2QuCgkoX0p2X0ludGVycHJldGVyRW5naW5lOjpkb19jcmVhdGVfbmNvZGUpOiBMaWtld2lzZS4KCShfSnZfSW50ZXJwcmV0ZXJFbmdpbmU6OmRvX2FsbG9jYXRlX3N0YXRpY19maWVsZHMpOiBMaWtld2lzZS4KCShfSnZfSW50ZXJwcmV0ZXJFbmdpbmU6OmRvX3Jlc29sdmVfbWV0aG9kKTogTGlrZXdpc2UuCgkqIGRlZmluZWNsYXNzLmNjOiBJbmNsdWRlIGV4ZWN1dGlvbi5oLgoJKF9Kdl9DbGFzc1JlYWRlcik6IEluaXRpYWxpemUgc2l6ZV9pbl9ieXRlcywgdnRhYmxlX21ldGhvZF9jb3VudCwKCWVuZ2luZS4KCShjaGVja0V4dGVuZHMpOiBFbnN1cmUgc3VwZXJjbGFzcyBoYXMgc3VwZXJzIGluc3RhbGxlZC4KCShfSnZfQ2xhc3NOYW1lU2FtZVBhY2thZ2UpOiBDbGFyaWZ5IHVzYWdlIGNvbnN0cmFpbnRzLgoJKiBib2VobS5jYyAoR0NfZW5hYmxlLCBHQ19kaXNhYmxlKTogRGVjbGFyZSBhdCB0b3Agb2YgZmlsZS4KCShfSnZfTWFya09iaik6IFVuY29uZGl0aW9uYWxseSBtYXJrIHZ0YWJsZS4gIE1hcmsgaW50ZXJmYWNlCglkaXNwYXRjaCB0YWJsZXMuCgoyMDA0LTA5LTEzICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBtYXV2ZS1saWJnY2o6IExpc3Qgc29tZSBjbGFzc2VzIHdlIGRvbid0IGhhdmUuCgoyMDA0LTA5LTEwICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9DbGFzcy5oIChfSnZfZ2V0SW50ZXJmYWNlTWV0aG9kKCk6IG5ldyBmcmllbmQuCgkqIGphdmEvbGFuZy9uYXRDbGFzcy5jYyAoaW5pdGlhbGl6ZUNsYXNzKTogQ2hlY2sgaXRhYmxlLgoJKF9Kdl9nZXRJbnRlcmZhY2VNZXRob2QpOiBOZXcuCgkoX0p2X0xpbmtTeW1ib2xUYWJsZSk6IFJld3JpdGUgY29kZSB0aGF0IGhhbmRsZXMgaW5lcmZhY2UgY2FsbHMuCglDaGVjayB0aGF0IGFuIGludGVyZmFjZSBtZXRob2QgaXNuJ3QgY2FsbGVkIHdpdGggaW52b2tldmlydHVhbC4KCgkqIGphdmEvbGFuZy9uYXRDbGFzcy5jYyAoX0p2X0xheW91dFZUYWJsZU1ldGhvZHMpOiBNYWtlIHN1cmUKCXN1cGVyX21ldGggaXMgdmlydHVhbC4KCjIwMDQtMDktMDEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9DbGFzcy5oIChfSnZfQ2hlY2tBY2Nlc3NOb0luaXQpOiBEZWNsYXJlIGFzIGZyaWVuZC4KCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChfSnZfTGF5b3V0VlRhYmxlTWV0aG9kcyk6IFVzZQoJX0p2X0NoZWNrQWNjZXNzTm9Jbml0LgoJKiBpbmNsdWRlL2p2bS5oIChfSnZfQ2hlY2tBY2Nlc3NOb0luaXQpOiBEZWNsYXJlLgoJKiBwcmltcy5jYyAoX0p2X0NoZWNrQWNjZXNzTm9Jbml0KTogTmV3IG1ldGhvZC4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L25hdE1ldGhvZC5jYyAoaW52b2tlKTogQ2hlY2sgYWNjZXNzIGFnYWluc3QKCWRlY2xhcmluZyBjbGFzcywgbm90IG9iamVjdCdzIGNsYXNzLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3MuY2MgKF9Kdl9Mb29rdXBEZWNsYXJlZE1ldGhvZCk6IEFkZGVkIGFub3RoZXIKCWFyZ3VtZW50LgoJKF9Kdl9MYXlvdXRWVGFibGVNZXRob2RzKTogUGVyZm9ybSBjaGVja3Mgb2YgYWNjZXNzaWJpbGl0eSBvZgoJb3ZlcnJpZGRlbiBtZXRob2QuCgkqIGphdmEvbGFuZy9DbGFzcy5oIChfSnZfTG9va3VwRGVjbGFyZWRNZXRob2QpOiBBZGRlZCBhbm90aGVyCglhcmd1bWVudC4KCjIwMDQtMDgtMzAgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChfSnZfQ2hlY2tBc3NpZ25tZW50KTogQ2F0Y2gKCUNsYXNzTm90Rm91bmRFeGNlcHRpb24uCglUaHJvdyBOb0NsYXNzRGVmRm91bmRFcnJvci4KCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X0ZpbmRDbGFzc0luQ2FjaGUpOiBSZW1vdmUgY2FsbAoJdG8ga2xhc3MtPnZlcmlmeSgpIGZyb20gaGVyZSAuLi4KCShfSnZfUHJlcGFyZUNvbXBpbGVkQ2xhc3MpOiAuLi5hbmQgcHV0IGl0IGhlcmUuCgoyMDA0LTA4LTI3ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X0ZpbmRDbGFzc0luQ2FjaGUpOiBDYWxsCglrbGFzcy0+dmVyaWZ5KCkuCgkqIGphdmEvbGFuZy9uYXRDbGFzcy5jYyAoX0p2X0xpbmtTeW1ib2xUYWJsZSk6IEFkZCBkZWJ1Z2dpbmcuCgkoX0p2X0xpbmtTeW1ib2xUYWJsZSk6IENhbGwgSnZfTGF5b3V0Q2xhc3Mgb24gdGFyZ2V0IGNsYXNzLgoKMjAwNC0wOC0yNyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL0NsYXNzLmggKF9Kdl9Jc0Fzc2lnbmFibGVGcm9tU2xvdyk6IERlY2xhcmUgYXMKCWZyaWVuZC4KCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChfSnZfQ2hlY2tBc3NpZ25tZW50KTogTmV3IGZ1bmN0aW9uLgoJKF9Kdl9Jc0Fzc2lnbmFibGVGcm9tU2xvdyk6IE5ldyBmdW5jdGlvbi4KCUluY2x1ZGUgVmVyaWZ5RXJyb3IuaC4KCSogaW5jbHVkZS9qdm0uaCAoX0p2X0NoZWNrQXNzaWdubWVudCk6IERlY2xhcmUuCgoyMDA0LTA4LTE4ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9WTUNvbXBpbGVyLmphdmEgKGxvYWRTaGFyZWRMaWJyYXJ5KTogQWRkIGNsYXNzTmFtZQoJYXJndW1lbnQuICBQYXNzIGl0IHRvIGZpbmRDbGFzcyBpbnN0ZWFkIG9mIGZpbGVOYW1lLgoJKGNvbXBpbGVDbGFzcyk6IFBhc3MgY2xhc3MgbmFtZSB0byBsb2FkU2hhcmVkTGlicmFyeS4KCjIwMDQtMDYtMjIgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEuY29tcGlsZS9jb21waWxlLmV4cDogRm9yY2UgaW5kaXJlY3QgZGlzcGF0Y2guCgoyMDA0LTA2LTE1ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9uYXRTeXN0ZW0uY2MgKGdldGVudjApOiBEb24ndCBhc3N1bWUgZW52aXJvbm1lbnQKCXZhcmlhYmxlIGlzIExhdGluIDEgY29kZWQuCgoyMDA0LTA2LTA3ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9TeXN0ZW0uamF2YTogKGdldGVudjApOiBOZXcgbWV0aG9kLgoJKGdldGVudik6IEFkZCBzZWN1cml0eSBjaGVjay4gIERvIHRoZSByaWdodCB0aGluZy4KCSogamF2YS9sYW5nL25hdFN5c3RlbS5jYyAoZ2V0ZW52MCk6IE5ldyBtZXRob2QuCgoyMDA0LTA0LTE5ICAgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogZ251L2djai9ydW50aW1lL05hbWVGaW5kZXIuamF2YTogQ2FsbCB3YWl0Rm9yKCkgb24gdGhlIHByb2Nlc3NlcwoJd2UgZGVzdHJveS4KCgkqIGdudS9qYXZhL25ldC9uYXRQbGFpblNvY2tldEltcGxQb3NpeC5jYyAocmVhZCk6IFRoZSB2YWx1ZSBieXRlCglpcyByZXR1cm5lZCBhcyBhbiBpbnQgaW4gdGhlIHJhbmdlIDAgdG8gMjU1LgoKMjAwNC0wOC0xMyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChfSnZfTGlua1N5bWJvbFRhYmxlKTogUHJlcGFyZSB0aGUgdGFyZ2V0CgljbGFzcyBpZiBpdCBpcyBpbnRlcnByZXRlZC4KCjIwMDQtMDgtMTIgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X1dhaXRGb3JTdGF0ZSk6IFVwZGF0ZWQuCgkqIGphdmEvbGFuZy9DbGFzcy5oIChfSnZfUmVzb2x2ZUNsYXNzUmVmKTogVXBkYXRlZCBkZWNsYXJhdGlvbi4KCShDbGFzczo6Z2V0U3VwZXJjbGFzcyk6IFVwZGF0ZWQuCgkoQ2xhc3M6OmdldEludGVyZmFjZXMpOiBMaWtld2lzZS4KCShDbGFzczo6c2l6ZSk6IFVwZGF0ZWQuCgkoX0p2X0xheW91dENsYXNzKTogVXBkYXRlZCBkZWNsYXJhdGlvbi4KCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChfSnZfUmVzb2x2ZUNsYXNzUmVmKTogQ2hhbmdlZCBpbnRlcmZhY2UuCglTeW5jaHJvbml6ZSBvbiBjbGFzcy4KCShfSnZfTGF5b3V0Q2xhc3MpOiBDaGFuZ2VkIGludGVyZmFjZS4KCShpbml0aWFsaXplQ2xhc3MpOiBVcGRhdGVkLgoJKF9Kdl9MaW5rU3ltYm9sVGFibGUpOiBMaWtld2lzZS4KCgkqIGphdmEvbGFuZy9DbGFzcy5oIChDbGFzczo6X0p2X2lzQmluYXJ5Q29tcGF0aWJsZSk6IERlY2xhcmUgYXMKCWZyaWVuZC4KCSogamF2YS9sYW5nL25hdENsYXNzTG9hZGVyLmNjIChfSnZfV2FpdEZvclN0YXRlKTogVXNlCglfSnZfaXNCaW5hcnlDb21wYXRpYmxlLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3MuY2MgKGluaXRpYWxpemVDbGFzcyk6IFVzZQoJX0p2X2lzQmluYXJ5Q29tcGF0aWJsZS4KCShfSnZfTGlua1N5bWJvbFRhYmxlKTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvanZtLmggKF9Kdl9pc0JpbmFyeUNvbXBhdGlibGUpOiBOZXcgZnVuY3Rpb24uCgoyMDA0LTA4LTExICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnY2ovamF2YXByaW1zLmg6IFJlZ2VuZXJhdGVkLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3NMb2FkZXIuY2MgKGdldENsYXNzTG9hZGVyMCk6IFJlbW92ZWQuCgkoX3JlZ2lzdGVyQ2xhc3MpOiBMaWtld2lzZS4KCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIE1ha2VmaWxlLmFtIChjb3JlX2phdmFfc291cmNlX2ZpbGVzKTogQWRkZWQgVk1Db21waWxlci4KCSogamF2YS9sYW5nL0NvbXBpbGVyLmphdmE6IFJld3JvdGUgaW4gdGVybXMgb2YgVk1Db21waWxlci4KCSogamF2YS9sYW5nL1ZNQ29tcGlsZXIuamF2YTogTmV3IGZpbGUuCgkqIGdudS9nY2ovcnVudGltZS9TaGFyZWRMaWJIZWxwZXIuamF2YSAoZmluZENsYXNzKTogUmVtb3ZlZAoJYHZlcmJvc2UnIGNvZGUuCgkoY29weUZpbGUpOiBEb24ndCB1c2UgZnVsbHktcXVhbGlmaWVkIG5hbWUuCgkoaCk6IFJlbW92ZWQuCgkqIGphdmEvbGFuZy9uYXRWTUNsYXNzTG9hZGVyLmNjOiBJbmNsdWRlIFZNQ29tcGlsZXIuaC4KCShkZWZpbmVDbGFzcyk6IFVzZSBWTUNvbXBpbGVyLgoJKiBqYXZhL2xhbmcvQ2xhc3NMb2FkZXIuamF2YSAoZGVmaW5lQ2xhc3MpOiBSZW1vdmVkIGppdAoJY29tcGlsYXRpb24gY29kZSBhbmQgYHZlcmJvc2UnIGNvZGUuCgkoZ2V0Q2xhc3NMb2FkZXIwKTogUmVtb3ZlZC4KCShfcmVnaXN0ZXJDbGFzcyk6IExpa2V3aXNlLgoJKFNoYXJlZExpYkhlbHBlcnMpOiBSZW1vdmVkLgoKMjAwNC0wOC0xMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSAoVVJMTG9hZGVyKFVSTENsYXNzTG9hZGVyLCBVUkwsCglVUkwpKTogTmV3IGNvbnN0cnVjdG9yLgoJKFNvVVJMTG9hZGVyKTogTGlrZXdpc2UuCgkoSmFyVVJMTG9hZGVyKTogQ3JlYXRlIFNvVVJMTG9hZGVyIHdpdGggb3ZlcnJpZGUgVVJMLgoKMjAwNC0wOC0xMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIE1ha2VmaWxlLmFtIChpbnRlcnByZXQubG8pOiBOZXcgcnVsZS4KCjIwMDQtMDgtMDUgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSAoSmFyVVJMTG9hZGVyLkphclVSTExvYWRlcik6IExvb2sKCWFzaWRlIGZvciAiR0NKTElCUyIgaW4gZGlyZWN0b3J5IHdoZXJlIGphcmZpbGVzIGFyZSBsb2FkZWQuCgkoSmFyVVJMTG9hZGVyLmdldENsYXNzKTogTmV3IG1ldGhvZC4KCShKYXJVUkxMb2FkZXIudG9TdHJpbmcpOiAgTmV3IG1ldGhvZC4KCShGaWxlUmVzb3VyY2UudG9TdHJpbmcpOiAgTmV3IG1ldGhvZC4KCSogamF2YS9sYW5nL25hdENsYXNzTG9hZGVyLmNjIChfSnZfUmVnaXN0ZXJDbGFzc0hvb2tEZWZhdWx0KToKCVJlbW92ZSAiRHVwbGljYXRlIGNsYXNzIHJlZ2lzdHJhdGlvbjogIiBidWcuCgkoX3JlZ2lzdGVyQ2xhc3MpOiBOZXcgbWV0aG9kLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3MuY2MgKF9Kdl9MaW5rU3ltYm9sVGFibGUpOiBDaGVjayBtZXRob2QgaW5kZXguCgkoX0p2X0xpbmtTeW1ib2xUYWJsZSk6IENhbGwgX0p2X0xheW91dENsYXNzKCkuCglBZGQgZGVidWdnaW5nLgoJKF9Kdl9MYXlvdXRDbGFzcyk6IFVzZSBnZXRTdXBlcmNsYXNzKCkgcmF0aGVyIHRoYW4gZGlyZWN0bHkKCWFjY2Vzc2luZyB0aGUgZmllbGQuCgkqIGphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhIChTaGFyZWRMaWJIZWxwZXJzKTogTmV3IHZhcmlhYmxlLgoJKGRlZmluZUNsYXNzKTogQ2FsbCBnY2ogdG8gSklULWNvbXBpbGUgYSBjbGFzcy4KCShfcmVnaXN0ZXJDbGFzcyk6IE5ldyBtZXRob2QuCgkqIGdudS9nY2ovcnVudGltZS9TaGFyZWRMaWJIZWxwZXIuamF2YSAoZmluZEhlbHBlcik6IEEgc2hhcmVkCglsaWJyYXJ5IG5hbWUgY2FuIHJlZmVyIHRvIG1vcmUgdGhhbiBvbmUgbG9hZGVkIGxpYnJhcnksIHNvIHVzZSBhCglTZXQgb2YgU2hhcmVkTGliSGVscGVycy4KCUlmIGEgc2hhcmVkIGxpYnJhcnkgaXMgYWxyZWFkeSBsb2FkZWQsIHRha2UgYSBjb3B5LgoJKGNvcHlGaWxlKTogTmV3IGZ1bmN0aW9uLgoKCSogdGVzdHN1aXRlL2xpYmphdmEuY29tcGlsZS9jb21waWxlLmV4cDogRm9yY2UKCS1maW5kaXJlY3QtZGlzcGF0Y2guCgoJKiBqYXZhL3NlY3VyaXR5L0Jhc2ljUGVybWlzc2lvbi5qYXZhOiBSZW1vdmUgYm9ndXMgY2hlY2tzLgoKCSogamF2YS9sYW5nL1N5c3RlbS5qYXZhIChnZXRlbnYwKTogTmV3IG1ldGhvZC4KCSogamF2YS9sYW5nL25hdFN5c3RlbS5jYyAoZ2V0ZW52MCk6IE5ldyBtZXRob2QuCgoyMDA0LTA1LTI0ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9uYXRDbGFzcy5jYyAoX0p2X0xheW91dENsYXNzKTogUmVtb3ZlIHdhcm5pbmcgbWVzc2FnZS4KCjIwMDQtMDQtMjAgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIE1lcmdlZCB3aXRoIEhFQUQgYXMgb2YgMjAwNDA1MTQuIERpZmYgYWdhaW5zdAoJZ2NqLWFiaS0yLW1lcmdlLTIwMDQwNTE0LgoKMjAwNC0wNC0xNiAgQW5kcmV3IEhhbGV5ICA8YXBoQHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3NMb2FkZXIuY2MgKF9Kdl9XYWl0Rm9yU3RhdGUpOiBDYWxsCglfSnZfTGF5b3V0Q2xhc3MuCgkoX0p2X1ByZXBhcmVDb21waWxlZENsYXNzKTogQ2FzdCBhZGRyZXNzIHRvIHVhZGRyIGZvciBjb21wYXJpc29uLgoJKF9Kdl9QcmVwYXJlQ29tcGlsZWRDbGFzcyk6IElmIHdlIHRocm93IGFuIGV4Y2VwdGlvbiBkdXJpbmcKCXByZXBhcmF0aW9uLCByZXN0b3JlIHN0YXRlLgoJKENsYXNzTG9hZGVyOjpnZXRDbGFzc0xvYWRlcjApOiBOZXcgbWV0aG9kLgoKCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChnZXRfYWxpZ25tZW50X2Zyb21fY2xhc3MpOiBNb3ZlZCBoZXJlCglmcm9tIHJlc29sdmUuY2MuCgkoQUxJR05PRik6IFVzZSBvZmZzZXRvZiwgbm90IF9fYWxpZ25vZl9fLgoJKF9Kdl9SZXNvbHZlQ2xhc3NSZWYpOiBSZXNvbHZlIGEgcmVmZXJlbmNlIHRvIGEgY2xhc3MgaW4gYQoJY29uc3RhbnQgcG9vbC4KCShnZXRJbnRlcmZhY2VzKTogRW1pdCBkZWJ1ZyBvdXRwdXQgaWYgaW50ZXJmYWNlIGhhc24ndCBiZWVuCglyZXNvbHZlZC4KCShpbml0aWFsaXplQ2xhc3MpOiBDYWxsIF9Kdl9MYXlvdXRDbGFzcy4KCShfSnZfTGlua1N5bWJvbFRhYmxlKTogQWRkIGRlYnVnZ2luZyBvdXRwdXQuCgkoX0p2X0xpbmtTeW1ib2xUYWJsZSk6IE5vQ2xhc3NEZWZGb3VuZEVycm9yIGlmIHRhcmdldF9jbGFzcyBpc24ndAoJZm91bmQuCgkoX0p2X0xpbmtTeW1ib2xUYWJsZSk6IENhbGwgX0p2X1ByZXBhcmVDbGFzcy4KCShfSnZfTGlua1N5bWJvbFRhYmxlKTogUGFzcyB0aGUgcmVhbCBjbGFzcyBsb2FkZXIgdG8KCV9Kdl9GaW5kQ2xhc3MuCgkoX0p2X2xpbmtFeGNlcHRpb25DbGFzc1RhYmxlKTogRG9uJ3QgdGhyb3cgaWYgd2UgZmFpbCB0byBmaW5kIGFuCglleGNlcHRpb24gY2xhc3MuCgkoX0p2X0xpbmtTeW1ib2xUYWJsZSk6IEFzc2VydCBpZiB3ZSBmaW5kIGEgc3RhdGljIGZpZWxkIHJlZmVyZW5jZQoJdG8gYW4gaW50ZXJwcmV0ZWQgY2xhc3MuCgkoX0p2X0xheW91dFZUYWJsZU1ldGhvZHMpOiBVc2Uga2xhc3MtPmdldFN1cGVyY2xhc3MgdG8gZ2V0IHRoZQoJc3VwZXJjbGFzcy4KCShfSnZfTGF5b3V0Q2xhc3MpOiBNb3ZlZCBoZXJlOyBpdCB3YXMgcGFydCBvZiBfSnZfUHJlcGFyZUNsYXNzIGluCglyZXNvbHZlLmNjLgoKCSogamF2YS9sYW5nL1ZNU2VjdXJpdHlNYW5hZ2VyLmphdmE6IENoZWNrIGZvciB0aGUgc3lzdGVtIGNsYXNzCglsb2FkZXIgYXMgd2VsbCBhcyBsb2FkZXIgIT0gbnVsbC4KCgkqIGphdmEvbGFuZy9TZWN1cml0eU1hbmFnZXIuamF2YSAoY2hlY2tQZXJtaXNzaW9uKTogUmVtb3ZlCglzZWN1cml0eSBjaGVjay4KCShjaGVja1JlYWQpOiBMaWtld2lzZS4KCShjaGVja0Nvbm5lY3QpOiBMaWtld2lzZS4KCgkqIGphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhIChsb2FkQ2xhc3MpOiBJbmNsdWRlIGFsbCBjbGFzcwoJbG9hZGVycyBpbiBzdGFjayB0cmFjZSBzdHJpbmcuCglMb29rIGZvciBjbGFzcyBpbiAiZ2NqbGliLnNvIiBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuCgkoZ2V0U3lzdGVtQ2xhc3NMb2FkZXIpIFVzZSBnZXRDbGFzc0xvYWRlcjAuCgkoZ2V0Q2xhc3NMb2FkZXIwKTogTmV3IG5hdGl2ZSBtZXRob2QuCgoJKiBqYXZhL2xhbmcvQ2xhc3MuaCAoZ2V0U3VwZXJjbGFzcyk6IE5ldyBtZXRob2QuCgkoZ2V0SW50ZXJmYWNlKTogTmV3IG1ldGhvZC4KCShzaXplKTogTGF5IG91dCBjbGFzcyBpZiBuZWVkZWQuCgkoZmlyc3RNZXRob2RJbmRleCk6IE5ldyBtZXRob2QuCgkoSnZfUmVzb2x2ZUNsYXNzUmVmKTogTmV3IGRlY2xhcmF0aW9uLgoJKF9Kdl9MaW5rU3ltYm9sVGFibGUpOiBOZXcgZGVjbGFyYXRpb24uCgoJKiBqYXZhL2lvL09iamVjdE91dHB1dFN0cmVhbS5qYXZhOiBBZGQgREVCVUcgc3RhdGVtZW50cwoJZXZlcnl3aGVyZS4KCShkdW1wRWxlbWVudGxuKTogTmV3IG1ldGhvZC4KCShkZXB0aCk6IE5ldyBmaWVsZC4KCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChNeUlPRXhjZXB0aW9uKTogbmV3LCBmb3IKCWRlYnVnZ2luZy4KCUV2ZXJ5d2hlcmU6IHVzZSBNeUlPRXhjZXB0aW9uIHJhdGhlciB0aGFuIElPRXhjZXB0aW9uLgoJSW5kZW50IGRlYnVnZ2luZyBvdXRwdXQgdG8gbWFrZSBuZXN0aW5nIHZpc2libGUuCgkoY3VycmVudENsYXNzTG9hZGVyKTogTWFrZSBuYXRpdmUKCShjYWxsZXJzQ2xhc3NMb2FkZXIpOiBOZXcgZmllbGQuCgkoZGVwdGgpOiBOZXcgZmllbGQuCgkqIGphdmEvaW8vbmF0T2JqZWN0SW5wdXRTdHJlYW0uY2MgKGdldENhbGxlcnNDbGFzc0xvYWRlcik6IE5ldwoJbWV0aG9kLgoKCShyZWFkT2JqZWN0KTogRU5EQkxPQ0tEQVRBIGlzIGdlbmVyYXRlZCBpZiB0aGUgY2xhc3MgaGFzIGEgd3JpdGUKCW1ldGhvZCwgbm90IGlmIGl0IGhhcyBhIHJlYWQgbWV0aG9kLgoKCSogaW5jbHVkZS9qdm0uaCAoX0p2X0NhbGxBbnlNZXRob2RBKTogQWRkIG5ldyBhcmcsIGlmYWNlLgoKCSogZ251L2phdmF4L3JtaS9DT1JCQS9EZWxlZ2F0ZUZhY3RvcnkuamF2YTogVXNlIHRoZQoJZ2V0Q29udGV4dENsYXNzTG9hZGVyIGZvcm0gdGhlIGN1cnJlbnQgdGhyZWFkIGFmdGVyIG91ciBvd24gY2xhc3MKCWxvYWRlci4KCgkqIGdudS9nY2ovcnVudGltZS9TaGFyZWRMaWJIZWxwZXIuamF2YSAoZmluZENsYXNzKTogQ2xhc3MgbG9hZGVyCglkZWJ1Z2dpbmcuCgkodG9TdHJpbmcpOiBOZXcgbWV0aG9kLgoKCSogdmVyaWZ5LmNjIChjbGFzcyBfSnZfQnl0ZWNvZGVWZXJpZmllcik6IERvbid0IGRpcmVjdGx5IGFjY2VzcwoJaW50ZXJmYWNlcyBhcnJheS4KCgkqIHJlc29sdmUuY2MgKF9Kdl9QcmVwYXJlTWlzc2luZ01ldGhvZHMpOiBJZiBpbnRlcmZhY2UgbG9va3MgbGlrZQoJYSBjb25zdGFudCBwb29sIGVudHJ5LCByZXNvbHZlIGl0IG5vdy4KCShfSnZfUHJlcGFyZUNsYXNzKTogQnJlYWsgb3V0IHBhcnQgb2YgdGhpcyBmdW5jdGlvbiB0byBKdl9MYXlvdXRDbGFzcwoJaW4gbmF0Q2xhc3MuY2MuCglNb3ZlIGdldF9hbGlnbm1lbnRfZnJvbV9jbGFzcyB0byBuYXRDbGFzcy5jYy4KCgkqIHByaW1zLmNjIChfSnZfQWxsb2NPYmplY3ROb0ZpbmFsaXplcik6IFVzZSBzaXplIGZpZWxkIGZyb20gY2xhc3MuCgkoX0p2X0FsbG9jT2JqZWN0Tm9Jbml0Tm9GaW5hbGl6ZXIpOiBMaWtld2lzZS4KCgkqIGRlZmluZWNsYXNzLmNjIChjaGVja0V4dGVuZHMpOiBEb24ndCBhY2Nlc3Mgc3VwZXJjbGFzcyBmaWVsZAoJZGlyZWN0bHkuCgoJKiBNYWtlZmlsZS5pbjogcmVnZW5lcmF0ZS4KCgkqIGdudS9nY2ovdXRpbC9uYXREZWJ1Zy5jYzogTmV3CgkqIGdudS9nY2ovdXRpbC9EZWJ1Zy5qYXZhOiBOZXcuCgoJKiBNYWtlZmlsZS5hbSAoamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5sbyk6IFVzZQoJLWZuby1vcHRpbWl6ZS1zaWJsaW5nLWNhbGxzLgoKCSogamF2YS9sYW5nL3JlZmxlY3QvbmF0TWV0aG9kLmNjIChfSnZfQ2FsbEFueU1ldGhvZEEpOiBVc2UKCV9Kdl9Mb29rdXBJbnRlcmZhY2VNZXRob2RJZHggdG8gY2FsY3VsYXRlIHRoZSBhZGRyZXNzIG9mIGEgbWV0aG9kCglpbiBhbiBpbnRlcmZhY2UuCgkqIGluY2x1ZGUvanZtLmggKF9Kdl9DYWxsQW55TWV0aG9kQSk6IEFkZCBuZXcgYXJnOiBpZmFjZS4KCjIwMDQtMTEtMjQgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUgZm9yIGxpYnRvb2wgY2hhbmdlLgoKMjAwNC0xMS0yNCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL3NlY3VyaXR5L1BvbGljeUZpbGUuamF2YTogTmV3IGZpbGUuCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBnbnUvamF2YS9zZWN1cml0eS9Qb2xpY3lGaWxlLmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMTEtMjQgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2xhbmcvQ2hhcmFjdGVyLmphdmEsIHNjcmlwdHMvdW5pY29kZS1ibG9ja3MucGw6CglSZW9yZGVyICJmaW5hbCBzdGF0aWMiIHRvICJzdGF0aWMgZmluYWwiLgoKMjAwNC0xMS0yNCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdXRpbC9SZXNvdXJjZUJ1bmRsZS5qYXZhOiBSZWZvcm1hdHRlZC4KCSh0cnlCdW5kbGUpOiBGaXhlZCBqYXZhZG9jLgoKMjAwNC0xMS0yNCAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvdGV4dC9NZXNzYWdlRm9ybWF0LmphdmEKCShmb3JtYXRJbnRlcm5hbCk6IE1hZGUgcHJpdmF0ZS4KCjIwMDQtMTEtMjQgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25pby9EaXJlY3RCeXRlQnVmZmVySW1wbC5qYXZhCgkoUmVhZFdyaXRlLlJlYWRXcml0ZSk6IE5ldyBjb25zdHJ1Y3Rvci4KCShEaXJlY3RCeXRlQnVmZmVySW1wbCk6IExpa2V3aXNlLgoJKiBqbmkuY2MgKF9Kdl9KTklfTmV3RGlyZWN0Qnl0ZUJ1ZmZlcik6CglVc2UgRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuUmVhZFdyaXRlLgoJKiBNYWtlZmlsZS5hbToKCUdlbmVyYXRlIGphdmEvbmlvL0RpcmVjdEJ5dGVCdWZmZXJJbXBsJFJlYWRXcml0ZS5oLgoJKiBNYWtlZmlsZS5pbjogUmdlbmVyYXRlZC4KCjIwMDQtMTEtMjQgIEplcm9lbiBGcmlqdGVycyAgPGFkZHJlc3NAYm9ndXMuZXhhbXBsZS5jb20+CgoJKiBqYXZhL25pby9EaXJlY3RCeXRlQnVmZmVySW1wbC5qYXZhCgkoUmVhZE9ubHkpOiBOZXcgaW5uZXIgc3ViY2xhc3MuCgkoUmVhZFdyaXRlKTogTmV3IGlubmVyIHN1YmNsYXNzLgoJKG93bmVyKTogTWFkZSBmaW5hbCBhbmQgcHJpdmF0ZS4KCShhZGRyZXNzKTogTWFkZSBmaW5hbC4KCShEaXJlY3RCeXRlQnVmZmVySW1wbChpbnQpKTogTmV3IGNvbnN0cnVjdG9yLgoJKERpcmVjdEJ5dGVCdWZmZXJJbXBsKE9iamVjdCxSYXdEYXRhLGludCxpbnQsaW50KSk6IE5ldyBjb25zdHJ1Y3Rvci4KCShEaXJlY3RCeXRlQnVmZmVySW1wbChPYmplY3QsUmF3RGF0YSxpbnQsaW50LGludCxib29sZWFuKSk6IFJlbW92ZWQuCgkoYWxsb2NhdGUpOiBNb2RpZmllZCB0byBpbnN0YW50aWF0ZSBSZWFkV3JpdGUgc3ViY2xhc3MuCgkoZmluYWxpemUpOiBGaXhlZCB0byBvbmx5IGZyZWUgdGhlIGJ1ZmZlciwgaWYgd2Ugb3duIGl0LgoJKHB1dCk6IFJlbW92ZWQgcmVhZC1vbmx5IGNoZWNrLgoJKHNsaWNlLCBkdXBsaWNhdGUpOiBNb2RpZmllZCB0byBpbnN0YW50aWF0ZSBhcHByb3ByaWF0ZSBzdWJjbGFzcy4KCShpc1JlYWRPbmx5KTogUmVtb3ZlZC4KCSogamF2YS9uaW8vTWFwcGVkQnl0ZUJ1ZmZlckltcGwuamF2YQoJKHNsaWNlLCBkdXBsaWNhdGUpOiBNb2RpZmllZCB0byBpbnN0YW50aWF0ZSBhcHByb3ByaWF0ZQoJRGlyZWN0Qnl0ZUJ1ZmZlckltcGwgc3ViY2xhc3MuCgoyMDA0LTExLTI0ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL05JT1NlcnZlclNvY2tldC5qYXZhOiBBZGRlZCBlbWFpbCB0byBAYXV0aG9yIHRhZy4KCSogamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YToKCU1vdmVkIG5hdGl2ZSBtZXRob2RzIHRvIGphdmEubmlvLlZNRGlyZWN0Qnl0ZUJ1ZmZlciBjbGFzcy4KCSogamF2YS9uaW8vTWFwcGVkQnl0ZUJ1ZmZlckltcGwuamF2YToKCVVzZSBuYXRpdmUgbWV0aG9kcyBmcm9tIGphdmEubmlvLlZNRGlyZWN0Qnl0ZUJ1ZmZlciBjbGFzcy4KCSogamF2YS9uaW8vVk1EaXJlY3RCeXRlQnVmZmVyLmphdmE6IE5ldyBmaWxlLAoJKiBqYXZhL25pby9uYXREaXJlY3RCeXRlQnVmZmVySW1wbC5jYzoKCU1vdmVkIGFsbCBtZXRob2RzIGludG8gamF2YS5uaW8uVk1EaXJlY3RCeXRlQnVmZmVyIGNsYXNzLgoJKiBqYXZhL25pby9jaGFubmVscy9zcGkvQWJzdHJhY3RTZWxlY3RhYmxlQ2hhbm5lbC5qYXZhCgkocmVnaXN0ZXIpOiBPbmx5IHJlLXVzZSB2YWxpZCBrZXlzLgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgamF2YS9uaW8vVk1EaXJlY3RCeXRlQnVmZmVyLmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMTEtMjQgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25pby9EaXJlY3RCeXRlQnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vTWFwcGVkQnl0ZUJ1ZmZlckltcGwuamF2YToKCVJlZm9ybWF0dGVkLgoKMjAwNC0xMS0yMyAgSm9obiBEYXZpZCBBbmdsaW4gIDxkYXZlLmFuZ2xpbkBucmMtY25yYy5nYy5jYT4KCgkqIHRlc3RzdWl0ZS9saWIvbGliamF2YS5leHAsCgl0ZXN0c3VpdGUvbGliamF2YS5qYWNrcy9qYWNrcy5leHA6IFVzZSBuZXcgcHJvY3MgaW4gdGFyZ2V0LWxpYnBhdGguZXhwLgoKMjAwNC0xMS0yMyAgUmljaGFyZCBTYW5kaWZvcmQgIDxyc2FuZGlmb0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmhvc3Q6IEVuYWJsZSB0aGUgaW50ZXJwcmV0ZXIgZm9yIG1pcHMqLSotbGludXgqLgoKMjAwNC0xMS0yMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbGFuZy9TdHJpbmcuamF2YSAocmVoYXNoKTogUmVtb3ZlZC4KCSogamF2YS9sYW5nL25hdFN0cmluZy5jYyAocmVoYXNoKTogTWFkZSBzdGF0aWMuCgkoX0p2X05ld1N0cmluZ1V0ZjhDb25zdCk6IFVzZSBzdGF0aWMgcmVoYXNoIG1ldGhvZC4KCjIwMDQtMTEtMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBNYWtlZmlsZS5pbiwgYWNsb2NhbC5tNCwgY29uZmlndXJlLCBnY2ovTWFrZWZpbGUuaW4sCglpbmNsdWRlL01ha2VmaWxlLmluLCB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0xMS0yMiAgRXJpYyBCb3RjYXpvdSAgPGVib3RjYXpvdUBsaWJlcnR5c3VyZi5mcj4KCglQUiB0YXJnZXQvMTg0NDQKCSogY29uZmlndXJlLmFjICh0aHJlYWRpbmcpOiBBY2NlcHQgJ3Bvc2l4OTUnLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDA0LTExLTIyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL1NvY2tldENoYW5uZWxJbXBsLmphdmEKCShyZWFkKTogTWFkZSBjaGVjayBmb3IgYmxvY2tpbmcgdW4tYW1iaWd1b3VzLgoJUmVtb3ZlZCB3cm9uZyBjaGVjayBmb3IgZGF0YSBhcnJheSBsZW5ndGguCgoyMDA0LTExLTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL1NvY2tldENoYW5uZWxJbXBsLmphdmEKCShyZWFkKTogT25seSByZXR1cm4gMCB3aGVuIG5vIGJ5dGVzIGZvciByZWFkaW5nIGF2YWlsYWJsZSBpbgoJbm9uLWJsb2NraW5nIG1vZGUuCgkqIGphdmEvbmlvL2NoYW5uZWxzL1NvY2tldENoYW5uZWwuamF2YToKCUFkZGVkIHNvbWUgbWlzc2luZyBAcmV0dXJuIHRhZ3MuCgoyMDA0LTExLTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9iZWFucy9Qcm9wZXJ0eUNoYW5nZVN1cHBvcnQuamF2YQoJKHByb3BlcnR5Q2hhbmdlU3VwcG9ydFNlcmlhbGl6ZWREYXRhVmVyc2lvbik6IE1hZGUgc3RhdGljLgoJKiBqYXZhL2JlYW5zL1ZldG9hYmxlQ2hhbmdlU3VwcG9ydC5qYXZhCgkocHJvcGVydHlDaGFuZ2VTdXBwb3J0U2VyaWFsaXplZERhdGFWZXJzaW9uKTogTGlrZXdpc2UuCgoyMDA0LTExLTE4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9uZXQvVVJMU3RyZWFtSGFuZGxlci5qYXZhCgkocGFyc2VVUkwpOiBGaXhlZCBmaWxlIHBhdGggY2Fub25pY2FsaXNhdGlvbi4KCjIwMDQtMTEtMTggIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL25ldC9VUkxTdHJlYW1IYW5kbGVyLmphdmEKCShwYXJzZVVSTCk6IEZpeGVkIGZpbGUgcGF0aCBjYW5vbmljYWxpc2F0aW9uLgoKMjAwNC0xMS0xOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L1VSTENsYXNzTG9hZGVyLmphdmE6IFdoaXRlc3BhY2UgY2xlYW51cC4KCjIwMDQtMTEtMTggIFJvYmVydCBTY2h1c3RlciA8YWRkcmVzc0Bib2d1cy5leGFtcGxlLmNvbT4KCglDb21wbGV0ZSAxLjQgc3VwcG9ydAoJKiBqYXZhL2JlYW5zL1Byb3BlcnR5RGVzY3JpcHRvci5qYXZhOgoJKHNldFJlYWRNZXRob2QpOiBOZXcgbWV0aG9kCgkoc2V0V3JpdGVNZXRob2QpOiBOZXcgbWV0aG9kCgkoZXF1YWxzKTogSW1wbGVtZW50ZWQgKDEuNCkKCShjaGVja01ldGhvZHMpOiBvcGVyYXRlcyBvbiBhcmd1bWVudHMgbm93IChwcml2YXRlKQoKCjIwMDQtMTEtMTggIE1hdHRpYXMgUmVobmJlcmcgIDxNYXR0aWFzLlJlaG5iZXJnQGhvbWUuc2U+CgoJKiBqYXZhL25ldC9JbmV0NkFkZHJlc3MuamF2YSAoZ2V0SG9zdEFkZHJlc3MpOiBGaXggdGV4dHVhbAoJcmVwcmVzZW50YXRpb24gb2YgSVB2NiBhZGRyZXNzIHdpdGggZW1iZWRkZWQgemVyb2VzCgl0byBjb25mb3JtIHRvIFJGQyAyMzczLgoKMjAwNC0xMS0xOCAgSmVyb2VuIEZyaWp0ZXJzICA8YWRkcmVzc0Bib2d1cy5leGFtcGxlLmNvbT4KCgkqIGphdmEvbGFuZy9TdGFja1RyYWNlRWxlbWVudC5qYXZhOiBNYWRlIGZpbmFsLgoJKiBqYXZhL25pby9jaGFubmVscy9DaGFubmVscy5qYXZhOiBBZGRlZCBwcml2YXRlIGNvbnN0cnVjdG9yLgoJKiBqYXZhL3JtaS9OYW1pbmcuamF2YTogQWRkZWQgcHJpdmF0ZSBjb25zdHJ1Y3Rvci4KCSogamF2YS9ybWkvcmVnaXN0cnkvTG9jYXRlUmVnaXN0cnkuamF2YTogQWRkZWQgcHJpdmF0ZSBjb25zdHJ1Y3Rvci4KCSogamF2YS9ybWkvc2VydmVyL1JNSUNsYXNzTG9hZGVyLmphdmE6IEFkZGVkIHByaXZhdGUgY29uc3RydWN0b3IuCgkqIGphdmEvc2VjdXJpdHkvS2V5UGFpckdlbmVyYXRvclNwaS5qYXZhCgkoY2xvbmUpOiBNYWRlIHByb3RlY3RlZCBhbmQgc2ltcGxpZmllZCBpbXBsZW1lbnRhdGlvbi4KCSogamF2YS90ZXh0L0RhdGVGb3JtYXQuamF2YQoJKGFsbEZpZWxkcyk6IE1hZGUgcGFja2FnZSBhY2Nlc3NpYmxlLgoJKiBqYXZhL3RleHQvRGVjaW1hbEZvcm1hdC5qYXZhCgkoZm9ybWF0SW50ZXJuYWwpOiBNYWRlIHByaXZhdGUuCgkqIGphdmEvdGV4dC9Gb3JtYXQuamF2YQoJKGZvcm1hdEludGVybmFsKTogTWFkZSBwcml2YXRlLgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9IYW5kbGVyLmphdmE6IE1hZGUgY29uc3RydWN0b3IgcHJvdGVjdGVkLgoJKiBqYXZhL3V0aWwvcmVnZXgvTWF0Y2hlci5qYXZhOiBNYWRlIGZpbmFsLgoJKiBqYXZhL3V0aWwvcmVnZXgvUGF0dGVybi5qYXZhOiBNYWRlIGZpbmFsLgoJKiBqYXZheC9jcnlwdG8vQ2lwaGVySW5wdXRTdHJlYW0uamF2YQoJKG1hcmspOiBDb3JyZWN0ZWQgbWFyayBwYXJhbWV0ZXIgdHlwZSAoZnJvbSBsb25nIHRvIGludCkuCgkqIGphdmF4L2NyeXB0by9FeGVtcHRpb25NZWNoYW5pc20uamF2YQoJKGZpbmFsaXplKTogQWRkZWQuCgkqIGphdmF4L2NyeXB0by9NYWMuamF2YQoJKGdldE1hY0xlbmd0aCk6IE1hZGUgZmluYWwuCgkoY2xvbmUpOiBNYWRlIGZpbmFsLgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlSU8uamF2YTogQWRkZWQgcHJpdmF0ZSBjb25zdHJ1Y3Rvci4KCSogamF2YXgvaW1hZ2Vpby9zdHJlYW0vSW1hZ2VJbnB1dFN0cmVhbUltcGwuamF2YQoJKGNoZWNrQ2xvc2VkKTogTWFkZSBmaW5hbC4KCSogamF2YXgvbmV0L3NzbC9TU0xQZXJtaXNzaW9uLmphdmE6IE1hZGUgZmluYWwuCgkqIGphdmF4L3ByaW50L0RvY0ZsYXZvci5qYXZhCgkoaG9zdEVuY29kaW5nKTogQWRkZWQgd29yay1hcm91bmQgdG8gcHJldmVudCB0aGUgZmllbGQgZnJvbSBiZWluZwoJYSBjb21waWxlIHRpbWUgY29uc3RhbnQuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9BdHRyaWJ1dGVTZXRVdGlsaXRpZXMuamF2YTogQWRkZWQgcHJpdmF0ZQoJY29uc3RydWN0b3IuCgkoVW5tb2RpZmlhYmxlRG9jQXR0cmlidXRlU2V0KTogTWFkZSBwcml2YXRlLgoJKFVubW9kaWZpYWJsZVByaW50Sm9iQXR0cmlidXRlU2V0KTogTWFkZSBwcml2YXRlLgoJKFVubW9kaWZpYWJsZVByaW50UmVxdWVzdEF0dHJpYnV0ZVNldCk6IE1hZGUgcHJpdmF0ZS4KCShVbm1vZGlmaWFibGVQcmludFNlcnZpY2VBdHRyaWJ1dGVTZXQpOiBNYWRlIHByaXZhdGUuCgkoU3luY2hyb25pemVkQXR0cmlidXRlU2V0KTogTWFkZSBwcml2YXRlLgoJKFN5bmNocm9uaXplZERvY0F0dHJpYnV0ZVNldCk6IE1hZGUgcHJpdmF0ZS4KCShTeW5jaHJvbml6ZWRQcmludEpvYkF0dHJpYnV0ZVNldCk6IE1hZGUgcHJpdmF0ZS4KCShTeW5jaHJvbml6ZWRQcmludFJlcXVlc3RBdHRyaWJ1dGVTZXQpOiBNYWRlIHByaXZhdGUuCgkoU3luY2hyb25pemVkUHJpbnRTZXJ2aWNlQXR0cmlidXRlU2V0KTogTWFkZSBwcml2YXRlLgoJKiBqYXZheC9zZWN1cml0eS9hdXRoL1ByaXZhdGVDcmVkZW50aWFsUGVybWlzc2lvbi5qYXZhOiBNYWRlIGZpbmFsLgoKMjAwNC0xMS0xOCAgQ3JhaWcgQmxhY2sgIDxjcmFpZy5ibGFja0Bhb25peC5jb20+CgoJKiBnbnUvamF2YS9iZWFucy9CZWFuSW5mb0VtYnJ5by5qYXZhOiBVc2UgVHJlZU1hcCBmb3IgcHJvcGVyIHNvcnRpbmcuCgoyMDA0LTExLTE4ICBLcmlhbmcgTGVyZHN1d2FuYWtpaiAgPGxlcmRzdXdhQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIE1ha2VmaWxlLmFtOiBDb3JyZWN0IGZyaWVuZCBmdW5jdGlvbiBkZWNsYXJhdGlvbi4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoJKiBpbmNsdWRlL2JvZWhtLWdjLmggKEpWX01BUktPQkpfREVDTCwgSlZfTUFSS0FSUkFZX0RFQ0wpOiBBZGQKCXNjb3BlIHRvIGZ1bmN0aW9uIG5hbWVzLiAgRGVjbGFyZSBmdW5jdGlvbnMgZGlyZWN0bHkuCgkqIGxpYmphdmEvamF2YS9sYW5nL0NsYXNzLmgKCShqYXZhOjpsYW5nOjpDbGFzcyk6IENvcnJlY3QgZnJpZW5kIGNsYXNzIGRlY2xhcmF0aW9uLgoJKF9Kdl9Jbml0Q2xhc3MsIF9Kdl9HZXRBcnJheUNsYXNzKTogTW92ZSBkZWZpbml0aW9uIHRvIGdsb2JhbAoJc2NvcGUuCgkqIGxpYmphdmEvamF2YS9sYW5nL0NsYXNzLmgKCShqYXZhOjpsYW5nOjpPYmplY3QpOiBDb3JyZWN0IGZyaWVuZCBjbGFzcyBkZWNsYXJhdGlvbi4KCjIwMDQtMTEtMTcgIERhdmlkIERhbmV5ICA8ZGRhbmV5QGF2dHJleC5jb20+CgoJKiBqYXZhL2lvL0J1ZmZlcmVkSW5wdXRTdHJlYW0uamF2YSAoc2tpcCk6IFJldHVybiB6ZXJvIG9uIEVPRi4KCjIwMDQtMTEtMTcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9Tb2NrZXQuamF2YSAoZ2V0UG9ydCk6IFJldHVybiAwIGluIGVycm9yIGNhc2UuCgoyMDA0LTExLTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogIGphdmEvbmlvL0RpcmVjdEJ5dGVCdWZmZXJJbXBsLmphdmEKCShvd25lcik6IFVwZGF0ZWQgY29tbWVudC4KCShhbGxvY2F0ZSk6IE5ldyBtZXRob2QuCgoyMDA0LTExLTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uZXQvVVJMLmphdmEgKFVSTCk6IEhhbmRsZSBjYXNlIHdoZW4gYXJndW1lbnQgaXMgbnVsbC4KCjIwMDQtMTEtMTcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2JlYW5zL0JlYW5zLmphdmEsCglqYXZhL2JlYW5zL1Byb3BlcnR5Q2hhbmdlRXZlbnQuamF2YSwKCWphdmEvYmVhbnMvUHJvcGVydHlFZGl0b3JTdXBwb3J0LmphdmE6CglGaXhlZCBqYXZhZG9jcy4KCjIwMDQtMTEtMTcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvVGltZXIuamF2YSAoREVGQVVMVF9TSVpFKTogTWFkZSBzdGF0aWMuCgoyMDA0LTExLTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uZXQvSW5ldEFkZHJlc3MuamF2YSAoZ2V0Q2Fub25pY2FsSG9zdE5hbWUpOgoJU3VwcG9ydCBJUHY2IGFkZHJlc3Nlcy4KCjIwMDQtMTEtMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2xhbmcvT2JqZWN0LmphdmE6IEFkZGVkIGphdmFkb2NzIGFsbCBvdmVyIChtZXJnZWQgZnJvbSBHTlUKCWNsYXNzcGF0aCkuCgoyMDA0LTExLTE2ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBqYXZhL3NlY3VyaXR5L1NlY3VyaXR5LmphdmEgKFNlY3VyaXR5KTogU2lsZW5jZSB0aGUgd2FybmluZyBhYm91dCBubwoJcHJvdmlkZXJzIGZvdW5kIGluIHRoZSBubyBkZWJ1ZyBjYXNlLgoKMjAwNC0xMS0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L0luZXRBZGRyZXNzLmphdmEKCSh0b1N0cmluZyk6IE1lcmdlZCBmcm9tIEdOVSBjbGFzc3BhdGguCgoyMDA0LTExLTE2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvZ2VvbS9kb2MtZmlsZXMvQXJlYS0xLnBuZywKCWphdmEvYXd0L2dlb20vZG9jLWZpbGVzL0VsbGlwc2UtMS5wbmcsCglqYXZhL2F3dC9nZW9tL2RvYy1maWxlcy9HZW5lcmFsUGF0aC0xLnBuZzoKCU5ldyBmaWxlcy4KCjIwMDQtMTEtMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvQ3VycmVuY3kuamF2YSAoY2FjaGUpOiBGaXggbW9kaWZpZXIgb3JkZXIuCgoyMDA0LTExLTE2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9pby9CdWZmZXJlZFJlYWRlci5qYXZhLAoJamF2YS9pby9GaWxlSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vRmlsZU91dHB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9GaWxlV3JpdGVyLmphdmEsCglqYXZhL2lvL091dHB1dFN0cmVhbVdyaXRlci5qYXZhLAoJamF2YS9pby9QaXBlZElucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL1BpcGVkT3V0cHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL1BpcGVkUmVhZGVyLmphdmEsCglqYXZhL2lvL1BpcGVkV3JpdGVyLmphdmEsCglqYXZhL2lvL1ByaW50U3RyZWFtLmphdmEsCglqYXZhL2lvL1B1c2hiYWNrSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vUmFuZG9tQWNjZXNzRmlsZS5qYXZhLAoJamF2YS9pby9SZWFkZXIuamF2YSwKCWphdmEvaW8vU3RyZWFtVG9rZW5pemVyLmphdmEsCglqYXZhL2lvL1N0cmluZ1JlYWRlci5qYXZhLAoJamF2YS9uZXQvTmV0d29ya0ludGVyZmFjZS5qYXZhLAoJamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSwKCWphdmEvbmlvL0J5dGVPcmRlci5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvQ2hhbm5lbC5qYXZhOgoJRml4ZWQgamF2YWRvY3MgYWxsIG92ZXIuCgoyMDA0LTExLTE2ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBNYWtlZmlsZS5hbTogQWRkIGltcG9ydGVkIGZpbGVzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCgkyMDA0LTEwLTI0ICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9sb2dpbi9Mb2dpbkNvbnRleHQuamF2YTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvbG9naW4vQ29uZmlndXJhdGlvbi5qYXZhIChnZXRDb25maWcpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zZWN1cml0eS9hdXRoL3NwaS9Mb2dpbk1vZHVsZS5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS9hY3Rpb24vR2V0U2VjdXJpdHlQcm9wZXJ0eUFjdGlvbi5qYXZhOiBOZXcgZmlsZXMuCgoyMDA0LTExLTE1ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJSW1wb3J0L01lcmdlIHRoZSBYLjUwOSBjZXJ0aWZpY2F0ZSBjb2RlIGZyb20gQ2xhc3NwYXRoLgoKCSogTWFrZWZpbGUuYW06IEFkZCBpbXBvcnRlZCBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoJMjAwNC0xMS0wNyAgQ2FzZXkgTWFyc2hhbGwgIDxjc21AZ251Lm9yZz4KCgkqIGdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL0dudS5qYXZhKDxpbml0Pik6IEFkZCBlbnRyaWVzIGluIGEKCXByaXZpbGlnZWQgYWN0aW9uLiBBZGQgbmV3IGFsZ29yaXRobXMuCgkqIGdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL1g1MDlDZXJ0aWZpY2F0ZUZhY3RvcnkuamF2YQoJKGVuZ2luZUdlbmVyYXRlQ2VydGlmaWNhdGUpOiBDaGFpbiBleGNlcHRpb25zLgoJKGVuZ2luZUdlbmVyYXRlQ2VydGlmaWNhdGVzKTogTGlrZXdpc2UuCgkoZW5naW5lR2VuZXJhdGVDUkwpOiBMaWtld2lzZS4KCShlbmdpbmVHZW5lcmF0ZUNSTHMpOiBMaWtld2lzZS4KCShlbmdpbmVHZW5lcmF0ZUNlcnRQYXRoKTogTmV3IG1ldGhvZHMuCgkoZ2VuZXJhdGVDZXJ0KTogVGhyb3cgZXhjZXB0aW9uIGlmICdpblN0cmVhbScgaXMgbnVsbC4KCShnZW5lcmF0ZUNSTCk6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L1g1MDBEaXN0aW5ndWlzaGVkTmFtZS5qYXZhOiBSZXBsYWNlZCB3aXRoCgl2ZXJzaW9uIGZyb20gR05VIENyeXB0byBDVlMuCgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwOUNSTC5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9YNTA5Q1JMRW50cnkuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwOUNlcnRpZmljYXRlLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL3NlY3VyaXR5L2NlcnQvVHJ1c3RBbmNob3IuamF2YTogQ2FsbCAndG9TdHJpbmcnIGFuZCBub3QKCXRvUkZDMjI1My4KCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvQ29sbGVjdGlvbkNlcnRTdG9yZUltcGwuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvRW5jb2RlZEtleUZhY3RvcnkuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvR251REhQdWJsaWNLZXkuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvR251UlNBUHJpdmF0ZUtleS5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9HbnVSU0FQdWJsaWNLZXkuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvTUQyd2l0aFJTQS5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9NRDR3aXRoUlNBLmphdmEsCgkqIGdudS9qYXZhL3NlY3VyaXR5L3Byb3ZpZGVyL01ENXdpdGhSU0EuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvUEtJWENlcnRQYXRoVmFsaWRhdG9ySW1wbC5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9SU0EuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvUlNBS2V5RmFjdG9yeS5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9TSEExd2l0aFJTQS5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L0dudVBLSUV4dGVuc2lvbi5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L1BvbGljeU5vZGVJbXBsLmphdmEsCgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvVXRpbC5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L1g1MDlDUkxTZWxlY3RvckltcGwuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9YNTA5Q2VydFBhdGguamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9YNTA5Q2VydFNlbGVjdG9ySW1wbC5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9BdXRob3JpdHlLZXlJZGVudGlmaWVyLmphdmEsCgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L0Jhc2ljQ29uc3RyYWludHMuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvQ1JMTnVtYmVyLmphdmEsCgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L0NlcnRpZmljYXRlUG9saWNpZXMuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvRXh0ZW5kZWRLZXlVc2FnZS5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9FeHRlbnNpb24uamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvR2VuZXJhbE5hbWVzLmphdmEsCgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvZXh0L0lzc3VlckFsdGVybmF0aXZlTmFtZXMuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvS2V5VXNhZ2UuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvUG9saWN5Q29uc3RyYWludC5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9Qb2xpY3lNYXBwaW5ncy5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9Qcml2YXRlS2V5VXNhZ2VQZXJpb2QuamF2YSwKCSogZ251L2phdmEvc2VjdXJpdHkveDUwOS9leHQvUmVhc29uQ29kZS5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9TdWJqZWN0QWx0ZXJuYXRpdmVOYW1lcy5qYXZhLAoJKiBnbnUvamF2YS9zZWN1cml0eS94NTA5L2V4dC9TdWJqZWN0S2V5SWRlbnRpZmllci5qYXZhOiBOZXcgZmlsZXMuCgoJMjAwNC0xMS0wNyAgQ2FzZXkgTWFyc2hhbGwgIDxjc21AZ251Lm9yZz4KCgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwOUNSTC5qYXZhOgoJTWlzc2VkIGltcG9ydCBzdGF0ZW1lbnRzIGluIHByZXZpb3VzIGNoZWNraW4uCgoJMjAwNC0xMS0wNyAgQ2FzZXkgTWFyc2hhbGwgIDxjc21AZ251Lm9yZz4KCgkqIGdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwOUNlcnRQYXRoLmphdmEgKHBhcnNlKTogRml4ZWQgcmVmZXJlbmNlCgl0byAnWDUwOUNlcnRpZmljYXRlSW1wbCcgZnJvbSBwcmV2aW91cyBjaGVja2luLgoKMjAwNC0xMS0xMiAgQW5kcmV3IFBpbnNraSAgPHBpbnNraWFAcGh5c2ljcy51Yy5lZHU+CgoJUFIgb3RoZXIvMTQyNjQKCSogdGVzdHN1aXRlL2xpYi9saWJqYXZhLmV4cDogU2V0IExDX0FMTCBhbmQgTEFORyB0byBDLgoKMjAwNC0xMS0xMSAgQ2FzZXkgTWFyc2hhbGwgIDxjc21AZ251Lm9yZz4KCgkqIGdudS9qYXZhL25pby9GaWxlTG9jay5qYXZhIChpc1ZhbGlkKTogbG9ja3MgYXJlIHZhbGlkIGlmIHRoZQoJY2hhbm5lbCBpcyBvcGVuLgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvbmF0RmlsZUNoYW5uZWxQb3NpeC5jYyAobG9jayk6IHVzZQoJJ0ZfUkRMQ0snIGZvciBzaGFyZWQgbG9ja3MsICdGX1dSTENLJyBmb3IgZXhjbHVzaXZlIGxvY2tzLgoKMjAwNC0xMS0xMSAgUm9iZXJ0IFNjaHVzdGVyIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCUZpeGVkIHJlZ3Jlc3Npb246CgkqIGdudS9qYXZhL2JlYW5zL0ludHJvc3BlY3Rpb25JbmN1YmF0b3IuamF2YToKCShhZGRNZXRob2QpOiBDb3JyZWN0ZWQgY2xhc3NpZmljYXRpb24gb2Ygbm9ybWFsIGFuZCBwcm9wZXJ0eSBtZXRob2RzLgoJKGNhcGl0YWxpemUpOiBBZGRlZCBkb2N1bWVudGF0aW9uLgoJKERvdWJsZUtleSk6IFtjbGFzc10gQWRkZWQgZG9jdW1lbnRhdGlvbi4KCjIwMDQtMTEtMDkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvam5pLmg6IEFkZGVkIEZJWE1FLgoKMjAwNC0xMS0wOCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmE6IFJlbW92ZWQgdW51c2VkIGltcG9ydHMuCgkqIGphdmEvdXRpbC9WZWN0b3IuamF2YTogUmVtb3ZlZCB1bnVzZWQgaW1wb3J0LgoKMjAwNC0xMS0wNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbGFuZy9Qcm9jZXNzLmphdmE6CglJbXBvcnQgY2xlYW51cHMuCgoyMDA0LTExLTA3ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS91dGlsL3ppcC9aaXBFbnRyeS5qYXZhCgkoS05PV05fU0laRSwgS05PV05fQ1NJWkUsIEtOT1dOX0NSQywgS05PV05fVElNRSk6IE1hZGUgZmluYWwuCgoyMDA0LTExLTA3ICBSb2JlcnQgU2NodXN0ZXIgIDx0aGVCb2hlbWlhbkBnbXgubmV0PgoKCUZpeGVzIGJ1ZyAjMTA5MDgKCSogZ251L2phdmEvYmVhbnMvSW50cm9zcGVjdGlvbkluY3ViYXRvci5qYXZhOgoJKGFkZE1ldGhvZCk6IHN0YXRpYyBtZXRob2RzIGFyZSBkaXNjYXJkZWQgbm93LCB0b28uCgoyMDA0LTExLTA3ICBBbmRyZXcgSm9obiBIdWdoZXMgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL3V0aWwvR3JlZ29yaWFuQ2FsZW5kYXIuamF2YQoJQWRkZWQvYW1lbmRlZCBkb2N1bWVudGF0aW9uLgoKMjAwNC0xMS0wNyAgQW5kcmV3IEpvaG4gSHVnaGVzIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS91dGlsL0NvbGxlY3Rpb25zLmphdmEKCUFkZGVkIGRvY3VtZW50YXRpb24uCgkqIGphdmEvdXRpbC9Tb3J0ZWRNYXAuamF2YQoJQ2xhcmlmaWVkIHNvbWUgbWV0aG9kIGV4YW1wbGVzLgoJKiBqYXZhL3V0aWwvU29ydGVkU2V0LmphdmEKCUNsYXJpZmllZCBzb21lIG1ldGhvZCBleGFtcGxlcy4KCjIwMDQtMTEtMDcgIEFuZHJldyBKb2huIEh1Z2hlcyA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmEvdXRpbC9DdXJyZW5jeS5qYXZhCglEb2N1bWVudGVkIHZhcmlhYmxlcyBhbmQgbWV0aG9kcyBtb3JlIGZ1bGx5LgoJQ2FjaGVzIHRoZSBjdXJyZW5jeSBpbnN0YW5jZXMsIHNvIHRoYXQgYSByZXF1ZXN0Cglmb3IgYSBsb2NhbGUsIGwsIG9ubHkgZXZlciByZXR1cm5zIHRoZSBzYW1lCglpbnN0YW5jZSAoaS5lLiBzdWNjZXNzaXZlIGNhbGxzIHRvIGdldEluc3RhbmNlKGwpCglhcmUgcmVmZXJlbmNlIGVxdWl2YWxlbnQgKD09KSkuCgoyMDA0LTExLTA3ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS91dGlsL0RhdGUuamF2YQoJQWRkZWQgbWlzc2luZyBkb2N1bWVudGF0aW9uLgoKMjAwNC0xMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdXRpbC96aXAvQ2hlY2tlZElucHV0U3RyZWFtLmphdmEsCglqYXZhL3V0aWwvemlwL0luZmxhdGVySW5wdXRTdHJlYW0uamF2YSwKCWphdmEvdXRpbC96aXAvWmlwRmlsZS5qYXZhLAoJamF2YS91dGlsL3ppcC9aaXBJbnB1dFN0cmVhbS5qYXZhOgoJSW1wb3J0IGNsZWFudXBzLgoKMjAwNC0xMS0wNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0Q29ubmVjdGlvbk1hbmFnZXIuamF2YSAoY2xpZW50cyk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKGNvbm5lY3Rpb25zKTogTGlrZXdpc2UuCgkoc2NhdmVuZ2VyKTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL3JtaS9zZXJ2ZXIvQ29ubmVjdGlvblJ1bm5lclBvb2wuamF2YSAoZnJlZWxpc3QpOiBOb3cKCXBhY2thZ2UtcHJpdmF0ZS4KCSogZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0UmVtb3RlQ2FsbC5qYXZhICh2ZWMpOiBOb3cKCXBhY2thZ2UtcHJpdmF0ZS4KCShwdHIpOiBMaWtld2lzZS4KCSogZ251L2NsYXNzcGF0aC9TZXJ2aWNlRmFjdG9yeS5qYXZhIChsb2cpOiBOb3cgcGFja2FnZS1wcml2YXRlLgoKMjAwNC0xMS0wNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9CYXNpY0F0dHJpYnV0ZXMuamF2YSAoYXR0cmlidXRlcyk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKiBqYXZheC9pbWFnZWlvL3NwaS9TZXJ2aWNlUmVnaXN0cnkuamF2YSAoY2F0ZWdvcmllcyk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoKMjAwNC0xMS0wNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvVVJMQ2xhc3NMb2FkZXIuamF2YSAoVVJMQ2xhc3NMb2FkZXIpOiBOb3cKCXBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YS9uaW8vY2hhcnNldC9Db2RlclJlc3VsdC5qYXZhIChDb2RlclJlc3VsdCk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKGdldCk6IExpa2V3aXNlLgoJKENhY2hlKTogTGlrZXdpc2UuICBEb24ndCBzeW5jaHJvbml6ZSBvbiBgdGhpcycuCgkqIGphdmEvcm1pL3NlcnZlci9STUlDbGFzc0xvYWRlci5qYXZhIChNeUNsYXNzTG9hZGVyKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvdXRpbC9UaW1lWm9uZS5qYXZhICh0aW1lem9uZXMpOiBOb3cgcGFja2FnZS1wcml2YXRlLgoKMjAwNC0xMS0wNiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9zZWN1cml0eS9QZXJtaXNzaW9ucy5qYXZhIChwZXJtcyk6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkqIGphdmEvc2VjdXJpdHkvVW5yZXNvbHZlZFBlcm1pc3Npb24uamF2YSAocGVybWlzc2lvbnMpOiBOb3cKCXBhY2thZ2UtcHJpdmF0ZS4KCjIwMDQtMTEtMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvaW8vRmlsZVBlcm1pc3Npb24uamF2YTogUmVpbmRlbnRlZC4KCjIwMDQtMTEtMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvaW8vT2JqZWN0T3V0cHV0U3RyZWFtLmphdmEgKGN1cnJlbnRPYmplY3RTdHJlYW1DbGFzcyk6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKHNldEJsb2NrRGF0YU1vZGUpOiBMaWtld2lzZS4KCjIwMDQtMTEtMDYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL25pby9jaGFyc2V0L0lTT184ODU5XzEuamF2YSAoRGVjb2Rlcik6IE5vdwoJcGFja2FnZS1wcml2YXRlLgoJKEVuY29kZXIpOiBMaWtld2lzZS4KCSogZ251L2phdmEvbmlvL2NoYXJzZXQvVVRGXzguamF2YSAoRGVjb2Rlcik6IE5vdyBwYWNrYWdlLXByaXZhdGUuCgkoRW5jb2Rlcik6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9VU19BU0NJSS5qYXZhIChEZWNvZGVyKTogTm93CglwYWNrYWdlLXByaXZhdGUuCgkoRW5jb2Rlcik6IExpa2V3aXNlLgoKMjAwNC0xMS0wNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogTWFrZWZpbGUuYW06IEFkZCBuZXcgamF2YXguaW1hZ2VpbyBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0xMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vZXZlbnQvSUlPUmVhZFByb2dyZXNzTGlzdGVuZXIuamF2YSwKICAgICAgICBqYXZheC9pbWFnZWlvL2V2ZW50L0lJT1JlYWRVcGRhdGVMaXN0ZW5lci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9ldmVudC9JSU9SZWFkV2FybmluZ0xpc3RlbmVyLmphdmEsCglqYXZheC9pbWFnZWlvL2V2ZW50L0lJT1dyaXRlUHJvZ3Jlc3NMaXN0ZW5lci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9ldmVudC9JSU9Xcml0ZVdhcm5pbmdMaXN0ZW5lci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9NZXRhZGF0YUZvcm1hdC5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vRmlsZUNhY2hlSW1hZ2VJbnB1dFN0cmVhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vRmlsZUNhY2hlSW1hZ2VPdXRwdXRTdHJlYW0uamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlSW5wdXRTdHJlYW1JbXBsLmphdmE6CglJbXBvcnQgY2xlYW51cC4KCSogamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9wYWNrYWdlLmh0bWw6IE5ldyBmaWxlLgoKMjAwNC0xMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vc3BpL0ltYWdlUmVhZGVyU3BpLmphdmEKCShpc093blJlYWRlcik6IE5ldyBtZXRob2QuCgkqIGphdmF4L2ltYWdlaW8vc3BpL0ltYWdlV3JpdGVyU3BpLmphdmEKCShpc093bldyaXRlcik6IExpa2V3aXNlLgoKMjAwNC0xMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VXcml0ZXIuamF2YQoJKGNvbnZlcnRJbWFnZU1ldGFkYXRhKTogTmV3IGFic3RyYWN0IG1ldGhvZC4KCShjb252ZXJ0U3RyZWFtTWV0YWRhdGEpOiBMaWtld2lzZS4KCSh3cml0ZSk6IExpa2V3aXNlLgoJKiBqYXZheC9pbWFnZWlvL3N0cmVhbS9GaWxlQ2FjaGVJbWFnZUlucHV0U3RyZWFtLmphdmEKCShjbG9zZSk6IEZpeGVkIHNldHRpbmcgb2Ygc3RyZWFtIHRvIG51bGwuCgkoY2hlY2tTdHJlYW1DbG9zZWQpOiBUaHJvd3MgSU9FeGNlcHRpb24uCgoyMDA0LTExLTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvaW1hZ2Vpby9zdHJlYW0vRmlsZUNhY2hlSW1hZ2VJbnB1dFN0cmVhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vRmlsZUNhY2hlSW1hZ2VPdXRwdXRTdHJlYW0uamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ZpbGVJbWFnZUlucHV0U3RyZWFtLmphdmEsCglqYXZheC9pbWFnZWlvL3N0cmVhbS9GaWxlSW1hZ2VPdXRwdXRTdHJlYW0uamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL01lbW9yeUNhY2hlSW1hZ2VJbnB1dFN0cmVhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zdHJlYW0vTWVtb3J5Q2FjaGVJbWFnZU91dHB1dFN0cmVhbS5qYXZhOgoJTmV3IGZpbGVzLgoKMjAwNC0xMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPSW52YWxpZFRyZWVFeGNlcHRpb24uamF2YSwKCWphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTWV0YWRhdGFGb3JtYXRJbXBsLmphdmEsCglqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT01ldGFkYXRhTm9kZS5qYXZhOgoJTmV3IHN0dWIgZmlsZXMuCgoyMDA0LTExLTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvaW1hZ2Vpby9zdHJlYW0vSW1hZ2VJbnB1dFN0cmVhbUltcGwuamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlT3V0cHV0U3RyZWFtSW1wbC5qYXZhOgoJTmV3IGZpbGVzLgoKMjAwNC0xMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vSW1hZ2VJTy5qYXZhOgoJQWRkZWQgbXVjaCBuZXcgbWV0aG9kcy4KCjIwMDQtMTEtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlUmVhZGVyLmphdmEsCglqYXZheC9pbWFnZWlvL0ltYWdlV3JpdGVyLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JbWFnZVdyaXRlclNwaS5qYXZhOgoJQWRkIFNPTUUgbmV3IG1ldGhvZHMuCgoyMDA0LTExLTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvaW1hZ2Vpby9JSU9QYXJhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JbWFnZVJlYWRQYXJhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JbWFnZVJlYWRlci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JbWFnZVdyaXRlci5qYXZhOgoJTW9zdGx5IGltcGxlbWVudGVkLgoJKiBqYXZheC9pbWFnZWlvL3NwaS9JbWFnZVJlYWRlclNwaS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zcGkvSW1hZ2VXcml0ZXJTcGkuamF2YToKCU5ldyBmaWxlcy4KCjIwMDQtMTEtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9pbWFnZWlvL0ltYWdlV3JpdGVQYXJhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9NZXRhZGF0YUZvcm1hdC5qYXZhOgoJSW1wbGVtZW50ZWQuCgoyMDA0LTExLTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvaW1hZ2Vpby9JbWFnZVR5cGVTcGVjaWZpZXIuamF2YToKCU1vc3RseSBpbXBsZW1lbnRlZC4KCjIwMDQtMTEtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9pbWFnZWlvL21ldGFkYXRhL0lJT01ldGFkYXRhLmphdmE6CglNb3N0bHkgaW1wbGVtZW50ZWQuCgoyMDA0LTExLTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvaW1hZ2Vpby9JSU9JbWFnZS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JbWFnZVJlYWRQYXJhbS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9tZXRhZGF0YS9JSU9NZXRhZGF0YUNvbnRyb2xsZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTWV0YWRhdGFGb3JtYXQuamF2YToKCU5ldyBmaWxlcy4KCSogamF2YXgvaW1hZ2Vpby9zdHJlYW0vSW1hZ2VPdXRwdXRTdHJlYW0uamF2YToKCUltcGxlbWVudGVkLgoKMjAwNC0xMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vSUlPUGFyYW0uamF2YSwKCWphdmF4L2ltYWdlaW8vSUlPUGFyYW1Db250cm9sbGVyLmphdmEsCglqYXZheC9pbWFnZWlvL0ltYWdlVHlwZVNwZWNpZmllci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JbWFnZVdyaXRlUGFyYW0uamF2YSwKCWphdmF4L2ltYWdlaW8vbWV0YWRhdGEvSUlPTWV0YWRhdGEuamF2YToKCU5ldyBmaWxlcy4KCSogamF2YXgvaW1hZ2Vpby9JbWFnZVRyYW5zY29kZXIuamF2YToKCUltcGxlbWVudGVkLgoKMjAwNC0xMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vc3BpL0ltYWdlSW5wdXRTdHJlYW1TcGkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0ltYWdlT3V0cHV0U3RyZWFtU3BpLmphdmE6CglSZXdvcmtlZCBpbXBvcnQgc3RhcnRtZW50cy4KCSogamF2YXgvaW1hZ2Vpby9zcGkvU2VydmljZVJlZ2lzdHJ5LmphdmE6CglSZXdvcmtlZCBpbXBvcnQgc3RhcnRtZW50cy4gRml4ZWQgWEhUTUwgaW4gamF2YWRvY3MuCgkoU2VydmljZVJlZ2lzdHJ5KTogQWRkZWQgQHBhcmFtIHRhZyB0byBqYXZhZG9jLgoJKiBqYXZheC9pbWFnZWlvL3N0cmVhbS9JbWFnZUlucHV0U3RyZWFtLmphdmEKCShtYXJrKTogRG9lc24ndCB0aHJvd3MgSU9FeGNlcHRpb247CgoyMDA0LTExLTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvaW1hZ2Vpby9JbWFnZUlPLmphdmE6CglOZXcgZmlsZS4KCjIwMDQtMTEtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9pbWFnZWlvL3NwaS9JSU9SZWdpc3RyeS5qYXZhCgkoc3RhdGljKTogRG9uJ3QgcmVnaXN0ZXIgSW1hZ2VSZWFkZXJTcGkuY2xhc3MgYW5kCglJbWFnZVdyaXRlclNwaS5jbGFzcyB5ZXQuCgoyMDA0LTExLTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvaW1hZ2Vpby9zcGkvSUlPUmVnaXN0cnkuamF2YToKCU5ldyBmaWxlLgoKMjAwNC0xMS0wNiAgTm9hIFJlc2FyZSAgPG5vYUByZXNhcmUuY29tPgoKCSogamF2YS9uZXQvU29ja2V0LmphdmEgKGdldFBvcnQpOiBSZXR1cm4gMCBpbnN0ZWFkIG9mIC0xIG9uCgl1bmNvbm5lY3RlZCBzb2NrZXRzLgoKMjAwNC0xMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbGFuZy9TdHJpbmdCdWZmZXIuamF2YSwKCWphdmEvbGFuZy9UaHJvd2FibGUuamF2YSwKCWphdmEvc2VjdXJpdHkvc3BlYy9EU0FQYXJhbWV0ZXJTcGVjLmphdmEsCglqYXZhL3V0aWwvemlwL1ppcEVudHJ5LmphdmEsCglqYXZhL3V0aWwvemlwL1ppcEZpbGUuamF2YSwKCWphdmEvdXRpbC96aXAvWmlwSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvdXRpbC96aXAvWmlwT3V0cHV0U3RyZWFtLmphdmE6CglSZW1vdmVkIHJlZHVuZGFudCBhbmQgcmVvcmRlcmVkIG1vZGlmaWVycy4KCjIwMDQtMTEtMDYgIE1hdHRpYXMgUmVobmJlcmcgIDxNYXR0aWFzLlJlaG5iZXJnQGhvbWUuc2U+CgoJKiBqYXZhL2lvL1ZlY3Rvci5qYXZhCgkod3JpdGVPYmplY3QpOiBOZXcgZnVuY3Rpb24gdG8gc2VyaWFsaXplZCBvdXRwdXQgdGhyZWFkIHNhZmUuCgoJKiBqYXZhL2lvL09iamVjdE91dHB1dFN0cmVhbS5qYXZhCgkod3JpdGVPYmplY3QpOiBNb3ZlIHRoZSBhc3NpZ25tZW50IG9mIHRoZSBjbGFzcyBoYW5kbGUgdG8gYWZ0ZXIKCXRoZSBhc3NpZ25tZW50IG9mIGNsYXNzIGRlc2NyaXB0b3IgaGFuZGxlLgoKMjAwNC0xMS0wNiAgUm9iZXJ0IFNjaHVzdGVyIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCUZpeGVzIGRvY3VtZW50YXRpb24gYW5kIGluZGVudGF0aW9uCgkqIGphdmEvYmVhbnMvUHJvcGVydHlFZGl0b3JTdXBwb3J0LmphdmE6CglyZXdvcmtlZCBpbml0aWFsIEFQSSBkb2MKCSh2YWx1ZSk6IGNoYW5nZWQgbmFtZSBmcm9tIHZhbAoKMjAwNC0xMS0wNiAgUm9iZXJ0IFNjaHVzdGVyIDx0aGVib2hlbWlhbkBnbXgubmV0PgoKCVVwZGF0ZXMgdG8gMS41CgkqIGphdmEvYmVhbnMvUHJvcGVydHlFZGl0b3JTdXBwb3J0LmphdmEKCShQcm9wZXJ0eUVkaXRvclN1cHBvcnQoKSk6IENoYW5nZWQgbW9kaWZpZXIgdG8gcHVibGljCgkoUHJvcGVydHlFZGl0b3JTdXBwb3J0KE9iamVjdCk6IENoYW5nZWQgbW9kaWZpZXIgdG8gcHVibGljCgkoc2V0U291cmNlKTogTmV3IG1ldGhvZAoJKGdldFNvdXJjZSk6IE5ldyBtZXRob2QKCjIwMDQtMTEtMDYgIFJvYmVydCBTY2h1c3RlciA8dGhlYm9oZW1pYW5AZ214Lm5ldD4KCglGaXhlcyBidWcgIzEwNzk5CgkqIGphdmEvYmVhbnMvUHJvcGVydHlFZGl0b3JTdXBwb3J0LmphdmEKCShzZXRWYWx1ZSk6IEZpcmUgcHJvcGVydHkgY2hhbmdlIGV2ZW50CgoyMDA0LTExLTAzICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqbmkuY2MgKF9Kdl9KTklfTmV3T2JqZWN0QXJyYXkpOiBGaXhlZCByZXR1cm4gdHlwZS4KCSogaW5jbHVkZS9qbmkuaCAoc3RydWN0IEpOSU5hdGl2ZUludGVyZmFjZSkgPE5ld09iamVjdEFycmF5PjogTm93CglyZXR1cm5zIGpvYmplY3RBcnJheS4KCShfSnZfSk5JRW52OjpOZXdPYmplY3RBcnJheSk6IExpa2V3aXNlLgoKMjAwNC0xMS0wMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogdmVyaWZ5LmNjIChzdGF0ZTo6Y2hlY2tfbm9fdW5pbml0aWFsaXplZF9vYmplY3RzKTogUmVtb3ZlZC4KCShwdXNoX2p1bXApOiBVcGRhdGVkLgoJKHB1c2hfZXhjZXB0aW9uX2p1bXApOiBMaWtld2lzZS4KCShoYW5kbGVfcmV0X2luc24pOiBMaWtld2lzZS4KCShoYW5kbGVfanNyX2luc24pOiBMaWtld2lzZS4KCjIwMDQtMTAtMzAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglQUiBsaWJnY2ovMTgyMzQKCSogamF2YS9sYW5nL1J1bnRpbWUuamF2YSAoc3RhdGljKTogQ2FsbCBpbml0KCkuCgkoUnVudGltZSk6IFJlbW92ZSBjYWxsIHRvIGluaXQoKS4KCShpbml0KTogTWFrZSBzdGF0aWMuCgoyMDA0LTEwLTI4ICBEYXZpZCBEYW5leSAgPGRkYW5leUBhdnRyZXguY29tPgoKCSogZ251L2djai9jb252ZXJ0L091dHB1dF9Vbmljb2RlTGl0dGxlVW5tYXJrZWQuamF2YTogTmV3IGZpbGUuCgkqIE1ha2VmaWxlLmFtOiBCdWlsZCBpdC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA0LTEwLTI3ICBBYXJvbiBXLiBMYUZyYW1ib2lzZSAgPGFhcm9uYXZheTYyQGFhcm9ud2wuY29tPgoKCVBSIGxpYmdjai8xODEwNAoJKiBNYWtlZmlsZS5hbSAoQ0xBU1NQQVRIX1NFUEFSQVRPUik6IFVzZSBpbnN0ZWFkIG9mIGEKCWNvbG9uLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmUuYWMgKENMQVNTUEFUSF9TRVBBUkFUT1IpOiBEZWZpbmUuCgkqIGdjai9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiB0ZXN0c3VpdGUvbGliL2xpYmphdmEuZXhwIChsaWJqYXZhX2FyZ3VtZW50cyk6IEZpeAoJQ0xBU1NQQVRIIHNlcGFyYXRvciBoYW5kbGluZyBmb3IgV2luZG93cy4KCjIwMDQtMTAtMjYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9Db25uZWN0aW9uLmphdmEKCShnZXRPdXRwdXRTdHJlYW0pOiBJbXBsaWNpdGVseSBzd2l0Y2ggdG8gUE9TVCBtZXRob2QuCgoyMDA0LTEwLTI2ICBLcmlhbmcgTGVyZHN1d2FuYWtpaiAgPGxlcmRzdXdhQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGxpYmphdmEvamF2YS9sYW5nL0NsYXNzLmgKCShqYXZhOjpsYW5nOjpDbGFzcyk6IENvcnJlY3QgZnJpZW5kIGNsYXNzIGRlY2xhcmF0aW9uLgoKMjAwNC0xMC0yNSAgR2VvZmZyZXkgS2VhdGluZyAgPGdlb2Zma0BhcHBsZS5jb20+CgoJKiBNYWtlZmlsZS5hbSAoREFSV0lOX0NSVF9TUkMpOiBOZXcuCgkobGliZ2NqX2xhX1NPVVJDRVMpOiBVc2UgaXQuCgkqIGNvbmZpZ3VyZS5hYzogRGVmaW5lIFVTSU5HX0RBUldJTl9DUlQgd2hlbiBvbiBEYXJ3aW4uCgkqIGRhcndpbi5jYzogTmV3IGZpbGUuCgkqIGluY2x1ZGUvanZtLmggKF9Kdl9SZWdpc3RlckNsYXNzZXMpOiBDb25zdGlmeS4KCShfSnZfUmVnaXN0ZXJDbGFzc2VzX0NvdW50ZWQpOiBOZXcgcHJvdG90eXBlLgoJKiBqYXZhL2xhbmcvQ2xhc3MuaDogSW5jbHVkZSBzdGRkZWYuaC4KCShfSnZfUmVnaXN0ZXJDbGFzc2VzKTogQ29uc3RpZnkuCgkoX0p2X1JlZ2lzdGVyQ2xhc3Nlc19Db3VudGVkKTogTmV3IHByb3RvdHlwZS4KCShPYmplY3QpOiBNYWtlICdfSnZfUmVnaXN0ZXJDbGFzc2VzX0NvdW50ZWQnIGEgZnJpZW5kLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3NMb2FkZXIuY2MgKF9Kdl9SZWdpc3RlckNsYXNzZXMpOiBDb25zdGlmeS4KCShfSnZfUmVnaXN0ZXJDbGFzc2VzX0NvdW50ZWQpOiBOZXcgZnVuY3Rpb24uCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGdjai9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNC0xMC0yNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL1Jlc291cmNlQnVuZGxlLmphdmEgKHRyeUJ1bmRsZSk6IFVzZQoJQ2xhc3MuaXNBc3NpZ25hYmxlRnJvbSByYXRoZXIgdGhhbiBjYXRjaGluZyBDbGFzc0Nhc3RFeGNlcHRpb24uCgoyMDA0LTEwLTI1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS90ZXh0L1dvcmRCcmVha0l0ZXJhdG9yLmphdmEgKFdvcmRCcmVha0l0ZXJhdG9yKTogRG9uJ3QKCWluaXRpYWxpemUgYGl0ZXInLgoJKiBnbnUvamF2YS90ZXh0L1NlbnRlbmNlQnJlYWtJdGVyYXRvci5qYXZhCgkoU2VudGVuY2VCcmVha0l0ZXJhdG9yKTogRG9uJ3QgaW5pdGlhbGl6ZSBgaXRlcicuCgkqIGdudS9qYXZhL3RleHQvTGluZUJyZWFrSXRlcmF0b3IuamF2YSAoTGluZUJyZWFrSXRlcmF0b3IpOiBEb24ndAoJaW5pdGlhbGl6ZSBgaXRlcicuCgkqIGdudS9qYXZhL3RleHQvQ2hhcmFjdGVyQnJlYWtJdGVyYXRvci5qYXZhCgkoQ2hhcmFjdGVyQnJlYWtJdGVyYXRvcik6IERvbid0IGluaXRpYWxpemUgYGl0ZXInLgoJKiBnbnUvamF2YS90ZXh0L0Jhc2VCcmVha0l0ZXJhdG9yLmphdmEgKEJhc2VCcmVha0l0ZXJhdG9yKTogTmV3Cgljb25zdHJ1Y3Rvci4KCSogamF2YS90ZXh0L0JyZWFrSXRlcmF0b3IuamF2YTogVXBkYXRlZCBkb2N1bWVudGF0aW9uLgoKMjAwNC0xMC0yNSAgRXJpYyBCb3RjYXpvdSAgPGVib3RjYXpvdUBsaWJlcnR5c3VyZi5mcj4KCglQUiBvdGhlci8xODEzOAoJKiB0ZXN0c3VpdGUvbGliL2xpYmphdmEuZXhwOiBBY2NlcHQgbW9yZSB0aGFuIG9uZSBtdWx0aWxpYiBsaWJnY2MuCgoyMDA0LTEwLTIzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvRG9jRmxhdm9yLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iU3RhdGVSZWFzb24uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9NdWx0aXBsZURvY3VtZW50SGFuZGxpbmcuamF2YToKCUFkZGVkIG1pc3NpbmcgY29uc3RhbnRzLgoKMjAwNC0xMC0yMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvQ29ubmVjdGlvbi5qYXZhIChzZW5kUmVxdWVzdCk6IEZpeAoJdHlwby4KCjIwMDQtMTAtMjIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJUFIgbGliamF2YS8xNDAwOQoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9Db25uZWN0aW9uLmphdmEKCShzZW5kUmVxdWVzdCk6IEhhbmRsZSBjYXNlIHdoZW4gdXJsLmdldEZpbGUoKSByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy4KCjIwMDQtMTAtMjIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2xhbmcvTWF0aC5qYXZhLAoJamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50LmphdmEsCglqYXZhL25pby9CdWZmZXIuamF2YSwKCWphdmEvbmlvL0J5dGVCdWZmZXIuamF2YSwKCWphdmEvbmlvL0NoYXJCdWZmZXIuamF2YSwKCWphdmEvbmlvL0RvdWJsZUJ1ZmZlci5qYXZhLAoJamF2YS9uaW8vRmxvYXRCdWZmZXIuamF2YSwKCWphdmEvbmlvL0ludEJ1ZmZlci5qYXZhLAoJamF2YS9uaW8vTG9uZ0J1ZmZlci5qYXZhLAoJamF2YS9uaW8vU2hvcnRCdWZmZXIuamF2YSwKCWphdmEvbmlvL2NoYXJzZXQvQ2hhcnNldC5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1JNSUNsYXNzTG9hZGVyLmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvUk1JU29ja2V0RmFjdG9yeS5qYXZhLAoJamF2YS9zZWN1cml0eS9Qb2xpY3kuamF2YSwKCWphdmEvdGV4dC9DaG9pY2VGb3JtYXQuamF2YSwKCWphdmEvdGV4dC9Db2xsYXRpb25FbGVtZW50SXRlcmF0b3IuamF2YSwKCWphdmEvdGV4dC9EYXRlRm9ybWF0LmphdmEsCglqYXZhL3RleHQvRGVjaW1hbEZvcm1hdC5qYXZhLAoJamF2YS90ZXh0L0RlY2ltYWxGb3JtYXRTeW1ib2xzLmphdmEsCglqYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhLAoJamF2YS90ZXh0L051bWJlckZvcm1hdC5qYXZhLAoJamF2YS90ZXh0L1J1bGVCYXNlZENvbGxhdG9yLmphdmEsCglqYXZhL3RleHQvU2ltcGxlRGF0ZUZvcm1hdC5qYXZhLAoJamF2YS91dGlsL0JpdFNldC5qYXZhLAoJamF2YS91dGlsL0NhbGVuZGFyLmphdmEsCglqYXZhL3V0aWwvQ29sbGVjdGlvbnMuamF2YSwKCWphdmEvdXRpbC9JZGVudGl0eUhhc2hNYXAuamF2YSwKCWphdmEvdXRpbC9Mb2NhbGUuamF2YSwKCWphdmEvdXRpbC9UcmVlTWFwLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9Mb2dSZWNvcmQuamF2YSwKCWphdmEvdXRpbC9sb2dnaW5nL1hNTEZvcm1hdHRlci5qYXZhLAoJamF2YS91dGlsL3ByZWZzL0Fic3RyYWN0UHJlZmVyZW5jZXMuamF2YSwKCWphdmEvdXRpbC9wcmVmcy9QcmVmZXJlbmNlcy5qYXZhLAoJamF2YXgvY3J5cHRvL2ludGVyZmFjZXMvREhQcml2YXRlS2V5LmphdmEsCglqYXZheC9jcnlwdG8vaW50ZXJmYWNlcy9ESFB1YmxpY0tleS5qYXZhLAoJamF2YXgvY3J5cHRvL2ludGVyZmFjZXMvUEJFS2V5LmphdmEsCglqYXZheC9uZXQvc3NsL0hhbmRzaGFrZUNvbXBsZXRlZEV2ZW50LmphdmEsCglqYXZheC9zZWN1cml0eS9hdXRoL1N1YmplY3QuamF2YToKCVJlbW92ZWQgcmVkdW5kYW50IGFuZCByZW9yZGVyZWQgbW9kaWZpZXJzLgoKMjAwNC0xMC0yMiAgVWxyaWNoIFdlaWdhbmQgIDx1d2VpZ2FuZEBkZS5pYm0uY29tPgoKCSogZ251L2phdmEvbmV0L25hdFBsYWluU29ja2V0SW1wbFBvc2l4LmNjCgkoZ251OjpqYXZhOjpuZXQ6OlBsYWluU29ja2V0SW1wbDo6YXZhaWxhYmxlKTogQ2FsbCBGSU9OUkVBRCBpb2N0bAoJd2l0aCAnaW50IConIGFyZ3VtZW50IGluc3RlYWQgb2YgJ2xvbmcgKicuCgoyMDA0LTEwLTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uZXQvTmV0d29ya0ludGVyZmFjZS5qYXZhLAoJamF2YS90ZXh0L0Zvcm1hdC5qYXZhLAoJamF2YXgvc2VjdXJpdHkvYXV0aC94NTAwL1g1MDBQcmluY2lwYWwuamF2YSwKCWphdmF4L3NlY3VyaXR5L2F1dGgveDUwMC9YNTAwUHJpdmF0ZUNyZWRlbnRpYWwuamF2YSwKCWphdmF4L3NlY3VyaXR5L2NlcnQvWDUwOUNlcnRCcmlkZ2UuamF2YSwKCWphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbC5qYXZhLAoJamF2YXgvc3FsL1hBQ29ubmVjdGlvbi5qYXZhOgoJSW1wb3J0IGNsZWFudXAuCgoyMDA0LTEwLTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvbmV0L3NzbC9IYW5kc2hha2VDb21wbGV0ZWRFdmVudC5qYXZhLAoJamF2YXgvbmV0L3NzbC9LZXlNYW5hZ2VyRmFjdG9yeS5qYXZhLAoJamF2YXgvbmV0L3NzbC9TU0xDb250ZXh0LmphdmEsCglqYXZheC9uZXQvc3NsL1NTTFNlcnZlclNvY2tldEZhY3RvcnkuamF2YSwKCWphdmF4L25ldC9zc2wvU1NMU2Vzc2lvbi5qYXZhLAoJamF2YXgvbmV0L3NzbC9TU0xTb2NrZXRGYWN0b3J5LmphdmEsCglqYXZheC9uZXQvc3NsL1RydXN0TWFuYWdlckZhY3RvcnkuamF2YToKCUltcG9ydCBjbGVhbnVwLgoKMjAwNC0xMC0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L25hbWluZy9kaXJlY3RvcnkvQmFzaWNBdHRyaWJ1dGUuamF2YSwKCWphdmF4L25hbWluZy9kaXJlY3RvcnkvQmFzaWNBdHRyaWJ1dGVzLmphdmEsCglqYXZheC9uYW1pbmcvZGlyZWN0b3J5L0luaXRpYWxEaXJDb250ZXh0LmphdmEsCglqYXZheC9uYW1pbmcvZXZlbnQvTmFtaW5nRXZlbnQuamF2YSwKCWphdmF4L25hbWluZy9sZGFwL0NvbnRyb2xGYWN0b3J5LmphdmEsCglqYXZheC9uYW1pbmcvbGRhcC9FeHRlbmRlZFJlcXVlc3QuamF2YSwKCWphdmF4L25hbWluZy9sZGFwL0luaXRpYWxMZGFwQ29udGV4dC5qYXZhLAoJamF2YXgvbmFtaW5nL2xkYXAvTGRhcFJlZmVycmFsRXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvc3BpL0Rpck9iamVjdEZhY3RvcnkuamF2YSwKCWphdmF4L25hbWluZy9zcGkvRGlyU3RhdGVGYWN0b3J5LmphdmEsCglqYXZheC9uYW1pbmcvc3BpL0RpcmVjdG9yeU1hbmFnZXIuamF2YSwKCWphdmF4L25hbWluZy9zcGkvSW5pdGlhbENvbnRleHRGYWN0b3J5LmphdmEsCglqYXZheC9uYW1pbmcvc3BpL0luaXRpYWxDb250ZXh0RmFjdG9yeUJ1aWxkZXIuamF2YSwKCWphdmF4L25hbWluZy9zcGkvTmFtaW5nTWFuYWdlci5qYXZhLAoJamF2YXgvbmFtaW5nL3NwaS9PYmplY3RGYWN0b3J5LmphdmEsCglqYXZheC9uYW1pbmcvc3BpL09iamVjdEZhY3RvcnlCdWlsZGVyLmphdmEsCglqYXZheC9uYW1pbmcvc3BpL1N0YXRlRmFjdG9yeS5qYXZhOgoJSW1wb3J0IGNsZWFudXAuCgoyMDA0LTEwLTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvY3J5cHRvL0NpcGhlci5qYXZhLAoJamF2YXgvY3J5cHRvL0VuY3J5cHRlZFByaXZhdGVLZXlJbmZvLmphdmEsCglqYXZheC9jcnlwdG8vRXhlbXB0aW9uTWVjaGFuaXNtLmphdmEsCglqYXZheC9jcnlwdG8vS2V5QWdyZWVtZW50LmphdmEsCglqYXZheC9jcnlwdG8vS2V5R2VuZXJhdG9yLmphdmEsCglqYXZheC9jcnlwdG8vTWFjLmphdmEsCglqYXZheC9jcnlwdG8vU2VjcmV0S2V5RmFjdG9yeS5qYXZhLAoJamF2YXgvY3J5cHRvL1NlY3JldEtleUZhY3RvcnlTcGkuamF2YSwKCWphdmF4L2NyeXB0by9zcGVjL1NlY3JldEtleVNwZWMuamF2YToKCUltcG9ydCBjbGVhbnVwLgoKMjAwNC0xMC0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvc2VjdXJpdHkvQWxnb3JpdGhtUGFyYW1ldGVyR2VuZXJhdG9yLmphdmEsCglqYXZhL3NlY3VyaXR5L0FsZ29yaXRobVBhcmFtZXRlcnMuamF2YSwKCWphdmEvc2VjdXJpdHkvQWxnb3JpdGhtUGFyYW1ldGVyc1NwaS5qYXZhLAoJamF2YS9zZWN1cml0eS9BbGxQZXJtaXNzaW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L0Jhc2ljUGVybWlzc2lvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9DZXJ0aWZpY2F0ZS5qYXZhLAoJamF2YS9zZWN1cml0eS9Db2RlU291cmNlLmphdmEsCglqYXZhL3NlY3VyaXR5L0RpZ2VzdElucHV0U3RyZWFtLmphdmEsCglqYXZhL3NlY3VyaXR5L0RpZ2VzdE91dHB1dFN0cmVhbS5qYXZhLAoJamF2YS9zZWN1cml0eS9HdWFyZGVkT2JqZWN0LmphdmEsCglqYXZhL3NlY3VyaXR5L0tleUZhY3RvcnkuamF2YSwKCWphdmEvc2VjdXJpdHkvS2V5RmFjdG9yeVNwaS5qYXZhLAoJamF2YS9zZWN1cml0eS9LZXlQYWlyR2VuZXJhdG9yLmphdmEsCglqYXZhL3NlY3VyaXR5L0tleVN0b3JlLmphdmEsCglqYXZhL3NlY3VyaXR5L0tleVN0b3JlU3BpLmphdmEsCglqYXZhL3NlY3VyaXR5L1Blcm1pc3Npb25zLmphdmEsCglqYXZhL3NlY3VyaXR5L1NlY3VyaXR5LmphdmEsCglqYXZhL3NlY3VyaXR5L1NpZ25hdHVyZS5qYXZhLAoJamF2YS9zZWN1cml0eS9VbnJlc29sdmVkUGVybWlzc2lvbi5qYXZhLAoJamF2YS9zZWN1cml0eS9jZXJ0L0NlcnRQYXRoQnVpbGRlci5qYXZhLAoJamF2YS9zZWN1cml0eS9jZXJ0L0NlcnRQYXRoVmFsaWRhdG9yLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvQ2VydFN0b3JlLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvQ2VydGlmaWNhdGUuamF2YSwKCWphdmEvc2VjdXJpdHkvY2VydC9DZXJ0aWZpY2F0ZUZhY3RvcnkuamF2YSwKCWphdmEvc2VjdXJpdHkvY2VydC9Qb2xpY3lRdWFsaWZpZXJJbmZvLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvVHJ1c3RBbmNob3IuamF2YSwKCWphdmEvc2VjdXJpdHkvY2VydC9YNTA5Q1JMLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvWDUwOUNSTFNlbGVjdG9yLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvWDUwOUNlcnRTZWxlY3Rvci5qYXZhOgoJSW1wb3J0IGNsZWFudXAuCgoyMDA0LTEwLTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9ybWkvTWFyc2hhbGxlZE9iamVjdC5qYXZhLAoJamF2YS9ybWkvTmFtaW5nLmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRhYmxlLmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRpb25Hcm91cC5qYXZhLAoJamF2YS9ybWkvYWN0aXZhdGlvbi9BY3RpdmF0aW9uR3JvdXBEZXNjLmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRpb25JbnN0YW50aWF0b3IuamF2YSwKCWphdmEvcm1pL2FjdGl2YXRpb24vQWN0aXZhdGlvbk1vbml0b3IuamF2YSwKCWphdmEvcm1pL2FjdGl2YXRpb24vQWN0aXZhdGlvblN5c3RlbS5qYXZhLAoJamF2YS9ybWkvYWN0aXZhdGlvbi9BY3RpdmF0b3IuamF2YSwKCWphdmEvcm1pL3JlZ2lzdHJ5L0xvY2F0ZVJlZ2lzdHJ5LmphdmEsCglqYXZhL3JtaS9yZWdpc3RyeS9SZWdpc3RyeS5qYXZhLAoJamF2YS9ybWkvc2VydmVyL0xvZ1N0cmVhbS5qYXZhLAoJamF2YS9ybWkvc2VydmVyL09iaklELmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvUk1JQ2xpZW50U29ja2V0RmFjdG9yeS5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1JNSVNlcnZlclNvY2tldEZhY3RvcnkuamF2YSwKCWphdmEvcm1pL3NlcnZlci9STUlTb2NrZXRGYWN0b3J5LmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvUmVtb3RlQ2FsbC5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1JlbW90ZVNlcnZlci5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1NlcnZlclJlZi5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1VJRC5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1VuaWNhc3RSZW1vdGVPYmplY3QuamF2YToKCUltcG9ydCBjbGVhbnVwLgoKMjAwNC0xMC0yMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL3ppcC9JbmZsYXRlcklucHV0U3RyZWFtLmphdmEgKGZpbGwpOiBEb24ndCB0aHJvdyBhbgoJZXhjZXB0aW9uIGlmIHdlIGhpdCBFT0Ygb2YgYGluJy4KCShyZWFkKTogSGFuZGxlIGNhc2Ugd2hlcmUgaW5mbGF0aW5nIHJldHVybnMgLTEuCgoyMDA0LTEwLTIxICBVbHJpY2ggV2VpZ2FuZCAgPHV3ZWlnYW5kQGRlLmlibS5jb20+CgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvbmF0RmlsZUNoYW5uZWxQb3NpeC5jYwoJKEZpbGVDaGFubmVsSW1wbDo6YXZhaWxhYmxlKTogQ2FsbCBGSU9OUkVBRCBpb2N0bCB3aXRoICdpbnQgKicKCWFyZ3VtZW50IGluc3RlYWQgb2YgJ2xvbmcgKicuCgoyMDA0LTEwLTIxICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvUmVzb3VyY2VCdW5kbGUuamF2YSAodHJ5QnVuZGxlKTogQWxzbyBpZ25vcmUKCUNsYXNzQ2FzdEV4Y2VwdGlvbi4KCjIwMDQtMTAtMjEgIEtheiBLb2ppbWEgIDxra29qaW1hQGdjYy5nbnUub3JnPgoKCSogY29uZmlndXJlLmFjIChTSUdOQUxfSEFORExFUik6IFNldCB0byBpbmNsdWRlL3NoLXNpZ25hbC5oCglmb3IgYWxsIHNoKi0qLWxpbnV4KiB0YXJnZXRzLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvc2gtc2lnbmFsLmg6IE5ldyBmaWxlLgoKMjAwNC0xMC0yMSAgS2F6dWhpcm8gSW5hb2thICA8aW5hb2thLmthenVoaXJvQHJlbmVzYXMuY29tPgoKCSogamF2YS9sYW5nL2llZWVmcC5oOiBBZGQgbTMyciBzdXBwb3J0LgoKMjAwNC0xMC0yMCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIGphdmEvbGFuZy9uYXRDbGFzcy5jYyAoX0p2X0xheW91dFZUYWJsZU1ldGhvZHMpOiBDYXN0IHBvaW50ZXJzCgl0byB1YWRkciwgbm90IGludC4KCSogamF2YS9sYW5nL25hdENsYXNzTG9hZGVyLmNjIChfSnZfUHJlcGFyZUNvbXBpbGVkQ2xhc3MpOgoJTGlrZXdpc2UuCgoyMDA0LTEwLTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0NvbG9yU3VwcG9ydGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvQ29tcHJlc3Npb24uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Db3BpZXMuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Db3BpZXNTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9EYXRlVGltZUF0Q29tcGxldGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvRGF0ZVRpbWVBdENyZWF0aW9uLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvRGF0ZVRpbWVBdFByb2Nlc3NpbmcuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Eb2N1bWVudE5hbWUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9GaWRlbGl0eS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0ZpbmlzaGluZ3MuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JIb2xkVW50aWwuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JJbXByZXNzaW9ucy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYkltcHJlc3Npb25zQ29tcGxldGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iSW1wcmVzc2lvbnNTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JLT2N0ZXRzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iS09jdGV0c1Byb2Nlc3NlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYktPY3RldHNTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JNZWRpYVNoZWV0cy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYk1lZGlhU2hlZXRzQ29tcGxldGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTWVkaWFTaGVldHNTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JNZXNzYWdlRnJvbU9wZXJhdG9yLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTmFtZS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYk9yaWdpbmF0aW5nVXNlck5hbWUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JQcmlvcml0eS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYlByaW9yaXR5U3VwcG9ydGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iU2hlZXRzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iU3RhdGUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JTdGF0ZVJlYXNvbi5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYlN0YXRlUmVhc29ucy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL01lZGlhLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTXVsdGlwbGVEb2N1bWVudEhhbmRsaW5nLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTnVtYmVyT2ZEb2N1bWVudHMuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9OdW1iZXJPZkludGVydmVuaW5nSm9icy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL051bWJlclVwLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTnVtYmVyVXBTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9PcmllbnRhdGlvblJlcXVlc3RlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL091dHB1dERldmljZUFzc2lnbmVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUERMT3ZlcnJpZGVTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QYWdlUmFuZ2VzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUGFnZXNQZXJNaW51dGUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QYWdlc1Blck1pbnV0ZUNvbG9yLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRRdWFsaXR5LmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlckluZm8uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVySXNBY2NlcHRpbmdKb2JzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlckxvY2F0aW9uLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlck1ha2VBbmRNb2RlbC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJNZXNzYWdlRnJvbU9wZXJhdG9yLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlck1vcmVJbmZvLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlck1vcmVJbmZvTWFudWZhY3R1cmVyLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlck5hbWUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVyU3RhdGVSZWFzb24uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVyU3RhdGVSZWFzb25zLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlclVSSS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1JlZmVyZW5jZVVyaVNjaGVtZXNTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9SZXF1ZXN0aW5nVXNlck5hbWUuamF2YToKCVJlb3JnYW5pemVkIGltcG9ydHMgYW5kIHJlbW92ZWQgcmVkdW5kYW50IGZpbmFsIG1vZGlmaWVycy4KCjIwMDQtMTAtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2xDbGllbnQuamF2YSwKCWphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbENsaWVudEZhY3RvcnkuamF2YSwKCWphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvc2VjdXJpdHkvc2FzbC9TYXNsU2VydmVyLmphdmEsCglqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2xTZXJ2ZXJGYWN0b3J5LmphdmE6CglSZW12b2VkIENWUyB0YWdzLgoKMjAwNC0xMC0yMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvbG9naW4vTnVsbENvbmZpZ3VyYXRpb24uamF2YSwKCWphdmF4L3NlY3VyaXR5L2F1dGgveDUwMC9YNTAwUHJpbmNpcGFsLmphdmEsCglqYXZheC9zZWN1cml0eS9jZXJ0L1g1MDlDZXJ0aWZpY2F0ZS5qYXZhLAoJamF2YXgvc2VjdXJpdHkvc2FzbC9BdXRoZW50aWNhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvc2VjdXJpdHkvc2FzbC9BdXRob3JpemVDYWxsYmFjay5qYXZhLAoJamF2YXgvc2VjdXJpdHkvc2FzbC9SZWFsbUNhbGxiYWNrLmphdmEsCglqYXZheC9zZWN1cml0eS9zYXNsL1JlYWxtQ2hvaWNlQ2FsbGJhY2suamF2YSwKCWphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbC5qYXZhLAoJamF2YXgvc2VjdXJpdHkvc2FzbC9TYXNsQ2xpZW50LmphdmEsCglqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2xDbGllbnRGYWN0b3J5LmphdmEsCglqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2xFeGNlcHRpb24uamF2YSwKCWphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbFNlcnZlci5qYXZhLAoJamF2YXgvc2VjdXJpdHkvc2FzbC9TYXNsU2VydmVyRmFjdG9yeS5qYXZhOgoJQ2xlYW5lZCB1cCBpbXBvcnQgc3RhdGVtZW50cyBhbmQgY29weXJpZ2h0IG5vdGljZXMuCgoyMDA0LTEwLTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvcm1pL3JtaWMvUk1JQy5qYXZhOiBSZWZvcm1hdHRlZC4KCjIwMDQtMTAtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3NxbC9UaW1lc3RhbXAuamF2YSwKCWphdmEvdGV4dC9BdHRyaWJ1dGVkQ2hhcmFjdGVySXRlcmF0b3IuamF2YSwKCWphdmEvdGV4dC9BdHRyaWJ1dGVkU3RyaW5nLmphdmEsCglqYXZhL3V0aWwvemlwL0NoZWNrZWRPdXRwdXRTdHJlYW0uamF2YSwKCWphdmEvdXRpbC96aXAvRGVmbGF0ZXJPdXRwdXRTdHJlYW0uamF2YSwKCWphdmEvdXRpbC96aXAvWmlwRmlsZS5qYXZhLAoJamF2YXgvY3J5cHRvL0NpcGhlci5qYXZhLAoJamF2YXgvY3J5cHRvL0V4ZW1wdGlvbk1lY2hhbmlzbUV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvY3J5cHRvL1NlY3JldEtleS5qYXZhLAoJamF2YXgvY3J5cHRvL1NlY3JldEtleUZhY3RvcnkuamF2YSwKCWphdmF4L25hbWluZy9kaXJlY3RvcnkvTW9kaWZpY2F0aW9uSXRlbS5qYXZhLAoJamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9TZWFyY2hDb250cm9scy5qYXZhLAoJamF2YXgvbmFtaW5nL2V2ZW50L05hbWluZ0xpc3RlbmVyLmphdmEsCglqYXZheC9uYW1pbmcvbGRhcC9Db250cm9sLmphdmEsCglqYXZheC9uYW1pbmcvbGRhcC9FeHRlbmRlZFJlc3BvbnNlLmphdmEsCglqYXZheC9uZXQvc3NsL1NTTFNvY2tldEZhY3RvcnkuamF2YToKCVJlb3JnYW5pemVkIGltcG9ydHMgYW5kIGZpeGVkIGNvcHlyaWdodCBoZWFkZXJzLgoKMjAwNC0xMC0yMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdXRpbC9sb2dnaW5nL0NvbnNvbGVIYW5kbGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9FcnJvck1hbmFnZXIuamF2YSwKCWphdmEvdXRpbC9sb2dnaW5nL0ZpbGVIYW5kbGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9GaWx0ZXIuamF2YSwKCWphdmEvdXRpbC9sb2dnaW5nL0Zvcm1hdHRlci5qYXZhLAoJamF2YS91dGlsL2xvZ2dpbmcvSGFuZGxlci5qYXZhLAoJamF2YS91dGlsL2xvZ2dpbmcvTGV2ZWwuamF2YSwKCWphdmEvdXRpbC9sb2dnaW5nL0xvZ01hbmFnZXIuamF2YSwKCWphdmEvdXRpbC9sb2dnaW5nL0xvZ1JlY29yZC5qYXZhLAoJamF2YS91dGlsL2xvZ2dpbmcvTG9nZ2VyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9Mb2dnaW5nUGVybWlzc2lvbi5qYXZhLAoJamF2YS91dGlsL2xvZ2dpbmcvTWVtb3J5SGFuZGxlci5qYXZhLAoJamF2YS91dGlsL2xvZ2dpbmcvU2ltcGxlRm9ybWF0dGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9Tb2NrZXRIYW5kbGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9TdHJlYW1IYW5kbGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9YTUxGb3JtYXR0ZXIuamF2YToKCVN0YW5kYXJkaXplZCBjb3B5cmlndGggaGVhZGVyLgoKMjAwNC0xMC0yMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvc2VjdXJpdHkvQWxnb3JpdGhtUGFyYW1ldGVyR2VuZXJhdG9yLmphdmEsCglqYXZhL3NlY3VyaXR5L0FsZ29yaXRobVBhcmFtZXRlcnMuamF2YSwKCWphdmEvc2VjdXJpdHkvRGlnZXN0SW5wdXRTdHJlYW0uamF2YSwKCWphdmEvc2VjdXJpdHkvSWRlbnRpdHkuamF2YSwKCWphdmEvc2VjdXJpdHkvS2V5RmFjdG9yeS5qYXZhLAoJamF2YS9zZWN1cml0eS9LZXlQYWlyR2VuZXJhdG9yLmphdmEsCglqYXZhL3NlY3VyaXR5L0tleVN0b3JlLmphdmEsCglqYXZhL3NlY3VyaXR5L01lc3NhZ2VEaWdlc3QuamF2YSwKCWphdmEvc2VjdXJpdHkvTWVzc2FnZURpZ2VzdFNwaS5qYXZhLAoJamF2YS9zZWN1cml0eS9Qb2xpY3kuamF2YSwKCWphdmEvc2VjdXJpdHkvU2VjdXJlUmFuZG9tLmphdmEsCglqYXZhL3NlY3VyaXR5L1NlY3VyaXR5LmphdmEsCglqYXZhL3NlY3VyaXR5L1NpZ25hdHVyZS5qYXZhLAoJamF2YS9zZWN1cml0eS9TaWduYXR1cmVTcGkuamF2YSwKCWphdmEvc2VjdXJpdHkvY2VydC9DZXJ0UGF0aEJ1aWxkZXIuamF2YSwKCWphdmEvc2VjdXJpdHkvY2VydC9DZXJ0UGF0aFZhbGlkYXRvci5qYXZhLAoJamF2YS9zZWN1cml0eS9jZXJ0L0NlcnRTdG9yZS5qYXZhLAoJamF2YS9zZWN1cml0eS9jZXJ0L0NlcnRpZmljYXRlLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvQ2VydGlmaWNhdGVGYWN0b3J5LmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvUG9saWN5UXVhbGlmaWVySW5mby5qYXZhLAoJamF2YS9zZWN1cml0eS9jZXJ0L1RydXN0QW5jaG9yLmphdmEsCglqYXZhL3NlY3VyaXR5L2NlcnQvWDUwOUNSTC5qYXZhLAoJamF2YS9zZWN1cml0eS9jZXJ0L1g1MDlDUkxFbnRyeS5qYXZhLAoJamF2YS9zZWN1cml0eS9jZXJ0L1g1MDlDZXJ0aWZpY2F0ZS5qYXZhLAoJamF2YS9zZWN1cml0eS9zcGVjL1JTQU11bHRpUHJpbWVQcml2YXRlQ3J0S2V5U3BlYy5qYXZhOgoJSW1wb3J0IHN0YXRlbWVudHMgcmVvcmdhbml6ZWQsIHNvbWUgbGl0dGxlIGZvcm1hdHRpbmcgaXNzdWVzLAoJdXNlZCBqYXZhLXN0eWxlIGFycmF5IGRlY2xhcmF0aW9ucywgYWRkZWQgY29tbWVudHMgaW4gZW1wdHkgY2F0Y2gKCWJsb2Nrcy4KCjIwMDQtMTAtMTggIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL3NlY3VyaXR5L1NlY3VyaXR5LmphdmEKCShzdGF0aWMpOiBVc2UgQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQgdG8gZ2V0IHN5c3RlbSBwcm9wZXJ0eS4KCjIwMDQtMTAtMTggIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9uaW8vQnl0ZUJ1ZmZlckhlbHBlci5qYXZhCgkocHV0RG91YmxlKTogVXNlIERvdWJsZS50b1Jhd0xvbmdCaXRzIGluc3RlYWQuCgoyMDA0LTEwLTE4ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CglBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvRXh0cmFDbGFzc0xvYWRlci5qYXZhOiBOZXcuCgoyMDA0LTEwLTE4ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCglQUiBqYXZhLzE4MDM2OgoJKiBnbnUvZ2NqL3J1bnRpbWUvbmF0U3RhY2tUcmFjZS5jYyAoZmlsbEluU3RhY2tUcmFjZSk6IFJlb3JnYW5pemUKCWFuZCBjb3JyZWN0IGxvZ2ljIHVzZWQgdG8gZmluZCBpbnRlcnByZXRlci4KCjIwMDQtMTAtMTggIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9Mb2dNYW5hZ2VyLmphdmEKCShmaW5kQW5jZXN0b3IpOiBGaXhlZCBJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uLgoKMjAwNC0xMC0xOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvaW8vQnVmZmVyZWRJbnB1dFN0cmVhbS5qYXZhOiBGaXhlZCBAYXV0aG9yIHRhZy4KCShyZWFkKTogU2ltcGxpZmllZCBleHByZXNzaW9uLgoJKHJlYWQpOiBNZXJnZWQgamF2YWRvYyBhIGJpdCBtb3JlLgoJKHJlYWQpOiBSZW5hbWVkICdyZW1haW4nIHRvICd0b3RhbEJ5dGVzUmVhZCcuCgkqIGphdmEvaW8vRGF0YUlucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL0RhdGFPdXRwdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vT2JqZWN0T3V0cHV0U3RyZWFtLmphdmE6CglSZXdvcmtlZCBtb2RpZmllciBvcmRlci4KCjIwMDQtMTAtMTggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9JbmV0NEFkZHJlc3MuamF2YTogTWVyZ2VkIGZpbGUgaGVhZGVyIGFuZCBqYXZhZG9jcy4KCSogamF2YS9uZXQvSW5ldDZBZGRyZXNzLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL25ldC9JbmV0QWRkcmVzcy5qYXZhCgkoZ2V0Q2Fub25pY2FsSG9zdE5hbWUpOiBDcmVhdGUgSW5ldDRBZGRyZXNzIG9iamVjdCBpbnN0ZWFkIG9mCglJbmV0QWRkcmVzcyBhbmQgYWRkIGNvbW1lbnQgcmVnYXJkaW5nIElQdjYuCgkodG9TdHJpbmcpOiBTaW1wbGlmaWVkLgoKMjAwNC0xMC0xOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0Nvbm5lY3Rpb24uamF2YSwKCWphdmEvbmlvL01hcHBlZEJ5dGVCdWZmZXJJbXBsLmphdmEsCglqYXZhL3RleHQvUnVsZUJhc2VkQ29sbGF0b3IuamF2YSwKCWphdmEvdXRpbC9SZXNvdXJjZUJ1bmRsZS5qYXZhOgoJUmV3b3JrZWQgaW1wb3J0IHN0YXRlbWVudHMuCgoyMDA0LTEwLTE4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9zZWN1cml0eS9JZGVudGl0eVNjb3BlLmphdmEKCShzeXN0ZW1TY29wZSk6IFJlbW92ZWQgdXNlbGVzcyBpbml0aWFsaXplci4KCSogamF2YS9zZWN1cml0eS9Qb2xpY3kuamF2YQoJKGN1cnJlbnRQb2xpY3kpOiBMaWtld2lzZS4KCjIwMDQtMTAtMTggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2xhbmcvU3lzdGVtLmphdmE6IFJldmVydCBhY2NpZGVudGlhbCBjaGFuZ2UuCgoyMDA0LTEwLTE4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9sYW5nL01hdGguamF2YSwKCWphdmEvbGFuZy9QYWNrYWdlLmphdmEsCglqYXZhL2xhbmcvUnVudGltZS5qYXZhLAoJamF2YS9sYW5nL1N0cmljdE1hdGguamF2YSwKCWphdmEvbGFuZy9TeXN0ZW0uamF2YSwKCWphdmEvbGFuZy9UaHJlYWQuamF2YSwKCWphdmEvbGFuZy9UaHJlYWRMb2NhbC5qYXZhLAoJamF2YS9sYW5nL1ZvaWQuamF2YToKCVJld29ya2VkIGltcG9ydCBzdGF0ZW1lbnRzLCBIVE1MIGluIGphdmFkb2NzIGFuZCBtb2RpZmllciBvcmRlcnMuCgoyMDA0LTEwLTE4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS91dGlsL1RpbWVyLmphdmEKCShucik6IFJlbW92ZWQgdXNlbGVzcyBpbml0aWFsaXplci4KCSogamF2YS91dGlsL2xvZ2dpbmcvTG9nUmVjb3JkLmphdmEKCShsYXN0U2VxTnVtKTogTGlrZXdpc2UuCgkqIGphdmF4L25hbWluZy9zcGkvTmFtaW5nTWFuYWdlci5qYXZhCgkoaWNmYiwgb2ZiKTogTGlrZXdpc2UuCgoyMDA0LTEwLTE4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmV0L1BsYWluRGF0YWdyYW1Tb2NrZXRJbXBsLmphdmE6CglSZXdvcmtlZCBpbXBvcnQgc3RhdGVtZW50cy4KCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvRFNBUGFyYW1ldGVycy5qYXZhOgoJRml4ZWQgY29weXJpZ3RoIHllYXJzLgoJKiBqYXZhL25ldC9KYXJVUkxDb25uZWN0aW9uLmphdmE6CglGaXhlZCBIVE1MIGluIEBhdXRob3IgdGFncy4KCgoyMDA0LTEwLTE4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9ybWkvYWN0aXZhdGlvbi9BY3RpdmF0aW9uU3lzdGVtLmphdmEKCShTWVNURU1fUE9SVCk6IEluaXRpYWxpemUgd2l0aCBjb3JyZWN0IHBvcnQgbnVtYmVyLgoKMjAwNC0xMC0xOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L1Byb3h5LmphdmE6IEltcHJvdmVkIGphdmFkb2NzLgoKMjAwNC0xMC0xOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L0FjY2Vzc2libGVPYmplY3QuamF2YQoJKGNoZWNrUGVybWlzc2lvbik6IFJlbW92ZWQgcmVkdW5kYW50IGZpbmFsIG1vZGlmaWVyLgoJKHNlY3VyZVNldEFjY2Vzc2libGUpOiBMaWtld2lzZS4KCSogamF2YS9sYW5nL3JlZmxlY3QvUHJveHkuamF2YToKCVJld29ya2VkIGltcG9ydCBzdGF0ZW1lbnRzLgoJKGdlbmVyYXRlKTogUmVtb3ZlZCByZWR1bmRhbnQgZmluYWwgbW9kaWZpZXIuCgkqIGphdmEvbGFuZy9yZWZsZWN0L1JlZmxlY3RQZXJtaXNzaW9uLmphdmE6CglSZW9yZGVyIHBhY2thZ2UgZGVjbGFyYXRpb24gYW5kIGltcG9ydCBzdGF0ZW1lbnQuCgoyMDA0LTEwLTE4ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9sYW5nL3JlZmxlY3QvUHJveHkuamF2YQoJKGNvdW50KTogUmVtb3ZlZCB1c2VsZXNzIGluaXRpYWxpemVyLgoKMjAwNC0xMC0xNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L0JpbmRFeGNlcHRpb24uamF2YSwKCWphdmEvbmV0L0Nvbm5lY3RFeGNlcHRpb24uamF2YSwKCWphdmEvbmV0L0NvbnRlbnRIYW5kbGVyLmphdmEsCglqYXZhL25ldC9Db250ZW50SGFuZGxlckZhY3RvcnkuamF2YSwKCWphdmEvbmV0L0RhdGFncmFtUGFja2V0LmphdmEsCglqYXZhL25ldC9EYXRhZ3JhbVNvY2tldC5qYXZhLAoJamF2YS9uZXQvRGF0YWdyYW1Tb2NrZXRJbXBsLmphdmEsCglqYXZhL25ldC9EYXRhZ3JhbVNvY2tldEltcGxGYWN0b3J5LmphdmEsCglqYXZhL25ldC9GaWxlTmFtZU1hcC5qYXZhLAoJamF2YS9uZXQvSHR0cFVSTENvbm5lY3Rpb24uamF2YSwKCWphdmEvbmV0L01hbGZvcm1lZFVSTEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uZXQvTXVsdGljYXN0U29ja2V0LmphdmEsCglqYXZhL25ldC9OZXR3b3JrSW50ZXJmYWNlLmphdmEsCglqYXZhL25ldC9Ob1JvdXRlVG9Ib3N0RXhjZXB0aW9uLmphdmEsCglqYXZhL25ldC9QYXNzd29yZEF1dGhlbnRpY2F0aW9uLmphdmEsCglqYXZhL25ldC9Qb3J0VW5yZWFjaGFibGVFeGNlcHRpb24uamF2YSwKCWphdmEvbmV0L1Byb3RvY29sRXhjZXB0aW9uLmphdmEsCglqYXZhL25ldC9TZXJ2ZXJTb2NrZXQuamF2YSwKCWphdmEvbmV0L1NvY2tldC5qYXZhLAoJamF2YS9uZXQvU29ja2V0RXhjZXB0aW9uLmphdmEsCglqYXZhL25ldC9Tb2NrZXRJbXBsLmphdmEsCglqYXZhL25ldC9Tb2NrZXRJbXBsRmFjdG9yeS5qYXZhLAoJamF2YS9uZXQvU29ja2V0T3B0aW9ucy5qYXZhLAoJamF2YS9uZXQvU29ja2V0UGVybWlzc2lvbi5qYXZhLAoJamF2YS9uZXQvU29ja2V0VGltZW91dEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uZXQvVVJJLmphdmEsCglqYXZhL25ldC9VUklTeW50YXhFeGNlcHRpb24uamF2YSwKCWphdmEvbmV0L1VSTC5qYXZhLAoJamF2YS9uZXQvVVJMRGVjb2Rlci5qYXZhLAoJamF2YS9uZXQvVVJMRW5jb2Rlci5qYXZhLAoJamF2YS9uZXQvVVJMU3RyZWFtSGFuZGxlci5qYXZhLAoJamF2YS9uZXQvVVJMU3RyZWFtSGFuZGxlckZhY3RvcnkuamF2YSwKCWphdmEvbmV0L1Vua25vd25Ib3N0RXhjZXB0aW9uLmphdmEsCglqYXZhL25ldC9Vbmtub3duU2VydmljZUV4Y2VwdGlvbi5qYXZhOgoJQmlnIGltcG9ydCBzdGF0ZW1lbnQgYW5kIEBhdXRob3IgdGFnIGNsZWFudXAuCgoyMDA0LTEwLTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvc2VjdXJpdHkvT0lELmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9EU0FQYXJhbWV0ZXJzLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9EU0FTaWduYXR1cmUuamF2YSwKCWdudS9qYXZhL3NlY3VyaXR5L3g1MDkvWDUwMERpc3Rpbmd1aXNoZWROYW1lLmphdmEsCglnbnUvamF2YS9zZWN1cml0eS94NTA5L1g1MDlDUkwuamF2YToKCUltcG9ydCBzdGF0ZW1lbnRzIGNsZWFuZWQgdXAuCgoyMDA0LTEwLTE2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL05JT0RhdGFncmFtU29ja2V0LmphdmEsCglnbnUvamF2YS9uaW8vU2VydmVyU29ja2V0Q2hhbm5lbEltcGwuamF2YToKCVJlb3JnYW5pemVkIGltcG9ydCBzdGF0ZW1lbnRzLgoKMjAwNC0xMC0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL3JtaS9STUlNYXJzaGFsbGVkT2JqZWN0T3V0cHV0U3RyZWFtLmphdmEKCWdudS9qYXZhL3JtaS9ybWljL1JNSUMuamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvUk1JSGFzaGVzLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1JNSU9iamVjdElucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1JNSU9iamVjdE91dHB1dFN0cmVhbS5qYXZhLAoJZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0Q29ubmVjdGlvbi5qYXZhLAoJZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0Q29ubmVjdGlvbk1hbmFnZXIuamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFJlbW90ZUNhbGwuamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFNlcnZlci5qYXZhLAoJZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0U2VydmVyUmVmLmphdmEsCglqYXZhL3JtaS9NYXJzaGFsbGVkT2JqZWN0LmphdmEsCglqYXZhL3JtaS9OYW1pbmcuamF2YSwKCWphdmEvcm1pL1JNSVNlY3VyaXR5TWFuYWdlci5qYXZhLAoJamF2YS9ybWkvUmVtb3RlLmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRhYmxlLmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRpb25EZXNjLmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRpb25Hcm91cC5qYXZhLAoJamF2YS9ybWkvYWN0aXZhdGlvbi9BY3RpdmF0aW9uR3JvdXBEZXNjLmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRpb25Hcm91cElELmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRpb25JRC5qYXZhLAoJamF2YS9ybWkvYWN0aXZhdGlvbi9BY3RpdmF0aW9uSW5zdGFudGlhdG9yLmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRpb25Nb25pdG9yLmphdmEsCglqYXZhL3JtaS9hY3RpdmF0aW9uL0FjdGl2YXRpb25TeXN0ZW0uamF2YSwKCWphdmEvcm1pL2FjdGl2YXRpb24vQWN0aXZhdG9yLmphdmEsCglqYXZhL3JtaS9kZ2MvREdDLmphdmEsCglqYXZhL3JtaS9kZ2MvTGVhc2UuamF2YSwKCWphdmEvcm1pL2RnYy9WTUlELmphdmEsCglqYXZhL3JtaS9yZWdpc3RyeS9Mb2NhdGVSZWdpc3RyeS5qYXZhLAoJamF2YS9ybWkvcmVnaXN0cnkvUmVnaXN0cnkuamF2YSwKCWphdmEvcm1pL3JlZ2lzdHJ5L1JlZ2lzdHJ5SGFuZGxlci5qYXZhLAoJamF2YS9ybWkvc2VydmVyL0xvYWRlckhhbmRsZXIuamF2YSwKCWphdmEvcm1pL3NlcnZlci9Mb2dTdHJlYW0uamF2YSwKCWphdmEvcm1pL3NlcnZlci9PYmpJRC5qYXZhLAoJamF2YS9ybWkvc2VydmVyL09wZXJhdGlvbi5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1JNSUNsYXNzTG9hZGVyLmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvUk1JQ2xhc3NMb2FkZXJTcGkuamF2YSwKCWphdmEvcm1pL3NlcnZlci9STUlDbGllbnRTb2NrZXRGYWN0b3J5LmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvUk1JRmFpbHVyZUhhbmRsZXIuamF2YSwKCWphdmEvcm1pL3NlcnZlci9STUlTZXJ2ZXJTb2NrZXRGYWN0b3J5LmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvUk1JU29ja2V0RmFjdG9yeS5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1JlbW90ZUNhbGwuamF2YSwKCWphdmEvcm1pL3NlcnZlci9SZW1vdGVPYmplY3QuamF2YSwKCWphdmEvcm1pL3NlcnZlci9SZW1vdGVSZWYuamF2YSwKCWphdmEvcm1pL3NlcnZlci9SZW1vdGVTZXJ2ZXIuamF2YSwKCWphdmEvcm1pL3NlcnZlci9SZW1vdGVTdHViLmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvU2VydmVyUmVmLmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvU2tlbGV0b24uamF2YSwKCWphdmEvcm1pL3NlcnZlci9Ta2VsZXRvbk1pc21hdGNoRXhjZXB0aW9uLmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvVUlELmphdmEsCglqYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFJlbW90ZU9iamVjdC5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1VucmVmZXJlbmNlZC5qYXZhOgoJRmlsZSBoZWFkZXJzIGFuZCBpbXBvcnQgc3RhdGVtZW50cyBjbGVhbmVkIHVwLgoKMjAwNC0xMC0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGxpYmphdmEvZ251L2phdmEvbmlvL2NoYXJzZXQvVVRGXzE2LmphdmEsCglsaWJqYXZhL2dudS9qYXZhL25pby9jaGFyc2V0L1VURl8xNkJFLmphdmEsCglsaWJqYXZhL2dudS9qYXZhL25pby9jaGFyc2V0L1VURl8xNkxFLmphdmEsCglsaWJqYXZhL2phdmEvbmlvL0J5dGVPcmRlci5qYXZhLAoJbGliamF2YS9qYXZhL25pby9NYXBwZWRCeXRlQnVmZmVyLmphdmEsCglsaWJqYXZhL2phdmEvbmlvL2NoYW5uZWxzL0NoYW5uZWxzLmphdmEsCglsaWJqYXZhL2phdmEvbmlvL2NoYW5uZWxzL3NwaS9TZWxlY3RvclByb3ZpZGVyLmphdmEsCglsaWJqYXZhL2phdmEvbmlvL2NoYXJzZXQvQ2hhcnNldC5qYXZhOgoJQ2xlYW51cC4KCjIwMDQtMTAtMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9VVEZfMTZFbmNvZGVyLmphdmEKCShVVEZfMTZFbmNvZGVyKTogRml4ZWQgbWF4Qnl0ZXNQZXJDaGFyIGhhbmRsaW5nLgoKMjAwNC0xMC0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbWF0aC9CaWdEZWNpbWFsLmphdmEsIGphdmEvbWF0aC9CaWdJbnRlZ2VyLmphdmE6CglSZW9yZ2FuaXplZCBpbXBvcnQgc3RhdGVtZW50cywgcmVtb3ZlZCByZWR1bmRhbnQgYW5kCglyZW9yZ2FuaXplZCBtb2RpZmllcnMuCgoyMDA0LTEwLTE2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYmVhbnMvRXhwbGljaXRCZWFuSW5mby5qYXZhOgoJRXhwbGljaXRlbHkgaW1wb3J0IGphdmEuYXd0LkltYWdlLgoJKGdldEljb24pOiBGaXhlZCBvZmYtYnktb25lIGVycm9yLgoKMjAwNC0xMC0xNSAgQW5kcmV3IEhhbGV5ICA8YXBoQHJlZGhhdC5jb20+CgogICAgICAgICogTWFrZWZpbGUuYW0gKG5hdF9maWxlcywgeGxpYl9uYXRfZmlsZXMpOiBOZXcuCiAgICAgICAgKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDQtMTAtMTQgIFVscmljaCBXZWlnYW5kICA8dXdlaWdhbmRAZGUuaWJtLmNvbT4KCgkqIGpuaS5jYyAoX0p2X0pOSU1ldGhvZDo6Y2FsbCk6IFVzZSBmZmlfamF2YV9yYXdfY2FsbCBpbnN0ZWFkIG9mCglmZmlfcmF3X2NhbGwgaWYgRkZJX05BVElWRV9SQVdfQVBJIGlzIG5vdCBkZWZpbmVkLgoKMjAwNC0xMC0xMyAgQW5kcmV3IEhhbGV5ICA8YXBoQHJlZGhhdC5jb20+CgoJKiBpbnRlcnByZXQuY2MgKF9Kdl9JbnRlcnBNZXRob2Q6OnJ1bik6IEluaXRpYWxpemUKCV9Kdl9TdGFydE9mSW50ZXJwcmV0ZXIuCgkoX0p2X1N0YXJ0T2ZJbnRlcnByZXRlciwgX0p2X0VuZE9mSW50ZXJwcmV0ZXIpOiBGdW5jdGlvbnMgcmVtb3ZlZC4KCShfSnZfU3RhcnRPZkludGVycHJldGVyLCBfSnZfRW5kT2ZJbnRlcnByZXRlcik6IE5ldyB2YXJpYWJsZXMuCgkqIGdudS9nY2ovcnVudGltZS9uYXRTdGFja1RyYWNlLmNjIChmaWxsSW5TdGFja1RyYWNlKTogVXNlCglfVW53aW5kX0ZpbmRFbmNsb3NpbmdGdW5jdGlvbiB0byBkaXNjb3ZlciB3aGV0aGVyIFBDIGlzIHdpdGhpbiB0aGUKCWludGVycHJldGVyLgoKMjAwNC0xMC0xMiAgUnV0Z2VyIE92aWRpdXMgIDxvdmlkckB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJUFIgbGliZ2NqLzE3OTAzOgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL21kNXRlc3QuamF2YTogTmV3IGZpbGUuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvbWQ1dGVzdC5vdXQ6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL3NoYXRlc3QuamF2YTogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvc2hhdGVzdC5vdXQ6IExpa2V3aXNlLgoKMjAwNC0xMC0xMSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvcG9zaXgtdGhyZWFkcy5oIDxfX2FscGhhX18+IChfSnZfVGhyZWFkSWRfdCk6IFVzZSB2b2lkKi4KCShfSnZfVGhyZWFkU2VsZik6IFVzZSBfX2J1aWx0aW5fdGhyZWFkX3BvaW50ZXIuCgoyMDA0LTEwLTA4ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YSAoc2V0KTogSW52YWxpZGF0ZSBEU1RfT0ZGU0VUCglmaWVsZCBhcyBhIERTVCBib3VuZGFyeSBtYXkgaGF2ZSBiZWVuIGNyb3NzZWQuCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhIChhZGQpOiBUaHJvdwoJSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIG9uIGF0dGVtcHQgdG8gYWRkIHRvIERTVF9PRkZTRVQgb3IKCVpPTkVfT0ZGU0VUIGZpZWxkcy4gVXBkYXRlIGphdmFkb2MuCgoyMDA0LTEwLTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9pby9DaGFyQXJyYXlXcml0ZXIuamF2YQoJKHJlc2l6ZSk6IFJlbW92ZWQgcmVkdW5kYW50ICdmaW5hbCcgbW9kaWZpZXIuCgkqIGphdmEvaW8vRGF0YUlucHV0U3RyZWFtLmphdmEKCShyZWFkRnVsbHkpOiBUaHJvdyBJbmRleE91dE9mQm91bmRzRXhjZXB0aW9uIG9mIGxlbiA8IDAuCgkqIGphdmEvaW8vRmlsZURlc2NyaXB0b3IuamF2YSwKCWphdmEvaW8vRmlsZUlucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL0ZpbGVPdXRwdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vT2JqZWN0T3V0cHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL09iamVjdFN0cmVhbUNsYXNzLmphdmEsCglqYXZhL2lvL1BpcGVkSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vUmFuZG9tQWNjZXNzRmlsZS5qYXZhOgoJUmVvcmdhbml6ZWQgaW1wb3J0IHN0YXRlbWVudHMuCgoyMDA0LTEwLTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvcm1pL3JtaWMvUk1JQy5qYXZhLAoJZ251L2phdmEvcm1pL3NlcnZlci9STUlIYXNoZXMuamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvUk1JT2JqZWN0SW5wdXRTdHJlYW0uamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdENvbm5lY3Rpb24uamF2YSwKCWdudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdENvbm5lY3Rpb25NYW5hZ2VyLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1VuaWNhc3RSZW1vdGVDYWxsLmphdmEsCglnbnUvamF2YS9ybWkvc2VydmVyL1VuaWNhc3RTZXJ2ZXJSZWYuamF2YToKCVJld29ya2VkIGltcG9ydCBzdGF0ZW1lbnRzIGFuZCBmaXhlZCBmaWxlIGhlYWRlcnMuCgoyMDA0LTEwLTA0ICBMb3JlbiBKLiBSaXR0bGUgIDxsanJpdHRsZUBhY20ub3JnPgoKCSogY29uZmlndXJlLmFjICgqLSotZnJlZWJzZFtbMTIzNF1dKik6IFJlZmluZSBlcnJvciBtZXNzYWdlCgllbWlzc2lvbiBydWxlLgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgoyMDA0LTA5LTMwICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhIChGaWVsZCk6IENvbnN0cnVjdG9yIG5vdwoJcHJvdGVjdGVkLgoKMjAwNC0wOS0zMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvY3J5cHRvL01hY1NwaS5qYXZhOiBGaXhlZCB0eXBvLgoKMjAwNC0wOS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L0luZXRBZGRyZXNzLmphdmE6IFJlZm9ybWF0dGVkLgoJKGxvb3BiYWNrKTogSW5pdGlhbGl6ZSB3aXRoIEluZXQ0QWRkcmVzcyBvYmplY3QuCgkoc3RhdGljKTogSW5pdGlhbGl6ZSBBTllfSUYgd2l0aCBJbmV0NEFkZHJlc3Mgb2JqZWN0LgoJKEluZXRBZGRyZXNzKTogUmVtb3ZlZCB1bnVzZWQgcGFja2FnZS1wcml2YXRlIGNvbnN0cnVjdG9yLgoKMjAwNC0wOS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYmVhbnMvQmVhbnMuamF2YSwKCWphdmEvYmVhbnMvRXZlbnRIYW5kbGVyLmphdmEsCglqYXZhL2JlYW5zL0V2ZW50U2V0RGVzY3JpcHRvci5qYXZhLAoJamF2YS9iZWFucy9JbnRyb3NwZWN0b3IuamF2YSwKCWphdmEvYmVhbnMvUHJvcGVydHlFZGl0b3JNYW5hZ2VyLmphdmEsCglqYXZhL2JlYW5zL2JlYW5jb250ZXh0L0JlYW5Db250ZXh0LmphdmEsCglqYXZhL2JlYW5zL2JlYW5jb250ZXh0L0JlYW5Db250ZXh0Q2hpbGQuamF2YSwKCWphdmEvYmVhbnMvYmVhbmNvbnRleHQvQmVhbkNvbnRleHRDaGlsZFN1cHBvcnQuamF2YSwKCWphdmEvYmVhbnMvYmVhbmNvbnRleHQvQmVhbkNvbnRleHRNZW1iZXJzaGlwRXZlbnQuamF2YToKCVJlb3JkZXJlZCBpbXBvcnQgc3RhdGVtZW50cyBhbmQgcmVtb3ZlZCByZWR1bmRhbnQgbW9kaWZpZXJzLgoKMjAwNC0wOS0yOSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xNzcxNToKCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIE1ha2VmaWxlLmFtIChsaWJnY2otQGdjY192ZXJzaW9uQC5qYXIpOiBJbmNsdWRlIHByb3BlcnRpZXMKCWZpbGVzLgoJKGFsbF9wcm9wZXJ0eV9maWxlcyk6IE5ldyBtYWNyby4KCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBNYWtlZmlsZS5hbSAob3JkaW5hcnlfamF2YV9zb3VyY2VfZmlsZXMpOiBSZS1zb3J0ZWQuCgkobGliZ2NqLmxhKTogTW92ZWQgdG8gb2xkIGxvY2F0aW9uIG5lYXIgbGliLWdudS1hd3QteGxpYi5sYS4KCjIwMDQtMDktMjggIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGpuaS5jYyAoX0p2X0pOSV9SZWdpc3Rlck5hdGl2ZXMpOiBGb3JtYXR0aW5nIGZpeGxldHMuCgoJUFIgbGliZ2NqLzE3MjIyOgoJKiBNYWtlZmlsZS5hbSAobGliZ2NqLmxhKTogUmVzdG9yZWQuCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoKMjAwNC0wOS0yOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L1VSTENvbm5lY3Rpb24uamF2YTogUmVmb3JtYXR0ZWQuCgkqIGphdmEvbmV0L1VSTENsYXNzTG9hZGVyLmphdmE6IFJlZm9ybWF0dGVkLgoJKGdldENvbnRlbnQpOiBSZW9yZGVyZWQgcmV0dXJuIG9mIGNvbnRlbnQuCgkoZ2V0Q29udGVudEhhbmRsZXIpOiBEb24ndCBjaGVjayBmb3IgbnVsbCBleHBsaWNpdGVseS4KCjIwMDQtMDktMjcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2lvL0J1ZmZlcmVkSW5wdXRTdHJlYW0uamF2YQoJKEJ1ZmZlcmVkSW5wdXRTdHJlYW0pOiBBZGRlZCBKZXJvZW4gRnJpanRlcnMgdG8gYXV0aG9ycy4KCShjb3VudCk6IERvbid0IGV4cGxpY2l0ZWx5IGluaXRpYWxpemUgd2l0aCBkZWZhdWx0IHZhbHVlLgoJKHBvcyk6IExpa2V3aXNlLgoJKG1hcmtsaW1pdCk6IExpa2V3aXNlLgoJKHJlYWQpOiBDaGFuZ2VkIGJvb2xlYW4gZXhwcmVzc2lvbiB0byBtYXRjaCBHTlUgY2xhc3NwYXRoJyB2ZXJzaW9uLgoJKHJlc2V0KTogQWRkIHByb3BlciBtZXNzYWdlIHRvIGV4Y2VwdGlvbi4KCShza2lwKTogQ2hlY2sgZm9yIGNsb3NlZCBzdHJlYW0uCgkocmVmaWxsKTogTGlrZXdpc2UuCgoyMDA0LTA5LTI2ICBQZXIgQm90aG5lciAgPHBlckBib3RobmVyLmNvbT4KCgkqIHByaW1zLmNjICh1bmJsb2NrX3NpZ25hbCk6IEFubm90YXRlIHNpZ251bSB3aXRoIF9fdW51c2VkX18gdG8KCWF2b2lkIHdhcm5pbmdzIGluIHRoZSBub24tUE9TSVhfVkVSU0lPTiBjYXNlLgoJQWxzbywgd2Ugb25seSBuZWVkIHRoaXMgZnVuY3Rpb24gaWYgZWl0aGVyIEhBTkRMRV9TRUdWIG9yIEhBTkRMRV9GUEUsCglzbyBwbGFjZSBpdCBpbnNpZGUgYW4gI2lmIGJsb2NrLgoJKiBpbmNsdWRlL2RlZmF1bHQtc2lnbmFsLmggKFNJR05BTF9IQU5ETEVSKTogUGFyYW1ldGVycyBhcmUgX191bnVzZWRfXy4KCSogaW5jbHVkZS9pMzg2LXNpZ25hbC5oIChTSUdOQUxfSEFORExFUik6ICBMaWtld2lzZQoJKiBpbmNsdWRlL21pcHMtc2lnbmFsLmggKFNJR05BTF9IQU5ETEVSKTogIExpa2V3aXNlCgkqIGluY2x1ZGUvc3BhcmMtc2lnbmFsLmggKFNJR05BTF9IQU5ETEVSKTogIExpa2V3aXNlCgoyMDA0LTA5LTI2ICBQZXIgQm90aG5lciAgPHBlckBib3RobmVyLmNvbT4KCgkqIHByaW1zLmNjIChwcm9jZXNzX2djal9wcm9wZXJ0aWVzKTogIE9wdGltaXphdGlvbi4KCjIwMDQtMDktMjYgIFBlciBCb3RobmVyICA8cGVyQGJvdGhuZXIuY29tPgoKCSogamF2YS91dGlsL0NvbGxlY3Rpb25zLmphdmEgKHNvcnQpOiAgQ29weSBmcm9tIGFycmF5IGluIGZvcndhcmRzCglvcmRlciwgcmF0aGVyIHRoYW4gcmV2ZXJzZSBvcmRlciB3aGljaCBtYXkgYmUgbXVjaCBsZXNzIGVmZmljaWVudC4KCjIwMDQtMDktMjYgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvbGFuZy9TeXN0ZW0uamF2YSAocHJvcGVydGllcyk6IE1ha2UgcGFja2FnZSBwcml2YXRlLgoJKiBqYXZhL2xhbmcvVGhyb3dhYmxlLmphdmEgKFN0YXRpY0RhdGEubmwpOiBJbml0aWFsaXplIHRocm91Z2gKCWRpcmVjdGx5IGFjY2Vzc2luZyBTeXN0ZW0ucHJvcGVydGllcy5nZXRQcm9wZXJ0eSgpLgoKCSogamF2YS9sYW5nL1Rocm93YWJsZS5qYXZhIChubCk6IFJlbW92ZSBzdGF0aWMgZmllbGQuCgkoU3RhdGljRGF0YSk6IE5ldyBwcml2YXRlIHN0YXRpYyBpbm5lciBjbGFzcy4KCShzdGFja1RyYWNlU3RyaW5nQnVmZmVyKTogVXNlIFN0YXRpY0RhdGEubmwuCgoyMDA0LTA5LTI2ICBDYXNleSBNYXJzaGFsbCA8Y3NtQGdudS5vcmc+CgoJKiBqYXZhL3NlY3VyaXR5L1Byb3RlY3Rpb25Eb21haW4uamF2YQoJKDxpbml0PihDb2RlU291cmNlLFBlcm1pc3Npb25Db2xsZWN0aW9uKSk6IHNldCBgc3RhdGljQmluZGluZycgdG8KCWB0cnVlJy4KCgkqIGphdmEvc2VjdXJpdHkvU2VjdXJlQ2xhc3NMb2FkZXIuamF2YQoJKGRlZmluZUNsYXNzKTogbWFrZSBwcm90ZWN0aW9uIGRvbWFpbiBkeW5hbWljYWxseSBib3VuZC4KCShnZXRQZXJtaXNzaW9ucyk6IGNhbGwgYGdldEN1cnJlbnRQb2xpY3knIHRvIGF2b2lkIHBlcm1pc3Npb24KCWNoZWNrLgoKMjAwNC0wOS0yNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogTWFrZWZpbGUuYW0gKGNvcmVfamF2YV9zb3VyY2VfZmlsZXMpOiBBZGQgVk1UaW1lWm9uZS5qYXZhLgoJKG5hdF9zb3VyY2VfZmlsZXMpOiBSZW5hbWUgbmF0VGltZVpvbmUuY2MgdG8gbmF0Vk1UaW1lWm9uZS5jYy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKCSogZ2NqL2phdmFwcmltcy5oOiBSZWdlbmVyYXRlZC4KCgkqIGphdmEvdXRpbC9UaW1lWm9uZS5qYXZhIChkZWZhdWx0Wm9uZSk6IFVzZSBWTVRpbWVab25lLgoJKGdldERlZmF1bHRUaW1lWm9uZSk6IE1ha2UgcGFja2FnZSBwcml2YXRlLiBDaGVjayB0aGF0IEdNVG9mZnNldAoJY29udGFpbnMgYXQgbGVhc3Qgb25lIGRpZ2l0LgoJKGdldERlZmF1bHRUaW1lWm9uZUlkLCByZWFkVGltZVpvbmVGaWxlLCByZWFkdHpGaWxlKTogKFJlKU1vdmVkIHRvCglWTVRpbWVab25lLgoJKiB1dGlsL1ZNVGltZVpvbmUuamF2YTogTmV3IGZpbGUgd2l0aCBhYm92ZSBtZXRob2RzLgoKCSogamF2YS91dGlsL25hdFRpbWVab25lLmNjOiBSZW1vdmVkIChyZW5hbWVkKS4KCSogamF2YS91dGlsL25hdFZNVGltZVpvbmUuY2M6IEFkZGVkIChyZW5hbWVkKS4KCjIwMDQtMDktMjUgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL3V0aWwvVGltZVpvbmUuamF2YQoJKGdldERlZmF1bHRUaW1lWm9uZSk6IEZpeGVkIHRlc3QgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBob3VycyBhbmQKCW1pbnV0ZXMgaW4gc3BlY2lmaWVkIHRpbWV6b25lLgoKMjAwNC0wOS0yNSAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L1Byb3h5LmphdmEgKGdldFBhY2thZ2UsIENsYXNzRmFjdG9yeSk6IEZpeGVkCgloYW5kbGluZyBvZiBkZWZhdWx0IHBhY2thZ2UuIChnZW5lcmF0ZSk6IFJlbW92ZWQgY29uZnVzZWQgY29tbWVudHMKCWFuZCBjb2RlIGFib3V0IG1ha2luZyBNZXRob2QgYW5kIEZpZWxkIGFjY2Vzc2libGUuCgoyMDA0LTA5LTI1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgamF2YS8xNzUwMDoKCSogdGVzdHN1aXRlL2xpYmphdmEuY29tcGlsZS9wcjE3NTAwLmphdmE6IE5ldyBmaWxlLgoKMjAwNC0wOS0yNSAgU2hhc2hhbmsgQmFwYXQgIDxzaGFzaGFua2JhcGF0QHlhaG9vLmNvbT4KICAgICAgICAgICAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L3JlZ2V4cC9SRS5qYXZhIChpbml0aWFsaXplKTogQWRkIFJFVG9rZW5Mb29rQWhlYWQgc3VwcG9ydC4KCSogZ251L3JlZ2V4cC9SRVRva2VuTG9va0FoZWFkLmphdmE6IE5ldyBmaWxlLgoKCSogTWFrZWZpbGUuYW0gKG9yZGluYXJ5X2phdmFfc291cmNlX2ZpbGVzKTogQWRkIFJFVG9rZW5Mb29rQWhlYWQuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wOS0yNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvaW8vT2JqZWN0U3RyZWFtRmllbGQuamF2YToKCVJlbW92ZWQgdW51c2VkIGltcG9ydCBzdGF0ZW1lbnQuCgoyMDA0LTA5LTI0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgamF2YS8xNTY1NjoKCSogdGVzdHN1aXRlL2xpYmphdmEuY29tcGlsZS9wcjE1NjU2LnhmYWlsOiBOZXcgZmlsZS4KCSogdGVzdHN1aXRlL2xpYmphdmEuY29tcGlsZS9wcjE1NjU2LmphdmE6IG5ldyBmaWxlLgoKCVBSIGphdmEvMTY3ODk6CgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvcHIxNjc4OS5vdXQ6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL3ByMTY3ODkuamF2YTogTmV3IGZpbGUuCgoyMDA0LTA5LTI0ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCglQUiBqYXZhLzE2OTI3CgkqIHRlc3RzdWl0ZS9saWJqYXZhLmNvbXBpbGUvQXNzZXJ0QnVnLmphdmE6IE5ldyBmaWxlLgoKMjAwNC0wOS0yNCAgQ2FzZXkgTWFyc2hhbGwgPGNzbUBnbnUub3JnPgoKCSogamF2YS91dGlsL1Byb3BlcnR5UGVybWlzc2lvbkNvbGxlY3Rpb24uamF2YQoJKGltcGxpZXMpOiBhdm9pZCBpbmZpbml0ZSBsb29wLgoKMjAwNC0wOS0yNCAgQW5kcmV3IEpvaG4gSHVnaGVzICA8Z251X2FuZHJld0BtZW1iZXIuZnNmLm9yZz4KCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvUHJpdmF0ZUNyZWRlbnRpYWxQZXJtaXNzaW9uLmphdmEKCShQcml2YXRlQ3JlZGVudGlhbFBlcm1pc3Npb24pOiBhZGRlZCBzZXJpYWxpemF0aW9uIFVJRAoKCjIwMDQtMDktMjQgIElseWEgUGVybWlub3YgIDxpcGVybWlub3ZAbG9naWNhbHNvZnQuY29tPgoKCSogZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0U2VydmVyLmphdmEKCShpbmNvbWluZ01lc3NhZ2VDYWxsKTogQWRkZWQgY29kZSB0byBoYW5kbGUgRXJyb3JzLgoJKiBnbnUvamF2YS9ybWkvc2VydmVyL1VuaWNhc3RTZXJ2ZXJSZWYuamF2YQoJKGluY29taW5nTWVzc2FnZUNhbGwpOiBBZGRlZCBjb2RlIHRvIGhhbmRsZSBFcnJvcnMuCgoKMjAwNC0wOS0yNCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL0NsYXNzTG9hZGVyLmphdmEgKGxvYWRlZENsYXNzZXMpOiBEZWNsYXJlIGFzIEhhc2hNYXAuCgkoZGVmaW5lZFBhY2thZ2VzKTogTGlrZXdpc2UuCgoyMDA0LTA5LTI0ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhOgoJUmUtb3JkZXJlZCBpbXBvcnRzLgoKMjAwNC0wOS0yNCAgQ2FzZXkgTWFyc2hhbGwgPGNzbUBnbnUub3JnPgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChjYWxsUmVhZE1ldGhvZCk6IHJlLXRocm93CglgQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbicuCgoyMDA0LTA5LTI0ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9pby9PYmplY3RJbnB1dFN0cmVhbS5qYXZhIChyZWFkT2JqZWN0KTogRGVsZWdhdGUgaW5zdGFudGF0aW9uCglvZiBFeHRlcm5hbGl6YWJsZSBjbGFzc2VzIHRvIE9iamVjdFN0cmVhbUNsYXNzLgoJKiBqYXZhL2lvL09iamVjdFN0cmVhbUNsYXNzLmphdmEgKG5ld0luc3RhbmNlKTogTmV3IG1ldGhvZCB0bwoJaW5zdGFudGlhdGUgRXh0ZXJuYWxpemFibGUgKHdoaWxlIGlnbm9yaW5nIHRoZSBhY2Nlc3NpYmlsaXR5IG9mCgl0aGUgY29uc3RydWN0b3IpLiAoY29uc3RydWN0b3IpOiBOZXcgZmllbGQgdG8gY2FjaGUgdGhlIGNvbnN0cnVjdG9yLgoKMjAwNC0wOS0yNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9uZXQvVVJMLmphdmEgKHN5c3RlbUNsYXNzTG9hZGVyKTogTmV3IHN0YXRpYyBmaWVsZC4KCShnZXRVUkxTdHJlYW1IYW5kbGVyKTogQWx3YXlzIHVzZSBzeXN0ZW0vYXBwbGljYXRpb24gY2xhc3Nsb2FkZXIKCWZvciBmaW5kaW5nIFVSTFN0cmVhbWhhbmRsZXIuIFJlbW92ZSB1bmVjZXNzYXJ5IGluc3RhbmNlb2YgY2hlY2tzLgoKMjAwNC0wOS0yNCAgR3VpbGhlbSBMYXZhdXggPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogamF2YS9uZXQvVVJMLmphdmEKCShzZXQpOiBUaGlzIG1ldGhvZCBub3cgbWF0Y2hlcyB0aGUgYmVoYXZpb3VyIG9mIHRoZSBKREsuCgkoREVGQVVMVF9TRUFSQ0hfUEFUSCk6IEFkZGVkICJnbnUuaW5ldCIuCgoyMDA0LTA5LTI0ICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogamF2YS9uZXQvVVJMLmphdmEgKFVSTCk6IERlbGV0ZSB3aGl0ZXNwYWNlcyBpbiB0aGUgcHJvdG9jb2wgc3RyaW5nLgoKMjAwNC0wOS0yNCAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbmV0L1VSTC5qYXZhIChVUkwoU3RyaW5nLFN0cmluZyxpbnQsU3RyaW5nLFVSTFN0cmVhbUhhbmRsZXIpOgoJRG9uJ3Qgc2V0IGF1dGhvcml0eSBpZiBob3N0IGlzbid0IHNwZWNpZmllZC4KCjIwMDQtMDktMjQgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uaW8vUGlwZUltcGwuamF2YTogVXNlIFZNUGlwZSBmb3IgbmF0aXZlIHN0dWZmLgoJKiBnbnUvamF2YS9uaW8vU2VsZWN0b3JJbXBsLmphdmE6IFVzZSBWTVNlbGVjdG9yIGZvciBuYXRpdmUgc3R1ZmYuCgkqIGdudS9qYXZhL25pby9WTVBpcGUuamF2YSwKCWdudS9qYXZhL25pby9WTVNlbGVjdG9yLmphdmE6CglOZXcgZmlsZXMuCgkqIGdudS9qYXZhL25pby9uYXRQaXBlSW1wbEVjb3MuY2MsCglnbnUvamF2YS9uaW8vbmF0UGlwZUltcGxQb3NpeC5jYywKCWdudS9qYXZhL25pby9uYXRQaXBlSW1wbFdpbjMyLmNjOgoJUG9ydGVkIHRvIFZNUGlwZS4KCSogZ251L2phdmEvbmlvL25hdFNlbGVjdG9ySW1wbEVjb3MuY2MsCglnbnUvamF2YS9uaW8vbmF0U2VsZWN0b3JJbXBsUG9zaXguY2MsCglnbnUvamF2YS9uaW8vbmF0U2VsZWN0b3JJbXBsV2luMzIuY2M6CglQb3J0ZWQgdG8gVk1TZWxlY3Rvci4KCSogTWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlcyBnbnUvamF2YS9uaW8vVk1QaXBlLmphdmEgYW5kCglnbnUvamF2YS9uaW8vVk1TZWxlY3Rvci5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA5LTI0ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW50LmphdmEKCShjbGFzc05hbWUpOiBSZW5hbWVkIGZpZWxkIHRvIGRlY2xhcmluZ0NsYXNzIHRvIGJlIGNvbXBhdGlibGUKCXdpdGggU3VuIHNlcmlhbGl6YXRpb24gZm9ybWF0LgoKMjAwNC0wOS0yMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXBwbGV0L0FwcGxldENvbnRleHQuamF2YSwKCWphdmEvYXBwbGV0L0FwcGxldC5qYXZhLAoJamF2YS9hcHBsZXQvQXBwbGV0U3R1Yi5qYXZhLAoJamF2YS9hcHBsZXQvQXVkaW9DbGlwLmphdmE6CglKYWxvcGllZCBhbmQgY2hlY2tzdHlsZSBjbGVhbi4KCgkqIGphdmF4L3N3aW5nL0pDaGVja0JveC5qYXZhOiBSZWZvcm1hdGVkLgoJKEpDaGVja0JveCk6IEZpeGVkIGFsbCBjb25zdHJ1Y3RvcnMuCgkoaXNCb3JkZXJQYWludGVkRmxhdCk6IE5ldyBtZXRob2QuCgkoc2V0Qm9yZGVyUGFpbnRlZEZsYXQpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhCgkoY3JlYXRlRWRpdG9yS2l0Rm9yQ29udGVudFR5cGUpOiBNYWRlIHB1YmxpYy4KCShzY3JvbGxUb1JlZmVyZW5jZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVGV4dEFyZWEuamF2YQoJKHNldExpbmVXcmFwKTogRmlyZSBwcm9wZXJ0eSBjaGFuZ2UuCgkqIGphdmF4L3N3aW5nL0pUb2dnbGVCdXR0b24uamF2YQoJKEpUb2dnbGVCdXR0b24pOiBOZXcgY29uc3RydWN0b3IuCgkoSlRvZ2dsZUJ1dHRvbik6IFNpbXBsaWZpZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvQXR0cmlidXRlU2V0LmphdmEKCShGb250QXR0cmlidXRlKTogUmVuYW1lZCBmcm9tIEZvbnRDaGFyYWN0ZXJBdHRyaWJ1dGUuCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJKEtleUJpbkJpbmRpbmcpOiBBZGRlZCBqYXZhZG9jLgoJKEpUZXh0Q29tcG9uZW50KTogTGlrZXdpc2UuCgkoZ2V0QWNjZXNzaWJsZUNvbnRleHQpOiBGaXhlZCBqYXZhZG9jLgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YQoJKFZpZXcpOiBBZGRlZCBqYXZhZG9jLgoJKiBqYXZheC9zd2luZy90ZXh0L1RhYmFibGVWaWV3LmphdmE6IE5ldyBmaWxlLgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgamF2YXgvc3dpbmcvdGV4dC9UYWJhYmxlVmlldy5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCjIwMDQtMDktMjMgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdXRpbC9Db2xsZWN0aW9ucy5qYXZhCgkoYmluYXJ5U2VhcmNoKExpc3QsIE9iamVjdCwgQ29tcGFyYXRvcikpOiBFeHBsaWNpdGx5CglyZXZlcnNlIGRpcmVjdGlvbiBpbiBsaXN0IGl0ZXJhdG9yLgoJKHJvdGF0ZSk6IEp1c3QgcmV0dXJuIHdoZW4gbGlzdCBpcyBlbXB0eS4KCjIwMDQtMDktMjMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBqYXZhLzE3MzI5OgoJKiB0ZXN0c3VpdGUvbGliamF2YS5jb21waWxlL3ByMTczMjkuamF2YTogTmV3IGZpbGUuCgoJUFIgamF2YS8xNzM4MDoKCSogdGVzdHN1aXRlL2xpYmphdmEuamFja3MvamFja3MueGZhaWw6IEFkZGVkIDkuMi1pbXBsaWNpdC02IGFuZAoJOS4yLWltcGxpY2l0LTcuCgoyMDA0LTA5LTIyICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogTWFrZWZpbGUuYW06IFJ1biBhY2xvY2FsIHdpdGggLUkgLi4vY29uZmlnCgkqIGFjaW5jbHVkZS5tNDogRGVsZXRlIG1hY3JvcyBwaWNrZWQgdXAgZnJvbSAuLi9jb25maWcgYW5kIHRpZHkuCgkoQU1fSUNPTlYsQU1fTENfTUVTU0FHRVMsIFBLR19DSEVDS19NT0RVTEVTKTogRGVsZXRlLgoJKiBhY2xvY2FsLm00LCBjb25maWd1cmUsIE1ha2VmaWxlLmluLCBnY2ovTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDQtMDktMjIgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlIHdpdGggYWNsb2NhbCAxLjkuMi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBNYWtlZmlsZS5pbiwgZ2NqL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlIHdpdGggYXV0b21ha2UgMS45LjIuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogTGlrZXdpc2UuCgoyMDA0LTA5LTIyICBEYXZpZCBEYW5leSAgPGRkYW5leUBhdnRyZXguY29tPgoKCVBSIGxpYmdjai8xNzYyMwoJKiBqYXZhL25ldC9VUkwuamF2YSAoVVJMKTogQ29weSB1c2VySW5mbyBmcm9tIGNvbnRleHQuCgkoZ2V0VXNlckluZm8pOiBSZXR1cm4gY2FjaGVkIHVzZXJJbmZvIGlmIHByZXNlbnQuCgoyMDA0LTA5LTIyICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzYxODI6CgkqIG1hdXZlLWxpYmdjajogRW5hYmxlIGphdmEubGFuZy5DaGFyYWN0ZXIgdGVzdHMuCgoyMDA0LTA5LTIyICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBNYWtlZmlsZS5hbSAobGliX29yZ19pZXRmX2pnc3NfbGFfREVQRU5ERU5DSUVTKTogQWRkIG1pc3NpbmcKCWRlcGVuZGVuY2llcy4KCShsaWJfb3JnX2lldGZfamdzc19sYV9MSUJBREQpOiBMaWtld2lzZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wOS0yMiAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogY29uZmlndXJlLmFjOiBJbnRyb2R1Y2UgQUNfQ19CSUdFTkRJQU5fQ1JPU1MgZm9yIFdPUkRTX0JJR0VORElBTi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBpbmNsdWRlL2NvbmZpZy5oLmluOiBMaWtld2lzZS4KCSogam5pL2d0ay1wZWVyL2d0a3BlZXIuaCAoU1dBUFUzMik6IEludHJvZHVjZSBtYWNybyB0byBzd2FwIHBpeGVscy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZVBhaW50ZXIuYzogTW92ZWQgU1dBUFUzMgoJbWFjcm8gdG8gZ3RrcGVlci5oLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkQuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzMkRfZ2V0SW1hZ2VQaXhlbHMpOiBDb252ZXJ0CglwaXhlbHMgZnJvbSAgMHhCQkdHUlJBQSB0byAweEFBUlJHR0JCIG9ubHkgb24gTGl0dGxlIEVuZGlhbgoJYXJjaGl0ZWN0dXJlcy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyLmMgKGFyZWFfdXBkYXRlZCk6CglMaWtld2lzZS4KCjIwMDQtMDktMjIgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTQ0NDY6CgkqIGphdmEvdXRpbC96aXAvR1pJUElucHV0U3RyZWFtLmphdmEgKHJlYWQpOiBBdm9pZCBzaWduIGV4dGVuc2lvbgoJd2hlbiBjb21wYXJpbmcgQ1JDcy4KCSogamF2YS91dGlsL3ppcC9JbmZsYXRlcklucHV0U3RyZWFtLmphdmEgKG9uZWJ5dGVidWZmZXIpOiBOZXcKCWZpZWxkLgoJKHJlYWQoKSk6IE5ldyBvdmVybG9hZC4KCjIwMDQtMDktMjEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9yZWZsZWN0L25hdE1ldGhvZC5jYyAoX0p2X0NhbGxBbnlNZXRob2RBKToKCUluZGVudGF0aW9uIGZpeC4KCjIwMDQtMDktMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9Tb2NrZXQuamF2YQoJKGdldExvY2FsQWRkcmVzcyk6IFJldHVybiBJbmV0QWRkcmVzcy5BTllfSUYgaWYgbm90IGJvdW5kIHlldC4KCjIwMDQtMDktMjEgIENhc2V5IE1hcnNoYWxsICA8Y3NtQGdudS5vcmc+CgoJKiBqYXZheC9jcnlwdG8vTWFjU3BpLmphdmEgKGNsb25lKTogUHJvdmlkZSBtZWFuaW5nZnVsCglpbXBsZW1lbnRhdGlvbi4KCjIwMDQtMDktMjEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTY4Njk6CgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBNYWtlZmlsZS5hbSAoTU9TVExZQ0xFQU5GSUxFUyk6IFJlbW92ZWQuCgkobW9zdGx5Y2xlYW4tbG9jYWwpOiBSZW1vdmUgaGVhZGVyIGZpbGVzLgoKMjAwNC0wOS0yMSAgQ2FzZXkgTWFyc2hhbGwgIDxjc21AZ251Lm9yZz4KCgkqIGphdmEvc2VjdXJpdHkvY2VydC9YNTA5Q1JMU2VsZWN0b3IuamF2YToKCShtYXRjaCk6IHJlbW92ZSB1bnJlYWNoYWJsZSB0cnktY2F0Y2ggY2xhdXNlcy4KCVJlcG9ydGVkIGJ5OiBEYWxpYm9yIFRvcGljIDxyb2JpbGFkQGthZmZlLm9yZz4KCjIwMDQtMDktMjEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdXRpbC9UcmVlTWFwLmphdmEgKHJvb3QpOiBEb24ndCBpbml0aWFsaXplLgoJKFRyZWVNYXAoQ29tcGFyYXRvcikpOiBDYWxsIGZhYnJpY2F0ZVRyZWUoMCkuCgkoZmFicmljYXRlVHJlZSk6IEluaXRpYWxpemUgcm9vdCBhbmQgc2l6ZSB3aGVuIGNvdW50IGlzIDAuCgoyMDA0LTA5LTIxICBTdmVuIGRlIE1hcm90aHkgPHN2ZW5AcGh5c3RvLnNlPgoKCSogamF2YS9uaW8vQnl0ZUJ1ZmZlci5qYXZhIChoYXNoQ29kZSk6IEltcGxlbWVudGVkLgoJKiBqYXZhL25pby9DaGFyQnVmZmVyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL25pby9Eb3VibGVCdWZmZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL0Zsb2F0QnVmZmVyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL25pby9Mb25nQnVmZmVyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL25pby9JbnRCdWZmZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvbmlvL1Nob3J0QnVmZmVyLmphdmE6IExpa2V3aXNlLgoKMjAwNC0wOS0yMSAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogamF2YXgvc2VjdXJpdHkvYXV0aC94NTAwL1g1MDBQcmluY2lwYWwuamF2YTogRml4IHNvbWUgbWVyZ2UgZ2xpdGNoZXMuCgoyMDA0LTA5LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvbmV0L3NzbC9TU0xTZXJ2ZXJTb2NrZXQuamF2YToKCVJlbW92ZWQgY29tbWVudCBhYm91dCAiRG8gbm90IGVkaXQgdGhpcyBmaWxlLCBpdCdzIGdlbmVyYXRlZC4iLgoKMjAwNC0wOS0yMSAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCUltcG9ydCB0aGUgYmlnIENyeXB0by9KZXNzaWUvU2VjdXJpdHkgbWVyZ2UgZnJvbSBDbGFzc3BhdGguCgoJKiBNYWtlZmlsZS5hbTogQWRkIGltcG9ydGVkIGZpbGVzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCgkyMDA0LTA4LTE0ICBDYXNleSBNYXJzaGFsbCA8Y3NtQGdudS5vcmc+CgoJVGhlIEJpZyBDcnlwdG8gTWVyZ2Ugb2YgMjAwNC4KCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgveDUwMC9YNTAwUHJpbmNpcGFsLmphdmE6IFJlcGxhY2VkIHdpdGggR05VCglDcnlwdG8ncyB2ZXJzaW9uLgoKCUZpbGVzIGltcG9ydGVkIGZyb20gR05VIENyeXB0by4KCSogamF2YXgvY3J5cHRvL0JhZFBhZGRpbmdFeGNlcHRpb24uamF2YQoJKiBqYXZheC9jcnlwdG8vQ2lwaGVyLmphdmEKCSogamF2YXgvY3J5cHRvL0NpcGhlcklucHV0U3RyZWFtLmphdmEKCSogamF2YXgvY3J5cHRvL0NpcGhlck91dHB1dFN0cmVhbS5qYXZhCgkqIGphdmF4L2NyeXB0by9DaXBoZXJTcGkuamF2YQoJKiBqYXZheC9jcnlwdG8vRW5jcnlwdGVkUHJpdmF0ZUtleUluZm8uamF2YQoJKiBqYXZheC9jcnlwdG8vRXhlbXB0aW9uTWVjaGFuaXNtLmphdmEKCSogamF2YXgvY3J5cHRvL0V4ZW1wdGlvbk1lY2hhbmlzbUV4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L2NyeXB0by9FeGVtcHRpb25NZWNoYW5pc21TcGkuamF2YQoJKiBqYXZheC9jcnlwdG8vSWxsZWdhbEJsb2NrU2l6ZUV4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L2NyeXB0by9LZXlBZ3JlZW1lbnQuamF2YQoJKiBqYXZheC9jcnlwdG8vS2V5QWdyZWVtZW50U3BpLmphdmEKCSogamF2YXgvY3J5cHRvL0tleUdlbmVyYXRvci5qYXZhCgkqIGphdmF4L2NyeXB0by9LZXlHZW5lcmF0b3JTcGkuamF2YQoJKiBqYXZheC9jcnlwdG8vTWFjLmphdmEKCSogamF2YXgvY3J5cHRvL01hY1NwaS5qYXZhCgkqIGphdmF4L2NyeXB0by9NYWtlZmlsZS5hbQoJKiBqYXZheC9jcnlwdG8vTm9TdWNoUGFkZGluZ0V4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L2NyeXB0by9OdWxsQ2lwaGVyLmphdmEKCSogamF2YXgvY3J5cHRvL051bGxDaXBoZXJJbXBsLmphdmEKCSogamF2YXgvY3J5cHRvL1NlYWxlZE9iamVjdC5qYXZhCgkqIGphdmF4L2NyeXB0by9TZWNyZXRLZXkuamF2YQoJKiBqYXZheC9jcnlwdG8vU2VjcmV0S2V5RmFjdG9yeS5qYXZhCgkqIGphdmF4L2NyeXB0by9TZWNyZXRLZXlGYWN0b3J5U3BpLmphdmEKCSogamF2YXgvY3J5cHRvL1Nob3J0QnVmZmVyRXhjZXB0aW9uLmphdmEKCSogamF2YXgvY3J5cHRvL2ludGVyZmFjZXMvREhLZXkuamF2YQoJKiBqYXZheC9jcnlwdG8vaW50ZXJmYWNlcy9ESFByaXZhdGVLZXkuamF2YQoJKiBqYXZheC9jcnlwdG8vaW50ZXJmYWNlcy9ESFB1YmxpY0tleS5qYXZhCgkqIGphdmF4L2NyeXB0by9pbnRlcmZhY2VzL1BCRUtleS5qYXZhCgkqIGphdmF4L2NyeXB0by9zcGVjL0RFU0tleVNwZWMuamF2YQoJKiBqYXZheC9jcnlwdG8vc3BlYy9ERVNlZGVLZXlTcGVjLmphdmEKCSogamF2YXgvY3J5cHRvL3NwZWMvREhHZW5QYXJhbWV0ZXJTcGVjLmphdmEKCSogamF2YXgvY3J5cHRvL3NwZWMvREhQYXJhbWV0ZXJTcGVjLmphdmEKCSogamF2YXgvY3J5cHRvL3NwZWMvREhQcml2YXRlS2V5U3BlYy5qYXZhCgkqIGphdmF4L2NyeXB0by9zcGVjL0RIUHVibGljS2V5U3BlYy5qYXZhCgkqIGphdmF4L2NyeXB0by9zcGVjL0l2UGFyYW1ldGVyU3BlYy5qYXZhCgkqIGphdmF4L2NyeXB0by9zcGVjL1BCRUtleVNwZWMuamF2YQoJKiBqYXZheC9jcnlwdG8vc3BlYy9QQkVQYXJhbWV0ZXJTcGVjLmphdmEKCSogamF2YXgvY3J5cHRvL3NwZWMvUkMyUGFyYW1ldGVyU3BlYy5qYXZhCgkqIGphdmF4L2NyeXB0by9zcGVjL1JDNVBhcmFtZXRlclNwZWMuamF2YQoJKiBqYXZheC9jcnlwdG8vc3BlYy9TZWNyZXRLZXlTcGVjLmphdmEKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9BdXRoUGVybWlzc2lvbi5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvRGVzdHJveUZhaWxlZEV4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvRGVzdHJveWFibGUuamF2YQoJKiBqYXZheC9zZWN1cml0eS9hdXRoL1BvbGljeS5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvUHJpdmF0ZUNyZWRlbnRpYWxQZXJtaXNzaW9uLmphdmEKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9SZWZyZXNoRmFpbGVkRXhjZXB0aW9uLmphdmEKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9SZWZyZXNoYWJsZS5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvU3ViamVjdC5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvU3ViamVjdERvbWFpbkNvbWJpbmVyLmphdmEKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9jYWxsYmFjay9DYWxsYmFjay5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svQ2FsbGJhY2tIYW5kbGVyLmphdmEKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9jYWxsYmFjay9DaG9pY2VDYWxsYmFjay5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svQ29uZmlybWF0aW9uQ2FsbGJhY2suamF2YQoJKiBqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL0xhbmd1YWdlQ2FsbGJhY2suamF2YQoJKiBqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL05hbWVDYWxsYmFjay5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svUGFzc3dvcmRDYWxsYmFjay5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svVGV4dElucHV0Q2FsbGJhY2suamF2YQoJKiBqYXZheC9zZWN1cml0eS9hdXRoL2NhbGxiYWNrL1RleHRPdXRwdXRDYWxsYmFjay5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvY2FsbGJhY2svVW5zdXBwb3J0ZWRDYWxsYmFja0V4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvbG9naW4vQWNjb3VudEV4cGlyZWRFeGNlcHRpb24uamF2YQoJKiBqYXZheC9zZWN1cml0eS9hdXRoL2xvZ2luL0FwcENvbmZpZ3VyYXRpb25FbnRyeS5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvbG9naW4vQ29uZmlndXJhdGlvbi5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgvbG9naW4vQ3JlZGVudGlhbEV4cGlyZWRFeGNlcHRpb24uamF2YQoJKiBqYXZheC9zZWN1cml0eS9hdXRoL2xvZ2luL0ZhaWxlZExvZ2luRXhjZXB0aW9uLmphdmEKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9sb2dpbi9Mb2dpbkNvbnRleHQuamF2YQoJKiBqYXZheC9zZWN1cml0eS9hdXRoL2xvZ2luL0xvZ2luRXhjZXB0aW9uLmphdmEKCSogamF2YXgvc2VjdXJpdHkvYXV0aC9sb2dpbi9OdWxsQ29uZmlndXJhdGlvbi5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2F1dGgveDUwMC9YNTAwUHJpdmF0ZUNyZWRlbnRpYWwuamF2YQoJKiBqYXZheC9zZWN1cml0eS9zYXNsL0F1dGhlbnRpY2F0aW9uRXhjZXB0aW9uLmphdmEKCSogamF2YXgvc2VjdXJpdHkvc2FzbC9BdXRob3JpemVDYWxsYmFjay5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L3Nhc2wvUmVhbG1DYWxsYmFjay5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L3Nhc2wvUmVhbG1DaG9pY2VDYWxsYmFjay5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbC5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbENsaWVudC5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L3Nhc2wvU2FzbENsaWVudEZhY3RvcnkuamF2YQoJKiBqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2xFeGNlcHRpb24uamF2YQoJKiBqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2xTZXJ2ZXIuamF2YQoJKiBqYXZheC9zZWN1cml0eS9zYXNsL1Nhc2xTZXJ2ZXJGYWN0b3J5LmphdmEKCSogb3JnL2lldGYvamdzcy9DaGFubmVsQmluZGluZy5qYXZhCgkqIG9yZy9pZXRmL2pnc3MvR1NTQ29udGV4dC5qYXZhCgkqIG9yZy9pZXRmL2pnc3MvR1NTQ3JlZGVudGlhbC5qYXZhCgkqIG9yZy9pZXRmL2pnc3MvR1NTRXhjZXB0aW9uLmphdmEKCSogb3JnL2lldGYvamdzcy9HU1NNYW5hZ2VyLmphdmEKCSogb3JnL2lldGYvamdzcy9HU1NOYW1lLmphdmEKCSogb3JnL2lldGYvamdzcy9NZXNzYWdlUHJvcC5qYXZhCgkqIG9yZy9pZXRmL2pnc3MvT2lkLmphdmEKCSogb3JnL2lldGYvamdzcy9NZXNzYWdlc0J1bmRsZS5wcm9wZXJ0aWVzCgoJRmlsZXMgaW1wb3J0ZWQgZnJvbSBKZXNzaWUgPGh0dHA6Ly93d3cubm9uZ251Lm9yZy9qZXNzaWUvPgoJKiBqYXZheC9uZXQvU2VydmVyU29ja2V0RmFjdG9yeS5qYXZhCgkqIGphdmF4L25ldC9Tb2NrZXRGYWN0b3J5LmphdmEKCSogamF2YXgvbmV0L1ZhbmlsbGFTZXJ2ZXJTb2NrZXRGYWN0b3J5LmphdmEKCSogamF2YXgvbmV0L1ZhbmlsbGFTb2NrZXRGYWN0b3J5LmphdmEKCSogamF2YXgvbmV0L3NzbC9IYW5kc2hha2VDb21wbGV0ZWRFdmVudC5qYXZhCgkqIGphdmF4L25ldC9zc2wvSGFuZHNoYWtlQ29tcGxldGVkTGlzdGVuZXIuamF2YQoJKiBqYXZheC9uZXQvc3NsL0hvc3RuYW1lVmVyaWZpZXIuamF2YQoJKiBqYXZheC9uZXQvc3NsL0h0dHBzVVJMQ29ubmVjdGlvbi5qYXZhCgkqIGphdmF4L25ldC9zc2wvS2V5TWFuYWdlci5qYXZhCgkqIGphdmF4L25ldC9zc2wvS2V5TWFuYWdlckZhY3RvcnkuamF2YQoJKiBqYXZheC9uZXQvc3NsL0tleU1hbmFnZXJGYWN0b3J5U3BpLmphdmEKCSogamF2YXgvbmV0L3NzbC9NYW5hZ2VyRmFjdG9yeVBhcmFtZXRlcnMuamF2YQoJKiBqYXZheC9uZXQvc3NsL1NTTENvbnRleHQuamF2YQoJKiBqYXZheC9uZXQvc3NsL1NTTENvbnRleHRTcGkuamF2YQoJKiBqYXZheC9uZXQvc3NsL1NTTEV4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L25ldC9zc2wvU1NMSGFuZHNoYWtlRXhjZXB0aW9uLmphdmEKCSogamF2YXgvbmV0L3NzbC9TU0xLZXlFeGNlcHRpb24uamF2YQoJKiBqYXZheC9uZXQvc3NsL1NTTFBlZXJVbnZlcmlmaWVkRXhjZXB0aW9uLmphdmEKCSogamF2YXgvbmV0L3NzbC9TU0xQZXJtaXNzaW9uLmphdmEKCSogamF2YXgvbmV0L3NzbC9TU0xQcm90b2NvbEV4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L25ldC9zc2wvU1NMU2VydmVyU29ja2V0LmphdmEKCSogamF2YXgvbmV0L3NzbC9TU0xTZXJ2ZXJTb2NrZXRGYWN0b3J5LmphdmEKCSogamF2YXgvbmV0L3NzbC9TU0xTZXNzaW9uLmphdmEKCSogamF2YXgvbmV0L3NzbC9TU0xTZXNzaW9uQmluZGluZ0V2ZW50LmphdmEKCSogamF2YXgvbmV0L3NzbC9TU0xTZXNzaW9uQmluZGluZ0xpc3RlbmVyLmphdmEKCSogamF2YXgvbmV0L3NzbC9TU0xTZXNzaW9uQ29udGV4dC5qYXZhCgkqIGphdmF4L25ldC9zc2wvU1NMU29ja2V0LmphdmEKCSogamF2YXgvbmV0L3NzbC9TU0xTb2NrZXRGYWN0b3J5LmphdmEKCSogamF2YXgvbmV0L3NzbC9Ucml2aWFsSG9zdG5hbWVWZXJpZmllci5qYXZhCgkqIGphdmF4L25ldC9zc2wvVHJ1c3RNYW5hZ2VyLmphdmEKCSogamF2YXgvbmV0L3NzbC9UcnVzdE1hbmFnZXJGYWN0b3J5LmphdmEKCSogamF2YXgvbmV0L3NzbC9UcnVzdE1hbmFnZXJGYWN0b3J5U3BpLmphdmEKCSogamF2YXgvbmV0L3NzbC9YNTA5S2V5TWFuYWdlci5qYXZhCgkqIGphdmF4L25ldC9zc2wvWDUwOVRydXN0TWFuYWdlci5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2NlcnQvQ2VydGlmaWNhdGUuamF2YQoJKiBqYXZheC9zZWN1cml0eS9jZXJ0L0NlcnRpZmljYXRlRW5jb2RpbmdFeGNlcHRpb24uamF2YQoJKiBqYXZheC9zZWN1cml0eS9jZXJ0L0NlcnRpZmljYXRlRXhjZXB0aW9uLmphdmEKCSogamF2YXgvc2VjdXJpdHkvY2VydC9DZXJ0aWZpY2F0ZUV4cGlyZWRFeGNlcHRpb24uamF2YQoJKiBqYXZheC9zZWN1cml0eS9jZXJ0L0NlcnRpZmljYXRlTm90WWV0VmFsaWRFeGNlcHRpb24uamF2YQoJKiBqYXZheC9zZWN1cml0eS9jZXJ0L0NlcnRpZmljYXRlUGFyc2luZ0V4Y2VwdGlvbi5qYXZhCgkqIGphdmF4L3NlY3VyaXR5L2NlcnQvWDUwOUNlcnRCcmlkZ2UuamF2YQoJKiBqYXZheC9zZWN1cml0eS9jZXJ0L1g1MDlDZXJ0aWZpY2F0ZS5qYXZhCgoJMjAwNC0wOC0yMCAgQ2FzZXkgTWFyc2hhbGwgIDxjc21AZ251Lm9yZz4KCgkqIGphdmEvc2VjdXJpdHkvY2VydC9YNTA5Q1JMU2VsZWN0b3IuamF2YTogTmV3IGZpbGUuCgkqIGphdmEvc2VjdXJpdHkvY2VydC9YNTA5Q2VydFNlbGVjdG9yLmphdmE6IE5ldyBmaWxlLgoKMjAwNC0wOS0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9maWxlL0hhbmRsZXIuamF2YQoJKG9wZW5Db25uZWN0aW9uKTogRG9uJ3QgdGhyb3cgZXhjZXB0aW9uIGlmIGhvc3QgcGFydCBmb3IgZmlsZTogVVJJIGlzCglwcmVzZW50LiBzZXRVUkwoKSBrZWVwcyBmaWxlOiBwcm90b2NvbCBpZiBmdHA6IHByb3RvY29sIGlzIG5vdAoJYXZhaWxhYmxlLgoKMjAwNC0wOS0xNCAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9uYXRQb3NpeFByb2Nlc3MuY2MgKHdhaXRGb3JTaWduYWwpOiBJZ25vcmUgcmV0dXJuCgl2YWx1ZSBvZiBzaWdzdXNwZW5kLgoKMjAwNC0wOS0xMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YXgvbmFtaW5nL0NvbXBvdW5kTmFtZS5qYXZhIChDb21wb3VuZE5hbWUpOiBEb24ndCBjaGVjayBmb3IKCXNlcGFyYXRvciBpbiAiZmxhdCIgY2FzZS4KCjIwMDQtMDktMTIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBsaWJsdGRsL2NvbmZpZ3VyZS5hYzogRml4ZWQgQU1fSU5JVF9BVVRPTUFLRSB1c2FnZSBhbmQgcmVwbGFjZXMKCUFNX0NPTkZJR19IRUFERVIgYnkgQUNfQ09ORklHX0ZJTEVTLgoJKiBsaWJsdGRsL01ha2VmaWxlLmluLCBsaWJsdGRsL2FjbG9jYWwubTQsIGxpYmx0ZGwvY29uZmlndXJlOgoJUmVnZW5lcmF0ZS4KCjIwMDQtMDktMTEgIE1vaGFuIEVtYmFyICA8Z251c3R1ZmZAdGhpc2lzY29vbC5jb20+CgoJUFIgbGliZ2NqLzE0NzUxCgkqIHdpbjMyLXRocmVhZHMuY2MgKF9Kdl9UaHJlYWRJbml0RGF0YSk6IFplcm8gb3V0IHRocmVhZAoJaGFuZGxlIGluIG5ld2x5LWFsbG9jYXRlZCBfSnZfVGhyZWFkX3QuCgkoX0p2X1RocmVhZERlc3Ryb3lEYXRhKTogQ2xvc2UgdGhyZWFkIGhhbmRsZS4KCShfSnZfVGhyZWFkU3RhcnQpOiBSZW1vdmUgb2Jzb2xldGUgY29tbWVudC4KCVN0b3JlIGhhbmRsZSBvZiBuZXdseS1jcmVhdGVkIHRocmVhZCBpbiBfSnZfVGhyZWFkX3QuCgkqIGluY2x1ZGUvd2luMzItdGhyZWFkcy5oOiAjZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4KCWJlZm9yZSBpbmNsdWRpbmcgPHdpbmRvd3MuaD4KCSNkZWZpbmUgX0p2X0hhdmVDb25kRGVzdHJveQoKMjAwNC0wOS0xMSAgTW9oYW4gRW1iYXIgIDxnbnVzdHVmZkB0aGlzaXNjb29sLmNvbT4KCgkqIGphdmEvbGFuZy9uYXRUaHJlYWQuY2MgKGZpbmFsaXplX25hdGl2ZSk6IERlc3Ryb3kKCWpvaW4gY29uZGl0aW9uYWwgdmFyaWFibGUgYW5kIG11dGV4IGlmIHRoZXNlIGRlc3Ryb3kKCW9wZXJhdGlvbnMgYXJlIHN1cHBvcnRlZC4KCjIwMDQtMDktMTAgIERhbGlib3IgVG9waWMgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2ZpbGUvQ29ubmVjdGlvbi5qYXZhIChwZXJtaXNzaW9uKTogTmV3IGZpZWxkLgoJKERFRkFVTFRfUEVSTUlTU0lPTik6IE5ldyBjb25zdGFudC4KCShDb25uZWN0aW9uKTogQ3JlYXRlIGEgRmlsZVBlcm1pc3Npb24gd2l0aCBwZXJtaXNzaW9uIHRvIHJlYWQgZmlsZS4KCjIwMDQtMDktMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvZmlsZS9Db25uZWN0aW9uLmphdmEKCShnZXRMYXN0TW9kaWZpZWQpOiBNb3ZlZCBhcm91bmQuCgkoZ2V0UGVybWlzc2lvbik6IFJldHVybiBzdG9yZWQgcGVybWlzc2lvbi4KCjIwMDQtMDktMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDQtMDktMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBNYWtlZmlsZS5hbTogUmV2ZXJ0ZWQgYWNjaWRlbnRseSBjb21taXRlZCBzdHVmZi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDktMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvZmlsZS9Db25uZWN0aW9uLmphdmEKCShsaW5lU2VwYXJhdG9yKTogTWFkZSBub24tZmluYWwuCgkoc3RhdGljKTogUmVtb3ZlZC4KCShjb25uZWN0KTogSW5pdGlhbGl6ZSBsaW5lU2VwYXJhdG9yIGxhemlseS4gVXNlIEJ5dGVBcnJheUlucHV0U3RyZWFtCglpbnN0ZWFkIG9mIFN0cmluZ0J1ZmZlcklucHV0U3RyZWFtLgoKMjAwNC0wOS0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9maWxlL0Nvbm5lY3Rpb24uamF2YQoJKGNvbm5lY3QpOiBIYW5kbGUgZmlsZSBpcyBhIGRpcmVjdG9yeSBjYXNlLgoKMjAwNC0wOS0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIE1ha2VmaWxlLmFtCgkoeGxpYl9pbmNsdWRlcyk6IFJlbW92ZWQuCgkoQU1fQ1BQRkxBR1MpOiBSZW5hbWVkIGZyb20gSU5DTFVERVMuCgkobGliX2dudV9hd3RfeGxpYl9sYV9DUFBGTEFHUyk6IE5ldyBhdXRvbWFrZSB2YXJpYWJsZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA0LTA5LTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9zZWN1cml0eS9Qcm90ZWN0aW9uRG9tYWluLmphdmEsCgkqIGphdmEvdXRpbC9Qcm9wZXJ0eVBlcm1pc3Npb25Db2xsZWN0aW9uLmphdmE6CglGaXhlZCBqYXZhZG9jcyBhbGwgb3Zlci4KCjIwMDQtMDktMDkgIFN2ZW4gZGUgTWFyb3RoeSAgPHN2ZW5AcGh5c3RvLnNlPgoKCVBhdGNoIGZyb20gRGF2aWQgR2lsYmVydCA8ZGF2aWQuZ2lsYmVydEBvYmplY3QtcmVmaW5lcnkuY29tPgoJKiBqYXZhL2xhbmcvQ29tcGFyYWJsZS5qYXZhOiBGaXhlZCBkb2N1bWVudGF0aW9uIGVycm9ycy4KCSogamF2YS91dGlsL0FycmF5cy5qYXZhOiBMaWtld2lzZS4KCjIwMDQtMDktMDkgIEFuZHJldyBKb2huIEh1Z2hlcyAgPGdudV9hbmRyZXdAbWVtYmVyLmZzZi5vcmc+CgoJKiBqYXZhL25ldC9JbmV0NEFkZHJlc3MuamF2YQoJKEluZXQ0QWRkcmVzcyk6IEFkZGVkIGNvbW1lbnQgdG8gc2VyaWFsaXphdGlvbiBVSUQuCgkqIGphdmEvdGV4dC9Gb3JtYXQuamF2YQoJKEZvcm1hdCk6IEFkZGVkIGNvbW1lbnQgdG8gc2VyaWFsaXphdGlvbiBVSUQuCgoyMDA0LTA5LTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9sYW5nL1N5c3RlbS5qYXZhCgkoZXJyKTogRml4ZWQgamF2YWRvY2kgdG8gcG9pbnQgdG8gc2V0RXJyKCkgYW5kIG5vdCBzZXRPdXQoKS4KCjIwMDQtMDktMDkgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKG5vcm1hbGl6ZVBhdGgpOiBBZGRlZCBzcGVjaWFsIGNhc2UgZm9yIHdpbmRvd3Mgc3lzdGVtcy4KCjIwMDQtMDktMDkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2lvL0ZpbGUuamF2YQoJKGR1cFNlcGFyYXRvcik6IE1hZGUgcHJpdmF0ZS4KCShGaWxlKFVSSSkpOiBOZXcgY29uc3RydWN0b3IuCgkoZ2V0UGFyZW50RmlsZSk6IEZpeGVkIGphdmFkb2MuCgkoY3JlYXRlVGVtcEZpbGUpOiBSZWZvcm1hdGVkLgoJKHNldFJlYWRPbmx5KTogQWRkZWQgY29tbWVudC4KCShkZWxldGVPbkV4aXQpOiBNZXJnZWQgamF2YWRvYyB3aXRoIGNsYXNzcGF0aCB2ZXJzaW9uLgoKMjAwNC0wOS0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIE1ha2VmaWxlLmFtOiBEb24ndCB0cnkgdG8gaW5jbHVkZSBkZXBzLm1rLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA5LTA4ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWMgKEFDX0NPTkZJR19DT01NQU5EUyk6IERvbid0IGNyZWF0ZSBzdWJkaXJlY3RvcmllcyBhbmQKCS5kIGZpbGVzLgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgoyMDA0LTA5LTA0ICBNb2hhbiBFbWJhciAgPGdudXN0dWZmQHRoaXNpc2Nvb2wuY29tPgoKCSogamF2YS9uZXQvbmF0TmV0d29ya0ludGVyZmFjZVdpbjMyLmNjIChnZXRSZWFsTmV0d29ya0ludGVyZmFjZXMpOgoJQ2hhbmdlZCBwZm4gZnJvbSBzdGF0aWMgbG9jYWwgdG8gbG9jYWwuCgoyMDA0LTA5LTAzICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CiAgICAgICAgICAgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCglQUiBsaWJnY2ovMTcyOTAKCSogTWFrZWZpbGUuYW0gKEdDSkNPTVBJTEUpOiBSZW1vdmUgZGVmaW5pdGlvbi4KCShBTV9DRkxBR1MpOiBBZGQgLWZjbGFzc3BhdGggYW5kIC1mYm9vdGNsYXNzcGF0aCBmbGFncy4KCVVzZSBMVEdDSkNPTVBJTEUsIG5vdCBHQ0pDT01QSUxFLCB0byBidWlsZCAubG8gdGFyZ2V0cy4KCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgoyMDA0LTA5LTAzICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogY29uZmlndXJlLmFjIChlbmFibGUtZ2MtZGVidWcpOiBVcGRhdGUgaGVscCBmb3IgbmV3IHN5bnRheC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwNC0wOS0wMyAgRGF2aWQgRGFuZXkgIDxkZGFuZXlAYXZ0cmV4LmNvbT4KCgkqIGluY2x1ZGUvbWlwcy1zaWduYWwuaDogVXBkYXRlIGNvcHlyaWdodC4KCjIwMDQtMDktMDMgIERhdmlkIERhbmV5ICA8ZGRhbmV5QGF2dHJleC5jb20+CgoJKiBjb25maWd1cmUuaG9zdDogVXNlIC1mbm8tdXNlLWRpdmlkZS1zdWJyb3V0aW5lIGZvciBtaXBzKi0qLWxpbnV4Ki4KCSogaW5jbHVkZS9taXBzLXNpZ25hbC5oOiBBZGRlZCBIQU5ETEVfRlBFIHN1cHBvcnQuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRBcmVhVUkuamF2YQoJKGNyZWF0ZSk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEhpZ2hsaWdodGVyLmphdmEKCShEZWZhdWx0SGlnaGxpZ2h0UGFpbnRlci5kZWJ1Z1JlY3QpOiBSZW1vdmVkLgoJKiBqYXZheC9zd2luZy90ZXh0L1N0eWxlQ29udGV4dC5qYXZhCgkoREVGQVVMVF9TVFlMRSk6IE5ldyBmaWVsZC4KCjIwMDQtMDgtMzEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDb21wb25lbnREZWZhdWx0cyk6IEFkZCBrZXliaW5kaW5ncyBmb3Igc2VsZWN0aW9uLmJhY2t3YXJkIGFuZAoJc2VsZWN0aW9uLWZvcndhcmQgZm9yIHRleHQgY29tcG9uZW50cy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkocGFpbnRTYWZlbHkpOiBQYWludCBoaWdobGlnaHQgb25seSB3aGVuIHNvbWV0aGluZyBpcyBhY3R1YWxseQoJc2VsZWN0ZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEKCShoYW5kbGVIaWdobGlnaHQpOiBOZXcgbWV0aG9kLgoJKHNldFNlbGVjdGlvblZpc2libGUpOiBEb24ndCBkbyBhbnl0aGluZyB3aGVuIG5vdGhpbmcgY2hhbmdlcy4KCUhhbmRsZSBoaWdobGlnaHQuCgkobW92ZURvdCk6IFJlaW1wbGVtZW50ZWQuIEhhbmRsZSBoaWdobGlnaHQuCgkoc2V0RG90KTogU2V0IG1hcmsgdG9vLiBIYW5kbGUgaGlnaGxpZ2h0LgoJKGdldFNlbGVjdGlvblBhaW50ZXIpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YQoJKGRlZmF1bHRBY3Rpb25zKTogQWRkZWQgbmV3IGFjdGlvbnMgZm9yIHRleHQgc2VsZWN0aW9uLgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRIaWdobGlnaHRlci5qYXZhCgkoRGVmYXVsdEhpZ2hsaWdodFBhaW50ZXIpOiBOZXcgaW5uZXIgY2xhc3MuCgkoRGVmYXVsdFBhaW50ZXIpOiBOZXcgZmllbGQuCgkocGFpbnQpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9QbGFpblZpZXcuamF2YQoJKHBhaW50KTogRG9uJ3QgZHJhdyBiYWNrZ3JvdW5kIGhlcmUgYWdhaW4uCgkqIGphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmEKCShnZXRUYWJiZWRUZXh0V2lkdGgpOiBVc2Ugd2lkdGggb2YgJyAnIGluc3RlYWQgb2YgJ20nIGZvciB0YWJzaXplLgoJKGRyYXdUYWJiZWRUZXh0KTogTGlrZXdpc2UuCgoyMDA0LTA4LTMxICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkocmVzZXRLZXlib2FyZEFjdGlvbnMpOiBBZGQgbnVsbCBjaGVja3MuCgoyMDA0LTA4LTMxICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdEJ1dHRvbk1vZGVsLmphdmE6CglTa2lwIGdyb3VwIG5vdGlmaWNhdGlvbiB3aGVuIG5vIGdyb3VwIGlzIHNldC4KCjIwMDQtMDgtMzEgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KQ29sb3JDaG9vc2VyLmphdmE6CglNYWtlIGEgY291cGxlIGlubmVyIGNsYXNzZXMgc3RhdGljLCBmb3IgamlrZXMuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoUm90dFZpZXcubW9kZWxUb1ZpZXcpOiBOZXcgbWV0aG9kLgoJKFVwZGF0ZUhhbmRsZXIpOiBSZW5hbWVkIGZyb20gRXZlbnRIYW5kbGVyLgoJKHVwZGF0ZUhhbmRsZXIpOiBSZW5hbWVkIGZyb20gZXZlbnRIYW5kbGVyLgoJKG1vZGVsVG9WaWV3KTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCgkoQnJhbmNoRWxlbWVudC5nZXRFbGVtZW50KTogUmV0dXJuIG51bGwgZm9yIG5vbi1leGlzdGluZyBpbmRlY2VzLgoJKEJyYW5jaEVsZW1lbnQuZ2V0RWxlbWVudEluZGV4KTogUmV0dXJuIDAgaW4gc29tZSBjb3JuZXIgY2FzZXMuCgkqIGphdmF4L3N3aW5nL3RleHQvRmllbGRWaWV3LmphdmEKCShtb2RlbFRvVmlldyk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEKCShtb2RlbFRvVmlldyk6IE1hZGUgcHVibGljLgoKMjAwNC0wOC0zMSAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogTmV3IGZpbGVzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogZ2NqL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBqYXZhL2F3dC9Db2xvci5qYXZhOiBGaXggZG9jdW1lbnRhdGlvbi4KCShSR0J0b0hTQik6IFVzZSBmbG9hdHMgZm9yIGNvbnZlcnNpb25zLgoJKiBqYXZheC9zd2luZy9CdXR0b25Hcm91cC5qYXZhOiBSdW4gSmFsb3B5LgoJKHNldFNlbGVjdGVkKTogUmVpbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhOiBSdW4gSmFsb3B5LgoJKGNoYW5nZVN0YXRlKTogTGV0IEJ1dHRvbkdyb3VwIGtub3cgdGhhdCB0aGUgYnV0dG9uCglpcyBjaGFuZ2luZyBzdGF0ZS4KCSogamF2YXgvc3dpbmcvSkNvbG9yQ2hvb3Nlci5qYXZhOiBJbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhOiBSdW4gSmFsb3B5LgoJKiBqYXZheC9zd2luZy9KU3Bpbm5lci5qYXZhOiBSdW4gSmFsb3B5LgoJKHNldFZhbHVlKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvSlRhYmJlZFBhbmUuamF2YTogUnVuIEphbG9weS4KCShyZW1vdmVUYWJBdCk6IENhbGwgY29ycmVjdCByZW1vdmUgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9TcGlubmVyTnVtYmVyTW9kZWwuamF2YTogUnVuIEphbG9weS4KCShnZXRQcmV2aW91c1ZhbHVlKTogQ29tcGFyZSBtaW5pbXVtIHZhbHVlLgoJKiBqYXZheC9zd2luZy9UaW1lci5qYXZhOiBSdW4gSmFsb3B5LgoJKHJ1bik6IENvbW1lbnQgb3V0IHByaW50bG4uCgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmE6CgkobW91c2VNb3ZlZCk6IEdldCBuZXcgdG9vbHRpcCB0ZXh0IGZvciBsb2NhdGlvbi4KCSogamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0Fic3RyYWN0Q29sb3JDaG9vc2VyUGFuZWwuamF2YToKCUphbG9weSBhbmQgSmF2YWRvYy4KCSogamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0NvbG9yQ2hvb3NlckNvbXBvbmVudEZhY3RvcnkuamF2YToKCUltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0RlZmF1bHRDb2xvclNlbGVjdGlvbk1vZGVsLmphdmE6CglSdW4gSmFsb3B5LgoJKHNldFNlbGVjdGVkQ29sb3IpOiBGaXJlIENoYW5nZUV2ZW50LgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvRGVmYXVsdEhTQkNob29zZXJQYW5lbC5qYXZhOgoJTmV3IGZpbGUuIEltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvY29sb3JjaG9vc2VyL0RlZmF1bHRQcmV2aWV3UGFuZWwuamF2YToKCURpdHRvLgoJKiBqYXZheC9zd2luZy9jb2xvcmNob29zZXIvRGVmYXVsdFJHQkNob29zZXJQYW5lbC5qYXZhOgoJRGl0dG8uCgkqIGphdmF4L3N3aW5nL2NvbG9yY2hvb3Nlci9EZWZhdWx0U3dhdGNoQ2hvb3NlclBhbmVsLmphdmE6CglEaXR0by4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0Fycm93QnV0dG9uLmphdmE6CgkoZ2V0QXJyb3cpOiBGaXggc2l6ZSBvZiB1cHdhcmQgcG9pbnRpbmcgYnV0dG9uLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29sb3JDaG9vc2VyVUkuamF2YToKCUltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmE6CgkoZ2V0V2lkdGhPZldpZGVzdExhYmVsKTogVXNlIHByZWZlcnJlZCBkaW1lbnNpb25zLgoJKGdldEhlaWdodE9mVGFsbGVzdExhYmVsKTogRGl0dG8uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGlubmVyVUkuamF2YToKCVJ1biBKYWxvcHkuCgkobW91c2VQcmVzc2VkKTogRGlzYWJsZSBjaGFuZ2VzIHRvIHNwaW5uZXIgaWYgaXQgaXMgbm90IGVuYWJsZWQuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmxlSGVhZGVyVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZVVJLmphdmE6CglBZGRlZCBjb3B5cmlnaHQgbm90aWNlLgoKMjAwNC0wOC0zMSAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGVzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogamF2YXgvc3dpbmcvQ29tYm9Cb3hFZGl0b3IuamF2YTogQWRkZWQgamF2YWRvY3MuCgkqIGphdmF4L3N3aW5nL0NvbWJvQm94TW9kZWwuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRDb21ib0JveE1vZGVsLmphdmE6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdENlbGxSZW5kZXJlci5qYXZhOiBBZGRlZCBqYXZhZG9jcwoJYW5kIHJhbiB0aHJvdWdoIGphbG9weSB0byBmaXggZm9ybWF0dGluZyBzdHlsZS4KCShnZXRMaXN0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTogVXNlIGFwcHJvcHJpYXRlIGJvcmRlcgoJaWYgcmVuZGVyZXIgaGFzIGZvY3VzIGFuZCB1c2Ugbm9Gb2N1c0JvcmRlciB3aGVuIGl0IGRvZXNuJ3QuCgkqIGphdmF4L3N3aW5nL0pDb21ib0JveC5qYXZhOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YToKCShsb2NhdGlvblRvSW5kZXgpOiBOZXcgTWV0aG9kLiBJbXBsZW1lbnRlZC4KCShpbmRleFRvTG9jYXRpb24pOiBOZXcgTWV0aG9kLgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmE6CgkodmlzaWJsZSk6IE5ldyBmaWVsZC4KCShpc1Zpc2libGUpOiBDaGFuZ2VkIHRvIHVzZSBuZXcgZmllbGQgYWJvdmUuCgkoc2V0VmlzaWJsZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9NdXRhYmxlQ29tYm9Cb3hNb2RlbC5qYXZhOiBBZGRlZCBqYXZhZG9jcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0Fycm93QnV0dG9uLmphdmE6Cgkoc2hhZG93KTogQ2hhbmdlZCBkZWZhdWx0IGNvbG9yIHRvIENvbG9yLmdyYXkuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib0JveFVJLmphdmE6IE5ldyBGaWxlLgoJVUkgZGVsZWdhdGUgZm9yIEpDb21ib0JveC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvUG9wdXAuamF2YTogTmV3IEZpbGUuCglQb3B1cCBtZW51IGNvbnRhaW5pbmcgbGlzdCBvZiBKQ29tYm9Cb3gncyBpdGVtcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94RWRpdG9yLmphdmE6IE5ldyBGaWxlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ29tYm9Cb3hSZW5kZXJlci5qYXZhOiBOZXcgRmlsZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NvbWJvQm94VUkuamF2YTogTmV3IEZpbGUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNDb21ib1BvcHVwLmphdmE6IE5ldyBGaWxlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUG9wdXBNZW51VUkuamF2YToKCShwb3B1cE1lbnVXaWxsQmVjb21lVmlzaWJsZSk6IFNldCBzZWxlY3RlZCBwYXRoIHRvIHRoZSBmaXJzdAoJZWxlbWVudCBvbmx5IGlmIGl0IGlzIG9mIHR5cGUgTWVudUVsZW1lbnQuIEFsc28gZml4IGZvcm1hdHRpbmcKCXN0eWxlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0NvbWJvUG9wdXAuamF2YTogQWRkZWQgamF2YWRvY3MgYW5kIG1pc3NpbmcKCW1ldGhvZHMgc2lnbmF0dXJlcy4KCjIwMDQtMDgtMzEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKGNyZWF0ZUJyYW5jaEVsZW1lbnQpOiBVc2UgbmV3IGNvbnN0cnVjdG9yIG9mIEJyYW5jaEVsZW1lbnQuCgkoY3JlYXRlTGVhZkVsZW1lbnQpOiBSZW5hbWVkIGFyZ3VtZW50cy4KCShnZXRSb290RWxlbWVudHMpOiBJbXBsZW1lbnRlZC4KCShCcmFuY2hFbGVtZW50LnN0YXJ0KTogUmVtb3ZlZC4KCShCcmFuY2hFbGVtZW50LmVuZCk6IExpa2V3aXNlLgoJKEJyYW5jaEVsZW1lbnQuQnJhbmNoRWxlbWVudCk6IEZpeGVkIGFyZ3VtZW50cy4KCShCcmFuY2hFbGVtZW50LmdldEVuZE9mZnNldCk6IFJlaW1wbGVtZW50ZWQuCgkoQnJhbmNoRWxlbWVudC5nZXRTdGFydE9mZnNldCk6IExpa2V3aXMuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEKCShwYWludCk6IERyYXcgc2ltcGxlIHZlcnRpY2FsIGxpbmUgYXMgY2FyZXQgaW5zdGVhZCBvZiBhIHJlY3RhbmdsZS4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoc2V0VGV4dCk6IFVzZSBkb2MgZGlyZWN0bHkuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEKCShuZXh0VGFiU3RvcCk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L1V0aWxpdGllcy5qYXZhCgkoZHJhd1RhYmJlZFRleHQpOiBuZXh0VGFiU3RvcCgpIHJldHVybnMgYW4gYWJzb2x1dGUgeCBwb3NpdGlvbi4KCShnZXRUYWJiZWRUZXh0V2lkdGgpOiBMaWtld2lzZS4KCjIwMDQtMDgtMzEgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKGlzRm9jdXNUcmF2ZXJzYWJsZSk6IFByZWRpY2F0ZSBvbiBpc0xpZ2h0d2VpZ2h0KCkKCShzZXRGb2N1c2FibGUpOiBTZXQgaXNGb2N1c1RyYXZlcnNhYmxlT3ZlcnJpZGRlbi4KCShyZXF1ZXN0Rm9jdXMpOiBQcmVkaWNhdGUgcGVlciBkaXNwYXRjaCBvbiAhaXNMaWdodHdlaWdodCgpCgkocmVxdWVzdEZvY3VzSW5XaW5kb3cpOiBMaWtld2lzZS4KCShkaXNwYXRjaEV2ZW50SW1wbCk6IENvb3JkaW5hdGUgd2l0aCBLZXlib2FyZEZvY3VzTWFuYWdlci4KCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShkaXNwYXRjaEV2ZW50SW1wbCk6IFByZWRpY2F0ZSBvbiBldmVudCBtYXNrLgoJKExpZ2h0d2VpZ2h0RGlzcGF0Y2hlcik6IFJlbW92ZSBmb2N1cyBtYWNoaW5lcnkuCgkqIGphdmEvYXd0L0RlZmF1bHRGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhCgkoYWNjZXB0KTogRXhwYW5kIHByZWRpY2F0ZSB0byBpbmNsdWRlIGlzRm9jdXNhYmxlKCkuCgkqIGphdmEvYXd0L0RlZmF1bHRLZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhOgoJR2xvYmFsbHkgY2hhbmdlIGMuZGlzcGF0Y2hFdmVudChlKSB0byByZWRpc3BhdGNoRXZlbnQoYyxlKQoJKiBqYXZhL2F3dC9LZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhCgkocmVkaXNwYXRjaEV2ZW50KTogU3luY2hyb25pemUgb24gZXZlbnQgdG8gcHJldmVudCBmZWVkYmFjay4KCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKEJ1dHRvbkZvY3VzTGlzdGVuZXIpOiBSZW1vdmUgY2xhc3MuCgkoaW5pdCk6IFNldCBmb2N1c1BhaW50ZWQsIGZvY3VzYWJsZS4KCSogamF2YXgvc3dpbmcvQWN0aW9uTWFwLmphdmEgKGdldCk6IENoZWNrIHBhcmVudCBmb3IgbnVsbC4KCSogamF2YXgvc3dpbmcvSW5wdXRNYXAuamF2YSAoZ2V0KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKGlucHV0TWFwX3doZW5Gb2N1c2VkKTogTmV3IElucHV0TWFwLgoJKGlucHV0TWFwX3doZW5BbmNlc3Rvck9mRm9jdXNlZCk6IExpa2V3aXNlLgoJKGlucHV0TWFwX3doZW5JbkZvY3VzZWRXaW5kb3cpOiBMaWtld2lzZS4KCShnZXRBY3Rpb25Gb3JLZXlTdHJva2UpOiBSZXdyaXRlLgoJKGdldENvbmRpdGlvbkZvcktleXN0cm9rZSk6IExpa2V3aXNlLgoJKEFjdGlvbkxpc3RlbmVyUHJveHkpOiBOZXcgcHJpdmF0ZSBjbGFzcy4KCShzZXRJbnB1dE1hcCk6IEltcGxlbWVudC4KCShnZXRJbnB1dE1hcCk6IExpa2V3aXNlLgoJKHNldEFjdGlvbk1hcCk6IExpa2V3aXNlLgoJKGdldEFjdGlvbk1hcCk6IExpa2V3aXNlLgoJKHByb2Nlc3NDb21wb25lbnRLZXlFdmVudCk6IE5ldyBlbXB0eSBtZXRob2QuCgkocHJvY2Vzc0tleUV2ZW50KTogSW1wbGVtZW50LgoJKHByb2Nlc3NLZXlCaW5kaW5nKTogTGlrZXdpc2UuCgkocmVzZXRLZXlib2FyZEFjdGlvbnMpOiBSZXdyaXRlLgoJKiBqYXZheC9zd2luZy9LZXlTdHJva2UuamF2YTogUmV3cml0ZS4KCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YQoJKG5vdGlmeUFjdGlvbik6IEltcGxlbWVudC4KCShyZXBsYWNlVUlBY3Rpb25NYXApOiBMaWtld2lzZS4KCShyZXBsYWNlVUlJbnB1dE1hcCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uTGlzdGVuZXIuamF2YQoJKGZvY3VzR2FpbmVkKTogSW1wbGVtZW50LgoJKGZvY3VzTG9zdCk6IFJlcGFpbnQgaWYgZm9jdXNQYWludGVkKCkuCgkoaW5zdGFsbEtleWJvYXJkQWN0aW9ucyk6IEluc3RhbGwgcHJlc3NlZCAvIHJlbGVhc2VkIGFjdGlvbnMuCgkodW5pbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKTogSW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YQoJKGZvY3VzQ29sb3IpOiBOZXcgZmllbGQuCgkoaW5zdGFsbERlZmF1bHRzKTogTG9hZCBmb2N1cyBjb2xvciwgaW5zdGFsbCBpbnB1dCBtYXAuCgkoaW5zdGFsbEtleWJvYXJkQWN0aW9ucyk6IEltcGxlbWVudC4KCSh1bmluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBMaWtld2lzZS4KCShwYWludEZvY3VzKTogUmV3cml0ZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShCdXR0b24uZm9jdXMpOiBOZXcgZGVmYXVsdCwgbWlkUHVycGxlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShraXQpOiBNYWtlIHN0YXRpYy4KCShpbnN0YWxsVUkpOiBHZXQgZG9jIGZyb20ga2l0LCBsb2FkIGRlZmF1bHRzLgoJKGdldEtleW1hcE5hbWUpOiBJbXBsZW1lbnQuCgkoY3JlYXRlS2V5bWFwKTogTGlrZXdpc2UuCgkoaW5zdGFsbEtleWJvYXJkQWN0aW9ucyk6IExpa2V3aXNlLgoJKGdldElucHV0TWFwKTogTGlrZXdpc2UuCgkoZ2V0QWN0aW9uTWFwKTogTGlrZXdpc2UuCgkoY3JlYXRlQWN0aW9uTWFwKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCgkoZ2V0U3RhcnRQb3NpdGlvbik6IEltcGxlbWVudC4KCShnZXRFbmRQb3NpdGlvbik6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YQoJKENvcHlBY3Rpb24pOiBOZXcgY2xhc3MuCgkoQ3V0QWN0aW9uKTogTGlrZXdpc2UuCgkoRGVmYXVsdEtleVR5cGVkQWN0aW9uKTogTGlrZXdpc2UuCgkoSW5zZXJ0QnJlYWtBY3Rpb24pOiBMaWtld2lzZS4KCShJbnNlcnRDb250ZW50QWN0aW9uKTogTGlrZXdpc2UuCgkoSW5zZXJ0VGFiQWN0aW9uKTogTGlrZXdpc2UuCgkoUGFzdGVBY3Rpb24pOiBMaWtld2lzZS4KCShkZWZhdWx0QWN0aW9ucyk6IE5ldyBzdGF0aWMgdGFibGUuCgkoY3JlYXRlQ2FyZXQpOiBJbXBsZW1lbnQuCgkoZ2V0QWN0aW9ucyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShLZXltYXBXcmFwcGVyKTogTmV3IHByaXZhdGUgY2xhc3MuCgkoS2V5bWFwQWN0aW9uTWFwKTogTGlrZXdpc2UuCgkoRGVmYXVsdEtleW1hcCk6IE5ldyBjbGFzcy4KCShrZXltYXBzKTogTmV3IHN0YXRpYyB0YWJsZS4KCShrZXltYXApOiBOZXcgZmllbGQuCgkoZ2V0S2V5bWFwKTogSW1wbGVtZW50LgoJKHJlbW92ZUtleW1hcCk6IExpa2V3aXNlLgoJKGFkZEtleW1hcCk6IExpa2V3aXNlLgoJKHNldEtleW1hcCk6IExpa2V3aXNlLgoJKGxvYWRLZXltYXApOiBMaWtld2lzZS4KCShnZXRBY3Rpb25zKTogTGlrZXdpc2UuCgkobWFyZ2luKTogTmV3IGZpZWxkLgoJKEpUZXh0Q29tcG9uZW50KTogQnVpbGQgYW5kIGluc3RhbGwgZGVmYXVsdCBrZXltYXAuCgkqIGphdmF4L3N3aW5nL3RleHQvVGV4dEFjdGlvbi5qYXZhCgkodGV4dEFjdGlvbik6IENhbGwgc3VwZXIgcHJvcGVybHkuCgkoZ2V0VGV4dENvbXBvbmVudCk6IEltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvdGV4dC9VdGlsaXRpZXMuamF2YQoJKGRyYXdUYWJiZWRUZXh0KTogQWRqdXN0IHBvc2l0aW9uIGJ5IGFzY2VudC4KCjIwMDQtMDgtMzEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCglQUiBBV1QvMTcxNTYKCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51SXRlbVBlZXIuamF2YQoJKHNldEVuYWJsZWQpOiBNYWtlIGl0IGEgbmF0aXZlIG1ldGhvZC4KCSogamF2YS9hd3QvRGVmYXVsdEtleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmEKCShwb3N0UHJvY2Vzc0tleUV2ZW50KTogT25seSBwb3N0IGV2ZW50IGlmIHRoZSBtZW51IGl0ZW0KCWlzIGFjdGl2ZS4KCSogamF2YS9hd3QvTWVudUl0ZW0uamF2YToKCVByaXZhdGUgZmllbGQgJ2VuYWJsZWQnIHNob3VsZCBiZSB0cnVlIGJ5IGRlZmF1bHQuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWVudUl0ZW1QZWVyLmMKCShzZXRFbmFibGVkKTogTmV3IGZ1bmN0aW9uLgoKMjAwNC0wOC0zMSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCVBSIEFXVC8xNzA1OQoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a01lbnVCYXJQZWVyLmphdmEKCShuYXRpdmVTZXRIZWxwTWVudSk6IE5ldyBuYXRpdmUgbWV0aG9kIGRlY2xhcmF0aW9uLgoJKGFkZEhlbHBNZW51KTogQ2FsbCBuYXRpdmVTZXRIZWxwTWVudSgpLgoJKGFkZE1lbnUpOiBSZW1vdmUuCgkqIGphdmEvYXd0L01lbnVCYXIuamF2YQoJKHNldEhlbHBNZW51KTogQ2FsbCBhZGROb3RpZnkoKSBvbiB0aGUgbmV3IGhlbHAgbWVudS4KCShhZGQpOiBDYWxsIGFkZE5vdGlmeSgpIG9uIHRoZSBuZXcgbWVudS4KCShhZGROb3RpZnkpOiBTZXQgdGhlIGhlbHAgbWVudSBpZiBvbmUgZXhpc3RzLgoJKiBqYXZhL2F3dC9wZWVyL01lbnVCYXJQZWVyLmphdmEKCShhZGRNZW51KTogUmVtb3ZlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVCYXJQZWVyLmMKCShuYXRpdmVTZXRIZWxwTWVudSk6IE5ldyBtZXRob2QuCgoyMDA0LTA4LTMxICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IEFkZCBuZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBqYXZheC9zd2luZy9Cb3guamF2YTogRml4IHNldHRpbmcgb2YgbGF5b3V0IGluIGN0b3IuCgkqIGphdmF4L3N3aW5nL0pTY3JvbGxQYW5lLmphdmE6IFNjcm9sbCBoZWFkZXJzIGFzIHdlbGwuCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhOiBSZWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvSlZpZXdQb3J0LmphdmE6IE9ubHkgYWRkIG5vbi1udWxsIGNoaWxkcmVuLgoJKiBqYXZheC9zd2luZy9TY3JvbGxQYW5lTGF5b3V0LmphdmE6IENvcnJlY3QgaGVhZGVyIGNhbGN1bGF0aW9ucy4KCSogamF2YXgvc3dpbmcvVGltZXIuamF2YTogRml4IHN0b3BwaW5nIG51bGwgd2FrZXIuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJsZUhlYWRlclVJLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFibGVVSS5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ2VsbFJlbmRlcmVyLmphdmE6IENvbmZpZ3VyZS4KCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ29sdW1uTW9kZWwuamF2YTogRmxlc2ggb3V0LgoJKiBqYXZheC9zd2luZy90YWJsZS9EZWZhdWx0VGFibGVNb2RlbC5qYXZhOiBDbGVhbiB1cC4KCSogamF2YXgvc3dpbmcvdGFibGUvSlRhYmxlSGVhZGVyLmphdmE6IEltcGxlbWVudC4KCjIwMDQtMDgtMzEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL0pTcGlubmVyLmphdmEgKGdldENoYW5nZUxpc3RlbmVycyk6IFJlbW92ZSBkb3VibGUKCXNlbWktY29sb24uCgoyMDA0LTA4LTMxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0NsYXNzcGF0aEZvbnRQZWVyTWV0cmljcy5jOgoJRGVjbGFyZSB2YXJpYWJsZXMgYXQgdG9wIG9mIGZ1bmN0aW9ucy9ibG9jay4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmM6IExpa2V3aXNlLgoKMjAwNC0wOC0zMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9sYW5nL1JlY3RhbmdsZS5qYXZhIChpbnRlcnNlY3RzKTogQ2hlY2sgci53aWR0aCBhbmQgci5oZWlnaHQKCWZpcnN0LgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5WaWV3LmphdmEKCShzZWxlY3RlZENvbG9yKTogTmV3IGZpZWxkLgoJKHVuc2VsZWN0ZWRDb2xvcik6IExpa2V3aXNlLgoJKGZvbnQpOiBMaWtld2lzZS4KCSh1cGRhdGVNZXRyaWNzKTogTmV3IG1ldGhvZC4KCShsaW5lVG9SZWN0KTogTGlrZXdpc2UuCgkobW9kZWxUb1ZpZXcpOiBMaWtld2lzZS4KCShkcmF3U2VsZWN0ZWRUZXh0KTogVXNlIGNvbG9yIGZyb20gSlRleHRDb21wb25lbnQgYWQgZHJhdyB3aXRoCglVdGlsaXRpZXMgY2xhc3MuCgkoZHJhd1Vuc2VsZWN0ZWRUZXh0KTogTGlrZXdpc2UuCgkocGFpbnQpOiBJbml0aWFsaXplIGhlbHBlciBmaWVsZHMuCgkqIGphdmF4L3N3aW5nL3RleHQvVmlldy5qYXZhCgkoZ2V0Q2hpbGRBbGxvY2F0aW9uKTogTmV3IG1ldGhvZC4KCShnZXRWaWV3SW5kZXgpOiBMaWtld2lzZS4KCShnZXRUb29sVGlwVGV4dCk6IExpa2V3aXNlLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmEKCShkcmF3VGFiYmVkVGV4dCk6IFJlaW1wbGVtZW50ZWQuCgkoZ2V0VGFiYmVkVGV4dFdpZHRoKTogTGlrZXdpc2UuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhCgkoaW5zdGFsbERlZmF1bHRzKTogSW5zdGFsbCBjYXJldCBhbmQgaGlnaGxpZ2h0ZXIuCgkobW9kZWxUb1ZpZXcpOiBVc2UgQmlhcy5Gb3J3YXJkIHdoZW4gY2FsbGluZyBzaWJsaW5nLgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKEVsZW1lbnRFZGl0KTogSW1wbGVtZW50cyBEb2N1bWVudEV2ZW50LkVsZW1lbnRDaGFuZ2UuCgkoRWxlbWVudEVkaXQuRWxlbWVudEVkaXQpOiBOZXcgbWV0aG9kLgoJKEVsZW1lbnRFZGl0LmdldENoaWxkcmVuQWRkZWQpOiBMaWtld2lzZS4KCShFbGVtZW50RWRpdC5nZXRDaGlsZHJlblJlbW92ZWQpOiBMaWtld2lzZS4KCShFbGVtZW50RWRpdC5nZXRFbGVtZW50KTogTGlrZXdpc2UuCgkoRWxlbWVudEVkaXQuZ2V0SW5kZXgpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Q2FyZXQuamF2YQoJKGNvbG9yKTogUmVtb3ZlZC4KCSh0ZXh0Q29tcG9uZW50KTogUmVuYW1lZCBmcm9tIHBhcmVudCwgbWFkZSBwcml2YXRlLgoJKHNlbGVjdGlvblZpc2libGUpOiBSZW5hbWVkIGZyb20gdmlzX3NlbCwgbWFkZSBwcml2YXRlLgoJKGJsaW5rUmF0ZSk6IFJlbmFtZWQgZnJvbSBibGluaywgbWFkZSBwcml2YXRlLgoJKG1hZ2ljQ2FyZXRQb3NpdGlvbik6IFJlbmFtZWQgZnJvbSBtYWdpYywgbWFkZSBwcml2YXRlLgoJKHZpc2libGUpOiBSZW5hbWVkIGZyb20gdmlzLCBtYWRlIHByaXZhdGUuCgkoZG90KTogTWFkZSBwcml2YXRlLgoJKG1hcmspOiBMaWtld2lzZS4KCShkZWluc3RhbGwpOiBSZW1vdmUgYXMgTW91c2VNb3Rpb25MaXN0ZW5lci4KCShpbnN0YWxsKTogSW5pdGlhbGl6ZSB0ZXh0Q29tcG9uZW50IGZpcnN0LiBBZGQgYXMgTW91c2VNb3Rpb25MaXN0ZW5lci4KCShwYWludCk6IFJlaW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJKHNldENhcmV0KTogRGVpbnN0YWxsIG9sZCBjYXJldCwgaW5zdGFsbCBuZXcgb25lIGFuZCBmaXJlIHByb3BlcnR5CgljaGFuZ2UgYWZ0ZXIgc2V0dGluZyBwcm9wZXJ0eS4KCShzZXRIaWdobGlnaHRlcik6IERlaW5zdGFsbCBvbGQgaGlnaGxpZ2h0ZXIsIGluc3RhbGwgbmV3IG9uZSBhbmQgZmlyZQoJcHJvcGVydHkgY2hhbmdlIGFmdGVyIHNldHRpbmcgcHJvcGVydHkuCgkoc2V0Q2FyZXRDb2xvcik6IEZpcmUgcHJvcGVydHkgY2hhbmdlIGFmdGVyIHNldHRpbmcgcHJvcGVydHkuCgkoc2V0RGlzYWJsZWRUZXh0Q29sb3IpOiBMaWtld2lzZS4KCShzZXRTZWxlY3RlZFRleHRDb2xvcik6IExpa2V3aXNlLgoJKHNldFNlbGVjdGlvbkNvbG9yKTogTGlrZXdpc2UuCgkobW9kZWxUb1ZpZXcpOiBOZXcgbWV0aG9kLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCgkoZ2V0VGV4dCk6IFNpbXBsaWZpZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvU2VnbWVudC5qYXZhCgkoY3VycmVudCk6IE5ldyBmaWVsZC4KCShjdXJyZW50KTogUmVpbXBsZW1lbnRlZC4KCShmaXJzdCk6IExpa2V3aXNlLgoJKGdldEluZGV4KTogTGlrZXdpc2UuCgkobGFzdCk6IExpa2V3aXNlLgoJKG5leHQpOiBMaWtld2lzZS4KCShwcmV2aW91cyk6IExpa2V3aXNlLgoJKHNldEluZGV4KTogTGlrZXdpc2UuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShkZWZhdWx0VGV4dEljb25HYXApOiBNYWRlIHByb3RlY3RlZC4KCShkZWZhdWx0VGV4dFNoaWZ0T2Zmc2V0KTogTGlrZXdpc2UuCgkodGV4dFNoaWZ0T2Zmc2V0KTogTmV3IGZpZWxkLgoJKGNsZWFyVGV4dFNoaWZ0T2Zmc2V0KTogTmV3IG1ldGhvZC4KCShnZXRUZXh0U2hpZnRPZmZzZXQpOiBMaWtld2lzZS4KCShzZXRUZXh0U2hpZnRPZmZzZXQpOiBMaWtld2lzZS4KCjIwMDQtMDgtMzEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShpbnN0YWxsVUkpOiBBZGQgZXZlbnRIYW5kbGVyIGFzIHByb3BlcnR5IGxpc3RlbmVyLgoJKHVuaW5zdGFsbFVJKTogcmVtb3ZlIGV2ZW50SGFuZGxlciBhcyBwcm9wZXJ0IGxpc3RlbmVyLgoJKGluc3RhbGxEZWZhdWx0cyk6IEFkZGVkIGNvbW1lbnQuCgkoaW5zdGFsbExpc3RlbmVycyk6IExpa2V3aXNlLgoJKGluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBMaWtld2lzZS4KCSh1bmluc3RhbGxEZWZhdWx0cyk6IExpa2V3aXNlLgoJKHVuaW5zdGFsbExpc3RlbmVycyk6IExpa2V3aXNlLgoJKHVuaW5zdGFsbEtleWJvYXJkQWN0aW9ucyk6IExpa2V3aXNlLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhOgoJRml4ZWQgc29tZSB0eXBvcyBpbiBjb21tZW50cy4KCShpbnNlcnRTdHJpbmcpOiBSZWltcGxlbWVudGVkLgoJKHJlbW92ZSk6IExpa2V3aXNlLgoJKHJlcGxhY2UpOiBOZXcgbWV0aG9kLgoJKGNoaWxkcmVuKTogRG9udCB1c2UgZnVsbHkgcXVhbGlmaWVkIGNsYXNzIG5hbWUuCgkoRGVmYXVsdERvY3VtZW50RXZlbnQub2Zmc2V0KTogUmVuYW1lZCBmcm9tIG9mZi4KCShEZWZhdWx0RG9jdW1lbnRFdmVudC5sZW5ndGgpOiBSZW5hbWVkIGZyb20gbGVuLgoJKERlZmF1bHREb2N1bWVudEV2ZW50LnR5cGUpOiBOZXcgZmllbGQuCgkoRGVmYXVsdERvY3VtZW50RXZlbnQuRGVmYXVsdERvY3VtZW50RXZlbnQpOiBOZXcgY29uc3RydWN0b3IuCgkoRGVmYXVsdERvY3VtZW50RXZlbnQuZ2V0VHlwZSk6IEltcGxlbWVudGVkLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKFJvb3RWaWV3LnRleHRDb21wb25lbnQpOiBSZW1vdmVkLgoJKFJvb3RWaWV3LlJvb3RWaWV3KTogRG9uJ3QgaW5pdGlhbGl6ZSB0ZXh0Q29tcG9uZW50LgoJKFJvb3RWaWV3LmdldFZpZXdGYWN0b3J5KTogTmV3IG1ldGhvZC4KCShFdmVudEhhbmRsZXIpOiBOZXcgaW5uZXIgY2xhc3MuCgkocm9vdFZpZXcpOiBJbml0aWFsaXplIGF0IGluc3RhbmNlIGNyZWF0aW9uLgoJKGV2ZW50SGFuZGxlcik6IE5ldyBmaWVsZC4KCShpbnN0YWxsVUkpOiBEb24ndCBjcmVhdGUgdmlldyBoaWVyYXJjaHkgZGlyZWN0bHksCgljYWxsIG1vZGVsQ2hhbmdlZCgpIGluc3RlYWQuCgkobW9kZWxDaGFuZ2VkKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoc2V0RG9jdW1lbnQpOiBGaXJlIHByb3BlcnR5IGNoYW5nZSBldmVudC4KCjIwMDQtMDgtMzEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShSb290Vmlldy5wYWludCk6IFJlbW92ZWQgZGVidWcgb3V0cHV0LgoJKHBhaW50U2FmZWx5KTogRHJhdyBoaWdobGlnaHRlciBiZWZvcmUgdGV4dC4KCShwYWludEJhY2tncm91bmQpOiBVc2UgYmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGNvbXBvbmVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RvZ2dsZUJ1dHRvblVJLmphdmE6CglSZWZvcm1hdHRlZC4KCjIwMDQtMDgtMzEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEKCShCYXNpY1Rvb2xCYXJVSSk6IEZpeGVkIGFyZ3VtZW50cyBmb3IgY29uc3RydWN0b3IuCgkoY3JlYXRlVUkpOiBGaXhlZCBjcmVhdGlvbiBvZiBvYmplY3QuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhCgkoZmlyZVZhbHVlQ2hhbmdlZCk6IFJlbmFtZWQgZnJvbSBmaXJlU2VsZWN0aW9uVmFsdWVDaGFuZ2VkLAoJbWFkZSBwcm90ZWN0ZWQuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9UYWJTZXQuamF2YQoJKFRhYlNldCk6IEltcGxlbWVudHMgamF2YS5pby5TZXJpYWxpemFibGUuCgkqIGphdmF4L3N3aW5nL3RleHQvVGFiU3RvcC5qYXZhCgkoVGFiU3RvcCk6IEltcGxlbWVudHMgamF2YS5pby5TZXJpYWxpemFibGUuCgkoVGFiU3RvcCk6IE1hZGUgcHVibGljLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKHNldFVJKTogRmlyZSBQcm9wZXJ0eUNoYW5nZS4KCSogamF2YXgvc3dpbmcvSkxhYmVsLmphdmEKCSh0ZXh0KTogUmVuYW1lZCBmcm9tIGxhYmVsVGV4dC4KCShob3Jpem9udGFsQWxpZ25tZW50KTogTmV3IGRlZmF1bHQgdmxhdWUuCgkoaWNvbik6IFJlbmFtZWQgZnJvbSBhY3RpdmVJY29uLgoJKGRpc3BsYXllZE1uZW1vbmljKTogUmVuYW1lZCBmcm9tIG1uZW1vbmljS2V5LCBhZGRlZCBkZWZhdWx0IHZhbHVlLgoJKGRpc3BsYXllZE1uZW1vbmljSW5kZXgpOiBSZW5hbWVkIGZyb20gdW5kZXJsaW5lQ2hhci4KCShzZXREaXNwbGF5ZWRNbmVtb25pYyk6IFJlaW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL0pSYWRpb0J1dHRvbi5qYXZhCgkoSlJhZGlvQnV0dG9uKTogTmV3IGNvbnN0cnVjdG9ycy4KCSogamF2YXgvc3dpbmcvSlRleHRGaWVsZC5qYXZhCgkoSlRleHRGaWVsZCk6IFRocm93IGV4Y2VwdGlvbiBpZiBjb2x1bXMgPCAwLCBpbml0aWFsaXRpYWx6Cgl0aGlzLmNvbHVtbnMgZGlyZWN0bHkgYW5kIGluaXRpYWxpemUgZG9jdW1lbnQgd2l0aCB0ZXh0IGNvbmRpdGlvbmFsbHkuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0Zvcm1hdHRlZFRleHRGaWVsZFVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUGFzc3dvcmRGaWVsZFVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dEFyZWFVSS5qYXZhOiBOZXcgZmlsZXMuCgkqIGphdmF4L3N3aW5nL3RleHQvRmllbGRWaWV3LmphdmEKCShwYWludCk6IEp1c3QgY2FsbCBzdXBlciBtZXRob2QgZm9yIG5vdy4KCSogTWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wOC0zMSAgS2EtSGluZyBDaGV1bmcgIDxrYWhpbmdAamF2YWJzcC5vcmc+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdFNwaW5uZXJNb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvSlNwaW5uZXIuamF2YSwKCWphdmF4L3N3aW5nL1NwaW5uZXJOdW1iZXJNb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NwaW5uZXJVSS5qYXZhOgoJTmV3IGZpbGVzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDbGFzc0RlZmF1bHRzKTogQWRkZWQgZGVmYXVsdHMgZm9yIEJhc2ljU3Bpbm5lclVJLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDgtMzEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9UcmFuc2ZlckhhbmRsZXIuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQ29tYm9Qb3B1cC5qYXZhOiBOZXcgZmlsZXMKCSogTWFrZWZpbGUuYW06IEFkZGVkIGphdmF4L3N3aW5nL1RyYW5zZmVySGFuZGxlci5qYXZhIGFuZAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9Db21ib1BvcHVwLmphdmEKCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wOC0zMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Ab250b2dyYXBoaWNzLmNvbT4KCgkqIGphdmF4L3N3aW5nL3RleHQvVXRpbGl0aWVzLmphdmE6IE5ldyBmaWxlLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBqYXZheC9zd2luZy90ZXh0L1V0aWxpdGllcy5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA4LTMxICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGV4dC9TaW1wbGVBdHRyaWJ1dGVTZXQuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVDb25zdGFudHMuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3N3aW5nL3RleHQvU3R5bGVDb250ZXh0LmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zd2luZy90ZXh0L1RhYlNldC5qYXZhOiBOZXcgZmlsZS4KCSogamF2YXgvc3dpbmcvdGV4dC9UYWJTdG9wLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RhY3REb2N1bWVudC5qYXZhOgoJKEFic3RyYWN0RWxlbWVudCk6IEltcGxlbWVudCBhdHRyaWJ1dGUgc3VwcG9ydC4KCSogamF2YXgvc3dpbmcvdGV4dC9BdHRyaWJ1dGVTZXQuamF2YQoJKE5hbWVBdHRyaWJ1dGUpOiBOZXcgc3RhdGljIGZpZWxkLgoJKFJlc29sdmVBdHRyaWJ1dGUpOiBOZXcgc3RhdGljIGZpZWxkLgoJKiBNYWtlZmlsZS5hbTogVXBkYXRlIGZvciBuZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNC0wOC0zMSAgQ3JhaWcgQmxhY2sgIDxjcmFpZy5ibGFja0Bhb25peC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MuamF2YQoJKGRyYXdJbWFnZSk6IEFkZCBzdXBwb3J0IGZvciBzY2FsaW5nIHBpeG1hcHMuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MuYwoJKGNvcHlBbmRTY2FsZVBpeG1hcCk6IE5ldyBuYXRpdmUgbWV0aG9kLgoKMjAwNC0wOC0zMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCVBSIEFXVC8xNjEyMQoJKiBqbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuYzogSW5jbHVkZSBzdGRpby5oLiAgRWxpbWluYXRlCgl0eXBlLXB1bm5pbmcgY29tcGlsZXIgd2FybmluZ3MgdXNpbmcgdW5pb25zLgoJKHRocm93KTogUmVwbGFjZSBiemVybyB3aXRoIG1lbXNldC4KCjIwMDQtMDgtMzEgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCSAgICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1BpeGJ1ZkRlY29kZXIuYzogTW92ZQoJTlNBX1BCIG1hY3JvcyB0byBndGtwZWVyLmguICBJbmNsdWRlIGd0a3BlZXIuaC4KCSogam5pL2d0ay1wZWVyL2d0a3BlZXIuaDogTW92ZSBOU0FfUEIgbWFjcm9zIGhlcmUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jCgkobmF0aXZlU2V0SWNvbkltYWdlRnJvbURlY29kZXIpOiBVc2UgTlNBX0dFVF9QQl9QVFIgbWFjcm8uCgoyMDA0LTA4LTMxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtQaXhidWZEZWNvZGVyLmM6CgkjaW5jbHVkZSBnZGsuaCwgbm90IGd0ay5oLiAjaW5jbHVkZSBqbmkuaCwgbmF0aXZlX3N0YXRlLmgsIHN0cmluZy5oCglhbmQgc3RkbGliLmgsIG5vdCBndGtwZWVyLmguCgkoKnZtKTogTmV3IHN0YXRpYyB2YXJpYWJsZS4KCShhcmVhUHJlcGFyZWRJRCk6IE1ha2Ugc3RhdGljLgoJKGFyZWFVcGRhdGVkSUQpOiBMaWtld2lzZS4KCShhcmVhX3ByZXBhcmVkKTogR2V0IGFuZCB1c2UgSk5JRW52IHRocm91Z2ggc3RvcmVkIEphdmFWTSAqdm0uCgkoYXJlYV9wcmVwYXJlZCk6IExpa2V3aXNlLgoJKGFyZWFfdXBkYXRlZCk6IExpa2V3aXNlLgoJKGNsb3NlZCk6IExpa2V3aXNlLgoJKGluaXRTdGF0aWNTdGF0ZSk6IEluaXRpYWxpemUgKnZtIGphdmFWTS4KCShwdW1wQnl0ZXMpOiBVc2UgZ2l2ZW4gZW52LCBub3QgZ2xvYmFsIGdka19lbnYuCgoyMDA0LTA4LTMxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2F3dC9nZW9tL0N1YmljQ3VydmUyRC5qYXZhIChzb2x2ZUN1YmljKTogUmVtb3ZlZCBkdXBsaWNhdGUKCWNvbW1lbnRzLgoKMjAwNC0wOC0zMSAgU3ZlbiBkZSBNYXJvdGh5ICA8c3ZlbkBwaHlzdG8uc2U+CgoJKiBqYXZhL2F3dC9nZW9tL0N1YmljQ3VydmUyRC5qYXZhOiBSZWluZGVudC4KCShjb250YWlucyk6IEltcGxlbWVudGVkLgoJKGludGVyc2VjdHMpOiBJbXBsZW1lbnRlZC4KCSogamF2YS9hd3QvZ2VvbS9RdWFkQ3VydmUyRC5qYXZhOiBMaWtld2lzZS4KCSogamF2YS9hd3QvZ2VvbS9HZW5lcmFsUGF0aC5qYXZhOiBSZWluZGVudCBhbmQgZG9jdW1lbnQuCglGdWxseSAocmUpaW1wbGVtZW50ZWQgdXNpbmcgc2VwYXJhdGUgeHBvaW50cyBhbmQgeXBvaW50cwoJZmxvYXRbXSBjb29yZHMuCgkqIGphdmEvYXd0L2dlb20vUm91bmRSZWN0YW5nbGUyRC5qYXZhOiBTZXZlcmFsIGJ1Z2ZpeGVzIChCdWcgIzYwMDcpLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pNZW51SXRlbS5qYXZhCgkoZ2V0TWVudURyYWdNb3VzZUxpc3RlbmVycyk6IE5ldyBtZXRob2QuCgkoZ2V0TWVudUtleUxpc3RlbmVycyk6IExpa2V3aXNlLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEKCShtb2RlbCk6IE1hZGUgcHJvdGVjdGVkLgoJKGFjdGlvbkxpc3RlbmVyKTogTGlrZXdpc2UuCgkoY2hhbmdlTGlzdGVuZXIpOiBMaWtld2lzZS4KCShpdGVtTGlzdGVuZXIpOiBMaWtld2lzZS4KCShtdWx0aUNsaWNrVGhyZXNoaG9sZCk6IE5ldyBmaWVsZC4KCShnZXRBY3Rpb25MaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKGdldENoYW5nZUxpc3RlbmVycyk6IExpa2V3aXNlLgoJKGdldEl0ZW1MaXN0ZW5lcnMpOiBMaWtld2lzZS4KCShmaXJlSXRlbVN0YXRlQ2hhbmdlZCk6IFNpbXBsaWZpZWQgaW1wbGVtZW50YXRpb24uCgkoZmlyZUFjdGlvblBlcmZvcm1lZCk6IExpa2V3aXNlLgoJKGZpcmVTdGF0ZUNoYW5nZWQpOiBMaWtld2lzZS4KCShnZXRNdWx0aUNsaWNrVGhyZXNoaG9sZCk6IE5ldyBtZXRob2QuCgkoc2V0TXVsdGlDbGlja1RocmVzaGhvbGQpOiBMaWtld2lzZS4KCjIwMDQtMDgtMzEgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L2ltYWdlL0tlcm5lbC5qYXZhIChjbG9uZSk6IFVzZSBzdXBlci5jbG9uZSgpLgoKMjAwNC0wOC0zMSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCVBSIEFXVC8xNjY4MgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEKCShuYXRpdmVTZXRJY29uSW1hZ2UpOiBSZW5hbWUgdG8gbmF0aXZlU2V0SWNvbkltYWdlRnJvbURlY29kZXIuCgkobmF0aXZlU2V0SWNvbkltYWdlRnJvbURhdGEpOiBOZXcgbmF0aXZlIG1ldGhvZCBkZWNsYXJhdGlvbi4KCShzZXRJY29uSW1hZ2UpOiBIYW5kbGUgaW1hZ2VzIG5vdCBwcm9kdWNlZCBmcm9tIEdka1BpeGJ1ZkRlY29kZXIuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtJbWFnZS5qYXZhCgkoZ2V0UGl4ZWxDYWNoZSk6IE5ldyBtZXRob2QuCgkoZ2V0Q29sb3JNb2RlbCk6IE5ldyBtZXRob2QuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jCgkobmF0aXZlU2V0SWNvbkltYWdlKTogUmVuYW1lIHRvIG5hdGl2ZVNldEljb25JbWFnZUZyb21EZWNvZGVyLgoJKGZyZWVfcGl4YnVmX2RhdGEpOiBOZXcgaGVscGVyIGZ1bmN0aW9uLgoJKG5hdGl2ZVNldEljb25JbWFnZUZyb21EYXRhKTogTmV3IGZ1bmN0aW9uLgoKMjAwNC0wOC0zMSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCglQUiBTV0lORy8xNjU3NgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YQoJKHNldExheWVyKTogUGVybWl0IGNoYW5naW5nIGxheWVyIGFmdGVyIGFkZGl0aW9uLgoJKHNldFBvc2l0aW9uKTogUGVybWl0IG92ZXItbGVuZ3RoIHBvc2l0aW9ucy4KCShsYXllclRvUmFuZ2UpOiBDb21wYXJlIGludFZhbHVlKClzLgoJKiBqYXZheC9zd2luZy9Cb3guamF2YSAoY3JlYXRlSG9yaXpvbnRhbEJveCk6IEltcGxlbWVudC4KCShjcmVhdGVSaWdpZEFyZWEpOiBMaWtld2lzZS4KCShjcmVhdGVWZXJ0aWNhbEJveCk6IExpa2V3aXNlLgoKMjAwNC0wOC0zMSAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YToKCShwcm9jZXNzTW91c2VFdmVudCk6IENvbnN1bWUgZXZlbnQgYWZ0ZXIKCWxpc3RlbmVycyBwcm9jZXNzIGl0LgoJKHByb2Nlc3NNb3VzZU1vdGlvbkV2ZW50KTogZGl0dG8uCgkocHJvY2Vzc01vdXNlV2hlZWxFdmVudCk6IGRpdHRvLgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YToKCShhY3F1aXJlQ29tcG9uZW50Rm9yTW91c2VFdmVudCk6CglEbyBub3QgZGlzcGF0Y2ggdG8gZXZlbnRzIHRoYXQgaGF2ZSBiZWVuCglyZW1vdmVkIGZyb20gdGhlIENvbnRhaW5lci4KCShoYW5kbGVFdmVudCk6IENvbnN1bWUgdGhlIE1vdXNlRXZlbnRzLgoJKiBqYXZheC9zd2luZy9SZXBhaW50TWFuYWdlci5qYXZhOgoJKHBhaW50RGlydHlSZWdpb25zKTogRG8gbm90IGFkZCB0byBsaXN0IG9mCglkYW1hZ2VkIGFyZWFzIGlmIHRoZSBjb21wb25lbnQgaGFzIG5vIHJvb3QuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YTogQ2xlYW4gaXAgaW1wb3J0cy4KCjIwMDQtMDgtMzEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKGdldEZvbnRQZWVyKTogRG9uJ3QgcmV0dXJuCgludWxsIHdoZW4gYSBNaXNzaW5nUmVzb3VyY2VFeGNlcHRpb24gaXMgdGhyb3duLiBTaG91bGQgbmV2ZXIgaGFwcGVuLgoKMjAwNC0wOC0zMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9hd3QvRXZlbnRRdWV1ZS5qYXZhIChwb3N0RXZlbnQpOiBUaHJvdyBOdWxsUG9pbnRlckV4Y2VwdGlvbgoJd2hlbiBhcmd1bWVudCBpcyBudWxsLgoKMjAwNC0wOC0zMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyX2FkZEV4cG9zZUZpbHRlcik6CglEZWZpbmUgaGlkIGF0IHN0YXJ0IG9mIGZ1bmN0aW9uLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXJfcmVtb3ZlRXhwb3NlRmlsdGVyKToKCUxpa2V3aXNlLgoKMjAwNC0wOC0zMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvYXd0L0VtYmVkZGVkV2luZG93LmphdmE6IFJlaW5kZW50LgoJKiBqYXZheC9zd2luZy9KQnV0dG9uLmphdmE6IFJlaW5kZW50LgoJKiBqYXZheC9zd2luZy9KQ2hlY2tCb3guamF2YTogUmVpbmRlbnQuCgoyMDA0LTA4LTMxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBNYWtlZmlsZS5hbSAoZ3RrX2Nfc291cmNlX2ZpbGVzKTogQWRkZWQKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR1RocmVhZE5hdGl2ZU1ldGhvZFJ1bm5lci5jLgoJKGd0a19hd3RfcGVlcl9zb3VyY2VzKTogQWRkZWQKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HVGhyZWFkTXV0ZXguamF2YSBhbmQKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HVGhyZWFkTmF0aXZlTWV0aG9kUnVubmVyLmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDgtMzEgIEFyY2hpZSBDb2JicyAgPGFyY2hpZUBkZWxscm9hZC5vcmc+CgoJKiBqbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuYzogZG9uJ3QgI2luY2x1ZGUgbm9uZXhpc3RlbnQgZmlsZXMKCjIwMDQtMDgtMzEgIFN0ZXZlbiBBdWdhcnQgIDxhdWdhcnRAd2F0c29uLmlibS5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuYyAoYy1mb250LWxvY2stZXh0cmEtdHlwZXMpOgoJQWRkZWQgamZpZWxkSUQsIGptZXRob2RJRC4KCjIwMDQtMDgtMzEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWFpblRocmVhZC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWFpblRocmVhZF9ndGtJbml0KTogSW5pdGlhbGl6ZQoJZ2RrX2VudiBiZWZvcmUgY2FsbGluZyBhbnkgZ2RrIG9yIGd0ayBmdW5jdGlvbi4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNYWluVGhyZWFkLmphdmEgKGd0a0luaXRDYWxsZWQpOiBOZXcgZmllbGQuCgkoR3RrTWFpblRocmVhZCk6IENhbGwgd2FpdCgpIGluIHdoaWxlIGxvb3Agd2FpdGluZyBmb3IgZ3RrSW5pdENhbGxlZC4KCShydW4pOiBTZXQgZ3RrSW5pdENhbGxlZC4KCjIwMDQtMDgtMzEgIFN0ZXZlbiBBdWdhcnQgIDxhdWdhcnRAd2F0c29uLmlibS5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWFpblRocmVhZC5qYXZhIChydW4pOiBQYXNzIHRoZSB2YWx1ZSBvZgoJdGhlIGdudS5jbGFzc3BhdGguYXd0Lmd0ay5wb3J0YWJsZS5uYXRpdmUuc3luYyBzeXN0ZW0gcHJvcGVydHkgdG8gQy4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWFpblRocmVhZC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWFpblRocmVhZF9ndGtJbml0KTogTmV3IGFyZ3VtZW50LAoJcG9ydGFibGVOYXRpdmVTeW5jLiAgRGVsZWdhdGUgUE9SVEFCTEVfTkFUSVZFX1NZTkMgd29yayB0bwoJaW5pdF9nbGliX3RocmVhZHMuCgkoaW5pdF9nbGliX3RocmVhZHMpOiBOZXcgZnVuY3Rpb24uCgoyMDA0LTA4LTMxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuYzogRGVmaW5lIE1JTl8sIE1BWF8gYW5kIE5PUk1fCglQUklPUklUWSB3aGVuIG5vdCBhbHJlYWR5IGRlZmluZWQgaW4gaGVhZGVyIGZpbGUuCgoyMDA0LTA4LTMxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuYyAoc2V0dXBfY2FjaGUpOiBDYWxsCglFeGNlcHRpb25PY2N1cnJlZCwgbm90IEV4Y2VwdGlvbkNoZWNrLCB3aGVuIHdlIGRvbid0IGhhdmUgSk5JIDEuMi4KCjIwMDQtMDgtMzEgIFN0ZXZlbiBBdWdhcnQgIDxhdWdhcnRAd2F0c29uLmlibS5jb20+CgoJKiBnbnUvbmF0aXZlL2puaS9ndGstcGVlci9ndGhyZWFkLWpuaS5jOiBJbmRlbnRhdGlvbiBmaXhlcy4KCUltcGxlbWVudGVkIG1pc3NpbmcgZnVuY3Rpb25zIGZvciBHVEsyLgoJQWRkZWQgZXJyb3IgaGFuZGxpbmcuCglSZW5hbWVkIHN0YXRpYyBmdW5jdGlvbnMgb3V0IG9mIHRoZSBnXyBuYW1lc3BhY2UuCglBZGRlZCBUUkFDRV9BUElfQ0FMTFMsIEVYUExBSU5fVFJPVUJMRSwgRVhQTEFJTl9CUk9LRU4sCglFWFBMQUlOX0JBRExZX0JST0tFTiwgYW5kIERFTEVURV9MT0NBTF9SRUZTIG9wdGlvbnMuCglSZXdyb3RlIGdsb2JhbC1yZWZlcmVuY2UgY29kZS4KCUVsaW1pbmF0ZWQgY2FzY2FkaW5nIGVycm9ycy4KCShtdXRleF90cnlsb2NrX2puaV9pbXBsKSBGdWxseSBpbXBsZW1lbnRlZC4KCShjb25kX3RpbWVkX3dhaXRfam5pX2ltcGwpIFdlbnQgZnJvbSBtaWxsaXNlY29uZCB0byBtaWNyb3NlY29uZAoJcmVzb2x1dGlvbi4KCShzZXR1cF9jYWNoZSkgTmV3IGZ1bmN0aW9uLgoJKG11dGV4X2NvbmRfd2FpdF9qbmlfaW1wbCwgbXV0ZXhfY29uZF90aW1lZF93YWl0X2puaV9pbXBsKSBGaXhlZAoJYnVnIHdoZXJlIHRoZXkgd2VyZSBub3QgdW5sb2NraW5nIHRoZSBHTXV0ZXggYXNzb2NpYXRlZCB3aXRoIHRoZQoJY29uZGl0aW9uIHZhcmlhYmxlIGR1cmluZyB0aGUgd2FpdCBvbiB0aGF0IGNvbmRpdGlvbiB2YXJpYWJsZS4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01haW5UaHJlYWQuYywKCW5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuYywKCW5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ3RocmVhZC1qbmkuaAoJKGdfdGhyZWFkX2puaV9mdW5jdGlvbnMpOiBSZW5hbWVkIHRvIC4uLgoJKHBvcnRhYmxlX25hdGl2ZV9zeW5jX2puaV9mdW5jdGlvbnMpOiB0aGlzIG5hbWUuCgkoZ2RrX3ZtKTogUmVuYW1lZCB0by4uLgoJKHRoZV92bSk6IHRoaXMgbmFtZS4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01haW5UaHJlYWQuYwoJKGdka192bSk6IFJlbW92ZWQgZHVwbGljYXRlIGRlZmluaXRpb24uCgkoZ3RrSW5pdCk6IFJlbW92ZWQgc3RyYXkgbWVzc2FnZSB0byBzdGRvdXQuCgkoZ3RrSW5pdCk6IFVzZSBnX21hbGxvYyBhbmQgZ19mcmVlIGluc3RlYWQgb2YgbWFsbG9jIGFuZCBmcmVlLgoJKGd0a0luaXQpOiBGaXggYSBjb25zdCBhc3NpZ25tZW50IGJ1Zy4KCShndGtJbml0KTogU2ltcGxpZmllZCBjb2RlLgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dUaHJlYWROYXRpdmVNZXRob2RSdW5uZXIuamF2YSwKCW5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dUaHJlYWROYXRpdmVNZXRob2RSdW5uZXIuYywKCW5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dUaHJlYWROYXRpdmVNZXRob2RSdW5uZXIuaCwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HVGhyZWFkTXV0ZXguamF2YToKCU5ldyBmaWxlcy4KCjIwMDQtMDgtMzEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL0JveC5qYXZhOiBQdXQgRklYTUUgY29tbWVudCBhYm92ZSBjbGFzcyBkZWNsYXJhdGlvbi4KCSogamF2YXgvc3dpbmcvSkJ1dHRvbi5qYXZhOiBSZW1vdmUgaWxsZWdhbCBMJkYgSFRNTCBmcm9tIGNvbW1lbnRzLgoJKiBqYXZheC9zd2luZy9KQ2hlY2tCb3guamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pEaWFsb2cuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pSYWRpb0J1dHRvbi5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlRvZ2dsZUJ1dHRvbi5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvVUlNYW5hZ2VyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9ib3JkZXIvVGl0bGVkQm9yZGVyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGFiZWxVSS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUG9wdXBNZW51U2VwYXJhdG9yVUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQcm9ncmVzc0JhclVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTZXBhcmF0b3JVSS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhOiBMaWtld2lzZS4KCjIwMDQtMDgtMzEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCglQUiBBV1QvMTY2ODIKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhCgkoc2V0SWNvbkltYWdlKTogQWRkIGEgRklYTUUgZm9yIHVuaGFuZGxlZCBjYXNlcy4KCjIwMDQtMDgtMzEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCglQUiBBV1QvMTYwNDAKCSogZ251L2F3dC9MaWdodHdlaWdodFJlZGlyZWN0b3IuamF2YTogQ2FsbCBnZXRNb2RpZmllcnNFeCwgbm90CglnZXRNb2RpZmllcnMuICBSZXBsYWNlIG9sZCBidXR0b24gbWFza3Mgd2l0aCBuZXcgb25lcy4KCSogZ251L2F3dC94bGliL1hFdmVudExvb3AuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtCdXR0b25QZWVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmM6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTGlzdFBlZXIuamF2YTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUZXh0RmllbGRQZWVyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9BV1RLZXlTdHJva2UuamF2YTogUmVtb3ZlIG9sZCBtb2RpZmllciBtYXNrcy4KCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmE6IFJlcGxhY2Ugb2xkIG1vZGlmaWVyCW1hc2tzIHdpdGggbmV3CglvbmVzLgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YTogQ2FsbCBnZXRNb2RpZmllcnNFeCwgbm90CglnZXRNb2RpZmllcnMuCgkqIGphdmEvYXd0L0RlZmF1bHRLZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhOiBMaWtld2lzZS4gIFJlbW92ZQoJb2xkIG1vZGlmaWVyIG1hc2tzLgoJKiBqYXZheC9zd2luZy9KTWVudUl0ZW0uamF2YTogUmVwbGFjZSBvbGQgYnV0dG9uIG1hc2tzIHdpdGggbmV3CglvbmVzLgoJKiBqYXZheC9zd2luZy9LZXlTdHJva2UuamF2YTogQ2FsbCBnZXRNb2RpZmllcnNFeCwgbm90CglnZXRNb2RpZmllcnMuCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uTGlzdGVuZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNJbnRlcm5hbEZyYW1lVUkuamF2YTogTGlrZXdpc2UuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRXZlbnRzLmM6IFJlcGxhY2Ugb2xkCgltYXNrIG1hY3JvcyB3aXRoIG5ldyBvbmVzLgoJKiBqbmkvZ3RrLXBlZXIvZ3RrcGVlci5oOiBSZXBsYWNlIG9sZCBidXR0b24gYW5kIG1vZGlmaWVyIG1hc2sKCW1hY3JvcyB3aXRoIG5ldyBvbmVzIHJlcHJlc2VudGluZyBuZXcgbWFza3MuCgoyMDA0LTA4LTMxICBDcmFpZyBCbGFjayAgPGNyYWlnLmJsYWNrQGFvbml4LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhCgkoZHJhd1JvdW5kUmVjdCk6IEltcGxlbWVudGVkLgoJKGZpbGxSb3VuZFJlY3QpOiBJbXBsZW1lbnRlZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YQoJKGRyYXdSb3VuZFJlY3QpOiBSZWltcGxlbWVudGVkIHRvIG1hdGNoIEdka0dyYXBoaWNzLgoJKGZpbGxSb3VuZFJlY3QpOiBSZWltcGxlbWVudGVkIHRvIG1hdGNoIEdka0dyYXBoaWNzLgoKMjAwNC0wOC0zMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9FbWJlZGRlZFdpbmRvdy5qYXZhCgkoYWRkTm90aWZ5KTogVXNlIEFjY2Vzc0NvbnRyb2xsZXIgdG8gYWxsb3cgZXhlY3V0aW9uIG9mIHByaXZpbGVnZWQKCWNvZGUuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L0VtYmVkZGVkV2luZG93LmphdmEKCShzdGF0aWMpOiBSZW1vdmVkLgoJKGFkZE5vdGlmeSk6IFNldCBwZWVyIHZpYSByZWZsZWN0aW9uLgoJKHNldFdpbmRvd1BlZXIpOiBSZW1vdmVkLgoJKiBnbnUvamF2YS9hd3QvbmF0RW1iZWRkZWRXaW5kb3cuY2M6IFJlbW92ZWQuCgkqIE1ha2VmaWxlLmFtIChuYXRfc291cmNlX2ZpbGVzKToKCVJlbW92ZWQgZ251L2phdmEvYXd0L25hdEVtYmVkZGVkV2luZG93LmNjLgoKMjAwNC0wOC0zMSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IEFkZCAgZ251L2phdmEvc2VjdXJpdHkvYWN0aW9uL0dldFByb3BlcnR5QWN0aW9uLmphdmEKCWFuZCBnbnUvamF2YS9zZWN1cml0eS9hY3Rpb24vU2V0QWNjZXNzaWJsZUFjdGlvbi5qYXZhLgoKMjAwNC0wOC0zMSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvc2VjdXJpdHkvYWN0aW9uL0dldFByb3BlcnR5QWN0aW9uLmphdmEgKHNldFBhcmFtZXRlcnMpOgoJUmVuYW1lZCBmcm9tICdzZXROYW1lJy4gTmV3IDItYXJndW1lbnQgZm9ybSB3aXRoIGRlZmF1bHQgdmFsdWUuCgkocnVuKTogUGFzcyBkZWZhdWx0ICd2YWx1ZScgcGFyYW1ldGVyIHRvIFN5c3RlbS5nZXRQcm9wZXJ0eSgpLgoJKiBnbnUvamF2YS9zZWN1cml0eS9hY3Rpb24vU2V0QWNjZXNzaWJsZUFjdGlvbi5qYXZhOiBGaXggamF2YWRvYwoJdHlwb3MuCgoyMDA0LTA4LTMxICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9zZWN1cml0eS9hY3Rpb24vR2V0UHJvcGVydHlBY3Rpb24uamF2YTogTmV3IGNsYXNzLgoJKiBnbnUvamF2YS9zZWN1cml0eS9hY3Rpb24vU2V0QWNjZXNzaWJsZUFjdGlvbi5qYXZhOiBOZXcgY2xhc3MuCgoyMDA0LTA4LTMxICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEKCShzZXRJY29uSW1hZ2UpOiBDaGVjayBpZiBpbWFnZSBpcyBudWxsLgoKMjAwNC0wOC0zMSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhCgkoY3JlYXRlKTogU2V0IHRoZSBpY29uIGltYWdlLgoJKG5hdGl2ZVNldEljb25JbWFnZSk6IE5ldyBuYXRpdmUgbWV0aG9kIGRlY2xhcmF0aW9uLgoJKHNldEljb25JbWFnZSk6IEltcGxlbWVudC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCShuYXRpdmVTZXRJY29uSW1hZ2UpOiBOZXcgZnVuY3Rpb24uCgoyMDA0LTA4LTMxICBEYWxpYm9yIFRvcGljIDxyb2JpbGFkQGthZmZlLm9yZz4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dQZWVyLmMKCShmaWxlbmFtZUZpbHRlckNhbGxiYWNrKTogRGVjbGFyZSBsb2NhbCB2YXJpYWJsZSBhY2NlcHRlZCBiZWZvcmUgdXNlLgoKMjAwNC0wOC0zMSAgRGFsaWJvciBUb3BpYyA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBnbnUvamF2YS9hd3QvQ29tcG9uZW50RGF0YUJsaXRPcC5qYXZhOgoJQ2xlYW5lZCB1cCBpbXBvcnRzLgoKMjAwNC0wOC0zMSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvR0xpZ2h0d2VpZ2h0UGVlci5qYXZhLAoJZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEsCglqYXZheC9zd2luZy9KU2Nyb2xsUGFuZS5qYXZhOiBSZW1vdmVkCglyZWR1bmRhbnQgaW1wb3J0cy4KCjIwMDQtMDgtMzEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0RlZmF1bHRLZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhCgkocG9zdFByb2Nlc3NLZXlFdmVudCk6IE9ubHkgYWN0aXZhdGUgTWVudVNob3J0Y3V0cyBvbiBLRVlfUFJFU1NFRAoJZXZlbnQuICBGaXggc2hpZnQgbW9kaWZpZXIgY2hlY2tpbmcuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWVudVBlZXIuYwoJKGFjY2VsX2F0dGFjaCk6IFJlbW92ZS4KCShzZXR1cEFjY2VsR3JvdXApOiBSZW1vdmUgY2FsbHMgdG8gYWNjZWxfYXR0YWNoLgoKMjAwNC0wOC0zMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0FyZy5qYXZhOiBSZW1vdmUgZmlsZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0FyZ0xpc3QuamF2YTogUmVtb3ZlIGZpbGUuCgoJKiBNYWtlZmlsZS5hbSAoZ3RrX2F3dF9wZWVyX3NvdXJjZXMpOiBSZW1vdmUgR3RrQXJnLmphdmEgYW5kCglHdGtBcmdMaXN0LmphdmEuCgkoZ3RrX2NfZmlsZXMpOiBVc2UgQ0FJUk9fQ0ZMQUdTIGFuZCBQQU5HT0ZUMl9DRkxBR1MsIG5vdCBfTElCUy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtCdXR0b25QZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0J1dHRvblBlZXIuYwoJKGNyZWF0ZShTdHJpbmcpKTogTmV3IG1ldGhvZC4KCShjcmVhdGUpOiBDYWxsIG5ldyBjcmVhdGUgbWV0aG9kLgoJKGdldEFyZ3MpOiBSZW1vdmUgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hlY2tib3hQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NoZWNrYm94UGVlci5jCgkobmF0aXZlQ3JlYXRlKTogUmVuYW1lIHRvIGNyZWF0ZS4KCShndGtTZXRMYWJlbCk6IFJlbmFtZSB0byBndGtCdXR0b25TZXRMYWJlbC4KCShndGtUb2dnbGVCdXR0b25TZXRBY3RpdmUpOiBOZXcgbWV0aG9kLgoJKGNyZWF0ZSk6IENhbGwgZ3RrVG9nZ2xlQnV0dG9uU2V0QWN0aXZlIGFuZCBndGtCdXR0b25TZXRMYWJlbC4KCShzZXRTdGF0ZSk6IFJlcGxhY2Ugc2V0IGNhbGwgd2l0aCBndGtUb2dnbGVCdXR0b25TZXRBY3RpdmUuCgkoc2V0TGFiZWwpOiBSZXBsYWNlIGd0a1NldExhYmVsIGNhbGwgd2l0aCBndGtCdXR0b25TZXRMYWJlbC4KCShnZXRBcmdzKTogUmVtb3ZlIG1ldGhvZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoZ3RrV2lkZ2V0U2V0U2Vuc2l0aXZlKTogTmV3IG1ldGhvZC4KCShndGtXaWRnZXRTZXRQYXJlbnQpOiBMaWtld2lzZS4KCShHdGtDb21wb25lbnRQZWVyKTogQ2FsbCBzZXRQYXJlbnQsIHNldENvbXBvbmVudEJvdW5kcyBhbmQKCXNldFZpc2libGVBbmRFbmFibGVkLgoJKHNldFBhcmVudCk6IE5ldyBtZXRob2QuCgkoc2V0Q29tcG9uZW50Qm91bmRzKTogTmV3IG1ldGhvZC4KCShzZXRWaXNpYmxlQW5kRW5hYmxlZCk6IE5ldyBtZXRob2QuCgkoc2V0RW5hYmxlZCk6IENhbGwgZ3RrV2lkZ2V0U2V0U2Vuc2l0aXZlLgoJKGdldEFyZ3MpOiBSZW1vdmUgbWV0aG9kLgoJUmVtb3ZlIGFsbCBzZXQgbWV0aG9kcy4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0RpYWxvZ1BlZXIuamF2YSAoY3JlYXRlKTogQ2FsbAoJZ3RrV2luZG93U2V0TW9kYWwsIHNldFRpdGxlIGFuZCBzZXRSZXNpemFibGUuCgkoZ2V0QXJncyk6IFJlbW92ZSBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGaWxlRGlhbG9nUGVlci5qYXZhCgkoc2V0Q29tcG9uZW50Qm91bmRzKTogTmV3IG1ldGhvZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhIChzZXRSZXNpemFibGUpOgoJUmVwbGFjZSBzZXQgY2FsbCB3aXRoIGd0a1dpbmRvd1NldFJlc2l6YWJsZS4KCShnZXRBcmdzKTogUmVtb3ZlIG1ldGhvZC4KCShjcmVhdGUpOiBDYWxsIHNldFRpdGxlIGFuZCBzZXRSZXNpemFibGUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtXaW5kb3dQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKGd0a1dpbmRvd1NldFRpdGxlKTogTmV3IG1ldGhvZC4KCShndGtXaW5kb3dTZXRSZXNpemFibGUpOiBOZXcgbWV0aG9kLgoJKGd0a1dpbmRvd1NldE1vZGFsKTogTmV3IG1ldGhvZC4KCShzZXRQYXJlbnQpOiBOZXcgbWV0aG9kLgoJKHNldFZpc2libGVBbmRFbmFibGVkKTogTmV3IG1ldGhvZC4KCShnZXRBcmdzKTogUmVtb3ZlIG1ldGhvZC4KCShzZXRUaXRsZSk6IENhbGwgZ3RrV2luZG93U2V0VGl0bGUuCgkoc2V0UmVzaXphYmxlKTogQ2FsbCBndGtXaW5kb3dTZXRSZXNpemFibGUuCgkqIGpuaS9ndGstcGVlci9ndGtwZWVyLmggW0RFQlVHX0xPQ0tJTkddOiBOZXcgZGVmaW5lIHRvIHR1cm4gb24KCWFuZCBvZmYgbG9ja2luZyBpbnN0cnVtZW50YXRpb24uCgoyMDA0LTA4LTMxICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBBZGQgbmV3IGZpbGUuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBnY2ovTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUKCSogaW5jbHVkZS9NYWtlZmlsZS5pbjoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmE6CgkoYWNxdWlyZUNvbXBvbmVudEZvck1vdXNlRXZlbnQpOiBSZXNwZWN0Cgl0aGUgZXZlbnQgbWFzayB3aGVuIGxvb2tpbmcgZm9yIGNhbmRpZGF0ZS4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhOgoJUmVtb3ZlIHRvb2xUaXAgZmllbGQuCgkoY3JlYXRlVG9vbFRpcCk6IENyZWF0ZSBhIHRvb2x0aXAgb24gZGVtYW5kLgoJKHNldFRvb2xUaXBUZXh0KTogUmVnaXN0ZXIgd2l0aCB0aGUgVG9vbFRpcE1hbmFnZXIuCgkoZ2V0VG9vbFRpcFRleHQoTW91c2VFdmVudCkpOiBSZXR1cm4gZ2V0VG9vbFRpcFRleHQoKS4KCSogamF2YXgvc3dpbmcvSlRvb2xUaXAuamF2YTogSW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9UaW1lci5qYXZhOiBKYWxvcHkuCgkocmVzdGFydCk6IENhbGwgc3RvcCwgdGhlbiBzdGFydC4KCShzdG9wKTogSW50ZXJydXB0IHRoZSB0aW1lciByYXRoZXIgdGhhbiB3YWl0IGZvcgoJdGhlIHRpbWVyIHRvIGNvbWUgdG8gYSBzdG9wIG5hdHVyYWxseS4KCSogamF2YXgvc3dpbmcvVG9vbFRpcE1hbmFnZXIuamF2YTogSW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCUNoYW5nZSBUb29sVGlwLmJhY2tncm91bmQgY29sb3IuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sVGlwVUkuamF2YToKCUltcGxlbWVudC4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlCgoyMDA0LTA4LTMxICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL0RpcmVjdENvbG9yTW9kZWwuamF2YSAoRGlyZWN0Q29sb3JNb2RlbCk6IEZpeAoJY29uc3RydWN0b3IgcGFyYW0gY29tbWVudHMuCgoyMDA0LTA4LTMxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YTogRG9jdW1lbnQgQVdUIDEuMCBldmVudCBoYW5kbGVyCgltZXRob2RzLgoKMjAwNC0wOC0zMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Ab250b2dyYXBoaWNzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0JveC5qYXZhOgoJKGNyZWF0ZUdsdWUpOiBJbXBsZW1lbnRlZAoJKGNyZWF0ZUhvcml6b250YWxHbHVlKTogSW1wbGVtZW50ZWQKCShjcmVhdGVIb3Jpem9udGFsU3RydXQpOiBJbXBsZW1lbnRlZAoJKGNyZWF0ZVZlcnRpY2FsR2x1ZSk6IEltcGxlbWVudGVkCgkoY3JlYXRlVmVydGljYWxTdHJ1dCk6IEltcGxlbWVudGVkCgoyMDA0LTA4LTMxICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hvaWNlUGVlci5qYXZhCgkoR3RrQ2hvaWNlUGVlcik6IERvIG5vdCBhdXRvbWF0aWNhbGx5IHNlbGVjdCBmaXJzdCBpdGVtLgoJKGdldEhpc3RvcnkpOiBSZW1vdmUuCgkobmF0aXZlR2V0U2VsZWN0ZWQpOiBOZXcgbWV0aG9kLgoJKG5hdGl2ZVJlbW92ZUFsbCk6IE5ldyBtZXRob2QuCgkoYWRkKTogVXNlIG5hdGl2ZUdldFNlbGVjdGVkKCkgaW5zdGVhZCBvZiBnZXRIaXN0b3J5KCkuCgkocmVtb3ZlKTogTGlrZXdpc2UuCgkocmVtb3ZlQWxsKTogQ2FsbCBuYXRpdmVSZW1vdmVBbGwoKS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyLmMKCShjcmVhdGUpOiBNaWdyYXRlIHRvIEd0a0NvbWJvQm94LgoJKGFwcGVuZCk6IExpa2V3aXNlLgoJKG5hdGl2ZUFkZCk6IExpa2V3aXNlLgoJKG5hdGl2ZVJlbW92ZSk6IExpa2V3aXNlLgoJKHNlbGVjdCk6IExpa2V3aXNlLgoJKG5hdGl2ZVJlbW92ZUFsbCk6IE5ldyBtZXRob2QuCgkobmF0aXZlR2V0U2VsZWN0ZWQpOiBOZXcgbWV0aG9kLgoJKHNlbGVjdGlvbl9jaGFuZ2VkKTogTmV3IG1ldGhvZC4KCShnZXRIaXN0b3J5KTogUmVtb3ZlLgoJKGl0ZW1fYWN0aXZhdGUpOiBSZW1vdmUuCgkoaXRlbV9yZW1vdmVkKTogUmVtb3ZlLgoJKGNvbm5lY3RfY2hvaWNlX2l0ZW1fc2VsZWN0YWJsZV9ob29rKTogUmVtb3ZlLgoKMjAwNC0wOC0zMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1RleHRGaWVsZFBlZXIuamF2YSAoY3JlYXRlKTogVXNlIHRmCgl2YXJpYWJsZSBpbiBzZXRFZGl0YWJsZSBjYWxsLgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1RleHRGaWVsZFBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dEZpZWxkUGVlci5jCgkoZ3RrV2lkZ2V0U2V0QmFja2dyb3VuZCk6IE5ldyBtZXRob2QuCgkoZ3RrV2lkZ2V0U2V0Rm9yZWdyb3VuZCk6IExpa2V3aXNlLgoJKGNyZWF0ZSk6IFNldCBwZWVyJ3MgZWRpdGFibGUgc3RhdGUgYmFzZWQgb24gYXd0Q29tcG9uZW50J3MuCgoJKiBqYXZhL2F3dC9CdXR0b24uamF2YSAoQnV0dG9uKCkpOiBVc2UgZW1wdHkgc3RyaW5nIHJhdGhlciB0aGFuCgludWxsIGluIG5vLWxhYmVsIGNvbnN0cnVjdG9yLgoKMjAwNC0wOC0zMSAgUm9tYW4gS2VubmtlICA8cm9tYW5Ab250b2dyYXBoaWNzLmNvbT4KCgkqIGphdmF4L3N3aW5nL0JveExheW91dC5qYXZhOiBSZWltcGxlbWVudC4KCjIwMDQtMDgtMzEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhLAoJZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMKCShpbml0U3RhdGUoR3RrQ29tcG9uZW50UGVlcikpOiBEb24ndCByZXR1cm4gYXJyYXkgb2YgY29sb3VyCgl2YWx1ZXMuCgkoR2RrR3JhcGhpY3MoaW50LGludCkpOiBTZXQgZGVmYXVsdCBmb250IHRvIHNpemUgMTIuCgkoR2RrR3JhcGhpY3MoR3RrQ29tcG9uZW50UGVlcikpOiBTZXQgZ3JhcGhpY3MgY29sb3VyIHRvCgljb21wb25lbnQncyBmb3JlZ3JvdW5kIGNvbG91ci4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YSwKCWdudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmMKCShpbml0U3RhdGUoR3RrQ29tcG9uZW50UGVlcikpOiBEb24ndCByZXR1cm4gYXJyYXkgb2YgY29sb3VyCgl2YWx1ZXMuCgkoR2RrR3JhcGhpY3MyRChHdGtDb21wb25lbnRQZWVyKSk6IFNldCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kCgljb2xvdXJzIHRvIGNvbXBvbmVudCdzIGNvbG91cnMuCgkoY3VycmVudF9jb2xvcnNfb2Zfd2lkZ2V0KTogUmVtb3ZlIGZ1bmN0aW9uLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrT2ZmU2NyZWVuSW1hZ2UuamF2YSAoZ2V0R3JhcGhpY3MpOgoJUmV0dXJuIGEgbmV3IGdyYXBoaWNzIG9iamVjdC4KCSogamF2YS9hd3QvRm9udC5qYXZhICh0b1N0cmluZyk6IEZpeCBmb3JtYXQuCgkqIGphdmEvYXd0L0dyYXBoaWNzLmphdmEgKHRvU3RyaW5nKTogTGlrZXdpc2UuCgoyMDA0LTA4LTMxICBDcmFpZyBCbGFjayAgPGNyYWlnLmJsYWNrQGFvbml4LmNvbT4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVQZWVyLmMKCShhZGRUZWFyT2ZmKTogTmV3IGZ1bmN0aW9uLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWVudVBlZXIuamF2YSAoYWRkVGVhck9mZik6CglOZXcgbmF0aXZlIG1ldGhvZC4KCShpbml0KTogQ2FsbCBhZGRUZWFyT2ZmKCkgd2hlbiBtZW51LmlzVGVhck9mZigpLgoKMjAwNC0wOC0zMSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L0NsYXNzcGF0aFRvb2xraXQuamF2YSAoY3JlYXRlSW1hZ2VQcm9kdWNlcik6IE5ldy4KCURlZmF1bHQgaW1wbGVtZW50YXRpb24uCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKGNyZWF0ZUltYWdlUHJvZHVjZXIpOiBOZXcuCglJbXBsZW1lbnQgdXNpbmcgR2RrUGl4YnVmRGVjb2Rlci4KCjIwMDQtMDgtMzEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEKCShHdGtDb21wb25lbnRQZWVyKTogVXNlIGd0a1dpZGdldEdldFByZWZlcnJlZERpbWVuc2lvbnMoKSBmb3IKCXNldHRpbmcgdGhlIHNpemUgb2YgR3RrRmlsZURpYWxvZ1BlZXJzLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKGd0a1dpZGdldEdldFByZWZlcnJlZERpbWVuc2lvbnMpOiBGb3Igd2lkZ2V0cyBleHRlbmRpbmcgR3RrV2luZG93LAoJdXNlIHRoZWlyIGRlZmF1bHQgc2l6ZXMgcmF0aGVyIHRoYW4gdGhlaXIgbmF0dXJhbCByZXF1aXNpdGlvbnMuCgoyMDA0LTA4LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkZvcm1hdHRlZFRleHRGaWVsZC5qYXZhCgkoSkZvcm1hdHRlZFRleHRGaWVsZCk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YQoJKEJlZXBBY3Rpb24pOiBOZXcgaW5uZXIgY2xhc3MuCgkqIGphdmF4L3N3aW5nL3RleHQvU2VnbWVudC5qYXZhCgkocGFydGlhbFJldHVybik6IE5ldyBmaWVsZC4KCShzZXRQYXJ0aWFsUmV0dXJuKTogTmV3IG1ldGhvZC4KCShpc1BhcnRpYWxSZXR1cm4pOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9WaWV3LmphdmEKCShjcmVhdGVGcmFnbWVudCk6IEZpeGVkIHR5cG8uCgkoZ2V0U3RhcnRPZmZzZXQpOiBOZXcgbWV0aG9kLgoJKGdldEVuZE9mZnNldCk6IExpa2V3aXNlLgoKMjAwNC0wOC0zMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bHRUYWJsZUNvbHVtbk1vZGVsLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTWFkZSBwcml2YXRlLgoJKGxpc3RlbmVyTGlzdCk6IEluaXRpYWxpemUuCgkoY2hhbmdlRXZlbnQpOiBJbml0aWFsaXplLgoJKiBqYXZheC9zd2luZy90YWJsZS9KVGFibGVIZWFkZXIuamF2YQoJKEpUYWJsZUhlYWRlcik6IE5ldyBjb25zdHJ1Y3RvcnMuCgkoY3JlYXRlRGVmYXVsdENvbHVtbk1vZGVsKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGFibGUvVGFibGVDb2x1bW4uamF2YQoJKHNldEhlYWRlclJlbmRlcmVyKTogU2ltcGxpZmllZCBjb2RlLgoJKHNldENlbGxSZW5kZXJlcik6IExpa2V3aXNlLgoJKHNldFdpZHRoKTogTGlrZXdpc2UuCgoyMDA0LTA4LTMxICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3RleHQvQXR0cmlidXRlZFN0cmluZy5qYXZhIChBdHRyaWJ1dGVkU3RyaW5nKTogVXNlCglBcnJheUxpc3QgdG8gYnVpbGQgYXJyYXkgb2YgYXR0cmlidXRlIHJhbmdlcy4gIERvbid0IHVzZQoJYGF0dHJpYnMnIGJlZm9yZSBpdCBpcyBzZXQuCgoyMDA0LTA4LTMwICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBIQUNLSU5HOiBSZW1vdmUgcmVmZXJlbmNlIHRvIHNwZWNpYWwgYXV0b21ha2UuIE5vIGxvbmdlciBuZWVkZWQuCgoyMDA0LTA4LTMwICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9zZWN1cml0eS91dGlsL1ByaW1lLmphdmEgKGdlbmVyYXRlUmFuZG9tUHJpbWUpOiBVc2UKCXJldHVybiByZXN1bHQgZnJvbSBgYWRkJy4KCjIwMDQtMDgtMzAgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvcm1pL3NlcnZlci9VSUQuamF2YSAoVUlEKTogUmVhZCBgbmV4dENvdW50Jywgbm90IGNvdW50LgoKMjAwNC0wOC0zMCAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogZ251L2phdmEvc2VjdXJpdHkvZGVyL0RFUkVuY29kaW5nRXhjZXB0aW9uLmphdmE6IFJlbW92ZSB3aGl0ZXNwYWNlcy4KCjIwMDQtMDgtMzAgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL0ZpbGUuamF2YSBGaWxlKFN0cmluZyxTdHJpbmcpOiBGaXhlZCBoYW5kbGluZyBvZiBlbXB0eQoJcGF0aC4KCjIwMDQtMDgtMzAgIENhc2V5IE1hcnNoYWxsICA8Y3NtQGdudS5vcmc+CgoJQXV0aG9yIGUtbWFpbCB1cGRhdGVkIGZvciBhbGwgZmlsZXMuCgkqIGdudS9qYXZhL3NlY3VyaXR5L09JRC5qYXZhIChlcXVhbHMpOiBUZXN0IGlmIHRoZSBhdXJnbWVudCBpcyBhbgoJaW5zdGFuY2Ugb2YgT0lELgoJKGNvbXBhcmVUbyk6IFVzZSBgZXF1YWxzJy4KCSogZ251L2phdmEvc2VjdXJpdHkvZGVyL0JpdFN0cmluZy5qYXZhIChlcXVhbHMpOiBUZXN0IGlmIHRoZQoJYXJndW1lbnQgaXMgYW4gaW5zdGFuY2Ugb2YgQml0U3RyaW5nLgoJKiBnbnUvamF2YS9zZWN1cml0eS9kZXIvREVSUmVhZGVyLmphdmE6IFJlbW92ZWQgTklPIGltcG9ydHMuICBNYWRlCgljbGFzcyBmaW5hbC4gTWFkZSBmaWVsZHMgcHJpdmF0ZS4KCSg8aW5pdD4pOiBOZXcgY29uc3RydWN0b3IuCgkoc2tpcCk6IE5ldyBtZXRob2QuCgkobWFrZVN0cmluZyk6IE1hZGUgc3RhdGljOyBkb24ndCB1c2UgTklPLgoJKGZyb21Jc284ODU5MSwgZnJvbVV0ZjE2QmUsIGZyb21VdGY4KTogTmV3IG1ldGhvZHMuCgkqIGdudS9qYXZhL3NlY3VyaXR5L2Rlci9ERVJXcml0ZXIuamF2YTogRml4ZWQgaW1wb3J0cy4KCSh3cml0ZVN0cmluZyk6IERvbid0IHVzZSBOSU8uCgkodG9Jc284ODU5MSwgdG9VdGYxNkJlLCB0b1V0ZjgpOiBOZXcgbWV0aG9kcy4KCSogZ251L2phdmEvc2VjdXJpdHkvZGVyL0RFUlZhbHVlLmphdmE6IEZvcm1hdHRpbmcgY2hhbmdlcyBvbmx5LgoJKiBnbnUvamF2YS9zZWN1cml0eS9kZXIvREVSLmphdmE6IExpa2V3aXNlLgoKMjAwNC0wOC0zMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9uaW8vQ2hhckJ1ZmZlci5qYXZhIChwdXQpOiBGaXggdHlwby4KCSogamF2YS9uaW8vRG91YmxlQnVmZmVyLmphdmEgKHB1dCk6IEZpeCB0eXBvLgoJKiBqYXZhL25pby9GbG9hdEJ1ZmZlci5qYXZhIChwdXQpOiBGaXggdHlwby4KCSogamF2YS9uaW8vSW50QnVmZmVyLmphdmEgKHB1dCk6IEZpeCB0eXBvLgoJKiBqYXZhL25pby9Mb25nQnVmZmVyLmphdmEgKHB1dCk6IEZpeCB0eXBvLgoJKiBqYXZhL25pby9TaG9ydEJ1ZmZlci5qYXZhIChwdXQpOiBGaXggdHlwby4KCjIwMDQtMDgtMzAgIEZsb3JpYW4gV2VpbWVyICA8ZndAZGVuZWIuZW55by5kZT4KCgkqIGphdmEvbmlvL0J5dGVCdWZmZXIuamF2YSAocHV0KTogRml4IHR5cG8uCgoyMDA0LTA4LTMwICBDYXNleSBNYXJzaGFsbCAgPGNzbUBnbnUub3JnPgoKCSogamF2YS9zZWN1cml0eS9EdW1teUtleVBhaXJHZW5lcmF0b3IuamF2YSAoY2xvbmUpOiBSZW1vdmVkCgl1c2VsZXNzIGluc3RhbmNlb2YgY2hlY2suCgkqIGphdmEvc2VjdXJpdHkvRHVtbXlNZXNzYWdlRGlnZXN0LmphdmEgKGNsb25lKTogTGlrZXdpc2UuCgkqIGphdmEvc2VjdXJpdHkvRHVtbXlTaWduYXR1cmUuamF2YSAoY2xvbmUpOiBMaWtld2lzZS4KCSogamF2YS9zZWN1cml0eS9NZXNzYWdlRGlnZXN0LmphdmEgKGNsb25lKTogUmVtb3ZlIHVzZWxlc3MKCWluc3RhbmNlb2YgY2hlY2suCgkqIGphdmEvc2VjdXJpdHkvTWVzc2FnZURpZ2VzdFNwaS5qYXZhIChjbG9uZSk6IExpa2V3aXNlLgoJKiBqYXZhL3NlY3VyaXR5L1NpZ25hdHVyZS5qYXZhIChjbG9uZSk6IFByb3ZpZGUgbWVhbmluZ2Z1bAoJaW1wbGVtZW50YXRpb24uCgkqIGphdmEvc2VjdXJpdHkvU2lnbmF0dXJlU3BpLmphdmEgKGNsb25lKTogTGlrZXdpc2UuCgoyMDA0LTA4LTI5ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL3V0aWwvQXJyYXlzLmphdmEKCShzb3J0KGJ5dGVbXSwgaW50LCBpbnQpKTogQ2hlY2sgZnJvbUluZGV4IDwgMC4KCShzb3J0KGNoYXJbXSwgaW50LCBpbnQpKTogTGlrZXdpc2UuCgkoc29ydChzaG9ydFtdLCBpbnQsIGludCkpOiBMaWtld2lzZS4KCShzb3J0KGludFtdLCBpbnQsIGludCkpOiBMaWtld2lzZS4KCShzb3J0KGxvbmdbXSwgaW50LCBpbnQpKTogTGlrZXdpc2UuCgkoc29ydChmbG9hdFtdLCBpbnQsIGludCkpOiBMaWtld2lzZS4KCShzb3J0KGRvdWJsZVtdLCBpbnQsIGludCkpOiBMaWtld2lzZS4KCShzb3J0KE9iamVjdFtdLCBpbnQsIGludCwgQ29tcGFyYXRvcikpOiBMaWtld2lzZS4KCShxc29ydChieXRlW10sIGludCwgaW50KSk6IEhvbm9yIGxvd2VyIGJvdW5kIGZyb20gaW4gaW5zZXJ0aW9uIHNvcnQuCgkocXNvcnQoY2hhcltdLCBpbnQsIGludCkpOiBMaWtld2lzZS4KCShxc29ydChzaG9ydFtdLCBpbnQsIGludCkpOiBMaWtld2lzZS4KCShxc29ydChpbnRbXSwgaW50LCBpbnQpKTogTGlrZXdpc2UuCgkocXNvcnQobG9uZ1tdLCBpbnQsIGludCkpOiBMaWtld2lzZS4KCShxc29ydChmbG9hdFtdLCBpbnQsIGludCkpOiBMaWtld2lzZS4KCShxc29ydChkb3VibGVbXSwgaW50LCBpbnQpKTogTGlrZXdpc2UuCgoyMDA0LTA4LTI5ICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS91dGlsL0Fic3RyYWN0Q29sbGVjdGlvbi5qYXZhLCBqYXZhL3V0aWwvQWJzdHJhY3RMaXN0LmphdmEsCglqYXZhL3V0aWwvQWJzdHJhY3RNYXAuamF2YSwgamF2YS91dGlsL0Fic3RyYWN0U2VxdWVudGlhbExpc3QuamF2YSwKCWphdmEvdXRpbC9BcnJheUxpc3QuamF2YSwgamF2YS91dGlsL0FycmF5cy5qYXZhLAoJamF2YS91dGlsL0JpdFNldC5qYXZhLCBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YSwKCWphdmEvdXRpbC9Db2xsZWN0aW9uLmphdmEsIGphdmEvdXRpbC9MaXN0SXRlcmF0b3IuamF2YSwKCWphdmEvdXRpbC9NYXAuamF2YSwgamF2YS91dGlsL1NvcnRlZFNldC5qYXZhOgoJQWRkZWQgYWRkaXRpb25hbCBleGNlcHRpb25zIHRvIGRvY3VtZW50YXRpb24sIGFsb25nCgl3aXRoIHNvbWUgYWRkaXRpb25zIGFuZCBjb3JyZWN0aW9ucy4KCjIwMDQtMDgtMjcgIEhhbnMgQm9laG0gIDxIYW5zLkJvZWhtQGhwLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzogSGFuZGxlIC0tZW5hYmxlLWdjLWRlYnVnLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvY29uZmlnLmguaW4gKExJQkdDSl9HQ19ERUJVRyk6IEFkZC4KCSogYm9laG0uY2M6IEluY2x1ZGUgZ2NfbWFyay5oLCBqYXZheGZjLmgsIGJ1dCBubyBHQyBwcml2YXRlIGZpbGVzLgoJUmVhcnJhbmdlIGluY2x1ZGUgZmlsZSBvcmRlci4KCShHQ19ERUJVRyk6IFNldCBpZiBMSUJHQ0pfR0NfREVCVUcgaXMgc2V0LgoJKEdDX2ZpbmFsaXplX2FsbCwgR0NfZGVidWdfZ2VuZXJpY19tYWxsb2MpOiBEb24ndCBkZWNsYXJlLgoJKGRpc2FibGVfZ2NfbXV0ZXgpOiBEZWxldGUgYWxvbmcgd2l0aCBhbGwgcmVmZXJlbmNlcy4KCShfSnZfTWFya09iaiwgX0p2X01hcmtBcnJheSk6IFVzZSBwdWJsaWMgdHlwZXMsCglhZGp1c3QgZm9yIGRlYnVnIGhlYWRlciBzaXplLgoJKF9Kdl9BbGxvY09iaiwgX0p2X2FsbG9jUHRyRnJlZU9iaik6IERlZmluZSBvdXQgb2YgbGluZSBmb3IKCWRlYnVnIGNhc2UuCgkoX0p2X0FsbG9jQXJyYXkpOiBEZWNsYXJlIG1pbl9oZWFwX2FkZHIgb25seSBpZiBuZWVkZWQuCgkoZ2NqX2Rlc2NyaWJlX3R5cGVfZm4pOiBOZXcuCgkoX0p2X0luaXRHQyk6IFVzZSBHQ19uZXdfZnJlZV9saXN0LCBHQ19uZXdfcHJvYywgYW5kIEdDX25ld19raW5kLgoJUmVnaXN0ZXIgZ2NqX2Rlc2NyaWJlX3R5cGVfZm4uCgkqIGluY2x1ZGUvYm9laG0tZ2MuaDoKCShfSnZfQWxsb2NPYmosIF9Kdl9hbGxvY1B0ckZyZWVPYmopOgoJRG9uJ3QgZGVmaW5lLCBidXQgZGVjbGFyZSwgZm9yIGRlYnVnIGNhc2UuCgkqIGphdmEvbGFuZy9uYXRPYmplY3QuY2M6CgkoR0NfREVCVUcpOiBEZWZpbmUgaWYgTElCR0NKX0dDX0RFQlVHIGlzIHNldC4KCjIwMDQtMDgtMjYgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglGaXhlcyBQUiBsaWJnY2ovMTcwMDI6CgkqIGphdmEvdXRpbC9UaW1lWm9uZS5qYXZhIChkZWZhdWx0Wm9uZSk6IFRyeSBhIGNvdXBsZSBvZiB3YXlzIHRvIGdldAoJYSBUaW1lWm9uZUlkIHN0cmluZyBhbmQgdGhlbiB0cnkgdG8gY29udmVydCB0aGF0IHRvIGEgVGltZVpvbmUgd2l0aAoJZ2V0RGVmYXVsdFN5c3RlbVRpbWVab25lKFN0cmluZykuCgkodGltZXpvbmVzMCk6IENoYW5nZWQgdHlwZSBmcm9tIEhhc2h0YWJsZSB0byBIYXNoTWFwLgoJKHRpbWV6b25lcyk6IENyZWF0ZSBIYXNoTWFwLCBub3QgSGFzaHRhYmxlLgoJKGdldERlZmF1bHRUaW1lWm9uZSk6IE5ldyBtZXRob2QsIHJld3JpdHRlbiBmcm9tIENOSSB2ZXJzaW9uLgoJKHJlYWRUaW1lWm9uZUZpbGUpOiBOZXcgbWV0aG9kLgoJKHJlYWR0ekZpbGUpOiBMaWtld2lzZS4KCShza2lwRnVsbHkpOiBMaWtld2lzZS4KCSogamF2YS91dGlsL25hdFRpbWVab25lLmNjIChnZXRTeXN0ZW1UaW1lWm9uZSk6IFJlbmFtZWQgdG8KCWdldERlZmF1bHRUaW1lWm9uZUlkIGFuZCByZXdyaXR0ZW4uCgkoZ2V0RGVmYXVsdFRpbWVab25lSWQpOiBSZXdyaXR0ZW4gaW4gamF2YS4KCjIwMDQtMDgtMjUgIERhdmlkIERhbmV5ICA8ZGFuZXlAYXZ0cmV4LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChBTV9HQ0pGTEFHUyk6ICBBZGQgTElCR0NKX0pBVkFGTEFHUy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wOC0yMyAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogcHJpbXMuY2MgKEpWTVBJX05PVElGWV9BTExPQyk6IE5ldyBtYWNyby4gQ2FsbCBqdm1waV9ub3RpZnlfYWxsb2MKCW9ubHkgaWYganZtcGkgaXMgZW5hYmxlZC4KCShqdm1waV9ub3RpZnlfYWxsb2MpOiBEb24ndCBjaGVjayBpZiBqdm1waSBpcyBlbmFibGVkIGhlcmUuCgkoX0p2X0FsbG9jT2JqZWN0Tm9GaW5hbGl6ZXIpOiBVc2UgSlZNUElfTk9USUZZX0FMTE9DLgoJKF9Kdl9BbGxvY1N0cmluZyk6IExpa2V3aXNlLgoJKF9Kdl9BbGxvY1B0ckZyZWVPYmplY3QpOiBMaWtld2lzZS4KCjIwMDQtMDgtMjMgIEhhbnMgQm9laG0gIDxIYW5zLkJvZWhtQGhwLmNvbT4KCgkqIGRlZmluZWNsYXNzLmNjOiBJbmNsdWRlIDxzdGRpby5oPi4KCSogamF2YS9sYW5nL25hdENsYXNzTG9hZGVyLmNjOiBJbmNsdWRlIDxzdGRpby5oPi4KCjIwMDQtMDgtMjEgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCSAgICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogTWFrZWZpbGUuYW0gKGxpYl9nbnVfamF2YV9hd3RfcGVlcl9ndGtfbGFfTElOSyk6IEFkZGVkLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA4LTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogY29uZmlndXJlLmFjOiBSZXBsYWNlZCBhbGwgQUNfVFJZX0NPTVBJTEUgbWFjcm9zIHdpdGgKCUFDX0NPTVBJTEVfSUZFTFNFIG1hY3Jvcy4KCjIwMDQtMDgtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBjb25maWd1cmUuaW46IFJlbmFtZWQgdG8gY29uZmlndXJlLmFjLgoJKiBjb25maWd1cmUuYWM6IE5ldyBmaWxlLgoJKiBjb25maWd1cmUsIE1ha2VmaWxlLmluLCBnY2ovTWFrZWZpbGUuaW4sIGluY2x1ZGUvTWFrZWZpbGUuaW4KCWluY2x1ZGUvY29uZmlnLmguaW4sIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA4LTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogY29uZmlndXJlLmluOiBSZXdyb3RlIHNvbWUgb2Jzb2xldGUgc3R1ZmYgZm9yIGF1dG9jb25mIDIuNTkuCgkqIGFjbG9jYWwubTQsIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDA0LTA4LTE5ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgkgICAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGNvbmZpZ3VyZS5pbiwJTWFrZWZpbGUuYW06IFBvcnRlZCB0byBhdXRvbWFrZSAxLjkuCgkqIE1ha2VmaWxlLmluLCBhY2xvY2FsLm00LCBjb25maWd1cmUsIGdjai9NYWtlZmlsZS5pbiwKCWluY2x1ZGUvTWFrZWZpbGUuaW4sIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9jb25maWcuaC5pbjoKCVJlZ2VuZXJhdGVkLgoKMjAwNC0wOC0xOSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvRGF0YWdyYW1Tb2NrZXQuamF2YTogRml4ZWQgdHlwby4KCjIwMDQtMDgtMTggIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTcwODEKCSogamF2YS9uZXQvVVJJLmphdmEgKHN0cmluZyk6IE5ldyBmaWVsZC4gTWFrZSBhbGwgb3RoZXIgZmllbGRzCgl0cmFuc2llbnQuCgkocmVhZE9iamVjdCk6IEltcGxlbWVudGVkLgoJKHdyaXRlT2JqZWN0KTogSW1wbGVtZW50ZWQuCgkoVVJJKTogU2V0ICdzdHJpbmcnLgoKMjAwNC0wOC0xOCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xNzA3OQoJKiBqYXZhL3V0aWwvbG9nZ2luZy9IYW5kbGVyLmphdmEgKGlzTG9nZ2FibGUpOiBBY2NlcHQgcmVjb3JkIGlmIGl0cwoJbG9nIGxldmVsIGVxdWFscyB0aGUgdGhyZXNob2xkIGxldmVsLiBGcm9tIFJvYmluIEdyZWVuLgoKMjAwNC0wOC0xOCAgRGF2aWQgRGFuZXkgIDxkZGFuZXlAYXZ0cmV4LmNvbT4KCgkqIGphdmEvbGFuZy9uYXRQb3NpeFByb2Nlc3MuY2MgKHdhaXRGb3JTaWduYWwpOiBVc2Ugc2lnc3VzcGVuZAoJaW5zdGVhZCBvZiBzaWd3YWl0LgoKMjAwNC0wOC0xNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIE1ha2VmaWxlLmFtIChBTV9DWFhGTEFHUyk6IFJlZm9ybWF0dGVkIHRvIG1ha2UgaXQgbW9yZSBlYXNlIHRvIHJlYWQuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDgtMTYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCglQUiBqYXZhLzg0NzM6CgkqIHRlc3RzdWl0ZS9saWJqYXZhLmphY2tzL2phY2tzLnhmYWlsOiBSZW1vdmVkIHBhc3NpbmcgdGVzdC4KCjIwMDQtMDgtMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBNYWtlZmlsZS5hbQoJKG1hdGhfY19maWxlcyk6IFJlbmFtZWQgZnJvbSBjX2ZpbGVzLgoJKG1hdGhfY19zb3VyY2VfZmlsZXMpOiBSZW5hbWVkIGZyb20gY19zb3VyY2VfZmlsZXMuCgkqIE1ha2VmaWxlLmluLAoJZ2NqL01ha2VmaWxlLmluLAoJaW5jbHVkZS9NYWtlZmlsZS5pbiwKCXRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA4LTE2ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW4gKEFDX0NPTkZfU1VCRElSUyk6IFVzZSBsaXRlcmFsIGZvciBsdGRsIGRpcmVjdG9yeQoJdG8gYXZvaWQgYXV0b2NvbmYgd2FybmluZy4KCSogY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwNC0wOC0xNCAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogamF2YS9uZXQvbmF0SW5ldEFkZHJlc3NQb3NpeC5jYyAobG9va3VwKTogUmVmbGVjdCByZW5hbWUgb2YKCWxvY2FsaG9zdEFkZHJlc3MgdG8gbG9vcGJhY2tBZGRyZXNzLgoJKiBqYXZhL25ldC9uYXRJbmV0QWRkcmVzc1dpbjMyLmNjIChsb29rdXApOiBMaWtld2lzZS4KCjIwMDQtMDgtMTMgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbiAoR0NJTkNTKTogRG9uJ3QgdXNlICJib2VobS1jZmxhZ3MiLiBJbnN0ZWFkLCAtSQoJYm9laG0tZ2MncyBpbmNsdWRlIGRpcnMuCgkqIGNvbmZpZ3VyZTogUmVidWlsdC4KCSogaW5jbHVkZS9ib2VobS1nYy5oOiBJbmNsdWRlIGdjX2NvbmZpZy5oLgoKMjAwNC0wOC0xMyAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvSW5ldEFkZHJlc3MuamF2YSAobG9vcGJhY2tBZGRyZXNzKTogUmVuYW1lZCBmcm9tCglsb2NhbGhvc3RBZGRyZXNzLgoJKGdldEJ5TmFtZSk6IFJldHVybiBsb29wYmFjayBhZGRyZXNzIGZvciBudWxsIGhvc3RuYW1lLCB3aXRob3V0CglzZWN1cml0eSBjaGVjay4gVXNlIGxvb2t1cCgpLCBub3QgZ2V0QWxsQnlOYW1lLgoJKGdldEFsbEJ5TmFtZSk6IFJldHVybiBsb29wYmFjayBhZGRyZXNzIGZvciBudWxsIGhvc3RuYW1lLCB3aXRob3V0CglzZWN1cml0eSBjaGVjay4KCSogamF2YS9uZXQvbmF0SW5ldEFkZHJlc3NQb3NpeC5jYyAobG9va3VwKTogRG9uJ3QgcGVyZm9ybSBzZWN1cml0eQoJY2hlY2sgaGVyZS4KCjIwMDQtMDgtMTMgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTcwMjAKCVJlcG9ydGVkIGJ5IFJvYmluIEdyZWVuLgoJKiBkZWZpbmVjbGFzcy5jYyAoaGFuZGxlRmllbGQpOiBEb24ndCB0aHJvdyBleGNlcHRpb24gb24gdW5yZWNvZ25pc2VkCgltb2RpZmllci4gQWRkIEZJWE1FIGNvbW1lbnRzIGZvciBzcGVjIGNvbXBsaWFuY2UuCgkoaGFuZGxlTWV0aG9kKTogTGlrZXdpc2UuCgoyMDA0LTA4LTEwICBIYW5zIEJvZWhtIDxIYW5zLkJvZWhtQGhwLmNvbT4KCglQUiBsaWJnY2ovMTY2NjIKCSogamF2YS9sYW5nL25hdE9iamVjdC5jYyAoTE9DS19MT0csIExPRyk6IEFkZCBkZWJ1ZyB0cmFjaW5nLgoJKEFsbW9zdCBldmVyeXdoZXJlKTogYWRkIExPRyBjYWxscywgZml4LCBhZGQgY29tbWVudHMuCgkoX0p2X01vbml0b3JFbnRlcik6IFJlcGxhY2UgbWFza2luZyBvZiBMT0NLRUQgYml0IHdpdGggYXNzZXJ0aW9uLgoJQWRkIGV4cGxpY2l0IGNoZWNrIGZvciBMT0NLRUQgYml0IGluIHNsb3cgY2FzZSAoUFIgMTY2NjIpLgoJKF9Kdl9Nb25pdG9yRXhpdCk6IEFkZCBjYXN0cyBpbiBkZWJ1Zy1vbmx5IGNvZGUuCglBbHdheXMgcmVsZWFzZSBMT0NLRUQgYml0IGJlZm9yZSB0aHJvd2luZyBleGNlcHRpb24uCgkoX0p2X09iamVjdENoZWNrTW9uaXRvcik6IExvY2sgbWF5IGJlIGhlbGQgaWYgbGlnaHR3ZWlnaHQgbG9jawoJaXNuJ3QuICBIYW5kbGUgZWFzeSBjYXNlcyB3aXRob3V0IGxvY2sgYWNxdWlzaXRpb24uCgkoT2JqZWN0Ojp3YWl0KTogVXNlIE5vdGlmeUFsbCBmb3IgbG9jayBpbmZsYXRpb24uCgoyMDA0LTA4LTEyICBEYXZpZCBEYW5leSAgPGRkYW5leUBhdnRyZXguY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9Qcm9jZXNzXzEuamF2YTogTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUHJvY2Vzc18yLmphdmE6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1Byb2Nlc3NfMy5qYXZhOiBOZXcgdGVzdC4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9Qcm9jZXNzXzQuamF2YTogTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUHJvY2Vzc181LmphdmE6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1Byb2Nlc3NfNi5qYXZhOiBOZXcgdGVzdC4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9Qcm9jZXNzXzEub3V0OiBFeHBlY3RlZCByZXN1bHQuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUHJvY2Vzc18yLm91dDogRXhwZWN0ZWQgcmVzdWx0LgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1Byb2Nlc3NfMy5vdXQ6IEV4cGVjdGVkIHJlc3VsdC4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9Qcm9jZXNzXzQub3V0OiBFeHBlY3RlZCByZXN1bHQuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUHJvY2Vzc181Lm91dDogRXhwZWN0ZWQgcmVzdWx0LgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1Byb2Nlc3NfNi5vdXQ6IEV4cGVjdGVkIHJlc3VsdC4KCjIwMDQtMDgtMTIgIERhdmlkIERhbmV5ICA8ZGRhbmV5QGF2dHJleC5jb20+CgoJUFIgbGliZ2NqLzExODAxCgkqIGphdmEvbGFuZy9Qb3NpeFByb2Nlc3MuamF2YTogUmV3cm90ZS4KCSogamF2YS9sYW5nL25hdFBvc2l4UHJvY2Vzcy5jYzogUmV3cm90ZS4KCSogamF2YS9sYW5nL1J1bnRpbWUuamF2YSAoZXhlY0ludGVybmFsKTogRGVjbGFyZSB0aHJvd3MgSU9FeGNlcHRpb24uCgkqIGdjai9qYXZhcHJpbXMuaCAoQ29uY3JldGVQcm9jZXNzJFByb2Nlc3NNYW5hZ2VyKTogRGVjbGFyZS4KCSogcG9zaXgtdGhyZWFkcy5jYyAoYmxvY2tfc2lnY2hsZCkgTmV3IGZ1bmN0aW9uLgoJKF9Kdl9UaHJlYWRSZWdpc3RlcikgVXNlIGl0LgoJKF9Kdl9UaHJlYWRTdGFydCkgVXNlIGl0LgoJKiBjb25maWd1cmUuaW4gKFBMQVRGT1JNX0lOTkVSX05BVF9IRFJTKTogTmV3IEFDX1NVQlNUKCkgdXNlZCBpbi4uLgoJKiBNYWtlZmlsZS5hbTogLi4uIHRvIHNwZWNpZnkgZXh0cmEgbmF0aXZlIGhlYWRlcnMuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgkqIGluY2x1ZGUvY29uZmlnLmg6IFJlZ2VuZXJhdGVkLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgkqIGdjai9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wOC0xMiAgRGllZ28gTm92aWxsbyAgPGRub3ZpbGxvQHJlZGhhdC5jb20+CgoJUFIgdHJlZS1vcHRpbWl6YXRpb24vMTY4NjcKCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9QUjE2ODY3LmphdmE6IE5ldyB0ZXN0LgoKMjAwNC0wOC0wOSAgUGVyIEJvdGhuZXIgIDxwZXJAYm90aG5lci5jb20+CgoJKiBnY2ovamF2YXByaW1zLmggKF9Kdl9VdGY4Q29uc3QpOiBDaGFuZ2Ugc3RydWN0IHRvIGEgY2xhc3MsCgl3aXRoIHByaXZhdGUgZmllbGRzIGFuZCBhY2Nlc3MgbWV0aG9kcy4KCShfSnZfTmV3U3RyaW5nVVRGLCBfSnZfaGFzaFV0ZjhTdHJpbmcpOiBOZXcgZnVuY3Rpb24gZGVjbGFyYXRpb25zLgoJKiBnY2ovY25pLmggKF9Kdl9OZXdTdHJpbmdVVEYpOiBNb3ZlIHRvIGphdmFwcmltcy5oLgoJKiBwcmltcy5jYyAoX0p2X1V0ZjhDT25zdDo6aW5pdCk6IE5ldyBtZXRob2QgaW1wbGVtZW50YXRpb24uCgkoIF9Kdl9tYWtlVXRmOENvbnN0KTogUmV3cml0ZSB1c2luZyBuZXcgY29uc3RydWN0b3JzLgoJKGhhc2hVdGY4U3RyaW5nKTogUmVuYW1lIHRvICtfSnZfaGFzaFV0ZjhTdHJpbmcgYW5kIG1ha2Ugbm9uLXN0YXRpYy4KCSogZGVmaW5lY2xhc3MuY2M6IFVzZSBuZXcgX1V0ZjhDb25zdCBhY2Nlc3MvY29udmVuaWVuY2UgbWV0aG9kcy4KCSogam5pLmNjOiBMaWtld2lzZS4KCSogcmVzb2x2ZS5jYzogTGlrZXdpc2UuCgkqIGdjai9maWVsZC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9qdm0uaDogTGlrZXdpc2UuCgkqIGphdmEvbGFuZy9DbGFzcy5oOiBMaWtld2lzZS4KCSogamF2YS9sYW5nL25hdENsYXNzLmNjOiBMaWt3aXNlLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3NMb2FkZXIuY2M6IExpa2V3aXNlCgkqIGphdmEvbGFuZy9yZWZsZWN0L25hdE1ldGhvZC5jYzogTGlrZXdpc2UKCSogdmVyaWZ5LmNjOiBMaWtld2lzZS4KCShfSnZfQnl0ZWNvZGVWZXJpZmllcjo6bWFrZV91dGY4X2NvbnN0KTogIE9wdGltaXplLgoJKH5fSnZfQnl0ZWNvZGVWZXJpZmllcik6ICBEb24ndCBuZWVkIHNlY29uZCBfSnZfRnJlZSBjYWxsLgoKMjAwNC0wOC0xMCAgQW5kcmV3IEhhbGV5ICA8YXBoQHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL2VycjE0LmphdmE6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL2VycjE0Lm91dDogTmV3IGZpbGUuCgoyMDA0LTA4LTA1ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBNYWtlZmlsZS5hbTogRml4IG1pc3NpbmcgcmVuYW1lIGZyb20geF9uYXRfaGVhZGVycyB0bwoJeGxpYl9uYXRfaGVhZGVycy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wOC0wNCAgQW5kcmV3IEhhbGV5ICA8YXBoQHJlZGhhdC5jb20+CgoJKiBqYXZhL3NlY3VyaXR5L0Jhc2ljUGVybWlzc2lvbi5qYXZhOiBEb24ndCBjaGVjayB3aWxkY2FyZHMuCgoyMDA0LTA4LTA0ICBUaG9tYXMgRml0enNpbW1vbnMgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCSAgICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogYWNpbmNsdWRlLm00OiBDb3JyZWN0bHkgcXVvdGUgUEtHX0NIRUNLX01PRFVMRVMuCgkqIGNvbmZpZ3VyZS5pbjogUmVwbGFjZWQgYWxsIHVzYWdlcyBvZiBBQ19MSU5LX0ZJTEVTIGJ5CglBQ19DT05GSUdfTElOS1MuCgkqIGFjbG9jYWwubTQsCgljb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwNC0wOC0wNCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoJICAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBhY2NvbmZpZy5oOiBSZW1vdmVkLgoJKiBNYWtlZmlsZS5hbTogUmVuYW1lIHZhcmlhYmxlcyBmb3IgeGxpYiBwZWVyIHRvIGluY2x1ZGUgeGxpYiBhbmQKCWd0a19jX2hlYWRlcnMgdG8gZ3RrX2puaV9oZWFkZXJzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA4LTA0ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS9saWIvbGliamF2YS5leHAgKGJ5dGVjb21waWxlX2ZpbGUpOiBCeXRlIGNvbXBpbGUgd2l0aAoJZGVidWdnaW5nLgoKMjAwNC0wOC0wMyAgTmF0aGFuYWVsIE5lcm9kZSAgPG5lcm9kZW5AZ2NjLmdudS5vcmc+CgoJKiBjb25maWd1cmUuaW46IEVsaW1pbmF0ZSB1c2VzIG9mIGNoYW5nZXF1b3RlIChtb3N0bHkgYnkgcXVvdGluZyBbXSkuCglSZXBsYWNlIG1vc3QgdG9wIGxldmVsICdkbmwnIGNvbW1lbnRzIHdpdGggJyMnIGNvbW1lbnRzLCBjb25mb3JtaW5nCgl0byBuZXcgYXV0b2NvbmYgc3R5bGUuICBVc2UgQVNfSEVMUF9TVFJJTkcgdGhyb3VnaG91dDsgaW1wcm92ZSBhIGZldwoJaGVscCBzdHJpbmdzLgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgoyMDA0LTA3LTE3ICBOYXRoYW5hZWwgTmVyb2RlICA8bmVyb2RlbkBnY2MuZ251Lm9yZz4KCgkqIGFjaW5jbHVkZS5tNDogSW5jbHVkZSBuby1leGVjdXRhYmxlcy5tNC4KCSogYWNsb2NhbC5tNDogUmVidWlsZC4KCSogY29uZmlndXJlLmluOiBDb252ZXJ0IHRvIHRoZSBhdXRvY29uZiAyLjU5IHZlcnNpb24gb2YKCW9mIHRoZSBuby1leGVjdXRhYmxlcyBoYWNrLCBhbmQgYWxzbyBvZiB0aGUgbm9uc3RhbmRhcmQgQ1hYCgloYWNrIGFuZCB0aGUgbXVsdGlsaWJiZWQgQ0MgYW5kIENYWCBoYWNrLiAgQ2hhbmdlIHByZXJlcXVpc2l0ZQoJdG8gYXV0b2NvbmYgMi41OS4KCSogY29uZmlndXJlOiBSZWJ1aWxkIHdpdGggYXV0b2NvbmYgMi41OS4gIChXb28taG9vISkKCSogTWFrZWZpbGUuaW4sIGdjai9NYWtlZmlsZS5pbiwgaW5jbHVkZS9NYWtlZmlsZS5pbiwKCXRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDQtMDgtMDMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGpuaS5jYzogUmVpbmRlbnRlZC4KCjIwMDQtMDgtMDIgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvc3FsL1RpbWVzdGFtcC5qYXZhICh2YWx1ZU9mKTogU3luY2hyb25pemUgYWNjZXNzIHRvIGRhdGVGb3JtYXQuCgoyMDA0LTA4LTAyICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvbGliamF2YS5jb21waWxlL1BSMTY3MDEuamF2YTogTmV3IHRlc3QuCgoyMDA0LTA4LTAxICBBbmRyZXcgSm9obiBIdWdoZXMgIDxnbnVfYW5kcmV3QG1lbWJlci5mc2Yub3JnPgoKCSogamF2YS91dGlsL0NvbGxlY3Rpb24uamF2YSwgamF2YS91dGlsL0xpc3QuamF2YSwKCWphdmEvdXRpbC9NYXAuamF2YSwgamF2YS91dGlsL1NldC5qYXZhLAoJamF2YS91dGlsL1NvcnRlZE1hcC5qYXZhLCBqYXZhL3V0aWwvU29ydGVkU2V0LmphdmE6CglBZGRlZCBhZGRpdGlvbmFsIGV4Y2VwdGlvbnMgdG8gZG9jdW1lbnRhdGlvbi4KCjIwMDQtMDgtMDEgIERhbm55IFNtaXRoICA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJUFIgbGliZ2NqLzE2ODE0CgkqIGNvbmZpZ3VyZS5pbiBbaG9zdCAqbWluZ3cqXSAoU1lTVEVNU1BFQyk6IFJlbW92ZSAtbHdzb2NrMzIuCgkqIGNvbmZpZ3VyZS4gUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS93aW4zMi5oOiBFeHBsaWNpdGx5IGluY2x1ZGUgd2luc29jazIuaAoJKiB3aW4zMi5jYyAoX0p2X3BsYXRmb3JtX2luaXRpYWxpemUpOiBSZXF1aXJlIHZlcnNpb24gMi4yIG9mCglXaW5zb2NrIGFwaS4KCjIwMDQtMDctMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvemlwL0daSVBJbnB1dFN0cmVhbS5qYXZhCgkoR1pJUElucHV0U3RyZWFtKTogSW5jcmVhc2UgYnVmZmVyIHNpemUgdG8gNGsuCgkqIGphdmEvdXRpbC96aXAvR1pJUE91dHB1dFN0cmVhbS5qYXZhCgkoR1pJUE91dHB1dFN0cmVhbSk6IExpa2V3aXNlLgoJKiBqYXZhL3V0aWwvemlwL0luZmxhdGVyLmphdmEKCShzZXRJbnB1dCk6IE1lcmdlZCBmb3JtYXRpbmcgd2l0aCBHTlUgY2xhc3NwYXRoLgoJKiBqYXZhL3V0aWwvemlwL0luZmxhdGVySW5wdXRTdHJlYW0uamF2YQoJKEluZmxhdGVySW5wdXRTdHJlYW0pOiBJbmNyZWFzZSBidWZmZXIgc2l6ZSB0byA0ay4KCShmaWxsKTogVGhyb3cgZXhjZXB0aW9uIGlmIHN0cmVhbSBlbmRzIGVhcmx5LgoJKHJlYWQpOiBNZXJnZWQgZW5kbGVzcy1sb29wIHdpdGggR05VIGNsYXNzcGF0aC4KCShza2lwKTogSW5jcmVhc2UgYnVmZmVyIHNpemUgdG8gMmsuCgoyMDA0LTA3LTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L0VtYmVkZGVkV2luZG93LmphdmEKCShhZGROb3RpZnkpOiBVc2UgQWNjZXNzQ29udHJvbGxlciB0byBhbGxvdyBleGVjdXRpb24gb2YgcHJpdmlsZWdlZAoJY29kZS4KCjIwMDQtMDctMjkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9sYW5nL01haW5UaHJlYWQuamF2YToKCUV4cGxpY2l0ZWx5IGltcG9ydCB1c2VkIGNsYXNzZXMuCgkoYXJncyk6IE1ha2UgaXQgdHlwZSBTdHJpbmdbXS4KCjIwMDQtMDctMjkgRGFsaWJvciBUb3BpYyA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBnbnUvamF2YS9hd3QvQ29tcG9uZW50RGF0YUJsaXRPcC5qYXZhLAoJZ251L2phdmEvYmVhbnMvRXhwbGljaXRCZWFuSW5mby5qYXZhLAoJZ251L2phdmEvYmVhbnMvSW50cm9zcGVjdGlvbkluY3ViYXRvci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZWRpdG9ycy9Db2xvckVkaXRvci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZWRpdG9ycy9Gb250RWRpdG9yLmphdmEsCglnbnUvamF2YS9iZWFucy9lZGl0b3JzL05hdGl2ZUJvb2xlYW5FZGl0b3IuamF2YSwKCWdudS9qYXZhL2JlYW5zL2VkaXRvcnMvTmF0aXZlQnl0ZUVkaXRvci5qYXZhLAoJZ251L2phdmEvYmVhbnMvZWRpdG9ycy9OYXRpdmVEb3VibGVFZGl0b3IuamF2YSwKCWdudS9qYXZhL2JlYW5zL2VkaXRvcnMvTmF0aXZlRmxvYXRFZGl0b3IuamF2YSwKCWdudS9qYXZhL2JlYW5zL2VkaXRvcnMvTmF0aXZlSW50RWRpdG9yLmphdmEsCglnbnUvamF2YS9iZWFucy9lZGl0b3JzL05hdGl2ZUxvbmdFZGl0b3IuamF2YSwKCWdudS9qYXZhL2JlYW5zL2VkaXRvcnMvTmF0aXZlU2hvcnRFZGl0b3IuamF2YSwKCWdudS9qYXZhL2JlYW5zL2VkaXRvcnMvU3RyaW5nRWRpdG9yLmphdmEsCglnbnUvamF2YS9pby9DbGFzc0xvYWRlck9iamVjdElucHV0U3RyZWFtLmphdmEsCglnbnUvamF2YS9pby9kZWNvZGUvRGVjb2Rlci5qYXZhLAoJZ251L2phdmEvaW8vZW5jb2RlL0VuY29kZXIuamF2YSwKCWdudS9qYXZhL2xhbmcvQ2xhc3NIZWxwZXIuamF2YSwKCWdudS9qYXZhL2xvY2FsZS9DYWxlbmRhci5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0NhbGVuZGFyX2RlLmphdmEsCglnbnUvamF2YS9sb2NhbGUvQ2FsZW5kYXJfZW4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9DYWxlbmRhcl9ubC5qYXZhLAoJZ251L2phdmEvbG9jYWxlL0xvY2FsZUluZm9ybWF0aW9uX2RlLmphdmEsCglnbnUvamF2YS9sb2NhbGUvTG9jYWxlSW5mb3JtYXRpb25fZW4uamF2YSwKCWdudS9qYXZhL2xvY2FsZS9Mb2NhbGVJbmZvcm1hdGlvbl9ubC5qYXZhOgoJQ2xlYW5lZCB1cCBpbXBvcnRzLgoKMjAwNC0wNy0yOCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogUkVBRE1FOiBSZW1vdmUgb2Jzb2xldGUgaW5mby4gVXBkYXRlIGJ1ZyBVUkwuCgkqIFRIQU5LUzogVXBkYXRlZC4KCSogTkVXUzogVXBkYXRlZCB3aXRoIG5ld3MgdXAgdG8gR0NDIDMuNCByZWxlYXNlLgoKMjAwNC0wNy0yOCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvc2VjdXJpdHkvYWN0aW9uL0dldFByb3BlcnR5QWN0aW9uLmphdmEgKHNldFBhcmFtZXRlcnMpOgoJUmVuYW1lZCBmcm9tICdzZXROYW1lJy4gTmV3IDItYXJndW1lbnQgZm9ybSB3aXRoIGRlZmF1bHQgdmFsdWUuCgkocnVuKTogUGFzcyBkZWZhdWx0ICd2YWx1ZScgcGFyYW1ldGVyIHRvIFN5c3RlbS5nZXRQcm9wZXJ0eSgpLgoJKiBnbnUvamF2YS9zZWN1cml0eS9hY3Rpb24vU2V0QWNjZXNzaWJsZUFjdGlvbi5qYXZhOiBGaXggamF2YWRvYwoJdHlwb3MuCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0Nvbm5lY3Rpb24uamF2YTogVXNlICdzZXRQYXJhbWV0ZXJzJwoJbm90ICdzZXROYW1lJy4KCjIwMDQtMDctMjggIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogQ2hlY2sgZm9yIG1pbmltdW0gR1RLIHZlcnNpb24gMi40IHJlcXVpcmVtZW50LgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgoyMDA0LTA3LTI3ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1RMdGVzdC5qYXZhOiBSZWR1Y2Ugc2xlZXAgdGltZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9UaHJlYWRfQWxpdmUuamF2YTogUmVtb3ZlIG9sZCBlbWFpbCBhZGRyZXNzLgoJUmVkdWNlIHNsZWVwIHRpbWUuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvVGhyZWFkX0hvbGRzTG9jay5qYXZhOiBNb2RpZnkgdG8gd29yayBhcm91bmQKCWNvbXBpbGVyIGJ1Zy4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9UaHJlYWRfSW50ZXJydXB0LmphdmE6IFJlbW92ZSBvbGQgZW1haWwKCWFkZHJlc3MuIFJlZHVjZSBzbGVlcCB0aW1lcy4gU3luY2hyb25pemUgd2l0aCB0YXJnZXQgdGhyZWFkcyBiZWZvcmUKCWF0dGVtcHRpbmcgdG8gaW50ZXJydXB0IHRoZW0uIERvbid0IHRyeSB0byBjYWxpYnJhdGUgeWVpbGQgY291bnQsCglpbnN0ZWFkLCBhbHdheXMgbG9vcCBmb3IgYSBmaXhlZCB0aW1lLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1RocmVhZF9Kb2luLmphdmE6IFJlbW92ZSBvbGQgZW1haWwgYWRkcmVzcy4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9UaHJlYWRfTW9uaXRvci5qYXZhOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9UaHJlYWRfV2FpdC5qYXZhOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9UaHJlYWRfV2FpdF8yLmphdmE6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1RocmVhZF9XYWl0X0ludGVycnVwdC5qYXZhOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9wcjE3OS5qYXZhOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9UaHJlYWRfU2xlZXAuamF2YTogTGlrZXdpc2UuIFJlZHVjZSBzbGVlcAoJdGltZS4gUmVtb3ZlIHVwcGVyIGJvdW5kcyBjaGVjayBvbiBzbGVlcCB0aW1lLgoKMjAwNC0wNy0yNyAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9UaHJlYWRfSG9sZHNMb2NrLmphdmE6IE5ldyB0ZXN0IGNhc2UuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvVGhyZWFkX0hvbGRzTG9jay5vdXQ6IE5ldy4KCjIwMDQtMDctMjcgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvaW8vRmlsZS5qYXZhICh0b1VSSSk6IFRocm93IFJ1bnRpbWVFeGNlcHRpb24sIG5vdAoJSW50ZXJuYWxFcnJvci4KCSogamF2YS9sYW5nL1J1bnRpbWUuamF2YSAoZXhpdCk6IFF1YWxpZnkgc3RhdGljIHNsZWVwKCkgY2FsbCB3aXRoCgljbGFzcyBuYW1lLCBub3QgaW5zdGFuY2UuCgoyMDA0LTA3LTI0ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkIGdudS9qYXZhL3NlY3VyaXR5L2FjdGlvbi9HZXRQcm9wZXJ0eUFjdGlvbi5qYXZhCglhbmQgZ251L2phdmEvc2VjdXJpdHkvYWN0aW9uL1NldEFjY2Vzc2libGVBY3Rpb24uamF2YS4KCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgoyMDA0LTA3LTIzICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBwcmltcy5jYyAoX0p2X0luaXRQcmltQ2xhc3MpOiBEb24ndCBjcmVhdGUgYW4gYXJyYXkgY2xhc3MuCgkoX0p2X0NyZWF0ZUphdmFWTSk6IERvbid0IHBhc3MgYXJyYXkgdnRhYmxlIHBhcmFtZXRlciB0bwoJX0p2X0luaXRQcmltQ2xhc3MuCgkoREVDTEFSRV9QUklNX1RZUEUpOiBEb24ndCBkZWNsYXJlIGFycmF5IHZ0YWJsZXMuCgkqIGluY2x1ZGUvanZtLmggKHN0cnVjdCBfSnZfQXJyYXlWVGFibGUpOiBSZW1vdmVkLgoJKiBqYXZhL2xhbmcvQ2xhc3MuaCAoX0p2X0luaXRQcmltQ2xhc3MpOiBVcGRhdGUgZnJpZW5kIGRlY2xhcmF0aW9uLgoKMjAwNC0wNy0yMyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IFJlcGxhY2UgamFyLCBybWljIGFuZCBybWlyZWdpc3RyeSByZWZlcmVuY2VzIHdpdGgKCWdqYXIsIGdybWljIGFuZCBncm1pcmVnaXN0cnkuCgkqIGNvbmZpZ3VyZS5pbjogTGlrZXdpc2UuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IExpa2V3aXNlLgoJKiBnY2ovTWFrZWZpbGUuaW46IExpa2V3aXNlLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBMaWtld2lzZS4KCjIwMDQtMDctMjMgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0Nvbm5lY3Rpb24uamF2YTogVXNlIEdldFByb3BlcnR5QWN0aW9uCglmb3IgcHJpdmlsZWdlZCBnZXRQcm9wZXJ0eSBjYWxscy4KCSogamF2YS9pby9PYmplY3RPdXRwdXRTdHJlYW0uamF2YSAoZ2V0RmllbGQpOiBObyBsb25nZXIgc3RhdGljLiBVc2UKCVNldEFjY2Vzc2libGVBY3Rpb24gaW5zdGVhZCBvZiBhbm9ueW1vdXMgY2xhc3MgZm9yIGRvUHJpdmlsZWdlZCBjYWxsLgoJKGdldE1ldGhvZCk6IExpa2V3aXNlLgoJKHNldEFjY2Vzc2libGUpOiBOZXcgZmllbGQuIFByaXZpbGVnZWRBY3Rpb24gb2JqZWN0IHRvIHVzZSB3aGVuCgljYWxsaW5nIHNldEFjY2Vzc2libGUuCgkqIGphdmEvaW8vT2JqZWN0U3RyZWFtQ2xhc3MuamF2YSAoY2FsY3VsYXRlT2Zmc2V0cyk6IFVzZQoJU2V0QWNjZXNzaWJsZUFjdGlvbiBpbnN0ZWFkIG9mIGFub255bW91cyBjbGFzcyBmb3IgZGlQcml2aWxlZ2VkIGNhbGwuCgkoc2V0RmllbGRzKTogTGlrZXdpc2UuCgkoZ2V0Q2xhc3NVSUQpOiBMaWtld2lzZS4KCShmaW5kTWV0aG9kKTogTGlrZXdpc2UuCgkqIGdudS9qYXZhL3NlY3VyaXR5L2FjdGlvbi9HZXRQcm9wZXJ0eUFjdGlvbi5qYXZhOiBOZXcgY2xhc3MuCgkqIGdudS9qYXZhL3NlY3VyaXR5L2FjdGlvbi9TZXRBY2Nlc3NpYmxlQWN0aW9uLmphdmE6IE5ldyBjbGFzcy4KCjIwMDQtMDctMjMgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvaW8vT2JqZWN0U3RyZWFtRmllbGQgKE9iamVjdFN0cmVhbUZpZWxkKTogRG9uJ3QgdW5zZXQgJ3Rvc2V0JwoJZm9yIGZpbmFsIGZpZWxkcy4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9TZXJpYWxpemF0aW9uLmphdmE6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL1NlcmlhbGl6YXRpb24ub3V0OiBOZXcuCgoyMDA0LTA3LTIzICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9uZXQvRGVmYXVsdENvbnRlbnRIYW5kbGVyRmFjdG9yeS5qYXZhOiBDaGVjayBpbiByZWFsIGZpbGUKCW1pc3NlZCBpbiBsYXN0IGNvbW1pdC4KCjIwMDQtMDctMjMgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvbGFuZy9TeXN0ZW0uamF2YSAoc3RhdGljKTogU2V0IGh0dHAuYWdlbnQgc3lzdGVtIHByb3BlcnR5IHdoZW4KCW5vdCB5ZXQgc2V0LgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9Db25uZWN0aW9uLmphdmEgKHN0YXRpYyk6IEdldCBodHRwQWdlbnQKCWZyb20gc3lzdGVtIHByb3BlcnR5IGluc2lkZSBBY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZCgpIGNhbGwuCgkocHJveHlQb3J0KTogTWFkZSBwYWNrYWdlIHByaXZhdGUuCgkocHJveHlJblVzZSk6IExpa2V3aXNlLgoJKHByb3h5SG9zdCk6IExpa2V3aXNlLgoJKHVzZXJBZ2VudCk6IExpa2V3aXNlLgoKMjAwNC0wNy0yMyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvbmV0L0RlZmF1bHRDb250ZW50SGFuZGxlckZhY3RvcnkuamF2YTogTmV3IGR1bW15CglpbXBsZW1lbnRhdGlvbi4KCjIwMDQtMDctMjIgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChvcmRpbmFyeV9qYXZhX3NvdXJjZV9maWxlcyk6IEFkZAoJRGVmYXVsdENvbnRlbnRIYW5kbGVyRmFjdG9yeS5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVidWlsdC4KCSogamF2YS9uZXQvVVJMQ29ubmVjdGlvbi5qYXZhIChkZWZhdWx0RmFjdG9yeSk6IE5ldyBmaWVsZC4KCShnZXRDb250ZW50KToKCShnZXRDb250ZW50SGFuZGxlcik6IFJlbmFtZWQgZnJvbSAnc2V0Q29udGVudEhhbmRsZXInLiBUcnkKCWRlZmF1bHRGYWN0b3J5IGFmdGVyIHVzZXItc2V0IGZhY3RvcnksIGlmIGFueS4gU2VhcmNoIGZvciBjb250ZW50CgloYW5kbGVyIGltcGxlbWVudGF0aW9ucyBpbiBnbnUuamF2YS5uZXQuY29udGVudCwgbm90IGdudS5nY2ouY29udGVudC4KCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2ZpbGUvQ29ubmVjdGlvbi5qYXZhIChnZXRIZWFkZXJGaWVsZCk6CglJbXBsZW1lbnRlZC4KCShnZXRMYXN0TW9kaWZpZWQpOiBJbXBsZW1lbnRlZC4KCShnZXRQZXJtaXNzaW9uKTogQ3JlYXRlIGZpbGUgcGVybWlzc2lvbiBoZXJlLCBpbnN0ZWFkIG9mIGluCgljb25zdHJ1Y3Rvci4KCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2djamxpYi9Db25uZWN0aW9uLmphdmEgKGdldEhlYWRlckZpZWxkKToKCUltcGxlbWVudGVkLgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvamFyL0Nvbm5lY3Rpb24uamF2YSAoZ2V0SGVhZGVyRmllbGQpOgoJSW1wbGVtZW50ZWQuCgkoZ2V0TGFzdE1vZGlmaWVkKTogSW1wbGVtZW50ZWQuCgkqIGdudS9qYXZhL2F3dC9DbGFzc3BhdGhUb29sa2l0LmphdmEgKGNyZWF0ZUltYWdlUHJvZHVjZXIpOiBOZXcuCglEZWZhdWx0IGltcGxlbWVudGF0aW9uLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhIChjcmVhdGVJbWFnZVByb2R1Y2VyKTogTmV3LgoJSW1wbGVtZW50IHVzaW5nIEdka1BpeGJ1ZkRlY29kZXIuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRleHRBcmVhLmphdmEKCShzZXRMaW5lV3JhcCk6IEZpcmUgcHJvcGVydHkgY2hhbmdlIGV2ZW50IGFmdGVyIG5ldyB2YWx1ZSBpcyBzZXQuCgkoc2V0VGFiU2l6ZSk6IExpa2V3aXNlLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUYWJsZS5qYXZhCgkoYXV0b0NyZWF0ZUNvbHVtbnNGcm9tTW9kZWwpOiBOZXcgZmllbGQuCgkoYXV0b1Jlc2l6ZU1vZGUpOiBMaWtld2lzZS4KCShjZWxsRWRpdG9yKTogTGlrZXdpc2UuCgkoY2VsbFNlbGVjdGlvbkVuYWJsZWQpOiBMaWtld2lzZS4KCShjb2x1bW5Nb2RlbCk6IExpa2V3aXNlLgoJKGRhdGFNb2RlbCk6IExpa2V3aXNlLgoJKGRlZmF1bHRFZGl0b3JzQnlDb2x1bW5DbGFzcyk6IExpa2V3aXNlLgoJKGRlZmF1bHRSZW5kZXJlcnNCeUNvbHVtbkNsYXNzKTogTGlrZXdpc2UuCgkoZWRpdGluZ0NvbHVtbik6IExpa2V3aXNlLgoJKGVkaXRpbmdSb3cpOiBMaWtld2lzZS4KCShncmlkQ29sb3IpOiBMaWtld2lzZS4KCShwcmVmZXJyZWRWaWV3cG9ydFNpemUpOiBMaWtld2lzZS4KCShyb3dIZWlnaHQpOiBMaWtld2lzZS4KCShyb3dNYXJnaW4pOiBMaWtld2lzZS4KCShyb3dTZWxlY3Rpb25BbGxvd2VkKTogTGlrZXdpc2UuCgkoc2VsZWN0aW9uQmFja2dyb3VuZCk6IExpa2V3aXNlLgoJKHNlbGVjdGlvbkZvcmVncm91bmQpOiBMaWtld2lzZS4KCShzZWxlY3Rpb25Nb2RlbCk6IExpa2V3aXNlLgoJKHNob3dIb3Jpem9udGFsTGluZXMpOiBMaWtld2lzZS4KCShzaG93VmVydGljYWxMaW5lcyk6IExpa2V3aXNlLgoJKHRhYmxlSGVhZGVyKTogTGlrZXdpc2UuCgkoSlRhYmxlKTogSW1wbGVtZW50ZWQuCgkoZ2V0Q29sdW1uTW9kZWwpOiBMaWtld2lzZS4KCShnZXRTZWxlY3RlZFJvdyk6IExpa2V3aXNlLgoJKGdldFNlbGVjdGlvbk1vZGVsKTogTGlrZXdpc2UuCgkoc2V0TW9kZWwpOiBMaWtld2lzZS4KCShzZXRTZWxlY3Rpb25Nb2RlbCk6IExpa2V3aXNlLgoJKGNyZWF0ZVNjcm9sbFBhbmVGb3JUYWJsZSk6IE5ldyBtZXRob2QuCgkoY3JlYXRlRGVmYXVsdERhdGFNb2RlbCk6IExpa2V3aXNlLgoJKGNyZWF0ZURlZmF1bHRMaXN0U2VsZWN0aW9uTW9kZWwpOiBMaWtld2lzZS4KCShnZXRNb2RlbCk6IExpa2V3aXNlLgoJKGdldFRhYmxlSGVhZGVyKTogTGlrZXdpc2UuCgkoc2V0VGFibGVIZWFkZXIpOiBMaWtld2lzZS4KCShnZXRDb2x1bW5TZWxlY3Rpb25BbGxvd2VkKTogTGlrZXdpc2UuCgkoc2V0Q29sdW1uU2VsZWN0aW9uQWxsb3dlZCk6IExpa2V3aXNlLgoJKGdldFJvd1NlbGVjdGlvbkFsbG93ZWQpOiBMaWtld2lzZS4KCShzZXRSb3dTZWxlY3Rpb25BbGxvd2VkKTogTGlrZXdpc2UuCgkoZ2V0QXV0b1Jlc2l6ZU1vZGUpOiBMaWtld2lzZS4KCShzZXRBdXRvUmVzaXplTW9kZSk6IExpa2V3aXNlLgoJKGdldENvbHVtbkNvdW50KTogTGlrZXdpc2UuCgkoZ2V0Um93Q291bnQpOiBMaWtld2lzZS4KCShnZXRDZWxsUmVuZGVyZXIpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YQoJKGNlbGxSZW5kZXJlcik6IE5ldyBmaWVsZC4KCShlZGl0YWJsZSk6IExpa2V3aXNlLgoJKHJvb3RWaXNpYmxlKTogTGlrZXdpc2UuCgkoc2hvd3NSb290SGFuZGxlcyk6IExpa2V3aXNlLgoJKGdldE1vZGVsKTogTmV3IG1ldGhvZC4KCShzZXRNb2RlbCk6IExpa2V3aXNlLgoJKGlzRWRpdGFibGUpOiBMaWtld2lzZS4KCShzZXRFZGl0YWJsZSk6IExpa2V3aXNlLgoJKGlzUm9vdFZpc2JpbGUpOiBMaWtld2lzZS4KCShzZXRSb290VmlzaWJsZSk6IExpa2V3aXNlLgoJKGdldFNob3dzUm9vdEhhbmRsZXMpOiBMaWtld2lzZS4KCShzZXRTaG93Um9vdEhhbmRsZXMpOiBMaWtld2lzZS4KCShnZXRDZWxsUmVuZGVyZXIpOiBMaWtld2lzZS4KCShzZXRDZWxsUmVuZGVyZXIpOiBMaWtld2lzZS4KCjIwMDQtMDctMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KRm9ybWF0dGVkVGV4dEZpZWxkLmphdmEKCShzZXREb2N1bWVudCk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YToKCUZpeGVkIGphdmFkb2NzLgoJKiBqYXZheC9zd2luZy9KVGFibGUuamF2YQoJKGdldERlZmF1bHRSZW5kZXJlcik6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL0pUZXh0RmllbGQuamF2YQoJKHNldEZvbnQpOiBMaWtld2lzZS4KCShnZXRQcmVmZXJyZWRTaXplKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pUb2dnbGVCdXR0b24uamF2YQoJKGdldEFjY2Vzc2libGVDb250ZXh0KTogRml4IGphdmFkb2MuCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmE6CglBZGQgc29tZSBqYXZhZG9jcy4KCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmE6CglMaWtld2lzZS4KCjIwMDQtMDctMjEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGaWxlRGlhbG9nUGVlci5qYXZhOgoJQ29sbGVjdCBhbGwgbmF0aXZlIG1ldGhvZCBkZWNsYXJhdGlvbiBhdCB0aGUgdG9wLgoJKGNyZWF0ZSk6IFNldCB0aGUgZmlsZW5hbWUgZmlsdGVyIGlmIG5lY2Vzc2FyeS4KCShzZXREaXJlY3RvcnkpOiBDYWxsIG5hdGl2ZVNldERpcmVjdG9yeSgpLgoJKHNldEZpbGVuYW1lRmlsdGVyKTogSW1wbGVtZW50LgoJKGZpbGVuYW1lRmlsdGVyQ2FsbGJhY2spOiBOZXcgbWV0aG9kLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dQZWVyLmMKCShjcmVhdGUpOiBDb25maWd1cmUgZGlhbG9nIHRvIHNob3cgaGlkZGVuIGZpbGVzLgoJKGZpbGVuYW1lRmlsdGVyQ2FsbGJhY2spOiBOZXcgZnVuY3Rpb24uCgkobmF0aXZlU2V0RmlsZW5hbWVGaWx0ZXIpOiBOZXcgZnVuY3Rpb24uCgkobmF0aXZlU2V0RGlyZWN0b3J5KTogTmV3IGZ1bmN0aW9uLgoKMjAwNC0wNy0yMSAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2xpZGVyVUkuamF2YToKCVJhbiBKYWxvcHkuCgkocGFpbnRUcmFjayk6IEZpbGwgdGhlIHRyYWNrIGJlZm9yZSBwYWludGluZwoJdGhlIGJvcmRlcnMuCgoyMDA0LTA3LTIxICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCXBhdGNoIGZyb20gUm9tYW4gS2VubmtlIDxyb21hbkBvbnRvZ3JhcGhpY3MuY29tPgoJKiBqYXZheC9zd2luZy9TcHJpbmcuamF2YTogTmV3IGZpbGUuCgkqIGphdmF4L3N3aW5nL1NwcmluZ0xheW91dC5qYXZhOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW06IEFkZCBuZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwNC0wNy0yMSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhOiBNaW5vciBsYXlvdXQgZml4ZXMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL1Njcm9sbFBhbmVMYXlvdXQuamF2YTogTGlrZXdpc2UuCgoyMDA0LTA3LTIxICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHREZXNrdG9wTWFuYWdlci5qYXZhOgoJKGZpbmRNaW5pbXVtKTogUmVtb3ZlZC4KCShyZXNpemVGcmFtZSk6IFRydXN0IHRoZSBVSSB0byBwYXNzIHZhbGlkCglib3VuZHMuCgkqIGphdmF4L3N3aW5nL0pPcHRpb25QYW5lLmphdmE6CglJbXBsZW1lbnRlZCBzaG93SW50ZXJuYWxYWFhEaWFsb2cgbWV0aG9kcy4KCShzdGFydE1vZGFsKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ludGVybmFsRnJhbWVVSS5qYXZhOgoJKEJvcmRlckxpc3RlbmVyOjptb3VzZURyYWdnZWQpOiBWZXJpZnkgdGhhdCB0aGUgbmV3Cglib3VuZHMgYXJlIHZhbGlkIGJlZm9yZSBwYXNzaW5nIHRoZW0gdG8gdGhlIERlc2t0b3BNYW5hZ2VyLgoJKHByZWZlcnJlZExheW91dFNpemUpOiBEZWxlZ2F0ZQoJdG8gZ2V0U2l6ZS4KCShtaW5pbXVtTGF5b3V0U2l6ZSk6IERpdHRvLgoJKGdldFNpemUpOiBOZXcgbWV0aG9kLgoJKEdsYXNzUGFuZURpc3BhdGNoZXIpOiBSZWltcGxlbWVudGVkIGJ5IGNvcHlpbmcKCWEgc3RyaXBwZWQgZG93biBMaWdodHdlaWdodERpc3BhdGNoZXIgZnJvbSBDb250YWluZXIuCgkoZ2V0TWluaW11bVNpemUpOiBDYWxsIG1pbmltdW1MYXlvdXRTaXplLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljT3B0aW9uUGFuZVVJLmphdmE6CglSYW4gSmFsb3B5LgoJKG1vdXNlUHJlc3NlZCk6IEFkZCBhYmlsaXR5IHRvIHByb3Blcmx5IGNsb3NlCglKSW50ZXJuYWxGcmFtZXMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sQmFyVUkuamF2YToKCShEcmFnV2luZG93KTogU2V0IG93bmVyIGZvciBEcmFnV2luZG93LgoKMjAwNC0wNy0yMSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9TaG9ydExvb2t1cFRhYmxlLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZhL2F3dC9pbWFnZS9CeXRlTG9va3VwVGFibGUuamF2YTogTmV3IGZpbGUuCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDctMjEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGaWxlRGlhbG9nUGVlci5qYXZhCgkoY3JlYXRlKEd0a0NvbnRhaW5lclBlZXIpKTogTmV3IG5hdGl2ZSBtZXRob2QuCgkoY3JlYXRlKCkpOiBDYWxsIG5hdGl2ZSBjcmVhdGUoKSwgcGFzc2luZyBpbiB0aGUgcGFyZW50IGZyYW1lCglhcyB0aGUgcGFyYW10ZXIuIE5hdGl2ZWx5IHNldCB0aGUgY3VycmVudCBmaWxlIGFuZCBkaXJlY3RvcnkuCgkoc2V0RmlsZSk6IENvbnN0cnVjdCBhbiBhYnNvbHV0ZSBmaWxlbmFtZSBiZWZvcmUgcGFzc2luZyBpdCB0bwoJdGhlIG5hdGl2ZSBwZWVyLgoJKG5hdGl2ZUdldERpcmVjdG9yeSk6IE5ldyBtZXRob2QuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ1BlZXIuYwoJKHdpbmRvd19jbG9zZWQpOiBSZW1vdmVkLgoJKG9rX2NsaWNrZWQpOiBMaWtld2lzZS4KCShjYW5jZWxfY2xpY2tlZCk6IExpa2V3aXNlLgoJKGhhbmRsZV9yZXNwb25zZSk6IE5ldyBtZXRob2QuCgkoY3JlYXRlKTogVXNlIEd0a0ZpbGVDaG9vc2VyRGlhbG9nLgoJKGNvbm5lY3RTaWduYWxzKTogQ29ubmVjdCB0byBoYW5kbGVfcmVzcG9uc2UuCgkobmF0aXZlR2V0RGlyZWN0b3J5KTogTmV3IG1ldGhvZC4KCShuYXRpdmVTZXRGaWxlKTogVXNlIEd0a0ZpbGVDaG9vc2VyRGlhbG9nLgoKMjAwNC0wNy0yMSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2F3dC9pbWFnZS9Mb29rdXBUYWJsZS5qYXZhOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA3LTIxICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvYXd0L2ltYWdlL0tlcm5lbC5qYXZhOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA3LTIxICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDaGVja0JveE1lbnVJdGVtLmphdmE6IEZpeGVkIEphdmFkb2NzLgoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSk1lbnVCYXIuamF2YTogTGlrZXdpc2UuCgkoTUFSR0lOX0NIQU5HRURfUFJPUEVSVFkpOiBOZXcgcHJvcGVydHkuCgkoc2V0TWFyZ2luKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL0pNZW51SXRlbS5qYXZhOiBGaXhlZCBqYXZhZG9jcy4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudVVJLmphdmE6IEZpeGVkIGphdmFkb2NzLgoJKExBQkVMX0NIQU5HRURfUFJPUEVSVFkpOiBOZXcgcHJvcGVydHkuCgkoYWRkKTogY2hhbmdlZCB0byB1c2UgY3JlYXRlQWN0aW9uQ29tcG9uZW50LgoJKGNyZWF0ZUFjdGlvbkNvbXBvbmVudCk6IEltcGxlbWVudGVkLgoJKHNldExhYmVsKTogRmlyZSBQcm9wZXJ0eUNoYW5nZUV2ZW50IGlmIGxhYmVsIHByb3BlcnR5CgljaGFuZ2VzLgoJKiBqYXZheC9zd2luZy9KUmFkaW9CdXR0b25NZW51SXRlbS5qYXZhOiBGaXhlZCBqYXZhZG9jcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVCYXJVSS5qYXZhOiBMaWtld2lzZS4KCShDb250YWluZXJIYW5kbGVyKTogUmVwYWludCBpZiBtYXJnaW4gcHJvcGVydHkgaGFzIGNoYW5nZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CgkoaW5zdGFsbFVJKTogQ2FsbCBpbnN0YWxsQ29tcG9uZW50cygpLgoJKHVuaW5zdGFsbFVJKTogQ2FsbCB1aW5zdGFsbENvbXBvbmVudHMoKS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhOgoJRml4ZWQgamF2YWRvY3MuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQb3B1cE1lbnVVSS5qYXZhOgoJTGlrZXdpc2UuCgoyMDA0LTA3LTIxICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb29sQmFyVUkuamF2YToKCShEcmFnV2luZG93KTogVXNlIHRoZSByaWdodCBjb25zdHJ1Y3Rvci4KCjIwMDQtMDctMjEgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlRvb2xCYXIuamF2YToKCShsYXlvdXRDb250YWluZXIpOiBVc2UgZ2V0Q29tcG9uZW50cy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Rvb2xCYXJVSS5qYXZhOgoJKERyYWdXaW5kb3cpOiBEb24ndCB1c2UgU3dpbmdVdGlsaXRpZXMnCglnZXRPd25lckZyYW1lCgkoVG9vbEJhckRpYWxvZyk6IGRpdHRvLgoKMjAwNC0wNy0yMSAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YToKCVJhbiBqYWxvcHkuCgkobGF5b3V0Q29udGFpbmVyKTogU2V0IHRoZSBnbGFzc3BhbmUncyBzaXplIHRvCgliZSB0aGUgc2FtZSBhcyB0aGUgY29udGVudCBwYW5lLgoJKGNyZWF0ZUdsYXNzUGFuZSk6IFNldCBvcGFxdWUgcHJvcGVydHkgdG8gZmFsc2UuCgoyMDA0LTA3LTIxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YSAocmVxdWVzdEZvY3VzKCkpOiBEb24ndCBoYW5kbGUgUGFuZWxzCglzcGVjaWFsbHkuCgkocmVxdWVzdEZvY3VzKGJvb2xlYW4pKTogTGlrZXdpc2UuCgkocmVxdWVzdEZvY3VzSW5XaW5kb3coYm9vbGVhbikpOiBMaWtld2lzZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtQYW5lbFBlZXIuYyAoY3JlYXRlKToKCVNldCBHVEtfQ0FOX0ZPQ1VTIGZsYWcuCgoyMDA0LTA3LTIxICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoJKiBnY2ovTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YToKCUFkZCByb2xsT3ZlckVuYWJsZWQgcHJvcGVydHkuCgkoc2V0Um9sbG92ZXJFbmFibGVkKTogVXNlIG5ldyBwcm9wZXJ0eS4KCShpc1JvbGxvdmVyRW5hYmxlZCk6IFVzZSBuZXcgcHJvcGVydHkuCgkqIGphdmF4L3N3aW5nL0pUYWJiZWRQYW5lLmphdmE6Cgkoc2V0Q29tcG9uZW50KTogUmVtb3ZlIHVzZWxlc3MgSlRhYmJlZFBhbmUudGhpcy4KCSogamF2YXgvc3dpbmcvSlRvb2xCYXIuamF2YTogRmluaXNoIGltcGxlbWVudGF0aW9uLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQXJyb3dCdXR0b24uamF2YToKCShwYWludCk6IE1vdmVkIGJvcmRlciBwYWludGluZyB0byBhIGJvcmRlci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmE6CglDaGFuZ2UgSlRvb2xCYXIgbG9vayBhbmQgZmVlbCBkZWZhdWx0cy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhCgkoYWN0aW9uUGVyZm9ybWVkKTogUmV0dXJuIEludGVnZXIgaW5kZXggaW5zdGVhZCBvZiBuYW1lLgoJKGFkZEJ1dHRvbkNvbXBvbmVudHMpOiBDaGVjayB0byBzZWUgaWYgY29tcG9uZW50IGlzCglKQnV0dG9uIGxhc3QuCgkoY3JlYXRlTWVzc2FnZUFyZWEpOiBEb24ndCB1c2UgY29tcG9uZW50cyB0aGF0IGFyZSBub3QKCWNvbXBsZXRlZCB5ZXQuCgkoZ2V0SWNvbkZvclR5cGUpOiBVc2UgdGVtcG9yYXJ5IGljb25zLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2xpZGVyVUkuamF2YToKCShtb3VzZVByZXNzZWQpOiBEbyBub3QgcmV0dXJuIGlmIGl0J3Mgb24gdGh1bWIuCgkocGFpbnRNaW5vclRpY2tGb3JIb3JpelNsaWRlcik6IFVzZSBCTEFDSyB0byBwYWludCB0aWNrcy4KCShwYWludE1pbm9yVGlja0ZvclZlcnRTbGlkZXIpOiBkaXR0by4KCShwYWludE1ham9yVGlja0Zvckhvcml6U2xpZGVyKTogZGl0dG8uCgkocGFpbnRNYWpvclRpY2tGb3JWZXJ0U2xpZGVyKTogZGl0dG8uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVEaXZpZGVyLmphdmE6CglBZGQgYSBib3JkZXIgYXJvdW5kIHRoZSBTcGxpdFBhbmVEaXZpZGVyLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lVUkuamF2YToKCVJlbW92ZSBjb21tZW50cy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Rvb2xCYXJTZXBhcmF0b3JVSS5qYXZhOgoJTmV3IGZpbGUuIEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmE6CglJbXBsZW1lbnRlZC4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDctMjEgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9UaW1lci5qYXZhIChydW4pOiBRdWV1ZSBldmVudHMgZWFjaCB0aW1lIGN5Y2xlLgoKMjAwNC0wNy0yMSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlUGFpbnRlci5qYXZhCgkoaW1hZ2VDb21wbGV0ZSk6IENhbGwgaW1hZ2UuaW1hZ2VDb21wbGV0ZSgpLgoJKiBqYXZhL2F3dC9pbWFnZS9NZW1vcnlJbWFnZVNvdXJjZS5qYXZhOgoJUmVpbXBsZW1lbnQgY29uc3VtZXJzIGFzIGEgVmVjdG9yIGluc3RlYWQgb2YgYSBIYXNodGFibGUuICBUaGlzIGlzCgliZWNhdXNlIGVudW1lcmF0aW9uIG9uIGEgSGFzaHRhYmxlIGlzIG5vdCB0aHJlYWQtc2FmZS4KCShhZGRDb25zdW1lcik6IEFkYXB0IHRvIFZlY3RvciBjb25zdW1lcnMuCgkoaXNDb25zdW1lcik6IEFkYXB0IHRvIFZlY3RvciBjb25zdW1lcnMuCgkocmVtb3ZlQ29uc3VtZXIpOiBBZGFwdCB0byBWZWN0b3IgY29uc3VtZXJzLgoJKHN0YXJ0UHJvZHVjdGlvbik6IEFkYXB0IHRvIFZlY3RvciBjb25zdW1lcnMuIENhbGwgaW1hZ2VDb21wbGV0ZSgpCgl3aXRoIFNUQVRJQ0lNQUdFRE9ORSBmbGFnIGluc3RlYWQgb2YgU0lOR0xFRlJBTUUgZmxhZy4KCShuZXdQaXhlbHMpOiBBZGFwdCB0byBWZWN0b3IgY29uc3VtZXJzLgoJKHNlbmRQaWN0dXJlKTogU2V0IHRoZSBjb2xvciBtb2RlbCBvZiB0aGUgaW1hZ2UgY29uc3VtZXIuCgkobmV3UGl4ZWxzKElJSUkpKTogQWRhcHQgdG8gVmVjdG9yIGNvbnN1bWVycy4KCShuZXdQaXhlbHMoSUlJSUIpKTogQWRhcHQgdG8gVmVjdG9yIGNvbnN1bWVycy4KCjIwMDQtMDctMjEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhIChkZWxpdmVyRXZlbnQpOiBJbXBsZW1lbnQuCgkocG9zdEV2ZW50KTogSW1wbGVtZW50LgoJKGhhbmRsZUV2ZW50KTogSW1wbGVtZW50LgoJKHRyYW5zbGF0ZUV2ZW50KTogTmV3IG1ldGhvZC4KCShkaXNwYXRjaEV2ZW50SW1wbCk6IERvY3VtZW50LiAgQWRkIEFXVCAxLjAgZXZlbnQgaGFuZGxpbmcuCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhIChkZWxpdmVyRXZlbnQpOiBJbXBsZW1lbnQuCgkqIGphdmEvYXd0L0V2ZW50LmphdmEgKHBhcmFtU3RyaW5nKTogRml4IGZvcm1hdHRpbmcuCgkqIGphdmEvYXd0L0ZvbnQuamF2YSAodG9TdHJpbmcpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvV2luZG93LmphdmEgKHBvc3RFdmVudCk6IEltcGxlbWVudC4KCjIwMDQtMDctMjEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0RlZmF1bHRLZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhIChkaXNwYXRjaEV2ZW50KToKCVNldCB3aW5kb3cncyBmb2N1cyBvd25lciB1cG9uIHJlY2VpdmluZyBhIEZPQ1VTX0xPU1QgZXZlbnQuCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhIChXaW5kb3coKSk6IFJlZm9jdXMgdGhlIHByZXZpb3VzbHkKCWZvY3VzZWQgY29tcG9uZW50IHdpdGhpbiB0aGUgd2luZG93IHdoZW4gdGhlIHdpbmRvdyByZWdhaW5zIHRoZQoJdG9wLWxldmVsIGZvY3VzLgoJKHNldEZvY3VzT3duZXIpOiBOZXcgbWV0aG9kLgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YSAocmVxdWVzdEZvY3VzKTogQWRkIEZJWE1FLgoKCSogbGliZ2NqLnBjLmluOiBSZW1vdmUgbGlicmFyeSBmbGFncy4KCjIwMDQtMDctMjEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtQYW5lbFBlZXIuamF2YSAoaGFuZGxlRXZlbnQpOiBIYW5kbGUKCU1PVVNFX1BSRVNTRUQgZXZlbnQuCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhIChyZXF1ZXN0Rm9jdXMoKSk6IEhhbmRsZSBQYW5lbAoJc3BlY2lhbGx5LiAgUG9zdCBGT0NVU19MT1NUIGV2ZW50IG9uIG9wcG9zaXRlIGNvbXBvbmVudC4KCShyZXF1ZXN0Rm9jdXMoYm9vbGVhbikpOiBMaWtld2lzZS4KCShyZXF1ZXN0Rm9jdXNJbldpbmRvdyhib29sZWFuKSk6IExpa2V3aXNlLgoJKHBhcmFtU3RyaW5nKTogUmVvcmRlciBkaW1lbnNpb24gZmllbGRzLgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YSAocGFyYW1TdHJpbmcpOiBGaXggc3RyaW5nIGZvcm1hdC4KCSogamF2YS9hd3QvRGVmYXVsdEtleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmEgKGRpc3BhdGNoRXZlbnQpOgoJSGFuZGxlIEZPQ1VTX0xPU1QgZXZlbnRzLiAgRG9uJ3QgaGFuZGxlIFdpbmRvd3Mgc3BlY2lhbGx5LiAgT25seQoJcHJvY2VzcyBrZXkgZXZlbnRzIGlmIHRoZSBmb2N1cyBvd25lciBpcyBub24tbnVsbC4KCShkaXNwYXRjaEtleUV2ZW50KTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L0ZyYW1lLmphdmEgKHBhcmFtU3RyaW5nKTogRml4IGZvcm1hdHRpbmcuCgkoZ2VuZXJhdGVOYW1lKTogTmV3IG1ldGhvZC4KCShnZXRVbmlxdWVMb25nKTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L0tleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmEgKGdldEZvY3VzT3duZXIpOiBDaGVjayBpZgoJdGhlIHRlbXBvcmFyeSBmb2N1cyBvd25lciBpcyBudWxsLiAgSWYgc28sIHJldHVybiB0aGUgcGVybWFuZW50Cglmb2N1cyBvd25lci4KCSogamF2YS9hd3QvUGFuZWwuamF2YSAoZ2VuZXJhdGVOYW1lKTogTmV3IG1ldGhvZC4KCShnZXRVbmlxdWVMb25nKTogTGlrZXdpc2UuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jOiBSZXdvcmsKCXNpZ25hbCBoYW5kbGluZyB0byBtYWtlIGNhbGxiYWNrcyBtb3JlIHNwZWNpZmljLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvUG9zaXRpb24uamF2YQoJKEJpYXMpOiBJbXBsZW1lbnRlZC4KCjIwMDQtMDctMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9Mb29rQW5kRmVlbC5qYXZhCgkocHJvdmlkZUVycm9yRmVlZGJhY2spOiBOZXcgbWV0aG9kLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUZXh0QXJlYS5qYXZhCgkodGFiU2l6ZSk6IE5ldyBmaWVsZC4KCShnZXRUYWJTaXplKTogTmV3IG1ldGhvZC4KCShzZXRUYWJTaXplKTogTGlrZXdpc2UuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQWN0aW9uTWFwLmphdmE6CglGaXhlZCBqYXZhZG9jcyBhbGwgb3Zlci4KCShzZXJpYWxWZXJzaW9uVUlEKTogTWFkZSBwcml2YXRlLgoJKHBhcmVudCk6IERvbid0IGV4cGxpY2l0ZWx5IGluaXRpYWxpemUgd2l0aCBkZWZhdWx0IHZhbHVlLgoJKGdldCk6IFNJbXBsaWZpZWQuCgkoa2V5cyk6IFJlaW1wbGVtZW50ZWQuCgkoYWxsS2V5cyk6IExpa2V3aXNlLgoJKGNvbnZlcnRTZXQpOiBSZW1vdmVkLgoJKiBqYXZheC9zd2luZy9Db21wb25lbnRJbnB1dE1hcC5qYXZhOgoJRml4ZWQgamF2YWRvY3MgYWxsIG92ZXIuCgkoQ29tcG9uZW50SW5wdXRNYXApOiBJbXBsZW1lbnRlZC4KCShwdXQpOiBMaWtld2lzZS4KCShjbGVhcik6IExpa2V3aXNlLgoJKHJlbW92ZSk6IExpa2V3aXNlLgoJKFNldFBhcmVudCk6IExpa2V3aXNlLgoJKGdldENvbXBvbmVudCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9JbnB1dE1hcC5qYXZhOgoJRml4ZWQgamF2YWRvY3MgYWxsIG92ZXIuCgkoc2VyaWFsVmVyc2lvblVJRCk6IE1hZGUgcHJpdmF0ZS4KCShwYXJlbnQpOiBEb24ndCBleHBsaWNpdGVseSBpbml0aWFsaXplIHdpdGggZGVmYXVsdCB2YWx1ZS4KCShnZXQpOiBTSW1wbGlmaWVkLgoJKGtleXMpOiBSZWltcGxlbWVudGVkLgoJKGFsbEtleXMpOiBMaWtld2lzZS4KCShjb252ZXJ0U2V0KTogUmVtb3ZlZC4KCjIwMDQtMDctMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9BY3Rpb25NYXAuamF2YSwKCWphdmF4L3N3aW5nL0NvbXBvbmVudElucHV0TWFwLmphdmEsCglqYXZheC9zd2luZy9JbnB1dE1hcC5qYXZhLAoJamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ29sdW1uTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL3RhYmxlL1RhYmxlQ29sdW1uLmphdmEsCglqYXZheC9zd2luZy90YWJsZS9UYWJsZUNvbHVtbk1vZGVsLmphdmEsCglqYXZheC9zd2luZy90YWJsZS9UYWJsZU1vZGVsLmphdmEsCglqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvVGV4dEFjdGlvbi5qYXZhOgoJUmVmb3JtYXRlZC4KCjIwMDQtMDctMjEgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhIChidWZmZXJlZEltYWdlT3JFcnJvcik6CglNYWtlIG1ldGhvZCBub24tc3RhdGljLgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhOgoJUmVuYW1lIGZpZWxkcyB0byBtYXRjaCBwcm9wZXJ0eSBuYW1lcyB3aGVyZSBwb3NzaWJsZS4KCShpY29uVGV4dEdhcCk6IE5ldyBwcm9wZXJ0eS4KCSogamF2YXgvc3dpbmcvSkNoZWNrQm94LmphdmE6IE1hdGNoIEFic3RyYWN0QnV0dG9uIGNoYW5nZXMuCgkoaW5pdCkgTmV3IG1ldGhvZCwgY2FsbCBmcm9tIGFmdGVyIHZhcmlvdXMgY29uc3RydWN0b3JzLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEgKHJldmFsaWRhdGUpOgoJSW52YWxpZGF0ZSBiZWZvcmUgcXVldWVpbmcgcmVwYWlyLgoJKiBqYXZheC9zd2luZy9KTGlzdC5qYXZhIChnZXRQcmVmZXJyZWRTY3JvbGxhYmxlVmlld3BvcnRTaXplKToKCVJlaW1wbGVtZW50IGluIHRlcm1zIG9mIHZpc2libGVSb3dDb3VudCBwcm9wZXJ0eS4KCSogamF2YXgvc3dpbmcvSk1lbnVCdXR0b24uamF2YTogTWF0Y2ggQWJzdHJhY3RCdXR0b24gY2hhbmdlcy4KCSogamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YSAoY3JlYXRlU2Nyb2xsTGlzdGVuZXIpOgoJUmVtb3ZlIHRyYWNpbmcgY2hhdHRlci4KCSogamF2YXgvc3dpbmcvSlRvZ2dsZUJ1dHRvbi5qYXZhOiBNYXRjaCBBYnN0cmFjdEJ1dHRvbiBjaGFuZ2VzLgoJKiBqYXZheC9zd2luZy9SZXBhaW50TWFuYWdlci5qYXZhIChhZGRJbnZhbGlkQ29tcG9uZW50KToKCURvbid0IGludmFsaWRhdGUuCgkqIGphdmF4L3N3aW5nL1Njcm9sbFBhbmVMYXlvdXQuamF2YTogVmFyaW91cyBjb3JyZWN0aW9ucyB0byBsYXlvdXQKCWNhbGN1bGF0aW9ucy4KCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YSAobGF5b3V0Q29tcG91bmRMYWJlbCk6CglNaW1pYyBzdW4gYmVoYXZpb3Igb24gdG9wIGxlZnQvcmlnaHQgcG9zaXRpb25pbmcuCgkqIGphdmF4L3N3aW5nL1ZpZXdwb3J0TGF5b3V0LmphdmEgKHByZWZlcnJlZExheW91dFNpemUpOgoJUmVtb3ZlIG1pc3Rha2VuIHVzZSBvZiBwcmVmZXJyZWRTY3JvbGxhYmxlVmlld3BvcnRTaXplIGhlcmUuCgkobGF5b3V0Q29udGFpbmVyKTogVXNlIHZpZXcncyBwcmVmZXJyZWQgc2l6ZSBhcyBiYXNpcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmE6CglTZXQsIGdldCwgYW5kIHVzZSB0ZXh0SWNvbkdhcCBwcm9wZXJ0eS4KCShwYWludCkgUGFpbnQgdGV4dCByZXR1cm5lZCBmcm9tIGxheW91dCAod2l0aCBlbGxpcHNpcykuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMaXN0VUkuamF2YToKCVJlbW92ZSB0cmFjaW5nIGNoYXR0ZXIsIGNvcnJlY3QgdmFyaW91cyBtaW5vciBjYWxjdWxhdGlvbnMuCgkoZ2V0Q2VsbEJvdW5kcyk6IFVwZGF0ZSBsYXlvdXQgc3RhdGUgYmVmb3JlIGNhbGN1bGF0aW5nLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YSAoQnV0dG9uLk1hcmdpbik6CglVc2UgbWFyZ2luIGRlZmF1bHQgc2ltaWxhciB0byBzdW4ncy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEgKEFycm93SWNvbik6CgkoY3JlYXRlSW5jcmVhc2VJY29uKTogQ2VudGVyIGljb24sIG1pbmltaXplIG1hcmdpbnMuCgkoY3JlYXRlRGVjcmVhc2VJY29uKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxQYW5lVUkuamF2YSAoaW5zdGFsbERlZmF1bHRzKToKCUltcGxlbWVudC4KCShpbnN0YWxsVUkpOiBDYWxsIGl0LgoJKHVuaW5zdGFsbERlZmF1bHRzKTogSW1wbGVtZW50LgoJKHVuaW5zdGFsbFVJKTogQ2FsbCBpdC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Rvb2xCYXJVSS5qYXZhIChEcmFnV2luZG93KToKCUNhbGwgZXhpc3RpbmcgV2luZG93IGNvbnN0cnVjdG9yLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVmlld3BvcnRVSS5qYXZhIChwYWludCk6CglTZXQgY2xpcCBiZWZvcmUgcGFpbnRpbmcuCgoyMDA0LTA3LTIxICBPbGdhIFJvZGltaW5hIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmE6CgkocHJvY2Vzc01vdXNlRXZlbnQpOiBSZWltcGxlbWVudGVkIHRvIGRlYWwgd2l0aAoJbW91c2UgZHJhZyBldmVudHMuCgkoY3JlYXRlTWVudURyYWdNb3VzZUV2ZW50KTogTmV3IHByaXZhdGUgaGVscGVyIG1ldGhvZC4KCUNyZWF0ZXMgTWVudURyYWdNb3VzZUV2ZW50LgoJKiBqYXZheC9zd2luZy9NZW51U2VsZWN0aW9uTWFuYWdlci5qYXZhCgkoY29tcG9uZW50Rm9yUG9pbnQpOiBJbXBsZW1lbnRlZC4KCShpc0NvbXBvbmVudFBhcnRPZkN1cnJlbnRNZW51KTogTWFkZSBwdWJsaWMuCgkocHJvY2Vzc01vdXNlRXZlbnQpOiBSZWltcGxlbWVudGVkIHRvIGRlYWwgd2l0aAoJbW91c2UgZHJhZyBldmVudHMuCgkoc2V0U2VsZWN0ZWRQYXRoKTogQ29ycmVjdGVkIHNtYWxsIG1pc3Rha2UgdGhhdCBjYXVzZWQKCXBhdGggdG8gYmUgc2V0IGluY29ycmVjdGx5LgoJKGdldFBhdGgpOiBJZiBnaXZlbiBjb21wb25lbnQgaXMgSk1lbnUgdGhlbiBhbHNvIGFkZCB0aGlzCgltZW51J3MgcG9wdXAgbWVudSB0byB0aGUgc2VsZWN0ZWQgcGF0aC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YToKCShnZXRQYXRoKTogRGl0dG8uCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IENhbGwgZ2V0UHJlZmVycmVkTWVudUl0ZW1TaXplKCkuCgkoZ2V0UHJlZmVycmVkSXRlbVNpemUpOiBNb3ZlZCBjb2RlIGZyb20gZ2V0UHJlZmVycmVkU2l6ZSB0byBoZXJlLgoJKGluc3RhbGxMaXN0ZW5lcnMpOiBJbnN0YWxsIE1vdXNlTW90aW9uTGlzdGVuZXJzLgoJKE1vdXNlSW5wdXRIYW5kbGVyKTogUGFzcyBtb3VzZSByZWxlYXNlIGV2ZW50IHRvIE1lbnVTZWxlY3Rpb25NYW5hZ2VyCglpZiBtb3VzZSB3YXNuJ3QgcmVsZWFzZWQgaW4gdGhlIGJvdW5kcyBvZiB0aGlzIG1lbnUgaXRlbS4KCShNZW51RHJhZ01vdXNlSGFuZGxlcik6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudVVJLmphdmE6CgkoaW5zdGFsbExpc3RlbmVycyk6IEluc3RhbGwgTW91c2VNb3Rpb25MaXN0ZW5lciBhbmQKCU1lbnVEcmFnZU1vdXNlTGlzdGVuZXIuCgkoTWVudURyYWdNb3VzZUhhbmRsZXIpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BvcHVwTWVudVVJLmphdmE6CgkodW5pbnN0YWxsTGlzdGVuZXJzKTogSW1wbGVtZW50ZWQuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkNoZWNrQm94LmphdmE6IFJlZm9ybWF0ZWQuCiAgICAgICAgKEpDaGVja0JveCk6IEZpeGVkIGFsbCBjb25zdHJ1Y3RvcnMuCiAgICAgICAgKGlzQm9yZGVyUGFpbnRlZEZsYXQpOiBOZXcgbWV0aG9kLgogICAgICAgIChzZXRCb3JkZXJQYWludGVkRmxhdCk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL0pFZGl0b3JQYW5lLmphdmEKICAgICAgICAoY3JlYXRlRWRpdG9yS2l0Rm9yQ29udGVudFR5cGUpOiBNYWRlIHB1YmxpYy4KICAgICAgICAoc2Nyb2xsVG9SZWZlcmVuY2UpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlRleHRBcmVhLmphdmEKICAgICAgICAoc2V0TGluZVdyYXApOiBGaXJlIHByb3BlcnR5IGNoYW5nZS4KCSogamF2YXgvc3dpbmcvSlRvZ2dsZUJ1dHRvbi5qYXZhCiAgICAgICAgKEpUb2dnbGVCdXR0b24pOiBOZXcgY29uc3RydWN0b3IuCiAgICAgICAgKEpUb2dnbGVCdXR0b24pOiBTaW1wbGlmaWVkLgoJKiBqYXZheC9zd2luZy90ZXh0L0F0dHJpYnV0ZVNldC5qYXZhCiAgICAgICAgKEZvbnRBdHRyaWJ1dGUpOiBSZW5hbWVkIGZyb20gRm9udENoYXJhY3RlckF0dHJpYnV0ZS4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCiAgICAgICAgKEtleUJpbkJpbmRpbmcpOiBBZGRlZCBqYXZhZG9jLgogICAgICAgIChKVGV4dENvbXBvbmVudCk6IExpa2V3aXNlLgogICAgICAgIChnZXRBY2Nlc3NpYmxlQ29udGV4dCk6IEZpeGVkIGphdmFkb2MuCgkqIGphdmF4L3N3aW5nL3RleHQvVmlldy5qYXZhCiAgICAgICAgKFZpZXcpOiBBZGRlZCBqYXZhZG9jLgoJKiBqYXZheC9zd2luZy90ZXh0L1RhYmFibGVWaWV3LmphdmE6IE5ldyBmaWxlLgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgamF2YXgvc3dpbmcvdGV4dC9UYWJhYmxlVmlldy5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA3LTIxICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvaW1hZ2UvQnVmZmVyZWRJbWFnZS5qYXZhIChnZXRTb3VyY2UpOiBSZW1vdmUgdHJhY2luZyBjaGF0dGVyLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhCgkoR3RrRXJyb3JJbWFnZSk6IE5ldyBoZWxwZXIgY2xhc3MuCgkoYnVmZmVyZWRJbWFnZU9yRXJyb3IpOiBOZXcgaGVscGVyIG1ldGhvZC4KCShjcmVhdGVJbWFnZSk6IFVzZSBpdC4KCjIwMDQtMDctMjEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dENvbXBvbmVudFBlZXIuYwoJKHNldENhcmV0UG9zaXRpb24pOiBTY3JvbGwgdGhlIHRleHQgdmlldyBzbyB0aGUgbmV3IGNhcmV0IHBvc2l0aW9uCglpcyB2aXNpYmxlIG9uIHNjcmVlbi4KCjIwMDQtMDctMjEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb250YWluZXJQZWVyLmphdmEKCShzZXRCb3VuZHMpOiBEbyBub3QgdmFsaWRhdGUgYXd0Q29tcG9uZW50IGhlcmUuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtTY3JvbGxQYW5lUGVlci5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IE5ldyBtZXRob2QuCgkqIGphdmEvYXd0L1Njcm9sbFBhbmUuamF2YQoJKFNjcm9sbFBhbmUpOiBTZXQgZGVmYXVsdCBzaXplIHRvIDEwMHgxMDAuCgkoYWRkTm90aWZ5KTogSWYgY2hpbGQgaXMgbm90IGEgUGFuZWwsIHdyYXAgaXQgd2l0aCBhIG5ldyBQYW5lbC4KCShwYXJhbVN0cmluZyk6IEltcGxlbWVudC4KCjIwMDQtMDctMjEgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YToKCShzZXRTZWxlY3RlZCk6IERpc3BsYXkgcG9wdXAgbWVudSBvbmx5IGlmIHRoaXMgbWVudQoJaXMgc2hvd2luZyBvbiB0aGUgc2NyZWVuLgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmE6CgkocHJvY2Vzc01vdXNlRXZlbnQpOiBBZGRlZCBjb21tZW50LgoJKHByb2Nlc3NLZXlFdmVudCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9NZW51U2VsZWN0aW9uTWFuYWdlci5qYXZhOgoJKGNsZWFyU2VsZWN0ZWRQYXRoKTogT25seSBmaXJlU3RhdGVDaGFuZ2VkKCkgYWZ0ZXIKCXNlbGVjdGVkIHBhdGggd2FzIGNoYW5nZWQsIG5vdCBiZWZvcmUuCgkoc2V0U2VsZWN0ZWRQYXRoKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CgkocGFpbnRNZW51SXRlbSk6IENvcnJlY3RlZCBwb3NpdGlvbiBvZiBtZW51IGl0ZW0ncwoJaWNvbi4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BvcHVwTWVudVVJLmphdmE6CgkoaW5zdGFsbFVJKTogQ29ycmVjdCBzZXREZWZhdWx0TGlnaHRXZWlnaHRQb3B1cEVuYWJsZWQgY2FsbC4KCShwb3B1cE1lbnVDYW5jZWxlZCk6IFJlaW1wbGVtZW50ZWQuCgkocG9wdXBNZW51V2lsbEJlY29tZVZpc2libGUpOiBTZWxlY3QgZmlyc3QgbWVudSBpdGVtIGJ5IGRlZmF1bHQKCXdoZW4gZGlzcGxheWluZyBmcmVlIGZsb2F0aW5nIHBvcHVwIG1lbnVzLgoJKFRvcFdpbmRvd0xpc3RlbmVyKTogUmVpbXBsZW1lbnRlZC4KCjIwMDQtMDctMjEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L1BhbmVsLmphdmEgKGRpc3BhdGNoRXZlbnRJbXBsKTogT3ZlcnJpZGUgdG8gcHJldmVudAoJUGFuZWwgZnJvbSBiZWluZyBwYWludGVkIHR3aWNlIHdoZW4gaXQgaXMgZmlyc3Qgc2hvd24uCgoyMDA0LTA3LTIxICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhOiBSZXZlcnRlZCBjaGFuZ2VzIGZyb20gbXkKCXByZXZpb3VzIHBhdGNoIGZvciBjcmVhdGluZyB3aW5kb3cgd2l0aG91dCBhbiBvd25lci4KCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YToKCShTd2luZ1V0aWxpdGllcy5Pd25lckZyYW1lKTogbWFkZSBzdGF0aWMuCgkoT3duZXJGcmFtZS5zZXRWaXNpYmxlKTogTmV3IG1ldGhvZC4gT3ZlcnJpZGRlbiB3aXRoCgllbXB0eSBpbXBsZW1lbnRhdGlvbi4KCShPd25lckZyYW1lLmlzU2hvd2luZyk6IE5ldyBtZXRob2QuIE92dmVycmlkZGVuCgl0byByZXR1cm4gYWx3YXlzIHRydWUuCgoyMDA0LTA3LTIxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShHdGtDb21wb25lbnRQZWVyKTogUmVtb3ZlIHRlbXBvcmFyeSB0cnkvY2F0Y2ggYmxvY2suCgkoc2V0VmlzaWJsZSk6IENhbGwgc2hvdyBhbmQgaGlkZS4KCShzaG93KTogTWFrZSBuYXRpdmUuCgkoaGlkZSk6IExpa2V3aXNlLgoJKGdldEFyZ3MpOiBEb24ndCBhZGQgInZpc2libGUiIGFyZ3VtZW50LgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHByb3BlcnR5X25vdGlmeV9wcmVkaWNhdGUpOiBSZXR1cm4gQm9vbCBpbnN0ZWFkIG9mIGludC4KCShmaW5kX2xheW91dCk6IE5ldyBmdW5jdGlvbi4KCShjb25uZWN0Sk9iamVjdCk6IENhbGwgZmluZF9sYXlvdXQuCgkoY29ubmVjdFNpZ25hbHMpOiBMaWtld2lzZS4KCShtb3ZlTGF5b3V0KTogTGlrZXdpc2UuCgkoZ3RrTGF5b3V0U2V0VmlzaWJsZSk6IExpa2V3aXNlLgoKMjAwNC0wNy0yMSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9hd3QvZXZlbnQvSW52b2NhdGlvbkV2ZW50LmphdmEgKGRpc3BhdGNoKTogU3luY2hyb25pemUKCW9uIG5vdGlmaWVyIG9iamVjdCBiZWZvcmUgY2FsbGluZyBub3RpZnlBbGwoKS4KCjIwMDQtMDctMjEgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvV2luZG93LmphdmE6IENoYW5nZWQgY29uc3RydWN0b3JzIHRvIHVzZSBuZXcKCW1ldGhvZCB0aGF0IGlzIGRlc2NyaWJlZCBiZWxvdy4gQ29uc3RydWN0b3JzIGNhbGwgdGhpcwoJbWV0aG9kcyBvbmx5IGlmIG5ld2x5IGNyZWF0ZWQgd2luZG93IHNob3VsZCBoYXZlIGFuIG93bmVyLgoJKHNldFdpbmRvd093bmVyKTogTmV3IG1ldGhvZC4gSW1wbGVtZW50YXRpb24gZm9yCgl0aGlzIG1ldGhvZCBpcyBtb3ZlZCBmcm9tIHRoaXMob3duZXIsY29uZmlndXJhdGlvbikuCgkqIGphdmF4L3N3aW5nL0pXaW5kb3cuamF2YToKCShKV2luZG93KTogUmVpbXBsZW1lbnQgdG8gdXNlIFN3aW5nVXRpbGl0aWVzLm93bmVyRnJhbWUKCWluc3RlYWQgb2Ygb3duZXIuCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmE6Cgkob3duZXJGcmFtZSk6IENoYW5nZSB0eXBlIG9mIHRoaXMgZmllbGQgdG8gT3duZXJGcmFtZS4KCShnZXRPd25lckZyYW1lKTogQ2hhbmdlZCB0byByZXR1cm4gb2JqZWN0IG9mIHR5cGUgT3duZXJGcmFtZS4KCShTd2luZ1V0aWxpdGllcy5Pd25lckZyYW1lKTogTmV3IGNsYXNzLiBSZXByZXNlbnRzIG93bmVyCglvZiBhIFdpbmRvdyB0aGF0IGlzIG5vdCBwcm92aWRlZCB3aXRoIG9uZS4KCjIwMDQtMDctMjEgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmE6CgkoY29uZmlndXJlUHJvcGVydGllc0Zyb21BY3Rpb24pOiBTZXQgYWN0aW9uIGNvbW1hbmQKCXRvIGJ1dHRvbidzIHRleHQgYnkgZGVmYXVsdCBpZiBhY3Rpb24gY29tbWFuZCBpcyBub3QKCWV4cGxpY2l0ZWx5IHNwZWNpZmllZC4KCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YTogUmVtb3ZlIHVubmVjZXNzYXJ5IGxpc3RlbmVyCglhbmQgbWV0aG9kcyByZWxldmFudCB0byBpdC4KCShzZXRTZWxlY3RlZCk6IFJlaW1wbGVtZW50ZWQuCgkobWVudVNlbGVjdGlvbkNoYW5nZWQpOiBNb3ZlZCBtb3N0IHBhcnQgb2YgaW1wbGVtZW50YXRpb24gdG8KCXNldFNlbGVjdGVkKCkgYW5kIGNhbGwgaXQgaW5zdGVhZC4KCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmE6CgkoaW5pdCk6IENvbW1lbnQgb3V0IHN0YXRlbWVudCB0aGF0IHNldHMgcGFpbnRfYm9yZGVyIHRvIGZhbHNlLgoJKGNvbmZpZ3VyZVByb3BlcnRpZXNGcm9tQWN0aW9uKTogRG8gbm90IHNldCBhY2NlbGVyYXRvcgoJZm9yIEpNZW51LgoJKG1lbnVTZWxlY3Rpb25DaGFuZ2VkKTogQ2hhbmdlIHNlbGVjdGVkIGluZGV4IGluIHRoZSBzZWxlY3Rpb24KCW1vZGVsIG9mIG1lbnUgaXRlbSdzIHBhcmVudC4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhOgoJKHJlbW92ZSk6IFNldCBjb25zdHJhaW50cy5maWxsIGZpZWxkIHRvIEdyaWRCYWdDb25zdHJhaW50cy5CT1RICglpbnN0ZWFkIG9mIEdyaWRCYWdDb25zdHJhaW50cy5IT1JJWk9OVEFMLgoJKGluc2VydCk6IExpa2V3aXNlLgoJKGNyZWF0ZUFjdGlvbkNoYW5nZUxpc3RlbmVyKTogSW1wbGVtZW50ZWQuCgkoc2V0VmlzaWJsZSk6IENvcnJlY3QgbG9jYXRpb24gb2YgSGVhdnlXZWlnaHRNZW51IGFuZAoJZG9uJ3QgZmlyZVBvcHVwTWVudUNhbmNlbGVkKCkuCgkobWVudVNlbGVjdGlvbkNoYW5nZWQpOiBJbXBsZW1lbnRlZC4KCShBY3Rpb25DaGFuZ2VMaXN0ZW5lcik6IE5ldyBMaXN0ZW5lci4gSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51QmFyVUkuamF2YToKCShCYXNpY01lbnVCYXJVSS5Db250YWluZXJIYW5kbGVyKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CgkocGFpbnRNZW51SXRlbSk6IFVuY29tbWVudGVkIG91dCBjb2RlIHRoYXQgcGFpbnRzCglpY29uLCBub3cgdGhhdCBpY29ucyBhcmUgd29ya2luZyBwcm9wZXJseS4KCShQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQb3B1cE1lbnVVSS5qYXZhOgoJQWRkZWQgamF2YWRvY3MuCgkodG9wV2luZG93TGlzdGVuZXIpOiBOZXcgZmllbGQuCgkoQ29uc3RydWN0b3IpOiBpbml0aWFsaXplIHRvcFdpbmRvd0xpc3RlbmVyLgoJKEJhc2ljUG9wdXBNZW51VUkuVG9wV2luZG93TGlzdGVuZXIpOiBJbXBsZW1lbnRlZC4KCShCYXNpY1BvcHVwTWVudVVJLlBvcHVwTWVudUhhbmRsZXIpOiBJbXBsZW1lbnRlZC4KCShCYXNpY1BvcHVwTWVudVVJLlRvcFdpbmRvd0xpc3RlbmVyKTogTmV3IENvbXBvbmVudExpc3RlbmVyLgoJSW1wbGVtZW50ZWQuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShwYWludEZvY3VzKTogRml4ZWQgbWV0aG9kIHNpZ25hdHVyZS4KCShwYWludEJ1dHRvblByZXNzZWQpOiBMaWtld2lzZS4KCShwYWludEJ1dHRvbk5vcm1hbCk6IExpa2V3aXNlLgoJKHBhaW50VGV4dCk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMYWJlbFVJLmphdmEKCShwYWludCk6IFJlLWluZGVudGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGV4dFVJLmphdmEKCShpbnN0YWxsVUkpOiBTZXQgcGFyZW50IHRleHRDb21wb25lbnQgdG8gb3BhcXVlLgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRIaWdobGlnaHRlci5qYXZhCgkoY2hlY2tQb3NpdGlvbnMpOiBOZXcgaGVscGVyIG1ldGhvZC4KCShhZGRIaWdobGlnaHQpOiBUaHJvd3MgQmFkTG9jYXRpb25FeGNlcHRpb24sIGNoZWNrIHBvc2l0aW9ucy4KCShjaGFuZ2VIaWdobGlnaHQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9FZGl0b3JLaXQuamF2YQoJKEVkaXRvcktpdCk6IEltcGxlbWVudHMgU2VyaWFsaXphYmxlLgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShnZXRVSSk6IEFkZGVkIGphdmFkb2MuCgkoc2V0VUkpOiBMaWtld2lzZS4KCSh1cGFkdGVVSSk6IEFkZGVkIGphdmFkb2MsIGRvbid0IHJldmFsaWRhdGUgYW5kIHJlcGFpbnQuCgoyMDA0LTA3LTIxICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9HcmlkQmFnTGF5b3V0LmphdmEKCShBcnJhbmdlR3JpZCk6IFVzZSBQUkVGRVJSRURTSVpFIGluc3RlYWQgb2YgTUlOU0laRS4KCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKHNldFRleHQpOiBSZWluZGVudC4KCSogamF2YXgvc3dpbmcvUmVwYWludE1hbmFnZXIuamF2YQoJKGFkZEludmFsaWRDb21wb25lbnQpOiBGaW5kIHRoZSBmaXJzdCBhbmNlc3RvciB0aGF0IGlzVmFsaWRhdGVSb290KCkuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkZvcm1hdHRlZFRleHRGaWVsZC5qYXZhCgkodmFsdWUpOiBOZXcgZmllbGQuCgkoSkZvcm1hdHRlZFRleHRGaWVsZCk6IEltcGxlbWVudGVkLgoJKGdldFZhbHVlKTogTGlrZXdpc2UuCgkoc2V0VmFsdWUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvTG9va0FuZEZlZWwuamF2YQoJKGdldFN1cHBvcnRzV2luZG93RGVjb3JhdGlvbnMpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9VSURlZmF1bHRzLmphdmE6CglVc2UgamF2YS5iZWFucy5Qcm9wZXJ0eUNoYW5nZVN1cHBvcnQgaW5zdGVhZCBvZiBkb2luZyBhbGwgb3Vyc2VsZi4KCShhZGRQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyKTogTWFkZSBwdWJsaWMuCgkoYWRkUmVzb3VyY2VCdW5kbGUpOiBMaWtld2lzZS4KCShyZW1vdmVSZXNvdXJjZUJ1bmRsZSk6IExpa2V3aXNlLgoJKHNldERlZmF1bHRMb2NhbGUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Jvb3RQYW5lVUkuamF2YQoJKEJhc2ljUm9vdFBhbmVVSSk6IEltcGxlbWVudHMgUHJvcGVydHlDaGFuZ2VMaXN0ZW5lci4KCShwcm9wZXJ0eUNoYW5nZSk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKEJhc2ljSGlnaGxpZ2h0ZXIpOiBOZXcgaW5uZXIgY2xhc3MuCgkoY3JlYXRlSGlnaGxpZ2h0ZXIpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEKCShEcmFnV2luZG93KTogRXh0ZW5kcyBqYXZhLmF3dC5XaW5kb3cuCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJKGdldERvY3VtZW50KTogUmVtb3ZlZCBkZWJ1ZyBvdXRwdXQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0RmllbGRVSS5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0SGlnaGxpZ2h0ZXIuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRmllbGRWaWV3LmphdmEsCglqYXZheC9zd2luZy90ZXh0L1BsYWluVmlldy5qYXZhOiBOZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDctMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhCgkoY3JlYXRlRGVmYXVsdEVkaXRvcktpdCk6IFVzZSBqYXZheC5zd2luZy50ZXh0LkRlZmF1bHRFZGl0b3JLaXQuCgkoY3JlYXRlRWRpdG9yS2l0Rm9yQ29udGVudFR5cGUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0RWRpdG9yS2l0LmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogQWRkZWQgY29uc3RhbnQgZmllbGQuCgkoRW5kT2ZMaW5lU3RyaW5nUHJvcGVyeSk6IEZpeGVkIHR5cG8uCgkoRGVmYXVsdEVkaXRvcktpdCk6IE5ldyBjb25zdHJ1Y3Rvci4KCSogamF2YXgvc3dpbmcvdGV4dC9TZWdtZW50LmphdmE6CglJbXBvcnQgamF2YS50ZXh0LkNoYXJhY3Rlckl0ZXJhdG9yLgoJKiBqYXZheC9zd2luZy90ZXh0L0NoYXJhY3Rlckl0ZXJhdG9yLmphdmEsCglqYXZheC9zd2luZy90ZXh0L1BsYWluRWRpdG9yS2l0LmphdmE6IFJlbW92ZWQuCgkqIE1ha2VmaWxlLmFtOiBSZW1vdmVkIGphdmF4L3N3aW5nL3RleHQvQ2hhcmFjdGVySXRlcmF0b3IuamF2YSBhbmQKCWphdmF4L3N3aW5nL3RleHQvUGxhaW5FZGl0b3JLaXQuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pCdXR0b24uamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9FZGl0b3JLaXQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvU2VnbWVudC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9TdHlsZWRFZGl0b3JLaXQuamF2YToKCVJlZm9ybWF0dGVkLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0ltYWdlSWNvbi5qYXZhCgkoZmlsZSk6IFJlbW92ZWQuCgkoZGVzY3JpcHRpb24pOiBSZW5hbWVkIGZyb20gZGVzY3IuCgkoSW1hZ2VJY29uKTogQWRkZWQgbWlzc2luZyBjb25zdHJ1Y3RvcnMuCgkoc2V0UGFyZW50KTogUmVtb3ZlZC4KCShzZXRJbWFnZU9ic2VydmVyKTogTmV3IG1ldGhvZC4KCShnZXRJbWFnZU9ic2VydmVyKTogTmV3IG1ldGhvZC4KCShwYWludEljb24pOiBIYW5kbGUgb2JzZXJ2ZXIgPSBudWxsLgoJKiBqYXZheC9zd2luZy9KQnV0dG9uLmphdmEKCShyZW1vdmVOb3RpZnkpOiBGaXhlZCBqYXZhZG9jLgoJKHVwZGF0ZVVJKTogU2ltcGxpZmllZC4KCSogamF2YXgvc3dpbmcvSlJvb3RQYW5lLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGNvbnN0YW50IGZpZWxkLgoJKiBqYXZheC9zd2luZy9VSU1hbmFnZXIuamF2YToKCUZpeGVkIGphdmFkb2NzIGFsbCBvdmVyLgoJKHNldExvb2tBbmRGZWVsKTogVGhyb3dzIFVuc3VwcG9ydGVkTG9va0FuZEZlZWxFeGNlcHRpb24uCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCgkoY3JlYXRlUG9zaXRpb24pOiBUaHJvd3MgQmFkTG9jYXRpb25FeGNlcHRpb24uCgkoZ2V0VGV4dCk6IExpa2V3aXNlLgoJKHJlbW92ZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0NvbXBvbmVudFZpZXcuamF2YQoJKG1vZGVsVG9WaWV3KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdEVkaXRvcktpdC5qYXZhOgoJTWFkZSBhbGwgcHVibGljIG1ldGhvZHMgcHVibGljLgoJKHJlYWQpOiBUaHJvd3MgQmFkTG9jYXRpb25FeGNlcHRpb24gYW5kIElPRXhjZXB0aW9uLgoJKHdyaXRlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvRWRpdG9yS2l0LmphdmE6CglNYWRlIGFsbCBwdWJsaWMgbWV0aG9kcyBwdWJsaWMuCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBjb25zdGFudCBmaWVsZC4KCShjbG9uZSk6IE5ldyBtZXRob2QuCgkocmVhZCk6IFRocm93cyBCYWRMb2NhdGlvbkV4Y2VwdGlvbiBhbmQgSU9FeGNlcHRpb24uCgkod3JpdGUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9TZWdtZW50LmphdmEKCShhcnJheSk6IE1hZGUgcHVibGljLgoJKGNvdW50KTogTGlrZXdpc2UuCgkob2Zmc2V0KTogTGlrZXdpc2UuCgkoU2VnbWVudCk6IE5ldyBjb25zdHJ1Y3RvcnMuCgkoY2xvbmUpOiBSZWltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L1N0eWxlZEVkaXRvcktpdC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBjb25zdGFudCBmaWVsZC4KCjIwMDQtMDctMjEgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9CdWZmZXJlZEltYWdlLmphdmEKCShnZXRTb3VyY2UpOiBJbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL0ltYWdlSWNvbi5qYXZhCgkoSW1hZ2VJY29uKTogSW1wbGVtZW50IGN0b3IuCgkqIGphdmF4L3N3aW5nL1Njcm9sbFBhbmVMYXlvdXQuamF2YQoJKHByZWZlcnJlZExheW91dFNpemUpOiBCZSBtb3JlIGNhcmVmdWwgYWJvdXQgbnVsbHMuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BdHRyaWJ1dGVTZXQuamF2YQoJKENoYXJhY3RlckF0dHJpYnV0ZSk6IE5ldyBpbnRlcmZhY2UKCShDb2xvckF0dHJpYnV0ZSk6IExpa2V3aXNlLgoJKEZvbnRDaGFyYWN0ZXJBdHRyaWJ1dGUpOiBMaWtld2lzZS4KCShQYXJhZ3JhcGhBdHRyaWJ1dGUpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Q2FyZXQuamF2YQoJKG1vdmVDYXJldCk6IE5ldyBtZXRob2QuCgkocG9zaXRpb25DYXJldCk6IExpa2V3aXNlLgoJKHJlcGFpbnQpOiBNYWRlIHByb3RlY3RlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoS2V5QmluZGluZyk6IE1hZGUgaXQgc3RhdGljLgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YQoJKGdldENvbnRhaW5lcik6IEhvbm9yIHBhcmVudCA9PSBudWxsLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhOgoJUmVmb3JtYXR0ZWQuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Jvb3RQYW5lVUkuamF2YToKCUltcG9ydCBqYXZheC5zd2luZy5VSU1hbmFnZXIgZXhwbGljaXRlbHkuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YQoJKFNjcm9sbGluZ0J1dHRvbik6IE1hZGUgaXQgc3RhdGljLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL1VJRGVmYXVsdHMuamF2YQoJKEFjdGl2ZVZhbHVlKTogTWFkZSBwdWJsaWMuCgkoTGF6eVZhbHVlKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKFJvb3RWaWV3KTogUmVpbnRyb2R1Y2VkLgoJKHZpZXcpOiBSZW1vdmVkLgoJKHJvb3RWaWV3KTogTmV3IGZpZWxkLgoJKGluc3RhbGxVSSk6IENyZWF0ZSBkb2N1bWVudCBpZiBuZWVkZWQsIGluaXRpYWxpemUgcm9vdFZpZXcuCgkodW5pbnN0YWxsVUkpOiBIYW5sZSByb290Vmlldy4KCShwYWludCk6IExpa2V3aXNlLgoJKGdldFJvb3RWaWV3KTogTGlrZXdpc2UuCgkoc2V0Vmlldyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRDYXJldC5qYXZhOgoJUmVuYW1lZCBhbGwgImV2dCIgdmFyaWFibGVzIHRvICJldmVudCIuCgoyMDA0LTA3LTIxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBsaWJnY2ouc3BlYy5pbjogQWRkIC1sLWphdmEtdXRpbC1sb2dnaW5nLgoKMjAwNC0wNy0yMSAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNYWluVGhyZWFkLmMKCShpbml0X2RwaV9jb252ZXJzaW9uX2ZhY3Rvcik6IENoZWNrIGZvciBpbnRfZHBpIDwgMCBpbiBjYXNlCglndGsteGZ0LWRwaSBjYW4gbm8gY2FsY3VsYXRlIHRoZSByaWdodCB2YWx1ZS4KCShkcGlfY2hhbmdlZF9jYik6IE1hcmsgKnBzcGVjIGFzIHVuc3VzZWQuCgoyMDA0LTA3LTIxICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKG1vdmUpOiBEZWxlZ2F0ZSB0byBzZXRCb3VuZHMoKS4KCShyZXNpemUpOiBMaWtld2lzZS4KCShyZXNoYXBlKTogRml4IHNvIGl0IHJlcGFpbnRzIHBhcmVudCBhbmQgc2VsZiBvbmx5IHdoZW4gbmVjZXNzYXJ5LgoKMjAwNC0wNy0yMSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoR3RrQ29tcG9uZW50UGVlcik6IFJldmVydCBwcmV2aW91cyBwYXRjaCBmcm9tIDIwMDQtMDYtMjIuCgkoc2V0VmlzaWJsZSk6IExpa2V3aXNlLgoJKHNob3cpOiBMaWtld2lzZS4KCShoaWRlKTogTGlrZXdpc2UuCgkoZ2V0QXJncyk6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHByb3BlcnR5X25vdGlmeV9wcmVkaWNhdGUpOiBMaWtld2lzZS4KCShmaW5kX2xheW91dCk6IExpa2V3aXNlLgoJKGNvbm5lY3RKT2JqZWN0KTogTGlrZXdpc2UuCgkoY29ubmVjdFNpZ25hbHMpOiBMaWtld2lzZS4KCShtb3ZlTGF5b3V0KTogTGlrZXdpc2UuCgkoZ3RrTGF5b3V0U2V0VmlzaWJsZSk6IExpa2V3aXNlLgoKMjAwNC0wNy0yMSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtCgkoanZfY29udmVydF9MREFERCk6CgkoZ2lqX0xEQUREKToKCShybWljX0xEQUREKToKCShybWlyZWdpc3RyeV9MREFERCk6IEFkZCBsaWItamF2YS11dGlsLWxvZ2dpbmcubGEKCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdERvY3VtZW50LmphdmEKCShyZXBsYWNlKTogRG9udCB1c2UgcHJvdGVjdGVkIG1ldGhvZCBvZiBqYXZhLnV0aWwuVmVjdG9yIGRpcmVjdGx5LgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKGluc3RhbGxVSSk6IENhbGwgc3BlY2lhbGl6ZWQgaW5zdGFsbCBtZXRob2RzLgoJKGluc3RhbGxEZWZhdWx0cyk6IE5ldyBtZXRob2QuCgkoaW5zdGFsbExpc3RlbmVycyk6IExpa2V3aXNlLgoJKGluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBMaWtld2lzZS4KCSh1bmluc3RhbGxVSSk6IExpa2V3aXNlLgoJKHVuaW5zdGFsbERlZmF1bHRzKTogTmV3IG1ldGhvZC4KCSh1bmluc3RhbGxMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCSh1bmluc3RhbGxLZXlib2FyZEFjdGlvbnMpOiBMaWtld2lzZS4KCShnZXRQcm9wZXJ0eVByZWZpeCk6IE5ldyBhYnN0cmFjdCBtZXRob2QuCgkocGFpbnQpOiBNYWRlIGZpbmFsLCBqdXN0IGNhbGwgcGFpbnRTYWZlbHkoKS4KCShwYWludFNhdmVseSk6IE5ldyBtZXRob2QuCgkocGFpbnRCYWNrZ3JvdW5kKTogTGlrZXdpc2UuCgkoZ2V0VmlzaWJsZUVkaXRvclJlY3QpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvdGV4dC9MYXllcmVkSGlnaGxpZ2h0ZXIuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvVGFiRXhwYW5kZXIuamF2YTogTmV3IGZpbGVzLgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgamF2YXgvc3dpbmcvdGV4dC9MYXllcmVkSGlnaGxpZ2h0ZXIuamF2YQoJYW5kIGphdmF4L3N3aW5nL3RleHQvVGFiRXhwYW5kZXIuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUZXh0VUkuamF2YQoJKEJhc2ljVGV4dFVJKTogTWFkZSBhYnN0cmFjdC4KCShCYXNpY0NhcmV0KTogTmV3IGlubmVyIGNsYXNzLgoJKHZpZXcpOiBEb24ndCBleHBsaWNpdGVseSBpbml0aWFsaXplIHdpdGggIm51bGwiLgoJKHRleHRDb21wb25lbnQpOiBOZXcgZmllbGQuCgkodGV4dENvbG9yKTogUmVtb3ZlZC4KCShkaXNhYmxlZFRleHRDb2xvcik6IFJlbW92ZWQuCgkobm9ybWFsQmFja2dyb3VuZENvbG9yKTogUmVtb3ZlZC4KCShSb290Vmlldyk6IFJlbW92ZWQgY29tbWVudGVkIG91dCBpbm5lciBjbGFzcy4KCShjcmVhdGVVSSk6IFJlbW92ZWQuCgkoY3JlYXRlQ2FyZXQpOiBOZXcgbWV0aG9kLgoJKGdldENvbXBvbmVudCk6IExpa2V3aXNlLgoJKGluc3RhbGxVSSk6IEluaXRpYWxpemUgdGV4dENvbXBvbmVudCBvbmx5LgoJKGdldFByZWZlcnJlZFNpemUpOiBVc2UgaW5zdGFsbGVkIEpUZXh0Q29tcG9uZW50LgoJKHNldFZpZXcpOiBOZXcgbWV0aG9kLgoJKGNyZWF0ZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShoaWdobGlnaHRlcik6IE5ldyBmaWVsZC4KCShjYXJldENvbG9yKTogTGlrZXdpc2UuCgkoZGlzYWJsZWRUZXh0Q29sb3IpOiBMaWtld2lzZS4KCShzZWxldGVkVGV4dENvbG9yKTogTGlrZXdpc2UuCgkoc2VsZWN0aW9uQ29sb3IpOiBMaWtld2lzZS4KCShzZXRVSSk6IE5ldyBtZXRob2QuCgkoZ2V0Q2FyZXRDb2xvcik6IExpa2V3aXNlLgoJKHNldENhcmV0Q29sb3IpOiBMaWtld2lzZS4KCShnZXREaXNhYmxlZENvbG9yKTogTGlrZXdpc2UuCgkoc2V0RGlzYWJsZWRDb2xvcik6IExpa2V3aXNlLgoJKGdldFNlbGVjdGVkVGV4dENvbG9yKTogTGlrZXdpc2UuCgkoc2V0U2VsZWN0ZWRUZXh0Q29sb3IpOiBMaWtld2lzZS4KCShnZXRTZWxlY3Rpb25Db2xvcik6IExpa2V3aXNlLgoJKHNldFNlbGVjdGlvbkNvbG9yKTogTGlrZXdpc2UuCgkoZ2V0SGlnaGxpZ2h0ZXIpOiBMaWtld2lzZS4KCShzZXRIaWdobGlnaHRlcik6IExpa2V3aXNlLgoJKHJlcGxhY2VTZWxlY3Rpb24pOiBMaWtld2lzZS4KCjIwMDQtMDctMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsUGFuZVVJLmphdmEKCShCYXNpY1Njcm9sbFBhbmVVSSk6IEltcGxlbWVudHMgU2Nyb2xsUGFuZUNvbnN0YW50cy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Rvb2xCYXJVSS5qYXZhCgkoQmFzaWNUb29sQmFyVUkpOiBJbXBsZW1lbnRzIFN3aW5nQ29uc3RhbnRzLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YTogUmVtb3ZlZCBDVlMgdGFncy4KCSogamF2YXgvc3dpbmcvVUlEZWZhdWx0cy5qYXZhOiBSZWZvcm1hdHRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Jvb3RQYW5lVUkuamF2YToKCUV4cGxpY2l0ZWx5IGltcG9ydCB1c2VkIGNsYXNzZXMuCgoyMDA0LTA3LTIxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShHdGtDb21wb25lbnRQZWVyKTogUmVtb3ZlIHRlbXBvcmFyeSB0cnkvY2F0Y2ggYmxvY2suCgkoc2V0VmlzaWJsZSk6IENhbGwgc2hvdyBhbmQgaGlkZS4KCShzaG93KTogTWFrZSBuYXRpdmUuCgkoaGlkZSk6IExpa2V3aXNlLgoJKGdldEFyZ3MpOiBEb24ndCBhZGQgInZpc2libGUiIGFyZ3VtZW50LgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHByb3BlcnR5X25vdGlmeV9wcmVkaWNhdGUpOiBSZXR1cm4gQm9vbCBpbnN0ZWFkIG9mIGludC4KCShmaW5kX2xheW91dCk6IE5ldyBmdW5jdGlvbi4KCShjb25uZWN0Sk9iamVjdCk6IENhbGwgZmluZF9sYXlvdXQuCgkoY29ubmVjdFNpZ25hbHMpOiBMaWtld2lzZS4KCShtb3ZlTGF5b3V0KTogTGlrZXdpc2UuCgkoZ3RrTGF5b3V0U2V0VmlzaWJsZSk6IExpa2V3aXNlLgoKMjAwNC0wNy0yMSAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhOgoJKHNldERpc3BsYXllZE1uZW1vbmljSW5kZXgpOiBDaGVjayBpZiBidXR0b24KCXRleHQgaXMgbm90IG51bGwgYmVmb3JlIGNoZWNraW5nIGl0cyBsZW5ndGguCgkqIGphdmF4L3N3aW5nL0pNZW51SXRlbS5qYXZhOgoJKHByb2Nlc3NNb3VzZUV2ZW50KTogRGlzYXJtIG1lbnUgaXRlbSBpZiBtb3VzZSBoYXMKCWV4aXRlZCBpdC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhOgoJKE1vdXNlSW5wdXRIYW5kbGVyLm1vdXNlRW50ZXJlZCk6IERvIG5vdCByYWlzZQoJcG9wdXAgbWVudSBpZiB0aGlzIG1lbnUgaXMgYWxyZWFkeSBzZWxlY3RlZC4KCShNb3VzZUlucHV0SGFuZGxlci5tb3VzZVByZXNzZWQpOiBEbyBub3QgZmlyZQoJTWVudUV2ZW50cy4KCShNZW51SGFuZGxlcik6IEltcGxlbWVudGVkLgoKMjAwNC0wNy0yMSAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KQ2hlY2tCb3hNZW51SXRlbS5qYXZhOiBBZGRlZCBKYXZhZG9jLgoJKGdldFNlbGVjdGVkT2JqZWN0cyk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9KUmFkaW9CdXR0b25NZW51SXRlbS5qYXZhOiBBZGRlZCBKYXZhZG9jLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hNZW51SXRlbVVJLmphdmE6CglBZGRlZCBqYXZhZG9jIGZvciBmZXcgbWV0aG9kcy4KCShwcm9jZXNzTW91c2VFdmVudCk6IE1hZGUgcHVibGljLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUmFkaW9CdXR0b25NZW51SXRlbVVJLmphdmEKCShwcm9jZXNzTW91c2VFdmVudCk6IExpa2V3aXNlLgoKMjAwNC0wNy0yMSAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhOgoJKGluaXQpOiBTZXQgZGlzcGxheSBtbmVtb25pYyBpbmRleCB0byAtMS4KCShzZXRNbmVtb25pYyhjaGFyKSk6IFVzZSBzZXRNbmVtb25pYyhpbnQpLgoJKHNldE1uZW1vbmljKGludCkpOiBTZXQgZGlzcGxheSBtbmVtb25pYyBpbmRleC4KCShnZXREaXNwbGF5ZWRNbmVtb25pY0luZGV4KTogQ2hhbmdlIG1ldGhvZCBzaWduYXR1cmUKCWJ5IHJlbW92aW5nICdpbmRleCcgcGFyYW1ldGVyLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCUFkZGVkIGRlZmF1bHQgZm9yIE1lbnUuc2VsZWN0aW9uQmFja2dyb3VuZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YToKCShwYWludE1lbnVJdGVtKTogQ2hhbmdlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNlbGVjdGVkCgltZW51IGl0ZW0uCgkocGFpbnRUZXh0KTogUGFpbnQgZGlmZmVyZW50bHkgd2hlbiBtZW51IGl0ZW0gaXMgZGlzYWJsZWQuCglBbHNvIHBhaW50IG1uZW1vbmljIGlmIGl0IGFwcGVhcnMgaW4gdGhlIG1lbnUgaXRlbSdzIGxhYmVsLgoJKHBhaW50QWNjZWxlcmF0b3IpOiBQYWludCBhY2NlbGVyYXRvciBkaWZmZXJlbnRseQoJaWYgbWVudSBpdGVtIGlzIGRpc2FibGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudVVJLmphdmE6CgkoaW5zdGFsbERlZmF1bHRzKTogSW5zdGFsbCBkZWZhdWx0cyBmb3IKCXNlbGVjdGlvbkZvcmVncm91bmQgYW5kIHNlbGVjdGlvbkJhY2tncm91bmQuCgkodW5pbnN0YWxsRGVmYXVsdHMpOiBVbmluc3RhbGwgZGVmYXVscyBmb3IKCXNlbGVjdGlvbkZvcmVncm91bmQgYW5kIHNlbGVjdGlvbkJhY2tncm91bmQuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9BYnN0cmFjdERvY3VtZW50LmphdmEKCShCcmFuY2hFbGVtZW50KTogSW1wbGVtZW50ZWQuCgkoTGVhZkVsZW1lbnQpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvdGV4dC9EZWZhdWx0Q2FyZXQuamF2YToKCUltcG9ydCB1c2VkIGNsYXNzZXMuCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBjb25zdGFudC4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoQWNjZXNzaWJsZUpUZXh0Q29tcG9uZW50KTogUmVtb3ZlZCBkZWFkIGRlY2xhcmF0aW9uLgoJKGNhcmV0UG9zKTogUmVtb3ZlZC4KCShzZXRDYXJldCk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5Eb2N1bWVudC5qYXZhCgkocm9vdEVsZW1lbnQpOiBOZXcgZmllbGQuCgkoUGxhaW5Eb2N1bWVudCk6IEluaXRpYWxpemUgcm9vdEVsZW1lbnQuCgkoY3JlYXRlRGVmYXVsdFJvb3QpOiBOZXcgbWV0aG9kLgoJKGdldERlZmF1bHRSb290RWxlbWVudCk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L1ZpZXcuamF2YTogUmVmb3JtYXR0ZWQuCgkqIGphdmF4L3N3aW5nL3RleHQvVmlld0ZhY3RvcnkuamF2YQoJKGNyZWF0ZSk6IEFkZGVkIGphdmFkb2MuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvVG9vbFRpcE1hbmFnZXIuamF2YTogUmVmb3JtYXR0ZWQuCgoyMDA0LTA3LTIxICBSb2RpbWluYSBPbGdhICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEKCShjaGFuZ2VFdmVudCk6IE5ldyBmaWVsZC4KCShmaXJlSXRlbVN0YXRlQ2hhbmdlZCk6IENoYW5nZSBzb3VyY2Ugb2YgdGhlIGV2ZW50Cgl0byAndGhpcycgYmVmb3JlIGZpcmluZyBpdCB0byBidXR0b24gbGlzdGVuZXJzLgoJKGZpcmVBY3Rpb25QZXJmb3JtZWQpOiBMaWtld2lzZS4KCShmaXJlU3RhdGVDaGFuZ2VkKTogTGlrZXdpc2UuCgkoY3JlYXRlQWN0aW9uTGlzdGVuZXIpOiBEbyBub3Qgc2V0IHNvdXJjZQoJb2YgdGhlIGV2ZW50IHRvIEFic3RyYWN0QnV0dG9uLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUJhclVJLmphdmE6CgkoQ29udGFpbmVySGFuZGxlci5jb21wb25lbnRBZGRlZCk6IFJlbW92ZWQKCXByaW50IG91dCBzdGF0ZW1lbnQuCgkoQ29udGFpbmVySGFuZGxlci5jb21wb25lbnRSZW1vdmVkKTogTGlrZXdpc2UuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9IaWdobGlnaHRlci5qYXZhOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW06IEFkZGVkIGphdmF4L3N3aW5nL3RleHQvSGlnaGxpZ2h0ZXIuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL1Rvb2xUaXBNYW5hZ2VyLmphdmEKCShzdGlsbEluc2lkZVRpbWVyQWN0aW9uKTogRml4ZWQgY29uc3RydWN0b3IgYXJndW1lbnRzLgoJKG91dHNpZGVUaW1lckFjdGlvbik6IExpa2V3aXNlLgoJKGluc2lkZVRpbWVyQWN0aW9uKTogTGlrZXdpc2UuCgoyMDA0LTA3LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkJ1dHRvbi5qYXZhOiBSZWZvcm1hdHRlZC4KCSogamF2YXgvc3dpbmcvSkZvcm1hdHRlZFRleHRGaWVsZC5qYXZhCgkoZ2V0VUlDbGFzc0lEKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBjb25zdGFudC4KCSogamF2YXgvc3dpbmcvSlRleHRGaWVsZC5qYXZhCgkoYWxpZ24pOiBOZXcgZmllbGQuCgkoSlRleHRGaWVsZCk6IFNpbXBsaWZpZWQuCgkoZ2V0VUlDbGFzc0lEKTogTmV3IG1ldGhvZC4KCShnZXRBY3Rpb25MaXN0ZW5lcnMpOiBBZGRlZCBAc2luY2UgdGFnLgoJKHNldENvbHVtbnMpOiBJbnZhbGlkYXRlIGxheW91dCBhbmQgcmVwYWludC4KCShnZXRIb3Jpem9udGFsQWxpZ25tZW50KTogTmV3IG1ldGhvZC4KCShzZXRIb3Jpem9udGFsQWxpZ25tZW50KTogTmV3IG1ldGhvZC4KCShzZWxlY3RBbGwpOiBSZW1vdmVkLgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhCgkoZ2V0QW5jZXN0b3JPZkNsYXNzKTogUmVtb3ZlZCByZWR1bmRhbnQgQHNlZSB0YWcuCgkoaXNMZWZ0TW91c2VCdXR0b24pOiBGaXhlZCBpbXBsZW1lbnRhdGlvbi4KCShpc01pZGRsZU1vdXNlQnV0dG9uKTogTGlrZXdpc2UuCgkoaXNSaWdodE1vdXNlQnV0dG9uKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhCgkoQXR0cmlidXRlQ29udGV4dC5hZGRBdHRyaWJ1dGUpOiBOZXcgbWV0aG9kLgoJKEF0dHJpYnV0ZUNvbnRleHQuYWRkQXR0cmlidXRlcyk6IE5ldyBtZXRob2QuCgkoQXR0cmlidXRlQ29udGV4dC5nZXRFbXB0eVNldCk6IE5ldyBtZXRob2QuCgkoQXR0cmlidXRlQ29udGV4dC5yZWNsYWltKTogTmV3IG1ldGhvZC4KCShBdHRyaWJ1dGVDb250ZXh0LnJlbW92ZUF0dHJpYnV0ZSk6IE5ldyBtZXRob2QuCgkoQXR0cmlidXRlQ29udGV4dC5yZW1vdmVBdHRyaWJ1dGVzKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvdGV4dC9Eb2N1bWVudC5qYXZhCgkoY3JlYXRlUG9zaXRpb24pOiBUaHJvd3MgQmFkTG9jYXRpb25FeGNlcHRpb24uCgkoZ2V0VGV4dCk6IExpa2V3aXNlLgoJKHJlbW92ZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEKCShnZXRUZXh0KTogUmV0dXJuIG51bGwgaWYgbm8gZG9jdW1lbnQgaXMgc2V0LiBDYXRjaAoJQmFkTG9jYXRpb25FeGNlcHRpb24uCgkoZ2V0VUkpOiBSZXR1cm4gdWkuCgkodXBkYXRlVUkpOiBTaW1wbGlmaWVkLgoKMjAwNC0wNy0yMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pCdXR0b24uamF2YQoJKHJlbW92ZU5vdGlmeSk6IEZpeGVkIGphdmFkb2MuCgkodXBkYXRlVUkpOiBTaW1wbGlmaWVkLgoKMjAwNC0wNy0yMSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L2ltYWdlL0ltYWdlRGVjb2Rlci5qYXZhCgkoc3RhcnRQcm9kdWN0aW9uKTogT25seSBhZGQgY29uc3VtZXIgaWYgaXQncyBub3QgYWRkZWQgeWV0LgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrUGl4YnVmRGVjb2Rlci5qYXZhCgkoR2RrUGl4YnVmRGVjb2Rlcik6IERvbid0IGNhbGwgaW5pdFN0YXRlKCkgaGVyZS4KCShwcm9kdWNlKTogQ2FsbCBpbml0U3RhdGUoKSBoZXJlLCB0byBlbnN1cmUgYXJlYV9wcmVwYXJlZCBhbmQKCWFyZWFfdXBkYXRlZCBzaWduYWxzIGFyZSBwcm9wZXJseSBjb25uZWN0ZWQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtJbWFnZS5qYXZhCgkoc2V0Q29sb3JNb2RlbCk6IFVzZSBlcXVhbHMoKSB0byBjb21wYXJlIENvbG9yTW9kZWwgb2JqZWN0cy4KCShzZXRQaXhlbHMpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvaW1hZ2UvQ29sb3JNb2RlbC5qYXZhCgkoZXF1YWxzKTogRml4IHR5cG8uIFVzZSBBcnJheXMuZXF1YWxzKCkgdG8gY29tcGFyZSBpbnQgYXJyYXlzLgoJKiBqYXZhL2F3dC9pbWFnZS9SR0JJbWFnZUZpbHRlci5qYXZhCgkoc2V0Q29sb3JNb2RlbCk6IFNldCBjb25zdW1lcidzIGNvbG9yIG1vZGVsLgoJKHNldFBpeGVscyk6IFVzZSBlcXVhbHMoKSB0byBjb21wYXJlIENvbG9yTW9kZWwgb2JqZWN0cy4KCjIwMDQtMDctMjEgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbmV0L1VSTENvbm5lY3Rpb24uamF2YSAocG9zaXRpb24pOiBOZXcgZmllbGQuCgkoZGF0ZUZvcm1hdDEsIGRhdGVGb3JtYXQyLCBkYXRlRm9ybWF0Myk6IFJlbW92ZWQuCgkoZGF0ZUZvcm1hdHMpOiBOZXcgZmllbGQuCgkoZ2V0SGVhZGVyRmllbGREYXRlKTogVXNlIG5ldyBkYXRlRm9ybWF0cyBhcnJheS4gUmUtdXNlIHBhcnNlUG9zaXRpb24KCWVhY2ggdGltZSBpbnN0ZWFkIG9mIHJlLWFsbG9jYXRpbmcuCgkoaW5pdGlhbGl6ZURhdGVGb3JtYXRzKTogSW5pdGlhbGl6ZSAnZGF0ZUZvcm1hdHMnLgoKMjAwNC0wNy0yMCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xNjU5MQoJKiBwcmltcy5jYyAoX0p2X1J1bk1haW4pOiBEb24ndCBjYWxsIF9Kdl9TZXRBcmdzIGlmIERJU0FCTEVfTUFJTl9BUkdTCglpcyBkZWZpbmVkLgoKMjAwNC0wNy0yMCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogamF2YS9uZXQvU29ja2V0LmphdmEgKGdldEltcGwpOiBOb3cgcHJpdmF0ZS4gUmVtb3ZlIGNvbW1lbnQuCgoyMDA0LTA3LTIwICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2lvL0J1ZmZlcmVkV3JpdGVyLmphdmEgKEJ1ZmZlcmVkV3JpdGVyKTogVXNlIGV4aXN0aW5nIGxvY2sKCW9mIGNoYWluZWQgV3JpdGVyIHdoZW4gY2FsbGluZyBzdXBlci1jb25zdHJ1Y3Rvci4KCSogamF2YS9pby9GaWx0ZXJXcml0ZXIuamF2YSAoRmlsdGVyV3JpdGVyKTogTGlrZXdpc2UuCgkqIGphdmEvaW8vUHJpbnRXcml0ZXIuamF2YSAoUHJpbnRXcml0ZXIpOiBMaWtld2lzZS4KCjIwMDQtMDctMTkgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIHByaW1zLmNjIChwcm9jZXNzX2djal9wcm9wZXJ0aWVzKTogRG9uJ3QgaW5jcmVtZW50IGkgd2l0aGluIExIUwoJb2YgYXNzaWdubWVudC4KCjIwMDQtMDctMTkgIFBlciBCb3RobmVyICA8cGVyQGJvdGhuZXIuY29tPgoKCVByaW50IC12ZXJib3NlOm1lc3NhZ2Ugb24gImxvYWRpbmciLCBub3QgaW5pdGlhbGl6YXRpb24uCgkqIGphdmEvbGFuZy9DbGFzcy5oIChKVl9TVEFURV9MT0FERUQsIEpWX1NUQVRFX0NPTVBJTEVEKTogIFN3YXAgb3JkZXIuCgkqIGRlZmluZWNsYXNzLmNjIChfSnZfQ2xhc3NSZWFkZXI6OnBhcnNlKTogIFByaW50IG1lc3NhZ2UgaWYKCWdjajo6dmVyYm9zZV9jbGFzc19mbGFnLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3MuY2MgKGluaXRpYWxpemVDbGFzcyk6ICBEb24ndCBwcmludCBtZXNzYWdlIGhlcmUuCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X1dhaXRGb3JTdGF0ZSk6ICBJZiBzdGF0ZSB3YXMKCV9KVl9TVEFURV9DT01QSUxFRCwgc2V0IHRvIEpWX1NUQVRFX0xPQURFRCBhbmQgbWF5IHByaW50IG1lc3NhZ2UuCgkoX0p2X1ByZXBhcmVDb21waWxlZENsYXNzKTogIExpa2V3aXNlLgoKMjAwNC0wNy0xOCAgTWF0dGhpYXMgS2xvc2UgIDxkb2tvQGRlYmlhbi5vcmc+CgoJKiBjb25maWd1cmUuaW46IFN1YnN0aXR1dGUgdGFyZ2V0X25vbmNhbm9uaWNhbC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlCgoyMDA0LTA3LTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9sYW5nL1N0cmluZy5qYXZhOiBGaXhlZCBqYXZhZG9jcyBhbGwgb3Zlci4KCjIwMDQtMDctMTcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL25pby9jaGFubmVscy9GaWxlQ2hhbm5lbEltcGwuamF2YSAodHJ1bmNhdGUpOiBPbmx5IHRydW5jYXRlCgl3aGVuIHNpemUgaXMgc21hbGxlci4KCSogamF2YS9pby9SYW5kb21BY2Nlc3NGaWxlLmphdmEgKHNldExlbmd0aCk6IFVzZSB0cnVuY2F0ZSBmb3IKCXNocmlua2luZyB0aGUgZmlsZSBhbmQgc2VlayBwbHVzIHdyaXRlIGZvciBleHBhbmRpbmcgdGhlIGZpbGUuCgoyMDA0LTA3LTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL25hdEZpbGVDaGFubmVsUG9zaXguY2MKCShpbXBsVHJ1bmNhdGUpOiBBbHdheXMgc2F2ZSBjdXJyZW50IHBvc2l0aW9uLiBPbmx5IHJlcG9zaXRpb24gZmlsZQoJcG9pbnRlciB0byB3aGVyZSB3ZSBzdGFydGVkIGlmIG5vdCBiZXlvbmQgbmV3IGxlbmdodC4gUmVwb3NpdGlvbiBmaWxlCglwb2ludGVyIHRvIGZpbGUgbGVuZ3RoIGlmIGl0IHBvaW50cyBiZXlvbmQgdGhlIGVuZCBvZiBmaWxlLgoKMjAwNC0wNy0xNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YXgvc3dpbmcvQm94LmphdmE6IFB1dCBGSVhNRSBjb21tZW50IGFib3ZlIGNsYXNzIGRlY2xhcmF0aW9uLgoJKiBqYXZheC9zd2luZy9KQnV0dG9uLmphdmE6IFJlbW92ZSBpbGxlZ2FsIEwmRiBIVE1MIGZyb20gY29tbWVudHMuCgkqIGphdmF4L3N3aW5nL0pDaGVja0JveC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkRpYWxvZy5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlJhZGlvQnV0dG9uLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9VSU1hbmFnZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL2JvcmRlci9UaXRsZWRCb3JkZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMYWJlbFVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQb3B1cE1lbnVTZXBhcmF0b3JVSS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Byb2dyZXNzQmFyVUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NlcGFyYXRvclVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmE6IExpa2V3aXNlLgoKMjAwNC0wNy0xNyAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbmV0L0RhdGFncmFtUGFja2V0LmphdmEgKHNldEFkZHJlc3MpOiBSZW1vdmVkIGNoZWNrIGZvcgoJbnVsbCBhZGRyZXNzLgoKMjAwNC0wNy0xNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L0RhdGFncmFtU29ja2V0LmphdmEKCShnZXRMb2NhbEFkZHJlc3MpOiBDaGVjayBpZiBzb2NrZXQgaXMgYm91bmQgb3Igbm90LgoJKiBqYXZhL25ldC9Tb2NrZXQuamF2YQoJKGdldExvY2FsQWRkcnNzKTogQ2hlY2sgaWYgc29ja2V0IGlzIGJvdW5kIG9yIG5vdC4KCShnZXRQb3J0KTogUmV0dXJuIC0xIHdoZW4gbm90IGNvbm5lY3RlZC4gRG9udCBjaGVjayBnZXRJbXBsKCkgZm9yCgludWxsLgoJKHNldFJldXNlQWRkcmVzcyk6IENoZWNrIGlmIHNvY2tldCBpcyBjbG9zZWQuCgkoaXNDb25uZWN0ZWQpOiBDaGVjayBpZiBnZXRJbXBsKCkgcmV0dXJucyBudWxsLgoKMjAwNC0wNy0xNyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9hd3QvZXZlbnQvSW52b2NhdGlvbkV2ZW50LmphdmEgKGRpc3BhdGNoKTogU3luY2hyb25pemUKCW9uIG5vdGlmaWVyIG9iamVjdCBiZWZvcmUgY2FsbGluZyBub3RpZnlBbGwoKS4KCjIwMDQtMDctMTcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvRmlsZUNoYW5uZWxJbXBsLmphdmEKCShmaW5hbGl6ZSk6IEFkZGVkIGphdmFkb2MuCgoyMDA0LTA3LTE3ICBHdWlsaGVtIExhdmF1eCA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBqYXZhL3RleHQvQ29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yLmphdmEKCSh0ZXh0X2RlY29tcG9zaXRpb24pOiBDaGFuZ2VkIHR5cGUgdG8gUnVsZUJhc2VkQ29sbGF0b3IuQ29sbGF0aW9uRWxlbWVudFtdCgkoc2V0VGV4dCk6IFVzZSBBcnJheUxpc3QgaW5zdGVhZCBvZiBWZWN0b3IuCgoyMDA0LTA3LTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uaW8vQnl0ZU9yZGVyLmphdmEKCShzdGF0aWMpOiBSZW1vdmVkLiBOb3QgbmVlZGVkLgoJVGhhbmtzIHRvIFBhdHJpY2sgUmVhbGkgZm9yIG5vdGljaW5nLgoJKiBqYXZhL25pby9jaGFyc2V0L0NoYXJzZXREZWNvZGVyLmphdmEKCShkZWNvZGUpOiBGaXggZm9yIGNsYXNzcGF0aCBidWcgIzkxNzc6IFJlc2V0IHN0YXRlIGJlZm9yZSBmbGlwcGluZy4KCjIwMDQtMDctMTcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3NlY3VyaXR5L1NlY3VyaXR5LmphdmE6IEZpeGVkIGphdmFkb2NzIGFsbCBvdmVyLgoKMjAwNC0wNy0xNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9FbWJlZGRlZFdpbmRvdy5qYXZhCgkoc3RhdGljKTogUmVtb3ZlZC4KCShhZGROb3RpZnkpOiBTZXQgcGVlciB2aWEgcmVmbGVjdGlvbi4KCShzZXRXaW5kb3dQZWVyKTogUmVtb3ZlZC4KCSogZ251L2phdmEvYXd0L25hdEVtYmVkZGVkV2luZG93LmNjOiBSZW1vdmVkLgoJKiBNYWtlZmlsZS5hbSAobmF0X3NvdXJjZV9maWxlcyk6CglSZW1vdmVkIGdudS9qYXZhL2F3dC9uYXRFbWJlZGRlZFdpbmRvdy5jYy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wNy0xNyAgUmljaGFyZCBFYXJuc2hhdyAgPHJlYXJuc2hhQGFybS5jb20+CgoJKiBjb25maWd1cmUuaW4oWklQLCBHQ0pIKTogUmVtb3ZlIHdoaXRlIHNwYWNlIGFyb3VuZCAnPScgaW4gdmFyaWFibGUKCWFzc2lnbm1lbnQuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDA0LTA3LTE2ICBOYXRoYW5hZWwgTmVyb2RlICA8bmVyb2RlbkBnY2MuZ251Lm9yZz4KCgkqIGNvbmZpZ3VyZS5pbjogVXNlIGJ1aWxkX25vbmNhbm9uaWNhbCByYXRoZXIgdGhhbiBidWlsZF9hbGlhcy4KCSogY29uZmlndXJlOiBSZWJ1aWxkLgoKCSogY29uZmlndXJlLmluOiBFbGltaW5hdGUgQ0FOQURJQU4gYW5kIE5VTExfVEFSR0VUIHZhcmlhYmxlcwoJYnkgbG9naWMgcmVmYWN0b3JpbmcuICBNb3ZlIGRlZmF1bHQgZGVmaW5pdGlvbiBvZiBOQVRJVkUgY2xvc2VyCgl0byBmaXJzdCBhbHRlcm5hdGUgZGVmaW5pdGlvbi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKCSogTWFrZWZpbGUuYW06IFNldCBaSVAgYW5kIEdDSkggZGlyZWN0bHkgdXNpbmcgYXV0b2NvbmYuCgkqIE1ha2VmaWxlLmluLCBpbmNsdWRlL01ha2VmaWxlLmluLCB0ZXN0c3VpdGUvTWFrZWZpbGUuaW4sCglnY2ovTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS5pbjogU2V0IFpJUCBhbmQgR0NKSC4gIFJlbW92ZSByZWR1bmRhbnQgY29uZGl0aW9uCglpbiBBTV9DT05ESVRJT05BTChOQVRJVkUsLi4uKQoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDA0LTA3LTE1ICBOYXRoYW5hZWwgTmVyb2RlICA8bmVyb2RlbkBnY2MuZ251Lm9yZz4KCgkqIGNvbmZpZ3VyZS5pbjogVXNlIHRhcmdldF9ub25jYW5vbmljYWwgcmF0aGVyIHRoYW4KCXRhcmdldF9hbGlhcyBmb3IgZm9yd2FyZC1jb21wYXRpYmlsaXR5IHdpdGggYXV0b2NvbmYgMi41OS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBNYWtlZmlsZS5hbSwgZ2NqL01ha2VmaWxlLmFtLCBpbmNsdWRlL01ha2VmaWxlLmFtLAoJdGVzdHN1aXRlL01ha2VmaWxlLmFtOiBTdWJzdGl0dXRlIHRhcmdldF9ub25jYW5vbmljYWwuCgkqIE1ha2VmaWxlLmluLCBnY2ovTWFrZWZpbGUuaW4sIGluY2x1ZGUvTWFrZWZpbGUuaW4sCgl0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoJKiBjb25maWd1cmUuaW46IE1vdmUgYXMgbXVjaCBhcyBwb3NzaWJsZSBiZWxvdyBBQ19DQU5PTklDQUxfU1lTVEVNLgoJSW50cm9kdWNlIF9HQ0NfVE9QTEVWX05PTkNBTk9OSUNBTF9UQVJHRVQuCgkqIGFjaW5jbHVkZS5tNDogSW5jbHVkZSBhY3gubTQuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDQtMDctMTUgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTY1NzQKCSogamF2YS9zcWwvVGltZXN0YW1wLmphdmEgKGRhdGVGb3JtYXQpOiBSZW5hbWVkIGZyb20gc2RmLgoJKGRlY2ltYWxGb3JtYXQpOiBOZXcgc3RhdGljIHZhcmlhYmxlLgoJKHNidWYpOiBMaWtld2lzZS4KCShnZXRUaW1lKTogTmV3LiBPdmVycmlkZSBEYXRlLmdldFRpbWUoKS4KCSh0b1N0cmluZyk6IFN5bmNocm9uaXplLiBVc2UgZGVjaW1hbEZvcm1hdCB0byBmb3JtYXQgbmFub3MgdmFsdWUKCWNvcnJlY3RseS4gVHJ1bmNhdGUgZXh0cmEgemVyb3MuCgkoYmVmb3JlKTogQ29tcGFyZSBnZXROYW5vcygpIG9ubHkgaWYgZ2V0VGltZSgpIGlzIGVxdWFsLgoJKGFmdGVyKTogTGlrZXdpc2UuCgoyMDA0LTA3LTE0ICBOYXRoYW5hZWwgTmVyb2RlICA8bmVyb2RlbkBnY2MuZ251Lm9yZz4KCgkqIGFjaW5jbHVkZS5tNDogIklubGluZSIgTElCR0NKX0NPTkZJR1VSRSBtYWNybyBpbnRvLi4uCgkqIGNvbmZpZ3VyZS5pbjogLi4uaGVyZS4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKCSogYWNsb2NhbC5tNDogUmVidWlsdCB3aXRoIGFjbG9jYWwgZ2NqLTEuNC4KCSogY29uZmlndXJlOiBSZWJ1aWx0IHdpdGggYXV0b2NvbmYgMi4xMy4KCSogTWFrZWZpbGUuaW4sIGdjai9NYWtlZmlsZS5pbiwgaW5jbHVkZS9NYWtlZmlsZS5pbiwKCXRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVidWlsdCB3aXRoIGF1dG9tYWtlIGdjai0xLjQuCgoyMDA0LTA3LTE0ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzE2MjA0CgkqIE1ha2VmaWxlLmFtIChBTV9DWFhGTEFHUyk6IEFkZCAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IHRvIGVuYWJsZQoJbGFyZ2UgZmlsZSBzdXBwb3J0LgoJKiBNYWtlZmlsZS5pbjogUmVidWlsdC4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9MYXJnZUZpbGUuamF2YTogTmV3IHRlc3QgY2FzZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9MYXJnZUZpbGUub3V0OiBOZXcgZmlsZS4KCjIwMDQtMDctMTQgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9iZWFucy9FdmVudEhhbmRsZXIuamF2YTogUmVtb3ZlIGRlYnVnZ2luZyBzdGF0ZW1lbnRzLgoKMjAwNC0wNy0xNCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2JlYW5zL0V2ZW50SGFuZGxlci5qYXZhOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW0gKGF3dF9qYXZhX3NvdXJjZV9maWxlcyk6IEFkZCBFdmVudEhhbmRsZXIuamF2YS4KCSogTWFrZWZpbGUuaW4sIGdjai9NYWtlZmlsZS5pbiwgaW5jbHVkZS9NYWtlZmlsZS5pbiwKCXRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDQtMDctMTQgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmphY2tzL2phY2tzLmV4cCAoZ2NqX2phY2tzX3dyaXRlKTogQWRkIGRlcHJlY2F0aW9uCglmbGFnIHRvIHRoZSBnY2pfc2V0dXAuCgkoZ2NqX2phY2tzX3J1bik6IENoZWNrIHRjbHNoIHZlcnNpb24gYW5kIGxhdW5jaCBqYWNrcyBkaXJlY3RseSB3aXRoCgl0aGUgdGNsc2guCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmphY2tzL2phY2tzLnhmYWlsOiBVcGRhdGUgZmFpbHMgdG8gcmVmbGVjdCB0aGUKCWRlcHJlY2F0aW9uIGZsYWcgY2hhbmdlLiA1OCBYRkFJTFMgcmVtb3ZlZC4KCjIwMDQtMDctMTQgIFVscmljaCBXZWlnYW5kICA8dXdlaWdhbmRAZGUuaWJtLmNvbT4KCgkqIGNvbmZpZ3VyZS5ob3N0IChESVZJREVTUEVDKSBbczM5MCotKi0qXTogU2V0IHRvCgktZm5vLXVzZS1kaXZpZGUtc3Vicm91dGluZS4KCSogaW5jbHVkZS9zMzkwLXNpZ25hbC5oOiBJbmNsdWRlIDx1Y29udGV4dC5oPiBhbmQgPGxpbWl0cy5oPi4KCShIQU5ETEVfRlBFKTogRGVmaW5lLgoJKFNJR05BTF9IQU5ETEVSKTogQ2hhbmdlIHRoaXJkIGFyZ3VtZW50IHRvIHVjb250ZXh0X3QgKi4KCShzdHJ1Y3Qgb2xkX3MzOTBfa2VybmVsX3NpZ2FjdGlvbik6IExpa2V3aXNlIGZvciBrX3NhX2hhbmRsZXIuCgkoSEFORExFX0RJVklERV9PVkVSRkxPVyk6IERlZmluZS4KCjIwMDQtMDctMTQgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgkgICAgTWF0dGhpYXMgS2xvc2UgIDxkb2tvQGRlYmlhbi5vcmc+CgoJKiBqYXZhL2F3dC9pbS9JbnB1dENvbnRleHQuamF2YTogSW5pdGlhbGl6ZSBpbiwgbGluZS4KCjIwMDQtMDctMTMgIFVscmljaCBXZWlnYW5kICA8dXdlaWdhbmRAZGUuaWJtLmNvbT4KCgkqIGludGVycHJldC5jYyAocnVuKTogQ29ycmVjdGx5IGFjY2VzcyBsaWJmZmkgcmV0dXJuIHZhbHVlcyBvZgoJaW50ZWdyYWwgc21hbGxlci10aGFuLWludCB0eXBlOyB0aGVzZSBhcmUgaW1wbGljaXRseSBwcm9tb3RlZC4KCjIwMDQtMDctMTMgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovNzU4NwoJKiBpbnRlcnByZXQuY2MgKGNvbXBpbGVfbXV0ZXgpOiBOZXcuCgkoX0p2X0luaXRJbnRlcnByZXRlcik6IE5ldy4gSW5pdGlhbGl6ZSBjb21waWxlX211dGV4LgoJKHJ1bik6IExvY2sgY29tcGlsZV9tdXRleCBiZWZvcmUgY2FsbGluZyBjb21waWxlKCkgaWYgY29tcGlsYXRpb24gaXMKCXJlcXVpcmVkLgoJKiBwcmltcy5jYyAoX0p2X0NyZWF0ZUphdmFWTSk6IENhbGwgX0p2X0luaXRJbnRlcnByZXRlcigpLgoJKiBpbmNsdWRlL2phdmEtaW50ZXJwLmggKF9Kdl9Jbml0SW50ZXJwcmV0ZXIpOiBEZWNsYXJlLgoKMjAwNC0wNy0xMiAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xNTcxMwoJKiBpbmNsdWRlL2p2bS5oIChfSnZfdmFsdWUpOiBOZXcgdW5pb24gdHlwZS4KCSogZ2NqL2ZpZWxkLmggKF9Kdl9GaWVsZCk6IEFkZCBuZXcgX2FkZHIgdW5pb24gZmllbGQgdmFyaWFudHMKCSogaW50ZXJwZXJldC5jYyAocnVuKTogVXNlIF9Kdl92YWx1ZSB1bmlvbiB0eXBlIGFuZCAqX2FkZHIgX0p2X0ZpZWxkCgl1bmlvbiBtZW1iZXJzLgoKMjAwNC0wNy0xMiAgU2NvdHQgR2lsYmVydHNvbiAgPHNjb3R0Z0BtYW50YXRlc3QuY29tPgoKCSogZ251L2F3dC94bGliL1hDYW52YXNQZWVyLmphdmEgKGNyZWF0ZUltYWdlKTogSW1wbGVtZW50LgoJKiBnbnUvYXd0L3hsaWIvWE9mZlNjcmVlbkltYWdlLmphdmEKCSAgKFhPZmZTY3JlZW5JbWFnZSk6IEFkZCBJbWFnZUNvbnN1bWVyIGludGVyZmFjZS4gQWRkIENvbG9yTW9kZWwKCSAgY29uc3RydWN0b3IgYXJndW1lbnQuIEFkZCBjb25zdHJ1Y3RvciB1c2luZyBJbWFnZVByb2R1Y2VyLgoJICAoZ2V0U291cmNlKTogSW1wbGVtZW50LgoJICAoaW1hZ2VDb21wbGV0ZSk6IE5ldyBtZXRob2QuCgkgIChzZXRDb2xvck1vZGVsKTogTmV3IG1ldGhvZC4KCSAgKHNldERpbWVuc2lvbnMpOiBOZXcgbWV0aG9kLgoJICAoc2V0SGludHMpOiBOZXcgbWV0aG9kLgoJICAoc2V0UGl4ZWxzKTogTmV3IG1ldGhvZC4KCSAgKHNldFByb3BlcnRpZXMpOiBOZXcgbWV0aG9kLgoJKiBnbnUvZ2NqL3hsaWIvR0MuamF2YSAoZHJhd1BvaW50KTogTmV3IG5hdGl2ZSBtZXRob2QuCgkqIGdudS9nY2oveGxpYi9uYXRHQy5jYyAoZHJhd1BvaW50KTogTmV3IG5hdGl2ZSBtZXRob2QuCgoyMDA0LTA3LTExICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJUFIgbGliZ2NqLzE2NDc4CgkqIHByaW1zLmNjIChfSnZfQ3JlYXRlSmF2YVZNKTogRml4IGNvbW1lbnQuCgkqIGdudS9nY2ovcnVudGltZS9GaW5hbGl6ZXJUaHJlYWQuamF2YSAoaW5pdCk6IE5ldy4gTmF0aXZlLgoJKGZpbmFsaXplclJlYWR5KTogTm93IG5hdGl2ZS4KCShydW4pOiBMaWtld2lzZS4KCShydW5GaW5hbGl6ZXJzKTogUmVtb3ZlZC4KCSogZ251L2djai9ydW50aW1lL25hdEZpbmFsaXplclRocmVhZC5jYyAocnVuKTogSW1wbGVtZW50IGhlcmUuIFVzZQoJYSBwcmltaXRpdmUgbG9jaywgYW5kIGRvbid0IGhvbGQgaXQgd2hpbGUgcnVubmluZyB0aGUgZmluYWxpemVycy4KCShydW5GaW5hbGl6ZXJzKTogSW1wbGVtZW50LiBEb24ndCBhcXVpcmUgYW55IEphdmEgbG9jay4KCShmaW5hbGl6ZXJSZWFkeSk6IFVzZSBsb2NrIHByaW1pdGl2ZXMgdG8gc2lnbmFsIGZpbmFsaXplciB0aHJlYWQuCgoyMDA0LTA3LTExICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJUmVwb3J0ZWQgYnkgUm9tYW4gS2VubmtlIDxyb21hbkBvbnRvZ3JhcGhpY3MuY29tPiAoYnVnICM5MzMxKQoJKiBqYXZhL25ldC9VUkxTdHJlYW1IYW5kbGVyLmphdmEgKHBhcnNlVVJMKTogV2hlbiB1cmwgZmlsZSBwYXJ0Cglkb2Vzbid0IGNvbnRhaW4gYSAnLycganVzdCBpZ25vcmUgY29udGV4dC4KCjIwMDQtMDctMTEgIFVscmljaCBXZWlnYW5kICA8dXdlaWdhbmRAZGUuaWJtLmNvbT4KCgkqIGluY2x1ZGUvczM5MC1zaWduYWwuYyAoU0lHTkFMX0hBTkRMRVIpOiBVc2UgU0lHSU5GTy1zdHlsZSBwcm90b3R5cGUuCgkoc3RydWN0IG9sZF9zMzkwX2tlcm5lbF9zaWdhY3Rpb24pOiBMaWtld2lzZSBmb3Iga19zYV9oYW5kbGVyLgoJKE1BS0VfVEhST1dfRlJBTUUpOiBEbyBub3QgbW9kaWZ5IFBTVyBhZGRyZXNzLgoJKElOSVRfU0VHVik6IEluc3RhbGwgU0lHSU5GTy1zdHlsZSBzaWduYWwgaGFuZGxlci4KCShJTklUX0ZQRSk6IExpa2V3aXNlLgoKMjAwNC0wNy0xMCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEuamFja3MvamFja3MueGZhaWw6IFVwZGF0ZXMgdG8gcmVmbGVjdCBjdXJyZW50CglzdGF0dXMuIDIxIHhmYWlsJ3MgcmVtb3ZlZCwgMSBhZGRlZC4KCjIwMDQtMDctMTAgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGdjai9qYXZhcHJpbXMuaDogUmVnZW5lcmF0ZSBDTkkgbmFtZXNwYWNlIGRlZmluaXRpb25zLgoKMjAwNC0wNy0xMCAgSXRvIEthenVtaXRzdSAgPGthekBtYWN6dWthLmdjZC5vcmc+CgoJKiBqYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhCgkoZm9ybWF0SW50ZXJuYWwpOiBBcHBlbmQgIntufSIgaWYgYXJndW1lbnQgbiBpcyB1bmF2YWlsYWJsZS4KCShmb3JtYXQoT2JqZWN0LCBTdHJpbmdCdWZmZXIsIEZpZWxkUG9zaXRpb24pKTogVGhpcwoJc2hvdWxkIGJlIGVxdWl2YWxlbnQgdG8gZm9ybWF0KE9iamVjdFtdLAoJU3RyaW5nQnVmZmVyLCBGaWVsZFBvc2l0aW9uKS4KCjIwMDQtMDctMDkgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGphdmEudXRpbC5DYWxlbmRhci5qYXZhIChjYWNoZSk6IE5ldyBwcml2YXRlIHN0YXRpYyBmaWVsZC4gQ2FjaGVkCgltYXBwaW5ncyBvZiBsb2NhbGVzLT5jYWxlbmRhciBjbGFzc2VzLgoJKGN0b3JBcmdUeXBlcyk6IE5ldyBwcml2YXRlIHN0YXRpYyBmaWVsZC4gU2luZ2xldG9uIGFyZ3VtZW50IGZvcgoJY2FsZW5kYXIgY2xhc3MgY29uc3RydWN0b3IgbG9va3VwLgoJKGdldEluc3RhbmNlKTogQ2FjaGUgTG9jYWxlLT5DYWxlbmRhciBjbGFzcyBtYXBwaW5ncyB1c2luZyBIYXNoTWFwLgoJT3B0aW1pemUgYnkgYnlwYXNzaW5nIHJlZmxlY3Rpb24gaW5zdGFudGlhdGlvbiBmb3IgdGhlCglHcmVnb3JpYW5DYWxlbmRhciBjYXNlLgoKMjAwNC0wNy0wOSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogamF2YS91dGlsL0NhbGVuZGFyLmphdmE6IFVzZSBnZXRTeXN0ZW1DbGFzc0xvYWRlciBhcyBhcmd1bWVudCBmb3IKCVJlc291cmNlQnVuZGxlLmdldEJ1bmRsZSgpIGNhbGxzLgoJKiBqYXZhL3V0aWwvR3JlZ29yaWFuQ2FsZW5kYXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvdXRpbC9DdXJyZW5jeS5qYXZhOiBMaWtld2lzZS4KCSogamF2YS90ZXh0L0JyZWFrSXRlcmF0b3IuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvdGV4dC9Db2xsYXRvci5qYXZhOiBMaWtld2lzZS4KCSogamF2YS90ZXh0L0RhdGVGb3JtYXQuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvdGV4dC9EYXRlRm9ybWF0U3ltYm9scy5qYXZhOiBMaWtld2lzZS4KCSogamF2YS90ZXh0L0RlY2ltYWxGb3JtYXRTeW1ib2xzLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL3RleHQvTnVtYmVyRm9ybWF0LmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YTogTGlrZXdpc2UuCgoyMDA0LTA3LTA5ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvUmVzb3VyY2VCdW5kbGUuamF2YSAoYnVuZGxlQ2FjaGUpOiBSZW5hbWVkIGZyb20KCXJlc291cmNlQnVuZGxlQ2FjaGUuIFVwZGF0ZSBjb21tZW50cy4KCShnZXRPYmplY3QpOiBEb24ndCBjYXRjaCBNaXNzaW5nUmVzb3VyY2VFeGNlcHRpb24uCgkoZ2V0QnVuZGxlKFN0cmluZykpOiBSZW1vdmUgJ2ZpbmFsJy4gVXNlIHN5c3RlbSBjbGFzc2xvYWRlciBpZgoJZ2V0Q2FsbGluZ0NsYXNzTG9hZGVyIHJldHVybmVkIG51bGwuCgkoZ2V0QnVuZGxlKFN0cmluZywgTG9jYWxlKSk6IExpa2V3aXNlLgoJKEJ1bmRsZUtleSk6IE5ldyBwcml2YXRlIGNsYXNzLiBIYXNoTWFwIGtleSBmb3IgYnVuZGxlIGNhY2hlIGxvb2t1cC4KCShsb29rdXBLZXkpOiBOZXcuIFNpbmdsZXRvbiBpbnN0YW5jZSBvZiBCdW5kbGVLZXkuCgkobnVsbEVudHJ5KTogTmV3LiBDYWNoZSBlbnRyeSB0byByZXByZXNlbnQgZmFpbGVkIGxvb2t1cHMuCgkoZ2V0QnVuZGxlKFN0cmluZywgTG9jYWxlLCBDbGFzc0xvYWRlcikpOiBSZS13cml0dGVuIHRvIHVzZSBuZXcKCWNhY2hpbmcgc3RyYXRlZ3ksIG5vLWFsbG9jYXRpb24gbG9va3VwLCBhbmQgbmV3IHRyeUJ1bmRsZSBtZXRob2RzLgoJKHRyeUJ1bmRsZShTdHJpbmcsIENsYXNzTG9hZGVyKSk6IE5ldy4gTG9hZCBhIGxvY2FsZS1xdWFsaWZpZWQgYnVuZGxlCgluYW1lIHVzaW5nIGdpdmVuIGNsYXNzbG9hZGVyLgoJKHRyeUJ1bmRsZShTdHJpbmcsIExvY2FsZSwgQ2xhc3NMb2FkZXIsIGJvb2xlYW4pOiBOZXcuIFF1YWxpZnkKCWJhc2VOYW1lIGZvciBnaXZlbiBMb2NhbGUgYW5kIGF0dGVtcHQgdG8gbG9hZCBidW5kbGUuCgoyMDA0LTA3LTA5ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudVVJLmphdmEgKG1vdXNlUHJlc3NlZCk6IFJlbW92ZQoJaWxsZWdhbCBwcm90ZWN0ZWQgbWV0aG9kIGNhbGxzLgoKMjAwNC0wNy0wOSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCUZpeCBvciByZW1vdmUgc29tZSBib2d1cyB0ZXN0IGNhc2VzLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5jb21waWxlL3ByMTA0NTlfMi5qYXZhOiBSZW1vdmVkLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5jb21waWxlL3ByMTA0NTkuamF2YTogVGVzdCB1c2luZyBpdHMgb3duIG1ldGhvZCwKCW5vdCBPYmplY3QuY2xvbmUoKS4KCSogdGVzdHN1aXRlL2xpYmphdmEuY29tcGlsZS9pbm5lcl9kYXRhLmphdmE6IFRlc3QgYWdhaW5zdCBpdHMgb3duCglwcm90ZWN0ZWQgZmllbGQuCgoyMDA0LTA3LTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogc2NyaXB0cy91bmljb2RlLW11bmNoZXIucGw6IFVwZGF0ZWQgdG8gdmVyc2lvbiAyLjEKCWZyb20gR05VIGNsYXNzcGF0aC4gQWRkZWQgc29tZSBjbGFyaWZpY2F0aW9ucyBvbiB3aGVyZSB0byBmaW5kIHRoZQoJbmVlZGVkIGZpbGVzIGZyb20gd3d3LnVuaWNvZGUub3JnLgoJKiBnbnUvZ2NqL2NvbnZlcnQvVW5pY29kZUNoYXJhY3RlckRhdGFiYXNlLTMuMC4wLmh0bWwsCglnbnUvZ2NqL2NvbnZlcnQvVW5pY29kZURhdGEtMy4wLjAudHh0OgoJUmVtb3ZlZCwgdGhlc2UgY2FuIGRpcmVjdGx5IGJlIGRvd25sb2FkZWQgZnJvbSB3d3cudW5pY29kZS5vcmcgaWYKCW5lZWRlZC4KCSogZ251L2phdmEvbGFuZy9DaGFyRGF0YS5qYXZhOiBSZWdlbmVyYXRlZC4KCSogaW5jbHVkZS9qYXZhLWNoYXJ0YWJsZXMuaDogUmVnZW5lcmF0ZWQuCgkqIE1ha2VmaWxlLmFtIChvcmRpbmFyeV9qYXZhX3NvdXJjZV9maWxlcyk6CglSZW1vdmVkIGdudS9qYXZhL2xhbmcvQ2hhckRhdGEuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wNy0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvc2VjdXJpdHkvQWNjZXNzQ29udHJvbENvbnRleHQuamF2YSwKCWphdmEvc2VjdXJpdHkvU2VjdXJlQ2xhc3NMb2FkZXIuamF2YToKCUZpeGVkIGphdmFkb2NzLgoKMjAwNC0wNy0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YSAocmVhZEZpZWxkcyk6IFVzZSBsb25nIGRhdGF0eXBlCgl3aGVuIHNoaWZ0aW5nIGJ5dGUgdmFsdWVzIG1vcmUgdGhlbiAyNCBiaXRzIGxlZnQuCgoyMDA0LTA3LTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS91dGlsL3ppcC9EZWZsYXRlck91dHB1dFN0cmVhbS5qYXZhLAoJamF2YS91dGlsL3ppcC9HWklQSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvdXRpbC96aXAvR1pJUE91dHB1dFN0cmVhbS5qYXZhLAoJamF2YS91dGlsL3ppcC9JbmZsYXRlcklucHV0U3RyZWFtLmphdmE6CglSZWZvcm1hdHRlZC4gQWRkZWQgamF2YWRvY3MuIFJlb3JkZXJlZCBhbGwgc3R1ZmYuCglSZW5hbWVkIHZhcmlhYmxlcyB0byBiZSBtb3JlIGNsZWFyLgoKMjAwNC0wNy0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L2ltYWdlaW8vSUlPRXhjZXB0aW9uLmphdmEsCglqYXZheC9pbWFnZWlvL2V2ZW50L0lJT1JlYWRQcm9ncmVzc0xpc3RlbmVyLmphdmEsCglqYXZheC9pbWFnZWlvL2V2ZW50L0lJT1JlYWRVcGRhdGVMaXN0ZW5lci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9ldmVudC9JSU9SZWFkV2FybmluZ0xpc3RlbmVyLmphdmEsCglqYXZheC9pbWFnZWlvL2V2ZW50L0lJT1dyaXRlUHJvZ3Jlc3NMaXN0ZW5lci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9ldmVudC9JSU9Xcml0ZVdhcm5pbmdMaXN0ZW5lci5qYXZhOgoJTmV3IGZpbGVzLgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGVzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA3LTA5ICBHdWlsaGVtIExhdmF1eCA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBqYXZhL3RleHQvUnVsZUJhc2VkQ29sbGF0b3IuamF2YQoJKG1lcmdlUnVsZXMpOiBVc2UgQXJyYXlMaXN0IGluc3RlYWQgb2YgVmVjdG9yLgoJKHN1YlBhcnNlU3RyaW5nKTogbGlrZXdpc2UuCgkocGFyc2VTdHJpbmcpOiBsaWtld2lzZS4KCShidWlsZENvbGxhdGlvblZlY3Rvcik6IGxpa2V3aXNlLgoJKGdldENvbGxhdGlvbktleSk6IGxpa2V3aXNlLgoKMjAwNC0wNy0wOSAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YS90ZXh0L0RhdGVGb3JtYXQuamF2YSAocGFyc2UpOgoJSW1wcm92ZWQgamF2YWRvYy4gSW1wcm92ZWQgZXhjZXB0aW9uIG1lc3NhZ2UuCgoyMDA0LTA3LTA5ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9uaW8vU2VsZWN0b3JJbXBsLmphdmEgKHNlbGVjdCk6IENhbGwgc3RhdGljIFRocmVhZAoJaW50ZXJydXB0ZWQoKSBtZXRob2QgdG8gY2xlYXIgaW50ZXJ1cHQgZmxhZyBvZiBvdXIgVGhyZWFkLgoKMjAwNC0wNy0wOSAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YS9uaW8vQnVmZmVyLmphdmEsCglqYXZhL25pby9CeXRlQnVmZmVyLmphdmEsCglqYXZhL25pby9CeXRlQnVmZmVySGVscGVyLmphdmEsCglqYXZhL25pby9CeXRlQnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vQ2hhckJ1ZmZlci5qYXZhLAoJamF2YS9uaW8vQ2hhckJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0NoYXJWaWV3QnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0RvdWJsZUJ1ZmZlci5qYXZhLAoJamF2YS9uaW8vRG91YmxlQnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vRG91YmxlVmlld0J1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0Zsb2F0QnVmZmVyLmphdmEsCglqYXZhL25pby9GbG9hdEJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0Zsb2F0Vmlld0J1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0ludEJ1ZmZlci5qYXZhLAoJamF2YS9uaW8vSW50QnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vSW50Vmlld0J1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0xvbmdCdWZmZXIuamF2YSwKCWphdmEvbmlvL0xvbmdCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9Mb25nVmlld0J1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL01hcHBlZEJ5dGVCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9TaG9ydEJ1ZmZlci5qYXZhLAoJamF2YS9uaW8vU2hvcnRCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9TaG9ydFZpZXdCdWZmZXJJbXBsLmphdmE6CiAgICAgICAgRml4ZWQgamF2YWRvY3MgYWxsIG92ZXIuIEltcHJvdmVkIGlucHV0IGVycm9yCiAgICAgICAgY2hlY2tpbmcuCgoJKiBqYXZhL25pby9CdWZmZXIuamF2YQoJKGNoZWNrRm9yVW5kZXJmbG93LCBjaGVja0Zvck92ZXJmbG93LCBjaGVja0luZGV4LAoJY2hlY2tJZlJlYWRPbmx5LCBjaGVja0FycmF5U2l6ZSk6IE5ldyBoZWxwZXIgbWV0aG9kcwogICAgICAgIGZvciBlcnJvciBjaGVja2luZy4KCgkqIGphdmEvbmlvL0J5dGVCdWZmZXJIZWxwZXIuamF2YQoJKGNoZWNrUmVtYWluaW5nRm9yUmVhZCwgY2hlY2tSZW1haW5pbmdGb3JXcml0ZSwKCWNoZWNrQXZhaWxhYmxlRm9yUmVhZCwgY2hlY2tBdmFpbGFibGVGb3JXcml0ZSk6IFJlbW92ZWQKICAgICAgICBubyBsb25nZXIgbmVlZGVkIG1ldGhvZHMuCgoyMDA0LTA3LTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L3JlZ2V4cC9DaGFySW5kZXhlZElucHV0U3RyZWFtLmphdmE6CglSZW9yZGVyZWQgaW1wb3J0cyB0byBtYXRjaCBjbGFzc3BhdGguCgoyMDA0LTA3LTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYXd0L0VtYmVkZGVkV2luZG93LmphdmE6CglMb2FkIG5hdGl2ZSBsaWJyYXJ5IGZvciBzZXRXaW5kb3dQZWVyIG1ldGhvZC4KCjIwMDQtMDctMDggIFJhbmRvbHBoIENodW5nICA8dGF1c3FAZGViaWFuLm9yZz4KCgkqIGNvbmZpZ3VyZS5pbiAoU0lHTkFMX0hBTkRMRVIpOiBVc2UgcGEtc2lnbmFsLmggZm9yIGhwcGEuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLmhvc3Q6IFNldCBjYW5fdW53aW5kX3NpZ25hbCBmb3IgaHBwYSotbGludXguCgkqIGluY2x1ZGUvcGEtc2lnbmFsLmg6IE5ldyBmaWxlLgoKMjAwNC0wNy0wNyAgUGVyIEJvdGhuZXIgIDxwZXJAYm90aG5lci5jb20+CgoJKiBNYWtlZmlsZS5hbTogIEFkZCBydWxlcyB0byBidWlsZCBsaWJnaWogZnJvbSBqdXN0IGdpai5jYy4KCgkqIGluY2x1ZGUvanZtLmggKG5hbWVzcGFjZSBqY2opOiAgRGVjbGFyZSB2ZXJib3NlX2NsYXNzX2ZsYWcKCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChnY2o6OnZlcmJvc2VfY2xhc3NfZmxhZyk6ICBOZXcgdmFyaWFibGUuCgkoaW5pdGlhbGl6ZUNsYXNzKTogIElmIHZlcmJvc2VfY2xhc3NfZmxhZywgcHJpbnQgbWVzc2FnZS4KCSogZ2lqLmNjIChtYWluKTogIEhhbmRsZSAtdmVyYm9zZTpjbGFzcyBmbGFnLgoKMjAwNC0wNy0wNyAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogY29uZmlndXJlLmhvc3Q6IEVuYWJsZSBoYXNoIHN5bmNocm9uaXphdGlvbiBvbiBEYXJ3aW4uCgkqIHN5c2RlcC9wb3dlcnBjL2xvY2tzLmggKGNvbXBhcmVfYW5kX3N3YXApOiBVc2UgJ1xuJyBpbnN0ZWFkIG9mCgknOycsIHNpbmNlIHRoaXMgaXMgYSBjb21tZW50IG9uIERhcndpbi4KCShjb21wYXJlX2FuZF9zd2FwX3JlbGVhc2UpOiBMaWtld2lzZS4KCjIwMDQtMDctMDYgIE1vaGFuIEVtYmFyICA8Z251c3R1ZmZAdGhpc2lzY29vbC5jb20+CgoJKiBqYXZhL25ldC9VUkxTdHJlYW1IYW5kbGVyLmphdmEgKHBhcnNlVVJMKTogQ2Fub25pY2FsaXplCglmaWxlIHBvcnRpb24gb2YgVVJMIGluIGFkZGl0aW9uIHRvIHNwZWMgZm9yIGZpbGU6IHByb3RvY29sLgoKMjAwNC0wNy0wNSAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqYXZhL2lvL0ZpbGUuamF2YSAodG9VUkkpOiBNZXJnZSBmcm9tIENsYXNzcGF0aC4KCjIwMDQtMDctMDUgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGdudS9nY2ovcnVudGltZS9WTUNsYXNzTG9hZGVyLmphdmEgKGluaXQpOiBDaGVjayBjbGFzc3BhdGggZW50cnkKCWJlZm9yZSBwYXNzaW5nIHRvIFVSTCBjb25zdHJ1Y3Rvci4gUmV0aHJvdyBhbnkgTWFsZm9ybWVkVVJMRXhjZXB0aW9uCglhcyBhIFJ1bnRpbWVFeGNlcHRpb24uIENhdGNoIE1hbGZvcm1lZFVSTEV4Y2VwdGlvbiBzcGVjaWZpY2FsbHksIG5vdAoJYWxsIGV4Y2VwdGlvbnMuCgoyMDA0LTA3LTA1ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvTG9jYWxlLmphdmEgKHJlYWRPYmplY3QpOiBJbnRlcm4gc3RyaW5ncyByZWFkIGZyb20gb2JqZWN0CglzdHJlYW0uCgoyMDA0LTA3LTA0ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2djai9ydW50aW1lL0ZpcnN0VGhyZWFkLmphdmEsCglnbnUvZ2NqL3J1bnRpbWUvbmF0Rmlyc3RUaHJlYWQuY2M6IFJlbW92ZWQuCgkqIGdudS9qYXZhL2xhbmcvTWFpblRocmVhZC5qYXZhLAoJZ251L2phdmEvbGFuZy9uYXRNYWluVGhyZWFkLmNjOiBOZXcgZmlsZXMuCgkqIHByaW1zLmNjIChfSnZfUnVuTWFpbik6IFVzZSBNYWluVGhyZWFkIGluc3RlYWQgb2YgRmlyc3RUaHJlYWQuCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZXMgYW5kIHJlbW92ZWQgZGVsZXRlZCBvbmVzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA3LTAzICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgkgICAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqYXZhL25ldC9VUkwuamF2YSAoZ2V0RmlsZSk6IENsYXJpZnkgcmV0dXJuIHZhbHVlIGRvYy4KCShnZXRQYXRoKTogUmV0dXJuIG51bGwgaWYgZmlsZSBpcyBlbXB0eSAtIG5vdCBlbXB0eSBTdHJpbmcuCgkoc2V0KTogQ29udmVydCBwcm90b2NvbCB0byBsb3dlciBjYXNlIGJlZm9yZSBkb2luZyBhbnl0aGluZy4KCU9ubHkgY2hhbmdlIHRoZSBwcm90b2NvbCBoYW5kbGVyIGlmIGl0J3MgZGlmZmVyZW50LgoKMjAwNC0wNy0wMyAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqYXZhL25ldC9VUkwuamF2YSAoVVJMKTogQ29udmVydCBwcm90b2NvbCB0byBsb3dlciBjYXNlIGJlZm9yZQoJZG9pbmcgYW55dGhpbmcsIHNvIHdlIGdldFVSTFN0cmVhbUhhbmRsZXIoKSB3aXRoIHRoZSBwcm9wZXIgdmFsdWUuCgoyMDA0LTA3LTAyICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvTG9jYWxlLmphdmEgKGhhc2hjb2RlKTogTWFkZSB0cmFuc2llbnQuCgkoaGFzaENvZGUpOiBObyBsb25nZXIgc3luY2hyb25pemVkLgoJKGVxdWFscyk6IFJlbW92ZSBjb21tZW50LgoJKHdyaXRlT2JqZWN0KTogTm8gbG9uZ2VyIHN5bmNocm9uaXplZC4gSW1wbGVtZW50IHVzaW5nIHdyaXRlT2JqZWN0CgljYWxscyBpbnN0ZWFkIG9mIHR3ZWFraW5nIGhhc2hDb2RlIGZpZWxkLiBVcGRhdGUgZG9jLgoJKHJlYWRPYmplY3QpOiBJbXBsZW1lbnQgdXNpbmcgcmVhZE9iamVjdCBjYWxscy4KCjIwMDQtMDYtMjYgIEdlb2ZmcmV5IEtlYXRpbmcgIDxnZW9mZmtAYXBwbGUuY29tPgoJICAgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIGNvbmZpZ3VyZS5ob3N0IChwb3dlcnBjLSotZGFyd2luKik6IE5ldyBjYXNlLCBkZWZpbmUKCWNhbl91bndpbmRfc2lnbmFsLgoJKiBjb25maWd1cmUuaW4gKCotKi1kYXJ3aW4qKTogTmV3IGNhc2UsIHBvaW50IHRvIGRhcndpbi1zaWduYWwuaC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBpbmNsdWRlL2Rhcndpbi1zaWduYWwuaDogTmV3LgoKMjAwNC0wNi0zMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL2JlYW5zL1N0YXRlbWVudC5qYXZhIChkb0V4ZWN1dGUpOiBGaXggZm9ybWF0dGluZy4KCjIwMDQtMDYtMjkgIFBlciBCb3RobmVyICA8cGVyQGJvdGhuZXIuY29tPgoKCSogam5pLmNjIChfSnZfSk5JX05ld0dsb2JhbFJlZiwgSk5JQ0FMTCBfSnZfSk5JX0RlbGV0ZUdsb2JhbFJlZiwKCWV0YyBldGMpOiAgUmVtb3ZlIG5lZWRsZXNzIHBhcmVudGhlc2lzLCB3aGljaCBjYXVzZXMgX19zdGRjYWxsX18KCWF0dHJpYnV0ZSBvbiBNaW5HVyB0byBnZXQgaWdub3JlZC4KCjIwMDQtMDYtMjkgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmNvbXBpbGUvUFIxNjI0OS5qYXZhOiBOZXcgdGVzdCBjYXNlLiBQUiBnY2MvMTYyNDkuCgoyMDA0LTA2LTI4ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvbGliamF2YS5qYWNrcy9qYWNrcy54ZmFpbDogUmVtb3ZlIDguMS4zLXN1cGVyY2xhc3MtNi4KCjIwMDQtMDYtMjggIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9iZWFucy9FeHByZXNzaW9uLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZhL2JlYW5zL1N0YXRlbWVudC5qYXZhOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlLWdlbmVyYXRlLgoKMjAwNC0wNi0yNyBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2lvL0ZpbGVQZXJtaXNzaW9uLmphdmEgKHVzaW5nUGVybXMpOiBSZW1vdmVkLgoJKGFjdGlvbnNTdHJpbmcpOiBNYWRlIGZpbmFsLgoJKGNhY2hlUGVybXMpOiBSZW5hbWVkIHRvIGNoZWNrUGVybXMuCgkoY2hlY2tQZXJtcyk6IFJlbmFtZWQgZnJvbSBjYWNoZVBlcm1zLiBDYWxsIHRyaW0oKSBhbmQgdG9Mb3dlckNhc2UoKQoJb24gYWN0aW9uIFN0cmluZy4KCShGaWxlUGVybWlzc2lvbik6IENoZWNrIGFyZ3VtZW50cywgY2FsbCBjaGVja1Blcm1zKCkuCgkoZXF1YWxzKTogUmVtb3ZlIGNhY2hlUGVybXMoKSBjYWxsLgoJKGltcGxpZXMpOiBMaWtld2lzZS4KCjIwMDQtMDYtMjcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL25ldC9wcm90b2NvbC9odHRwL0Nvbm5lY3Rpb24uamF2YSAodXNlckFnZW50KTogTmV3IHN0YXRpYwoJZmluYWwgZmllbGQuCgkoc2VuZFJlcXVlc3QpOiBVc2UgbmV3IGZpZWxkIGluIHVzZXItYWdlbnQgaHR0cCBhZ2VudC4KCjIwMDQtMDYtMjcgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvYXd0L0V2ZW50UXVldWUuamF2YSAocG9zdEV2ZW50KTogVGhyb3cgTnVsbFBvaW50ZXJFeGNlcHRpb24KCXdoZW4gYXJndW1lbnQgaXMgbnVsbC4KCjIwMDQtMDYtMjYgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dQZWVyLmMKCShva19jbGlja2VkKTogVXNlIExqYXZhL2xhbmcvU3RyaW5nOyBub3QgTGphdmEubGFuZy5TdHJpbmc7IGluIEpOSQoJR2V0TWV0aG9kSUQgY2FsbC4KCShjYW5jZWxfY2xpY2tlZCk6IExpa2V3aXNlLgoKMjAwNC0wNi0yNiAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNYWluVGhyZWFkLmMKCShpbml0X2RwaV9jb252ZXJzaW9uX2ZhY3Rvcik6IENoZWNrIGZvciBpbnRfZHBpIDwgMCBpbiBjYXNlIGd0ay14ZnQtZHBpCgljYW4gbm90IGNhbGN1bGF0ZSB0aGUgcmlnaHQgdmFsdWUuCgkoZHBpX2NoYW5nZWRfY2IpOiBMaWtld2lzZS4gTWFyayAqcHNwZWMgYXMgdW51c2VkLgoKMjAwNC0wNi0yNCAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEuamFja3MvamFja3MueGZhaWw6IFJlbW92ZQoJMTUuOS4xLXF1YWxpZmllZC1jb25jcmV0ZS0yMC4KCjIwMDQtMDYtMjIgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGdudS9nY2ovY29udmVydC9CeXRlc1RvVW5pY29kZS5qYXZhIChnZXREZWNvZGVyKTogUGFzcyBvcmlnaW5hbAoJZW5jb2RpbmcgbmFtZSB0byBpY29udi4KCSogZ251L2djai9jb252ZXJ0L1VuaWNvZGVUb0J5dGVzLmphdmEgKGdldEVuY29kZXIpOiBMaWtld2lzZS4KCjIwMDQtMDYtMjIgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCglQUiBsaWJnY2ovMTYxMzQ6CgkqIGdudS9nY2ovY29udmVydC9CeXRlc1RvVW5pY29kZS5qYXZhIChnZXREZWNvZGVyKTogQ2Fub25pY2FsaXplCgllbmNvZGluZyBuYW1lIGJlZm9yZSBjYWNoZSBsb29rdXAuIFRoYW5rcyB0byBIYW5uZXMgV2FsbG5vZWZlci4KCSogZ251L2djai9jb252ZXJ0L1VuaWNvZGVUb0J5dGVzLmphdmEgKGdldEVuY29kZXIpOiBMaWtld2lzZS4KCjIwMDQtMDYtMjEgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YS9pby9PYmplY3RPdXRwdXRTdHJlYW0uamF2YTogQWRkIERFQlVHIHN0YXRlbWVudHMKCWV2ZXJ5d2hlcmUuCgkoZHVtcEVsZW1lbnRsbik6IE5ldyBtZXRob2QuCgkoZGVwdGgpOiBOZXcgZmllbGQuCgkqIGphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YQoJKGN1cnJlbnRDbGFzc0xvYWRlcik6IE1ha2UgbmF0aXZlLgoJKGNhbGxlcnNDbGFzc0xvYWRlcik6IE5ldyBmaWVsZC4KCShkZXB0aCk6IE5ldyBmaWVsZC4KCShyZWFkT2JqZWN0KTogRU5EQkxPQ0tEQVRBIGlzIGdlbmVyYXRlZCBpZiB0aGUgY2xhc3MgaGFzIGEgd3JpdGUKCW1ldGhvZCwgbm90IGlmIGl0IGhhcyBhIHJlYWQgbWV0aG9kLgoJKHJlYWRPYmplY3QpOiBTYXZlIGFuZCByZXN0b3JlIHRoaXMuY3VycmVudE9iamVjdCBhbmQKCXRoaXMuY3VycmVudE9iamVjdFN0cmVhbUNsYXNzIGFyb3VuZCBjYWxscyB0byBjYWxsUmVhZE1ldGhvZCgpLgoJKiBqYXZhL2lvL25hdE9iamVjdElucHV0U3RyZWFtLmNjIChnZXRDYWxsZXJzQ2xhc3NMb2FkZXIpOiBOZXcKCW1ldGhvZC4KCjIwMDQtMDYtMTggIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmpuaS9qbmkuZXhwIChnY2pfam5pX3Rlc3Rfb25lKTogQWRkIGxnY2NfcyBmb3IKCWRhcndpbi4KCjIwMDQtMDYtMTggIFJhbmppdCBNYXRoZXcgIDxybWF0aGV3QGhvdG1haWwuY29tPgoKCSogcHJpbXMuY2MgKF9Kdl9DcmVhdGVKYXZhVk0pOiBJbnN0YWxsIFNFR1YgYW5kIEZQRSBoYW5kbGVycywKCWlmIGRlc2lyZWQsIGJlZm9yZSB0aGUgZGVmYXVsdCBjbGFzcyBsb2FkZXIgaXMgaW5pdGlhbGlzZWQuCglDYWxsIElOSVRfU0VHViBvbmx5IGlmIEhBTkRMRV9TRUdWIGlzIGRlZmluZWQuCgoyMDA0LTA2LTE4ICBSYW5qaXQgTWF0aGV3ICA8cm1hdGhld0Bob3RtYWlsLmNvbT4KCgkqIGdudS9nY2ovcnVudGltZS9WTUNsYXNzTG9hZGVyLmphdmEgKGluaXQpOiBBZGQgZXh0ZW5zaW9ucwoJZGlyZWN0b3J5IG9ubHkgaWYgaXQgYWN0dWFsbHkgZXhpc3RzLgoKMjAwNC0wNi0xOCAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jOgoJRml4IHVwIG5vbi1hbnNpIGNvbW1lbnRzLgoKMjAwNC0wNi0xOCAgUmFuaml0IE1hdGhldyAgPHJtYXRoZXdAaG90bWFpbC5jb20+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YTogQWRkaW5nIG1pc3NpbmcgaW1wb3J0Cglmb3IgamF2YXguc3dpbmcuZXZlbnQuRXZlbnRMaXN0ZW5lckxpc3QuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmE6IExpa2V3aXNlLgoKMjAwNC0wNi0xNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUb29sQmFyLmphdmEKCShuYW1lKTogUmVtb3ZlZC4KCShKVG9vbEJhcik6IFVzZSBDb21wb25lbnQuc2V0TmFtZShTdHJpbmcpIGluc3RlYWQgb2YgZG9pbmcgaXQgYWxsCglhbG9uZS4KCSogamF2YXgvc3dpbmcvVGltZXIuamF2YQoJKHF1ZXVlRXZlbnQpOiBBZGRlZCBtaXNzaW5nIG1vZGlmaWVyLgoKMjAwNC0wNi0xNyAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb29tPgoKCSogTWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlLgoJKiBNYWtlZmlsZS5pbjogUmUtZ2VuZXJhdGUuCgkqIGphdmF4L3N3aW5nL0pNZW51LmphdmE6CgkoaW5zZXJ0U2VwYXJhdG9yKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YToKCShKUG9wdXBNZW51LlNlcGFyYXRvcik6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9NZW51U2VsZWN0aW9uTWFuYWdlci5qYXZhOgoJKHByb2Nlc3NNb3VzZUV2ZW50KTogVXNlIGphdmEuYXd0LkNvbXBvbmVudAoJZm9yIGV2ZW50IHNvdXJjZSBpbnN0ZWFkIG9mIGphdmF4LnN3aW5nLkpDb21wb25lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQb3B1cE1lbnVTZXBhcmF0b3JVSS5qYXZhOgoJTmV3IEZpbGUuIEltcGxlbWVudGVkLgoKMjAwNC0wNi0xNiAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvR3JpZEJhZ0xheW91dC5qYXZhCgkoR2V0TGF5b3V0SW5mbyk6IEFkanVzdCBjZWxsIHNpemVzIGlmZiBwYXJlbnQgc2l6ZSBpcyBub3QgemVyby4KCU1ha2Ugc3VyZSBwb3NfeCBhbmQgcG9zX3kgYXJlIG5ldmVyIG5lZ2F0aXZlLgoKMjAwNC0wNC0xNiAgQW5kcmV3IE92ZXJob2x0ICA8b3ZlcmhvbHRAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBBZGQgbmV3IGZpbGUuCgkqIE1ha2VmaWxlLmluOiBSZS1nZW5lcmF0ZS4KCSogamF2YXgvc3dpbmcvSlRvb2xCYXIuamF2YQoJUGFydGlhbGx5IGltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9vbEJhclVJLmphdmEKCU5ldyBmaWxlLiBQYXJ0aWFsbHkgaW1wbGVtZW50ZWQuCgoyMDA0LTA2LTE2ICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YQoJKHNldENvbXBvc2l0ZSk6IEFjY2VwdCBBbHBoYUNvbXBvc2l0ZSBhcmd1bWVudHMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtQaXhidWZEZWNvZGVyLmphdmEKCShjcmVhdGVCdWZmZXJlZEltYWdlKTogQWRkIG5ldyBvdmVybG9hZHMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEKCShjcmVhdGVJbWFnZSk6IFVzZSBHZGtQaXhidWZEZWNvZGVyLmNyZWF0ZUJ1ZmZlcmVkSW1hZ2UKCXdoZW4gdXNlR3JhcGhpY3MyRCgpIGlzIHRydWUuCgkoZ2V0SW1hZ2UpOiBEZWxlZ2F0ZSB0byBjcmVhdGVJbWFnZS4KCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YQoJKGlzU2VsZWN0aW9uRW1wdHkpOgoJKGdldEZpcnN0VmlzaWJsZUluZGV4KToKCShnZXRMYXN0VmlzaWJsZUluZGV4KToKCShzZXRTZWxlY3RlZFZhbHVlKToKCShlbnN1cmVJbmRleElzVmlzaWJsZSk6IE5ldyBtZXRob2RzLgoJKiBqYXZheC9zd2luZy9UaW1lci5qYXZhOiBSZWltcGxlbWVudC4KCjIwMDQtMDYtMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKEFic3RyYWNFbGVtZW50KTogTWFkZSBwdWJsaWMsIGltcGxlbWVudHMgamF2YS5pby5TZXJpYWxpemFibGUuCgkoQXR0cmlidXRlQ29udGV4dCk6IE1hZGUgcHVibGljLgoJKEJyYW5jaEVsZW1lbnQpOiBMaWtld2lzZS4KCShDb250ZW50KTogTGlrZXdpc2UuCgkoRGVmYXVsdERvY3VtZW50RXZlbnQpOiBNYWRlIHB1YmxpYywgZXh0ZW5kcwoJamF2YXguc3dpbmcudW5kby5Db21wb3VuZEVkaXQuCgkoRWxlbWVudEVkaXQpOiBNYWRlIHB1YmxpYywgZXh0ZW5kcwoJamF2YXguc3dpbmcudW5kby5BYnN0cmFjdFVuZG9hYmxlRWRpdC4KCShMZWFmRWxlbWVudCk6IE1hZGUgcHVibGljLgoJKExlYWZFbGVtZW50LkxlYWZFbGVtZW50KTogTWFkZSBwdWJsaWMuCgoyMDA0LTA2LTE2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhOiBUb3RhbGx5IHJld29ya2VkLiBSZW1vdmVkIG1hbnkKCW1ldGhvZHMgKHRoYXQgd2VyZSBvYnZpb3VzbHkgbmV2ZXIgYmUgaW50ZW5kZWQgdG8gZ2V0IGluY2x1ZGVkIGhpIHRoaXMKCWNsYXNzLiBBZGRlZCBzb21lIG1ldGhvZHMgdG9vLgoKMjAwNC0wNi0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvUGxhaW5Eb2N1bWVudC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBjb25zdGFudC4KCShsaW5lTGltaXRBdHRyaWJ1dGUpOiBMaWtld2lzZS4KCSh0YWJTaXplQXR0cmlidXRlKTogTGlrZXdpc2UuCgkodGFiU2l6ZSk6IE5ldyBmaWVsZC4KCShQbGFpbkRvY3VtZW50KTogTWFkZSBwdWJsaWMuCgkoUGxhaW5Eb2N1bWVudCk6IE5ldyBjb25zdHJ1Y3Rvci4KCjIwMDQtMDYtMTYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKGluc2VydFN0cmluZyk6IFRocm93cyBCYWRMb2NhdGlvbkV4Y2VwdGlvbi4KCSogamF2YXgvc3dpbmcvdGV4dC9Eb2N1bWVudC5qYXZhCgkoaW5zZXJ0U3RyaW5nKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YToKCUphdmFkb2NzIGFuZCBjb21tZW50cyBjbGVhbmVkIHVwLgoKMjAwNC0wNi0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL2V2ZW50L1VuZG9hYmxlRWRpdExpc3RlbmVyLmphdmE6IFJlZm9ybWF0dGVkLgoJKiBqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YQoJKEFic3RyYWN0RG9jdW1lbnQpOiBJbXBsZW1lbnRzIGphdmEuaW8uU2VyaWFsaXphYmxlLgoJKGRvY19saXN0KTogUmVtb3ZlZC4KCSh1bmRvX2xpc3QpOiBSZW1vdmVkLgoJKEFic3RyYWN0RWxlbWVudC5zZXJpYWxWZXJpb25VSUQpOiBOZXcgZmllbGQuCgkoQnJhbmNoRWxlbWVudC5zZXJpYWxWZXJpb25VSUQpOiBMaWtld2lzZS4KCShEZWZhdWx0RG9jdW1lbnRFdmVudC5zZXJpYWxWZXJpb25VSUQpOiBMaWtld2lzZS4KCShFbGVtZW50RWRpdC5zZXJpYWxWZXJpb25VSUQpOiBMaWtld2lzZS4KCShMZWFmRWxlbWVudC5zZXJpYWxWZXJpb25VSUQpOiBMaWtld2lzZS4KCShzZXJpYWxWZXJpb25VSUQpOiBMaWtld2lzZS4KCShCQURfTE9DQVRJT04pOiBOZXcgY29uc3RhbnQuCgkoQmlkaUVsZW1lbnROYW1lKTogTGlrZXdpc2UuCgkoQ29udGVudEVsZW1lbnROYW1lKTogTGlrZXdpc2UuCgkoUGFyYWdyYXBoRWxlbWVudE5hbWUpOiBMaWtld2lzZS4KCShTZWN0aW9uRWxlbWVudE5hbWUpOiBMaWtld2lzZS4KCShFbGVtZW50TmFtZUF0dHJpYnV0ZSk6IExpa2V3aXNlLgoJKEFic3RyYWN0RG9jdW1lbnQpOiBNYWRlIHByb3RlY3RlZC4KCShBYnN0cmFjdERvY3VtZW50KTogTmV3IGNvbnN0cnV0b3IuCgkobGlzdGVuZXJMaXN0KTogTmV3IGZpZWxkLgoJKGZpcmVDaGFuZ2VkVXBkYXRlKTogSW1wbGVtZW50ZWQuCgkoZmlyZUluc2VydFVwZGF0ZSk6IExpa2V3aXNlLgoJKGZpcmVSZW1vdmVVcGRhdGUpOiBMaWtld2lzZS4KCShmaXJlVW5kb2FibGVFZGl0VXBkYXRlKTogTGlrZXdpc2UuCgkoZ2V0TGlzdGVuZXJzKTogTGlrZXdpc2UuCgkoYWRkRG9jdW1lbnRMaXN0ZW5lcik6IExpa2V3aXNlLgoJKHJlbW92ZURvY3VtZW50TGlzdGVuZXIpOiBMaWtld2lzZS4KCShhZGRVbmRvYWJsZUVkaXRMaXN0ZW5lcik6IExpa2V3aXNlLgoJKHJlbW92ZVVuZG9hYmxlRWRpdExpc3RlbmVyKTogTGlrZXdpc2UuCgkoZ2V0RG9jdW1lbnRMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKGdldFVuZG9hYmxlRWRpdExpc3RlbmVycyk6IExpa2V3aXNlLgoJKGdldEFzeW5jaHJvbm91c0xvYWRQcmlvcml0eSk6IE1hZGUgcHVibGljLgoJKGdldEJpZGlSb290RWxlbWVudCk6IExpa2V3aXNlLgoJKHNldEFzeW5jaHJvbm91c0xvYWRQcmlvcml0eSk6IExpa2V3aXNlLgoJKHNldERvY3VtZW50UHJvcGVydGllcyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy90ZXh0L0JhZExvY2F0aW9uRXhjZXB0aW9uLmphdmEKCShzZXJpYWxWZXJpb25VSUQpOiBOZXcgZmllbGQuCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEKCShjaGFuZ2VFdmVudCk6IE5ldyBmaWVsZC4KCShsaXN0ZW5lckxpc3QpOiBMaWtld2lzZS4KCShjaGFuZ2VzKTogUmVtb3ZlZC4KCShhZGRDaGFuZ2VMaXN0ZW5lcik6IFJlaW1wbGVtZW50ZWQuCgkocmVtb3ZlQ2hhbmdlTGlzdGVuZXIpOiBMaWtld2lzZS4KCShnZXRMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKGdldENoYW5nZUxpc3RlbmVycyk6IExpa3dpc2UuCgkoZ2V0Q29tcG9uZW50KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3RleHQvR2FwQ29udGVudC5qYXZhCgkoR2FwQ29udGVudCk6IEltcGxlbWVudHMgamF2YS5pby5TZXJpYWxpemFibGUuCgkoc2VyaWFsVmVyaW9uVUlEKTogTmV3IGZpZWxkLgoKMjAwNC0wNi0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCSh0cmVlTW9kZWwpOiBOZXcgZmllbGQuCgkoSlRyZWUpOiBOZXcgY29uc3RydWN0b3JzLCBvbmUgZXhpc3Rpbmcgb25lIG1hZGUgcHVibGljLgoJKGNyZWF0ZVRyZWVNb2RlbCk6IE5ldyBtZXRob2QuCgkoYWRkVHJlZUV4cGFuc2lvbkxpc3RlbmVyKTogTGlrZXdpc2UuCgkocmVtb3ZlVHJlZUV4cGFuc2lvbkxpc3RlbmVyKTogTGlrZXdpc2UuCgkoZ2V0VHJlZUV4cGFuc2lvbkxpc3RlbmVycyk6IExpa2V3aXNlLgoJKGZpcmVUcmVlQ29sbGFwc2VkKTogTGlrZXdpc2UuCgkoZmlyZVRyZWVFeHBhbmRlZCk6IExpa2V3aXNlLgoJKGFkZFRyZWVTZWxlY3Rpb25MaXN0ZW5lcik6IExpa2V3aXNlLgoJKHJlbW92ZVRyZWVTZWxlY3Rpb25MaXN0ZW5lcik6IExpa2V3aXNlLgoJKGdldFRyZWVTZWxlY3Rpb25MaXN0ZW5lcnMpOiBMaWtld2lzZS4KCShmaXJlVmFsdWVDaGFuZ2VkKTogTGlrZXdpc2UuCgkoYWRkVHJlZVdpbGxFeHBhbmRMaXN0ZW5lcik6IExpa2V3aXNlLgoJKHJlbW92ZVRyZWVXaWxsRXhwYW5kTGlzdGVuZXIpOiBMaWtld2lzZS4KCShnZXRUcmVlV2lsbEV4cGFuZExpc3RlbmVycyk6IExpa2V3aXNlLgoJKGZpcmVUcmVlV2lsbENvbGxhcHNlKTogTGlrZXdpc2UuCgkoZmlyZVRyZWVXaWxsRXhwYW5kKTogTGlrZXdpc2UuCgoyMDA0LTA2LTE2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRyZWUuamF2YTogUmVmb3JtYXR0ZWQuCgoyMDA0LTA2LTE2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRleHRBcmVhLmphdmE6IE5ldyBmaWxlLgoJKiBqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEKCShhY3Rpb25zKTogUmVtb3ZlZC4KCShub3RpZnlBY3Rpb24pOiBOZXcgY29uc3RhbnQuCgkoY29sdW1ucyk6IE5ldyBmaWVsZC4KCShKVGV4dEZpZWxkKTogTmV3IGNvbnN0cnVjdG9ycy4KCShjcmVhdGVEZWZhdWx0TW9kZWwpOiBOZXcgbWV0aG9kLgoJKGFkZEFjdGlvbkxpc3RlbmVyKTogUmVpbXBsbWVtZW50ZWQuCgkocmVtb3ZlQWN0aW9uTGlzdGVuZXIpOiBSZWltcGxlbWVudGVkLgoJKGdldEFjdGlvbkxpc3RlbmVycyk6IE5ldyBtZXRob2QuCgkoZmlyZUFjdGlvblBlcmZvcm1lZCk6IE5ldyBtZXRob2QuCgkoZ2V0Q29sdW1ucyk6IE5ldyBtZXRob2QuCgkoc2V0Q29sdW1uZSk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJKEFjY2Vzc2libGVKVGV4dENvbXBvbmVudC5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKHNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCShERUZBVUxUX0tFWU1BUCk6IExpa2V3aXNlLgoJKEZPQ1VTX0FDQ0VMRVJBVE9SX0tFWSk6IExpa2V3aXNlLgoJKGRvYyk6IE1hZGUgcHJpdmF0ZS4KCShpY29uX2dhcCk6IExpa2V3aXNlLgoJKGljb24pOiBMaWtld2lzZS4KCShhbGlnbik6IExpa2V3aXNlLgoJKEpUZXh0Q29tcG9uZW50KTogU29tZSBjb25zdHJ1Y3RvcnMgcmVtb3ZlZC4KCShnZXRTY3JvbGxhYmxlVHJhY2tzVmlld3BvcnRIZWlnaHQpOiBOZXcgbWV0aG9kLgoJKGdldFNjcm9sbGFibGVUcmFja3NWaWV3cG9ydFdpZHRoKTogTGlrZXdpc2UuCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBqYXZheC9zd2luZy9KVGV4dEFyZWEuamF2YS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wNi0xNSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0ltYWdlSWNvbi5qYXZhIChJbWFnZUljb24pOiBOZXcgY29uc3RydWN0b3IuCgkqIGphdmF4L3N3aW5nL0pGcmFtZS5qYXZhIChkZWZhdWx0TG9va0FuZEZlZWxEZWNvcmF0ZWQpOiBOZXcgcHJvcGVydHkuCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhCgkoZ2V0RXh0ZW50U2l6ZSk6IFJldHVybiBzaXplIHJhdGhlciB0aGFuIHByZWZlcnJlZCBzaXplLgoJKHRvVmlld0Nvb3JkaW5hdGVzKTogTmV3IG1ldGhvZHMuCgkoZ2V0Vmlld1NpemUpOiBSZXR1cm4gc2l6ZSByYXRoZXIgdGhhbiBwcmVmZXJyZWQgc2l6ZS4KCShzZXRWaWV3U2l6ZSk6IE5vdGUgdmlldyBzaXplIGFzIHNldC4KCSogamF2YXgvc3dpbmcvVmlld3BvcnRMYXlvdXQuamF2YSAobGF5b3V0Q29udGFpbmVyKTogUmVpbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IERvbid0IHJlZG8gbGF5b3V0LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVmlld3BvcnRVSS5qYXZhCgkocGFpbnQpOiBUcmFuc2xhdGUgaW1hZ2UgcHJvcGVybHkgYW5kIGVhdCBleGNlcHRpb25zLgoKMjAwNC0wNi0xNSAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFiYmVkUGFuZS5qYXZhCgkoc2V0Q29tcG9uZW50KTogUmVtb3ZlIG9sZCBjb21wb25lbnQgYW5kCglhZGQgbmV3IGNvbXBvbmVudC4KCShzZXRTZWxlY3RlZEluZGV4KTogRG9uJ3Qgb3BlcmF0ZSBvbiB0aGUKCWNvbXBvbmVudHMgaWYgdGhleSdyZSBudWxsLiBEb24ndCBzZXQgaW5kZXgKCW9uIHRoZSBtb2RlbCBpZiB0aGUgaW5kZXggaXMgdGhlIHNhbWUuCgkoaW5zZXJ0VGFiKTogRG9uJ3QgYWRkIG9yIGhpZGUgdGhlIGNvbXBvbmVudAoJaWYgaXQncyBudWxsLiBSZXBhaW50IHRoZSBjb250YWluZXIuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhCglDaGFuZ2UgY29sb3JzIGZvciBUYWJiZWRQYW5lLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFiYmVkUGFuZVVJLmphdmEKCShtb3VzZVByZXNzZWQpOiBSZS1sYXlvdXQgYW5kIHBhaW50IHRoZSBjb21wb25lbnQuCgkobGF5b3V0Q29udGFpbmVyKTogRG9uJ3Qgc2V0IGxvY2F0aW9uIG9uIHRoZSB2aWV3LgoJKFNjcm9sbGluZ1ZpZXdwb3J0OjpwYWludCk6IFJlbW92ZS4KCjIwMDQtMDYtMTQgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoZ3RrV2lkZ2V0RGlzcGF0Y2hLZXlFdmVudCk6IENoYW5nZSB3YXJuaW5nIG1lc3NhZ2UgdG8gY29tbWVudC4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MuYyAoZHJhd1N0cmluZyk6CglXcmFwIGJhc2VsaW5lIHkgdmFsdWUgaW4gUEFOR09fUElYRUxTIG1hY3JvLCByYXRoZXIgdGhhbiBzaW1wbHkKCWRpdmlkaW5nIGJ5IFBBTkdPX1NDQUxFLiAgQ2FsbCBnZGtfZmx1c2ggYmVmb3JlIGxlYXZpbmcgR0RLCgljcml0aWNhbCByZWdpb24uCgkoZHJhd0xpbmUpOiBDYWxsIGdka19mbHVzaCBiZWZvcmUgbGVhdmluZyBHREsgY3JpdGljYWwgcmVnaW9uLgoJKGZpbGxSZWN0KTogTGlrZXdpc2UuCgkoZHJhd1JlY3QpOiBMaWtld2lzZS4KCShjb3B5QXJlYSk6IExpa2V3aXNlLgoJKGNvcHlQaXhtYXApOiBMaWtld2lzZS4KCShjbGVhclJlY3QpOiBMaWtld2lzZS4KCShkcmF3QXJjKTogTGlrZXdpc2UuCgkoZHJhd1BvbHlsaW5lKTogTGlrZXdpc2UuCgkoZHJhd1BvbHlnb24pOiBMaWtld2lzZS4KCShmaWxsUG9seWdvbik6IExpa2V3aXNlLgoJKGZpbGxBcmMpOiBMaWtld2lzZS4KCShkcmF3T3ZhbCk6IExpa2V3aXNlLgoJKGZpbGxPdmFsKTogTGlrZXdpc2UuCgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrRm9udE1ldHJpY3MuamF2YSAoaW5pdFN0YXRlKTogQWRkCglzdHlsZSBwYXJhbWV0ZXIuCgkoR2RrRm9udE1ldHJpY3MpOiBBZGQgc3R5bGUgYXJndW1lbnQgdG8gaW5pdFN0YXRlIGNhbGwuCgkoc3RyaW5nV2lkdGgoU3RyaW5nLGludCxpbnQsU3RyaW5nKSk6IEFkZCBzdHlsZSBwYXJhbWV0ZXIuCgkoc3RyaW5nV2lkdGgoU3RyaW5nKSk6IEFkZCBzdHlsZSBhcmd1bWVudCB0byBzdHJpbmdXaWR0aCBjYWxsLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRNZXRyaWNzLmMKCShpbml0U3RhdGUpOiBTZXQgcGFuZ28gZm9udCBzdHlsZSBhbmQgd2VpZ2h0IGJhc2VkIG9uIEFXVCBzdHlsZQoJcGFyYW1ldGVyLiAgUGFzcyBkZWZhdWx0IEdUSyBsYW5ndWFnZSB0bwoJcGFuZ29fY29udGV4dF9nZXRfbWV0cmljcy4gIFVzZSBQQU5HT19QSVhFTFMgbWFjcm8gcmF0aGVyIHRoYW4KCXNpbXBseSBkaXZpZGluZyBieSBQQU5HT19TQ0FMRS4KCShzdHJpbmdXaWR0aCk6IFNldCBwYW5nbyBmb250IHN0eWxlIGFuZCB3ZWlnaHQgYmFzZWQgb24gQVdUIHN0eWxlCglwYXJhbWV0ZXIuCgoJKiBqYXZhL2F3dC9CdXR0b24uamF2YSAobmV4dF9idXR0b25fbnVtYmVyKTogTmV3IGZpZWxkLgoJKHBhcmFtU3RyaW5nKTogQ2hhbmdlIG91dHB1dC4KCShnZW5lcmF0ZU5hbWUpOiBOZXcgbWV0aG9kLgoJKGdldFVuaXF1ZUxvbmcpOiBOZXcgbWV0aG9kLgoKMjAwNC0wNi0xNCAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KVGFiYmVkUGFuZS5qYXZhOgoJKHNldENvbXBvbmVudEF0KTogU2V0IHRoZSBjb21wb25lbnQsIG5vdAoJdGhlIGVuYWJsZWQgc3RhdHVzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRGVza3RvcEljb25VSS5qYXZhCgkoYWN0aW9uUGVyZm9ybWVkKTogTGV0IGRlaWNvbml6ZSBjYXRjaCBleGNlcHRpb24uCgoyMDA0LTA2LTE0ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YToKCShzZXRWaXNpYmxlKTogQ29ycmVjdGVkIGxvY2F0aW9uIG9mIGEKCWhlYXZ5d2VpZ2h0IHBvcHVwIG1lbnUuCgoyMDA0LTA2LTE0ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL01lbnVTZWxlY3Rpb25NYW5hZ2VyLmphdmE6CglSYW4gdGhyb3VnaCBqYWxvcHkgdG8gZml4IGZvcm1hdHRpbmcgc3R5bGUuCgoyMDA0LTA2LTE0ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhOgoJKHJlbW92ZSk6IFJldmFsaWRhdGUgYW5kIHJlcGFpbnQgbGF5ZXJlZCBwYW5lIGFmdGVyCgl0aGUgY29tcG9uZW50IHdhcyByZW1vdmVkLgoJamF2YXgvc3dpbmcvSk1lbnUuamF2YToKCShzZXRWaXNpYmxlKTogRGlzcGxheSBwb3B1cCBtZW51IGF0IHRoZSB1c2VyIGxvY2F0aW9uLAoJaWYgb25lIHdhcyBzZXQgYnkgdGhlIHVzZXIuCgkoc2V0TWVudUxvY2F0aW9uKTogUmVpbXBsZW1lbnRlZC4gRml4ZWQgamF2YWRvYy4KCSogamF2YXgvc3dpbmcvSk1lbnVCYXIuamF2YTogQWRkZWQgamF2YWRvYy4KCShCT1JERVJfUEFJTlRFRF9DSEFOR0VEX1BST1BFUlRZKTogTmV3IFByb3BlcnR5LgoJKE1PREVMX0NIQU5HRURfUFJPUEVSVFkpOiBOZXcgUHJvcGVydHkuCgkoaXNTZWxlY3RlZCk6IEltcGxlbWVudGVkLgoJKHNldEJvcmRlclBhaW50ZWQpOiBGaXJlIFByb3BlcnR5Q2hhbmdlRXZlbnQKCWlmIHBhaW50Qm9yZGVyIHByb3BlcnR5IGNoYW5nZXMuCgkoc2V0U2VsZWN0ZWQpOiBJbXBsZW1lbnRlZC4KCShzZXRTZWxlY3Rpb25Nb2RlbCk6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmE6IEFkZGVkIEphdmFkb2MKCShwYWNrKTogSW1wbGVtZW50ZWQuCgkoc2V0VmlzaWJsZSk6IFJlaW1wbGVtZW50ZWQuCgkoc2hvdyk6IEZpeGVkIGxvY2F0aW9uLgoJKEpQb3B1cE1lbnUuTGlndGhXZWlnaHRQb3B1cCk6IFJlaW1wbGVtZW50ZWQgdG8gdXNlCglDb250YWluZXIgaW5zdGVhZCBvZiBKUGFuZWwuCgkqIGphdmF4L3N3aW5nL01lbnVTZWxlY3Rpb25NYW5hZ2VyLmphdmE6IEFkZGVkIEphdmFkb2NzLgoJKGNsZWFyU2VsZWN0ZWRQYXRoKTogUmVpbXBsZW1lbnRlZCB0byBjbGVhciBzZWxlY3RlZFBhdGgKCWluIHJldmVyc2Ugb3JkZXIuCgkocHJvY2Vzc01vdXNlRXZlbnQpOiBSZWltcGxlbWVudGVkLgoJKHNldFNlbGVjdGVkUGF0aCk6IEZpcmUgc3RhdGVDaGFuZ2UgZXZlbnQgaW5kaWNhdGluZyB0aGF0CglzZWxlY3RlZCBtZW51IHBhdGggaGFzIGNoYW5nZWQuCgkoZ2V0UGF0aCk6IENoYW5nZSB0byB1c2UgQXJyYXlMaXN0IGluc3RlYWQgb2YgVmVjdG9yLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUJhclVJLmphdmE6CgkoaW5zdGFsbFVJKTogY2FsbCBpbnN0YWxsS2V5Ym9hcmRBY3Rpb25zKCkuCgkodW5pbnN0YWxsVUkpOiBjYWxsIHVuaW5zdGFsbEtleWJvYXJkQWN0aW9ucygpLgoKMjAwNC0wNi0xMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0JhZExvY2F0aW9uRXhjZXB0aW9uLmphdmE6CglSZWZvcm1hdHRlZC4KCjIwMDQtMDYtMTIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUZXh0QXJlYVBlZXIuamF2YSAoREVGQVVMVF9ST1dTLAoJREVGQVVMVF9DT0xTKTogTmV3IHZhcmlhYmxlcy4KCShjcmVhdGUpOiBEb24ndCBhbGxvdyAwIHJvd3Mgb3IgMCBjb2x1bW5zLiAgSW5zdGVhZCwgc2V0IHRoZQoJdmFsdWVzIHRvIERFRkFVTFRfUk9XUyBvciBERUZBVUxUX0NPTFMuCgkoZ2V0TWluaW11bVNpemUpOiBMaWtld2lzZS4KCShnZXRQcmVmZXJyZWRTaXplKTogTGlrZXdpc2UuCgkobWluaW11bVNpemUpOiBMaWtld2lzZS4KCShwcmVmZXJyZWRTaXplKTogTGlrZXdpc2UuCgkoY3JlYXRlKTogU2V0IHBlZXIncyBlZGl0YWJsZSBzdGF0ZS4KCSogamF2YS9hd3QvVGV4dEFyZWEuamF2YSAoVGV4dEFyZWEoKSk6IFNldCByb3dzIGFuZCBjb2x1bW5zIHRvCgl6ZXJvLiAgVXBkYXRlIGphdmFkb2NzLgoJKFRleHRBcmVhKFN0cmluZykpOiBMaWtld2lzZS4KCShUZXh0QXJlYShpbnQsaW50KSk6IEZpeCBqYXZhZG9jcy4KCShUZXh0QXJlYShTdHJpbmcsaW50LGludCxpbnQpKTogT25seSB0aHJvdyBleGNlcHRpb24gaWYgb25lIG9mCglyb3dzIG9yIGNvbHVtbnMgaXMgemVyby4gIEZpeCBqYXZhZG9jcy4KCjIwMDQtMDYtMTEgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0FXVEV2ZW50LmphdmEgKHRvU3RyaW5nKTogSGFuZGxlIE1lbnVDb21wb25lbnRzIGluCglhZGRpdGlvbiB0byBDb21wb25lbnRzLgoKCSogamF2YS9hd3QvTWVudUl0ZW0uamF2YSAoZGlzcGF0Y2hFdmVudEltcGwpOiBJZiB0aGUgZXZlbnQKCXdhc24ndCBjb25zdW1lZCBieSBub3JtYWwgcHJvY2Vzc2luZywgc2VuZCBpdCB0byB0aGUgcGFyZW50CgltZW51LgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlUGFpbnRlci5qYXZhCgkoc2V0UGl4ZWxzKGludCxpbnQsaW50LGludCxDb2xvck1vZGVsLGludFtdLGludCxpbnQpKTogUmVtb3ZlCgl0cmFuc2xhdGlvbi4KCjIwMDQtMDYtMTEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L01lZGlhVHJhY2tlci5qYXZhCgkoYWRkSW1hZ2UoSW1hZ2UsaW50KSk6IENhbGwgaW1hZ2VVcGRhdGUoKSB0byB1ZHBhdGUgaW1hZ2Ugc3RhdHVzLgoJKGFkZEltYWdlKEltYWdlLGludCxpbnQsaW50KSk6IExpa2V3aXNlLgoKMjAwNC0wNi0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL3RleHQvQWJzdHJhY3REb2N1bWVudC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9Eb2N1bWVudC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9HYXBDb250ZW50LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEsCglqYXZheC9zd2luZy90ZXh0L1BsYWluRG9jdW1lbnQuamF2YToKCVJlZm9ybWF0dGVkLgoKMjAwNC0wNi0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhCgkoQWNjZXNzaWJsZUpSb290UGFuZS5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKEFjY2Vzc2libGVKUm9vdFBhbmUuQWNjZXNzaWJsZUpSb290UGFuZSk6IE5ldyBjb25zdHJ1Y3Rvci4KCShBY2Nlc3NpYmxlSlJvb3RQYW5lLmdldEFjY2Vzc2libGVSb2xlKTogTmV3IG1ldGhvZC4KCShSb290TGF5b3V0KTogSW1wbGVtZW50cyBTZXJpYWxpemFibGUuCgkoUm9vdExheW91dC5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKFJvb3RMYXlvdXQuUm9vdExheW91dCk6IE5ldyBjb25zdHJ1Y3Rvci4KCShzZXRKTWVudUJhcik6IE1hZGUgcHVibGljLgoJKGdldEpNZW51QmFyKTogTGlrZXdpc2UuCgkoSlJvb3RQYW5lKTogTGlrZXdpc2UuCgkoY3JlYXRlQ29udGVudFBhbmUpOiBMaWtld2lzZS4KCShjcmVhdGVHbGFzc1BhbmUpOiBMaWtld2lzZS4KCShjcmVhdGVMYXllcmVkUGFuZSk6IExpa2V3aXNlLgoKMjAwNC0wNi0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmEKCShpc0xlZnRNb3VzZUJ1dHRvbik6IEZpeGVkIGphdmFkb2MuCgkoaXNNaWRkbGVNb3VzZUJ1dHRvbik6IExpa2V3aXNlLgoJKGlzUmlnaHRNb3VzZUJ1dHRvbik6IExpa2V3aXNlLgoKMjAwNC0wNi0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pTY3JvbGxQYW5lLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKGNvbHVtbkhlYWRlcik6IE1hZGUgcHJvdGVjdGVkLgoJKHJvd0hlYWRlcik6IExpa2V3aXNlLgoJKGxvd2VyTGVmdCk6IExpa2V3aXNlLgoJKGxvd2VyUmlnaHQpOiBMaWtld2lzZS4KCSh1cHBlckxlZnQpOiBMaWtld2lzZS4KCSh1cHBlclJpZ2h0KTogTGlrZXdpc2UuCgkoaG9yaXpvbnRhbFNjcm9sbEJhcik6IExpa2V3aXNlLgoJKGhvcml6b250YWxTY3JvbGxCYXJQb2xpY3kpOiBMaWtld2lzZS4KCSh2ZXJ0aWNhbFNjcm9sbEJhcik6IExpa2V3aXNlLgoJKHZlcnRpY2FsU2Nyb2xsQmFyUG9saWN5KTogTGlrZXdpc2UuCgkodmlld3BvcnQpOiBMaWtld2lzZS4KCjIwMDQtMDYtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9Mb29rQW5kRmVlbC5qYXZhOiBGaXhlZCBqYXZhZG9jcy4KCjIwMDQtMDYtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhOiBGaXhlZCBqYXZhZG9jcy4KCShKRWRpdG9yUGFuZSk6IFJlbW92ZWQgcmVkdW5kYW50IGNhbGwgdG8gdG8gdGhpcygpLgoJKGZpcmVIeXBlcmxpbmtVcGRhdGUpOiBJbXBsZW1lbnRlZC4KCjIwMDQtMDYtMTAgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YTogRml4ZWQgZmlsZSBuYW1lCglpbiB0aGUgZmlsZSBjb21tZW50LgoKMjAwNC0wNi0xMCAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhOiBBZGRlZCBqYXZhZG9jLgoJKEpNZW51KTogQWRkZWQgTWVudUNoYW5nZUxpc3RlbmVyIHRvIGxpc3RlbiB0bwoJQ2hhbmdlRXZlbnRzIG9jY3VyaW5nIGluIG1lbnUncyBtb2RlbC4KCShpbnNlcnQpOiBUaHJvdyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gaWYKCWluZGV4IGlzIGxlc3MgdGhhbiAwCgkoc2V0U2VsZWN0ZWQpOiBSZWltcGxlbWVudC4KCShzZXRQb3B1cE1lbnVWaXNpYmxlKTogQ2FsbCBtZW51J3MgbW9kZWwgaXNFbmFibGVkKCkKCShzZXREZWxheSk6IFRocm93IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBpZgoJZ2l2ZW4gYW1vdW50IG9mIGRlbGF5IGlzIGxlc3MgdGhhbiAwLgoJKGNyZWF0ZUFjdGlvbkNvbXBvbmVudCk6IEltcGxlbWVudGVkLgoJKGNyZWF0ZUFjdGlvbkNoYW5nZUxpc3RlbmVyKTogSW1wbGVtZW50ZWQuCgkoYWRkU2VwYXJhdG9yKTogSW1wbGVtZW50ZWQuCgkoZ2V0SXRlbSk6IFRocm93IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBpZiBpbmRleCBpcwoJbGVzcyB0aGFuIDAuCgkoZ2V0SXRlbUNvdW50KTogSW1wbGVtZW50ZWQuCgkoZmlyZU1lbnVTZWxlY3RlZCk6IENoYW5nZWQgdG8gdXNlIG1lbnVFdmVudC4KCShmaXJlTWVudURlc2VsZWN0ZWQpOiBMaWtld2lzZS4KCShmaXJlTWVudUNhbmNlbGVkKTogTGlrZXdpc2UuCgkoc2V0QWNjZWxlcmF0b3IpOiBDaGFuZ2VkIHRvIHRocm93IGFuIGVycm9yIGlmIHRoaXMKCW1ldGhvZCBpcyB1c2VkLgoJKGRvQ2xpY2spOiBJbXBsZW1lbnRlZC4KCShKTWVudS5BY3Rpb25DaGFuZ2VkTGlzdGVuZXIpOiBOZXcgaW5uZXIgY2xhc3MgdG8gaGFuZGxlCglQcm9wZXJ0eUNoYW5nZUV2ZW50cyBvY2N1cmluZyBpbiB0aGUgYWN0aW9ucyBhc3NvY2lhdGVkIHdpdGggbWVudS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhOiBBZGRlZCBqYXZhZG9jLgoJKEJhc2ljTWVudVVJKTogQWRkZWQgUHJvcGVydHlDaGFuZ2VMaXN0ZW5lciB0byB0aGUgbWVudS4KCShjcmVhdGVDaGFuZ2VMaXN0ZW5lcik6IEltcGxlbWVudGVkLgoJKGNyZWF0ZU1lbnVEcmFnTW91c2VMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGNyZWF0ZU1lbnVLZXlMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGNyZWF0ZVByb3BlcnR5Q2hhbmdlTGlzdGVuZXIpOiBMaWtld2lzZS4KCSh1bmluc3RhbGxMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCShCYXNpY01lbnVVSS5Nb3VzZUlucHV0SGFuZGxlcik6IFJlaW1wbGVtZW50ZWQuCgkoQmFzaWNNZW51VUkuUHJvcGVydHlDaGFuZ2VIYW5kbGVyKTogTmV3IGNsYXNzLiBOb3QgaW1wbGVtZW50ZWQgeWV0LgoJKEJhc2ljTWVudVVJLkNoYW5nZUhhbmRsZXIpOiBMaWtld2lzZS4KCShCYXNpY01lbnVVSS5NZW51RHJhZ01vdXNlSGFuZGxlcik6IExpa2V3aXNlLgoJKEJhc2ljTWVudVVJLk1lbnVLZXlIYW5kbGVyKTogTGlrZXdpc2UuCgoyMDA0LTA2LTEwICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9NZWRpYVRyYWNrZXIuamF2YQoJKGltYWdlVXBkYXRlKTogT25seSBkbyBub3RpZnlBbGwoKSBpZiB0aGUgaW1hZ2UgaXMgY29tcGxldGUuCgoyMDA0LTA2LTEwICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pBcHBsZXQuamF2YToKCShnZXRKTWVudUJhcik6IE1hZGUgcHVibGljLgoJKHNldEpNZW51QmFyKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pGcmFtZS5qYXZhOgoJKGdldEpNZW51QmFyKTogTWFkZSBwdWJsaWMuCgkoc2V0Sk1lbnVCYXIpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSldpbmRvdy5qYXZhOgoJKGdldEpNZW51QmFyKTogUmVtb3ZlZC4KCShzZXRKTWVudUJhcik6IFJlbW92ZWQuCgoyMDA0LTA2LTEwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkVkaXRvclBhbmUuamF2YQoJKGNyZWF0ZUVkaXRvcktpdEZvckNvbnRlbnRUeXBlKTogRml4ZWQgdmlzaWJpbGl0eS4KCShmaXJlSHlwZXJsaW5rVXBkYXRlKTogTGlrZXdpc2UuCgkoZ2V0Q29udGVudFR5cGUpOiBMaWtld2lzZS4KCShnZXRFZGl0b3JLaXQpOiBMaWtld2lzZS4KCShnZXRFZGl0b3JLaXRGb3JDb250ZW50VHlwZSk6IExpa2V3aXNlLgoJKGdldFBhZ2UpOiBMaWtld2lzZS4KCShyZWFkKTogTGlrZXdpc2UuCgkocmVnaXN0ZXJFZGl0b3JLaXRGb3JDb250ZW50VHlvZSk6IExpa2V3aXNlLgoJKHJlcGxhY2VTZWxlY3Rpb24pOiBMaWtld2lzZS4KCShzZXRDb250ZW50VHlwZSk6IExpa2V3aXNlLgoJKHNldEVkaXRvcktpdCk6IExpa2V3aXNlLgoJKHNldFBhZ2UpOiBMaWtld2lzZS4KCjIwMDQtMDYtMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9UaW1lci5qYXZhCgkoVGltZXIpOiBOZXcgY29uc3RydWN0b3IuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQcm9ncmVzc0JhclVJLmphdmEKCShhbmltYXRpb25UaW1lcik6IERvbid0IGluaXRpYWxpemUgYXQgY29uc3RydWN0aW9uLgoJKHN0YXJ0QW5pbWF0aW9uVGltZXIpOiBBZGRlZCBzaW5jZSB0YWcuCgkoc3RvcEFuaW1hdGlvblRpbWVyKTogTGlrZXdpc2UuCgkoaW5zdGFsbFVJKTogVXNlIG5ldyBUaW1lciBjb25zdHJ1Y3Rvci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEKCShpbnN0YWxsVUkpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmEKCShpbnN0YWxsVUkpOiBMaWtld2lzZS4KCjIwMDQtMDYtMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9CdXR0b25Hcm91cC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE1hZGUgcHJpdmF0ZS4KCShidXR0b25zKTogUmVuYW1lZCBmcm9tIHYsIGFkZGVkIGphdmFkb2MuCgkoc2VsKTogQWRkZWQgamF2YWRvYy4KCShCdXR0b25Hcm91cCk6IExpa2V3aXNlLgoJKGFkZCk6IExpa2V3aXNlLgoJKHJlbW92ZSk6IExpa2V3aXNlLgoJKGdldEVsZW1lbnRzKTogTGlrZXdpc2UuCgkoZ2V0U2VsZWN0aW9uKTogTGlrZXdpc2UuCgkoc2V0U2VsZWN0ZWQpOiBMaWtld2lzZS4KCShpc1NlbGVjdGVkKTogTGlrZXdpc2UuCgkoZ2V0QnV0dG9uQ291bnQpOiBMaWtld2lzZS4KCjIwMDQtMDYtMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9CdXR0b25Hcm91cC5qYXZhLAoJamF2YXgvc3dpbmcvSW1hZ2VJY29uLmphdmEsCglqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvSlJvb3RQYW5lLmphdmEsCglqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEsCglqYXZheC9zd2luZy9Mb29rQW5kRmVlbC5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RleHRVSS5qYXZhOgoJUmVpbmRlbnRlZC4KCjIwMDQtMDYtMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90ZXh0L1N0eWxlLmphdmE6IEFkZGVkIGphdmFkb2NzLgoKMjAwNC0wNi0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKGZpcmVWZXRvYWJsZUNoYW5nZSk6IFJlbW92ZWQgcmVkdW5kYW50IGNhc3QuCgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhCgkoZ2V0RGlzYWJsZWRJY29uKTogU2F2ZSBpY29uIGZvciBuZXh0IGNhbGwuCgoyMDA0LTA2LTEwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvS2V5U3Ryb2tlLmphdmEKCShnZXRLZXlTdHJva2UoY2hhcixib29sZWFuKSk6IE1hcmtlZCBkZXByZWNhdGVkLgoKMjAwNC0wNi0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRDZWxsRWRpdG9yLmphdmEsCglqYXZheC9zd2luZy9HcmF5RmlsdGVyLmphdmEsCglqYXZheC9zd2luZy9ldmVudC9Eb2N1bWVudEV2ZW50LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0pUZXh0Q29tcG9uZW50LmphdmEsCglqYXZheC9zd2luZy90ZXh0L011dGFibGVBdHRyaWJ1dGVTZXQuamF2YToKCVJlaW5kZW50ZWQuCgoyMDA0LTA2LTEwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9Cb3JkZXJVSVJlc291cmNlLmphdmE6CglBZGRlZCBzZXJpYWxWZXJzaW9uVUlEIGFsbCBvdmVyLgoKMjAwNC0wNi0xMCAgU2FzY2hhIEJyYXdlciAgPGJyYXdlckBkYW5kZWxpcy5jaD4KCgkqIGphdmF4L3N3aW5nL3VuZG8vVW5kb01hbmFnZXIuamF2YTogUmUtd3JpdHRlbiBmcm9tIHNjcmF0Y2guCgoyMDA0LTA2LTEwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGFibGUvRGVmYXVsdFRhYmxlQ2VsbFJlbmRlcmVyLmphdmEKCShub0ZvY3VzQm9yZGVyKTogSW5pdGlhbGl6ZSBkaXJlY3RseS4KCjIwMDQtMDYtMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQXJyb3dCdXR0b24uamF2YQoJKHNldERpcmVjdGlvbik6IFVzZSBtZXRob2QgYXJndW1lbnQuCgoyMDA0LTA2LTEwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9Cb3JkZXJVSVJlc291cmNlLmphdmEsCglqYXZheC9zd2luZy9wbGFmL0NvbXBvbmVudFVJLmphdmEsCglqYXZheC9zd2luZy91bmRvL0NvbXBvdW5kRWRpdC5qYXZhLAoJamF2YXgvc3dpbmcvdW5kby9TdGF0ZUVkaXQuamF2YToKCUZpeGVkIGphdmFkb2NzIGFsbCBvdmVyLgoKMjAwNC0wNi0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhCgkoQVJNRUQpOiBNYWRlIHB1YmxpYyBmaW5hbCwgZml4ZWQgdmFsdWUuCgkoRU5BQkxFRCk6IExpa2V3aXNlLgoJKFBSRVNTRUQpOiBMaWtld2lzZS4KCShST0xMT1ZFUik6IExpa2V3aXNlLgoJKFNFTEVDVEVEKTogTGlrZXdpc2UuCgkoc3RhdGVNYXNrKTogSW5pdGlhbGl6ZSBkaXJlY3RseS4KCShsaXN0ZW5lckxpc3QpOiBMaWtld2lzZS4KCShtbmVtb25pYyk6IExpa2V3aXNlLgoJKGZpcmVTdGF0ZUNoYW5nZWQpOiBSZW1vdmVkIGFyZ3VtZW50LCB1c2UgY2hhbmdlRXZlbnQgYXMgZXZlbnQuCglBbGwgcGxhY2VzIHdoZXJlIHRoaXMgbWV0aG9kIGlzIGNhbGxlZCBhcmUgZml4ZWQgdG9vLgoJKGdldEFjdGlvbkNvbW1hbnQpOiBGaXhlZCBqYXZhZG9jLgoJKHNldEdyb3VwKTogRml4ZWQgamF2YWRvYy4KCShnZXRHcm91cCk6IE5ldyBtZXRob2QuCgoyMDA0LTA2LTA5ICBPbGdhIFJvZGltaW5hIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKEFic3RyYWN0QnV0dG9uKTogVXNlIGluaXQoKSB0byBpbml0aWFsaXplIHRoZSBidXR0b24uCgkoaW5pdCk6IE5ldyBNZXRob2QuIEluaXRpYWxpemVzIEFic3RyYWN0QnV0dG9uLgoJKiBqYXZheC9zd2luZy9KTWVudUl0ZW0uamF2YTogRG9jdW1lbnRlZC4KCShKTWVudUl0ZW0pOiBSZWltcGxlbWVudGVkLgoJKGluaXQpOiBJbXBsZW1lbnRlZC4KCShzZXRFbmFibGVkKTogQ2hhbmdlZCB0byBjYWxsIHN1cGVyLnNldEVuYWJsZWQoKQoJKHByb2Nlc3NNb3VzZUV2ZW50KTogUmVpbXBsZW1lbnRlZC4KCShmaXJlTWVudUtleVByZXNzZWQpOiBJbXBsZW1lbnRlZC4KCShmaXJlTWVudUtleVJlbGVhc2VkKTogSW1wbGVtZW50ZWQuCgkoZmlyZU1lbnVLZXlUeXBlZCk6IEltcGxlbWVudGVkLgoJKG1lbnVTZWxlY3Rpb25DaGFuZ2VkKTogZGlzYXJtIHRoZSBtb2RlbCBpZiB0aGUgbWVudSBpdGVtIHdhcwoJZGVzZWxlY3RlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YTpEb2N1bWVudGVkLgoJKGdldFBhdGgpOiBDaGFuZ2UgdG8gdXNlIEFycmF5TGlzdCBpbnN0ZWFkIG9mIFZlY3Rvci4KCShnZXRQcmVmZXJyZWRTaXplKTogUmVuYW1lZCB2YXJpYWJsZS4KCShwYWludE1lbnVJdGVtKTogUGFpbnQgbWFyZ2luIGFyZWEgb2YgbWVudSBpdGVtLgoJKE1vdXNlSW5wdXRIYW5kbGVyLm1vdXNlRW50ZXJlZCk6IFNldCBzZWxlY3Rpb24gaW4gTWVudVNlbGVjdGlvbk1hbmFnZXIuCgkoTW91c2VJbnB1dEhhbmRsZXIubW91c2VSZWxlYXNlZCk6IENoZWNrIGlmIG1vdXNlIHdhcyBwcmVzc2VkIGluc2lkZQoJbWVudSBpdGVtJ3MgYm91bmRzIGJlZm9yZSBjbGVhcmluZyB0aGUgc2VsZWN0aW9uLgoKMjAwNC0wNi0wOSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1RleHRDb21wb25lbnRQZWVyLmphdmEKCShHdGtUZXh0Q29tcG9uZW50UGVlcik6IFNldCBjYXJldCBwb3NpdGlvbiB0byAwLgoJKiBqYXZhL2F3dC9UZXh0Q29tcG9uZW50LmphdmEKCShzZXRUZXh0KTogU2V0IGNhcmV0IHBvc2l0aW9uIHRvIDAuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlcl9hZGRFeHBvc2VGaWx0ZXIpOgoJSGFuZGxlIEd0a1Njcm9sbGVkV2luZG93IHNlcGFyYXRlbHkuIEZpeCBzaWduYWwgaGFuZGxlciBibG9ja2luZy4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyX3JlbW92ZUV4cG9zZUZpbHRlcik6CglMaWtld2lzZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0QXJlYVBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1RleHRBcmVhUGVlcl9jcmVhdGUpOiBNYWtlIGN1cnNvcgoJdmlzaWJsZS4KCjIwMDQtMDYtMDkgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IE5ldyBmaWxlcwoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShnZXRDb21wb25lbnRBdCk6IFJlbW92ZWQuCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QWN0aW9uLmphdmEKCShFTkFCTEVEX1BST1BFUlRZKTogTmV3IHByb3BlcnR5LgoJKHB1dFZhbHVlKTogRmlyZSBQcm9wZXJ0eUNoYW5nZUV2ZW50cy4KCShzZXRFbmFibGVkKTogZGl0dG8uCgkoZmlyZVByb3BlcnR5Q2hhbmdlKTogSmF2YWRvYyBhbmQgaW1wbGVtZW50Cgljb252ZW5pZW5jZSBtZXRob2QuCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEKCShzZXRBY3Rpb24pOiBEb24ndCBjcmVhdGUgUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcgoJaWYgbmV3IEFjdGlvbiBpcyBudWxsLgoJKHNldEljb24pOiBEb24ndCBzZXQgaWNvbiB0aWxsIGFmdGVyIGNvbXBhcmluZwoJaXQuCgkoY29uZmlndXJlUHJvcGVydGllc0Zyb21BY3Rpb24pOiBDaGVjayBtbmVtb25pYwoJa2V5IGJlZm9yZSBjYWxsaW5nIGludFZhbHVlKCkuCgkoY3JlYXRlQWN0aW9uUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IENoZWNrCglwcm9wZXJ0aWVzIHJhdGhlciB0aGFuIGJ1bGsgY2hhbmdlLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0RGVza3RvcE1hbmFnZXIuamF2YToKCUltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvRGVza3RvcE1hbmFnZXIuamF2YToKCUphbG9weSBhbmQgamF2YWRvYy4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoZmlyZVZldG9hYmxlQ2hhbmdlKTogSW1wbGVtZW50LgoJKHBhaW50SW1tZWRpYXRlbHkpOiBVc2Ugcm9vdCBjb21wb25lbnQuCgkqIGphdmF4L3N3aW5nL0pEZXNrdG9wUGFuZS5qYXZhOiBJbXBsZW1lbnQKCSogamF2YXgvc3dpbmcvSkludGVybmFsRnJhbWUuamF2YTogSW1wbGVtZW50CgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhCgkoZ2V0RGlzYWJsZWRJY29uKTogUmV0dXJuIGdyYXlzY2FsZWQgaWNvbiBpZgoJbm8gZGlzYWJsZWQgaWNvbiBzcGVjaWZpZWQuCgkqIGphdmF4L3N3aW5nL0pNZW51QmFyLmphdmEKCShnZXRDb21wb25lbnRBdEluZGV4KTogVXNlIGdldENvbXBvbmVudAoJKiBqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhCgkoZ2V0RGVza3RvcFBhbmVGb3JDb21wb25lbnQpOiBVc2UgU3dpbmdVdGlsaXRpZXMnCglnZXRBbmNlc3Rvck9mQ2xhc3MKCShnZXRGcmFtZUZvckNvbXBvbmVudCk6IGRpdHRvLgoJKiBqYXZheC9zd2luZy9KU3BsaXRQYW5lLmphdmEKCShyZW1vdmUpOiBVc2UgZ2V0Q29tcG9uZW50LgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhCgkoY29udmVydFBvaW50KTogSW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YQoJKHBhaW50QnV0dG9uTm9ybWFsKTogQ2hlY2sgb3BhcXVlbmVzcyBiZWZvcmUKCWZpbGxpbmcgYmFja2dyb3VuZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0Rlc2t0b3BJY29uVUkuamF2YToKCUltcGxlbWVudAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljRGVza3RvcFBhbmVVSS5qYXZhOgoJSW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVRpdGxlUGFuZS5qYXZhOgoJSW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSW50ZXJuYWxGcmFtZVVJLmphdmE6CglJbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOgoJQ2hhbmdlIEludGVybmFsRnJhbWUgYW5kIERlc2t0b3AgY29sb3JzLgoKMjAwNC0wNi0wOSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShyZW1vdmUpOiBEbyBub3Qgc2V0IGNvbXBvbmVudCB0byBpbnZpc2libGUuCgoyMDA0LTA2LTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0TXV0YWJsZVRyZWVOb2RlLmphdmEKCShnZXRMZWFmQ291bnQpOiBSZW5hbWVkIGVudW0gdG8gZS4KCjIwMDQtMDYtMDkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lRGl2aWRlci5qYXZhCgkocG9zaXRpb25Gb3JNb3VzZUV2ZW50KTogUmVtb3ZlZCByZWR1bmRhbnQgc2VtaWNvbG9uLgoJKGNvbnRpbnVlRHJhZyk6IFVzZSBtZXRob2QgYXJndW1lbnRzLgoKMjAwNC0wNi0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL2JvcmRlci9UaXRsZWRCb3JkZXIuamF2YSwKCWphdmF4L3N3aW5nL2ZpbGVjaG9vc2VyL0ZpbGVTeXN0ZW1WaWV3LmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uTGlzdGVuZXIuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNHcmFwaGljc1V0aWxzLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGFiZWxVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1JhZGlvQnV0dG9uTWVudUl0ZW1VSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsUGFuZVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2xpZGVyVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb2dnbGVCdXR0b25VSS5qYXZhLAoJamF2YXgvc3dpbmcvdGFibGUvSlRhYmxlSGVhZGVyLmphdmEsCglqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L1N0eWxlZEVkaXRvcktpdC5qYXZhLAoJamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxFZGl0b3IuamF2YToKCVJld29ya2VkIGltcG9ydCBzdGF0ZW1lbnRzLgoKMjAwNC0wNi0wOCAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0JveC5qYXZhOiBUZW1wb3JhcmlseSBjb21tZW50IG91dCBjb2RlCglicm9rZW4gZHVlIHRvIHZpc2liaWxpdHkgYnVnLgoKMjAwNC0wNi0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0ltYWdlSWNvbi5qYXZhCgkoSW1hZ2VJY29uKTogQWRkZWQgbWlzc2luZyBjb25zdHJ1Y3Rvci4KCjIwMDQtMDYtMDggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmEKCShKVG9nZ2xlQnV0dG9uKTogTmV3IGNvbnN0cnVjdG9yLgoJKGdldEFjY2Vzc2libGVDb250ZXh0KTogTW92ZWQgZG9jdW1lbnRhdGlvbiBpbnRvIGphdmFkb2MuCgkoZ2V0VUlDbGFzc0lEKTogTGlrZXdpc2UuCgoyMDA0LTA2LTA4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YQoJKGdldERpc2FibGVkSWNvbik6IENyZWF0ZSBkaXNhYmxlZCBpY29uIGlmIG5vbmUgZXhpc3RzIHlldC4KCjIwMDQtMDYtMDggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YQoJKGluaXRDbGFzc0RlZmF1bHRzKTogQWRkZWQgRm9ybWF0dGVkVGV4dEZpZWxkVUkuCgkobG9hZFJlc291cmNlQnVuZGxlKTogUmVuYW1lZCBlbnVtIHRvIGUuCgoyMDA0LTA2LTA4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEKCShwYWludEljb24pOiBTaW1wbGlmaWVkLgoJKHBhaW50VGV4dCk6IFBhaW50IGRpc2FibGVkIGJ1dHRvbiBjb3JyZWN0bHkuCgoyMDA0LTA2LTA4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoY3JlYXRlVG9vbFRpcCk6IFVzZSBvZmZpY2lhbCBKVG9vbFRpcCBBUEkuCgoyMDA0LTA2LTA4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvSlRvb2xUaXAuamF2YQoJKEpUb29sVGlwKTogTm8gYXJndW1lbnRzIGluIEFQSS4KCShzZXRUaXBUZXh0KTogTmV3IG1ldGhvZC4KCjIwMDQtMDYtMDggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9Td2luZ1V0aWxpdGllcy5qYXZhCgkoaXNMZWZ0TW91c2VCdXR0b24pOiBOZXcgbWV0aG9kLgoJKGlzTWlkZGxlTW91c2VCdXR0b24pOiBOZXcgbWV0aG9kLgoJKGlzUmlnaHRNb3VzZUJ1dHRvbik6IE5ldyBtZXRob2QuCgoyMDA0LTA2LTA4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RCdXR0b24uamF2YSwKCWphdmF4L3N3aW5nL0NlbGxSZW5kZXJlclBhbmUuamF2YSwKCWphdmF4L3N3aW5nL0pDaGVja0JveE1lbnVJdGVtLmphdmEsCglqYXZheC9zd2luZy9KQ29sb3JDaG9vc2VyLmphdmEsCglqYXZheC9zd2luZy9KQ29tYm9Cb3guamF2YSwKCWphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YSwKCWphdmF4L3N3aW5nL0pEZXNrdG9wUGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvSkZpbGVDaG9vc2VyLmphdmEsCglqYXZheC9zd2luZy9KTWVudS5qYXZhLAoJamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmEsCglqYXZheC9zd2luZy9KT3B0aW9uUGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvSlBhc3N3b3JkRmllbGQuamF2YSwKCWphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YSwKCWphdmF4L3N3aW5nL0pQcm9ncmVzc0Jhci5qYXZhLAoJamF2YXgvc3dpbmcvSlJhZGlvQnV0dG9uTWVudUl0ZW0uamF2YSwKCWphdmF4L3N3aW5nL0pTY3JvbGxCYXIuamF2YSwKCWphdmF4L3N3aW5nL0pTZXBhcmF0b3IuamF2YSwKCWphdmF4L3N3aW5nL0pTbGlkZXIuamF2YSwKCWphdmF4L3N3aW5nL0pTcGxpdFBhbmUuamF2YSwKCWphdmF4L3N3aW5nL0pUYWJiZWRQYW5lLmphdmEsCglqYXZheC9zd2luZy9KVGV4dEZpZWxkLmphdmEsCglqYXZheC9zd2luZy9KVG9vbEJhci5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhOgoJRml4ZWQgYWxsIGNvbnN0cnVjdG9ycyBvZiBhY2Nlc3NpYmlsaXR5IGNsYXNzZXMuCgoyMDA0LTA2LTA4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvU2Nyb2xsUGFuZUxheW91dC5qYXZhOiBSZW5hbWVkIGFsbCBtZW1lYmVyIHZhcmlhYmxlcyBhbGwKCW92ZXIuCgoyMDA0LTA2LTA4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQm94LmphdmEKCShBY2Nlc3NpYmxlQm94RmlsbGVyKTogRXh0ZW5kcyBBY2Nlc3NpYmxlQVdUQ29tcG9uZW50LgoJKEFjY2Vzc2libGVCb3hGaWxsZXIuc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBtZW1iZXIgdmFyaWFibGUuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhCgkoc3RhdGVNYXNrKTogTWFkZSBwcm90ZWN0ZWQuCgkobGlzdGVuZXJMaXN0KTogTGlrZXdpc2UuCgkoY2hhbmdlRXZlbnQpOiBMaWtld2lzZS4KCShncm91cCk6IExpa2V3aXNlLgoJKG1uZW1vbmljKTogTGlrZXdpc2UuCgkoYWN0aW9uQ29tbWFuZCk6IExpa2V3aXNlLgoJKGdldExpc3RlbmVycyk6IE5ldyBtZXRob2QuCgkoZ2V0QWN0aW9uTGlzdGVuZXJzKTogTmV3IG1ldGhvZC4KCShnZXRJdGVtTGlzdGVuZXJzKTogTmV3IG1ldGhvZC4KCShnZXRDaGFuZ2VMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKGZpcmVJdGVtU3RhdGVDaGFuZ2VkKTogU2ltcGxpZmllZC4KCShmaXJlQWN0aW9uUGVyZm9ybWVkKTogU2ltcGxpZmllZC4KCShmaXJlU3RhdGVDaGFuZ2VkKTogU2ltcGxpZmllZC4KCSogamF2YXgvc3dpbmcvSkZyYW1lLmphdmEKCShKRnJhbWUpOiBJbXBsZW1lbnRzIFdpbmRvd0NvbnRhbnRzLgoJKEhJREVfT05fQ0xPU0UpOiBSZW1vdmVkLgoJKEVYSVRfT05fQ0xPU0UpOiBSZW1vdmVkLgoJKERJU1BPU0VfT05fQ0xPU0UpOiBSZW1vdmVkLgoJKERPX05PVEhJTkdfT05fQ0xPU0UpOiBSZW1vdmVkLgoJKHByb2Nlc3NXaW5kb3dFdmVudCk6IEV4aXQgd2l0aCBjb2RlIDAuCgkoc2V0RGVmYXVsdENsb3NlT3BlcmF0aW9uKTogRG8gc2VjdXJpdHkgY2hlY2sgYmVmb3JlIHNldHRpbmcgdmFsdWUuCgkqIGphdmF4L3N3aW5nL0pPcHRpb25QYW5lLmphdmEKCShtZXNzYWdlKTogSW5pdGlhbGl6ZSBvbmx5IGluIGNvbnN0cnVjdG9yLgoJKiBqYXZheC9zd2luZy9KVG9vbFRpcC5qYXZhOiBSZW1vdmVkIHVudXNlZCBpbXBvcnRzLgoJKiBqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgbWVtYmVyIHZhcmlhYmxlLgoJKFNJTVBMRV9TQ1JPTExfTU9ERSk6IE1hZGUgZmluYWwsIGZpeGVkIHZhbHVlLgoJKEJMSVRfU0NST0xMX01PREUpOiBMaWtld2lzZS4KCShCQUNLSU5HU1RPUkVfU0NST0xMX01PREUpOiBMaWtld2lzZS4KCShzY3JvbGxVbmRlcndheSk6IE1hZGUgcHJvdGVjdGVkLgoJKGlzVmlld1NpemVTZXQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvTGlzdE1vZGVsLmphdmE6IEZpeGVkIGphdmFkb2MuCgkqIGphdmF4L3N3aW5nL1BvcHVwLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9SZXBhaW50TWFuYWdlci5qYXZhCgkocGFpbnREaXJ0eVJlZ2lvbnMpOiBEb24ndCB1c2UgaW50ZXJuYWwgY2xhc3NlcyBvZgoJamF2YS51dGlsLkFic3RyYWN0TWFwLgoJKiBqYXZheC9zd2luZy9TY3JvbGxQYW5lQ29uc3RhbnRzLmphdmE6IFJlaW5kZW50ZWQuCgkqIGphdmF4L3N3aW5nL1Njcm9sbFBhbmVMYXlvdXQuamF2YQoJKHZpZXdwb3J0KTogTWFkZSBwcm90ZWN0ZWQuCgkodmVydGljYWxTY3JvbGxCYXIpOiBNYWRlIHByb3RlY3RlZCwgcmVuYW1lZCB0byB2c2IuCgkoaG9yaXpvbnRhbFNjcm9sbEJhcik6IE1hZGUgcHJvdGVjdGVkLCByZW5hbWVkIHRvIGhzYi4KCShyb3dIZWFkZXIpOiBNYWRlIHByb3RlY3RlZCwgcmVuYW1lZCB0byByb3dIZWFkLgoJKGNvbHVtbkhlYWRlcik6IE1hZGUgcHJvdGVjdGVkLCByZW5hbWVkIHRvIGNvbEhlYWQuCgkobG93ZXJMZWZ0KTogTWFkZSBwcm90ZWN0ZWQuCgkobG93ZXJSaWdodCk6IE1hZGUgcHJvdGVjdGVkLgoJKHVwcGVyTGVmdCk6IE1hZGUgcHJvdGVjdGVkLgoJKHVwcGVyUmlnaHQpOiBNYWRlIHByb3RlY3RlZC4KCSh2ZXJ0aWNhbFNjcm9sbEJhclBvbGljeSk6IE1hZGUgcHJvdGVjdGVkLCByZW5hbWVkIHRvIHZzYlBvbGljeS4KCShob3Jpem9udGFsU2Nyb2xsQmFyUG9saWN5KTogTWFkZSBwcm90ZWN0ZWQsIHJlbmFtZWQgdG8gaHNiUG9saWN5LgoKMjAwNC0wNi0wNyAgQmVybmQgU2NobWlkdCAgPGJlcm5kc0BidGludGVybmV0LmNvbT4KCgkqIGphdmEvYXd0L01lZGlhVHJhY2tlci5qYXZhIChpbWFnZVVwZGF0ZSk6IE9ubHkgc2V0IHN0YXR1cyB0bwoJTE9BRElORyBpZiBmbGFncyBoYXMgU09NRUJJVFMgc2V0LgoKMjAwNC0wNi0wNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmE6IFJlb3JnYW5pemVkIGltcG9ydHMuCgkqIGphdmF4L3N3aW5nL0FjdGlvbk1hcC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvRGVmYXVsdEJ1dHRvbk1vZGVsLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdE1vZGVsLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9JbWFnZUljb24uamF2YTogTGlrZXdpc2UuCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBtZW1iZXIgdmFyaWFibGUuCgkqIGphdmF4L3N3aW5nL0pDb21ib0JveC5qYXZhOiBSZW9yZ2FuaXplZCBpbXBvcnRzLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6IExpa2V3aXNlLgoJKHVpKTogTWFkZSBwcm90ZWN0ZWQuCgkobGlzdGVuZXJMaXN0KTogTWFkZSBwcm90ZWN0ZWQuCgkoVE9PTF9USVBfVEVYVF9LRVkpOiBOZXcgY29uc3RhbnQuCgkoc2Nyb2xsUmVjdFRvVmlzaWJsZSk6IFJlbW92ZWQgcmVkdW5kYW50IG51bGwgY2hlY2suCgkqIGphdmF4L3N3aW5nL0pGcmFtZS5qYXZhOiBSZW9yZ2FuaXplZCBpbXBvcnRzLgoJKiBqYXZheC9zd2luZy9KSW50ZXJuYWxGcmFtZS5qYXZhOiBSZW9yZ2FuaXplZCBpbXBvcnRzLgoJKiBqYXZheC9zd2luZy9KUHJvZ3Jlc3NCYXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNjcm9sbEJhci5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNlcGFyYXRvci5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNsaWRlci5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlRhYmJlZFBhbmUuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pUZXh0RmllbGQuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pUb29sQmFyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVHJlZS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KV2luZG93LmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9LZXlTdHJva2UuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0xvb2tBbmRGZWVsLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9NZW51U2VsZWN0aW9uTWFuYWdlci5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL1RpbWVyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0Qm91bmRlZFJhbmdlTW9kZWwuamF2YTogRml4ZWQgamF2YWRvYy4KCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YQoJKEhPUklaT05UQUxfV1JBUCk6IE1hZGUgZmluYWwsIGZpeGVkIHZhbHVlLgoJKFZFUlRJQ0FMKTogTGlrZXdpc2UuCgkoVkVSVElDQUxfV1JBUCk6IExpa2V3aXNlLgoKMjAwNC0wNi0wNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IG1lbWJlciB2YXJpYWJsZS4KCShBY2Nlc3NpYmxlQWJzdHJhY3RCdXR0b24uc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKEFic3RyYWN0QnV0dG9uKTogTWFkZSBwdWJsaWMuCgkqIGphdmF4L3N3aW5nL0JveC5qYXZhCgkoQWNjZXNzaWJsZUJveC5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IG1lbWJlciB2YXJpYWJsZS4KCShGaWxsZXIuc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0TGlzdFNlbGVjdGlvbk1vZGVsLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pBcHBsZXQuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkNoZWNrQm94LmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pDaGVja0JveE1lbnVJdGVtLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkoQWNjZXNzaWJsZUpDaGVja0JveE1lbnVJdGVtLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkNvbG9yQ2hvb3Nlci5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKEFjY2Vzc2libGVKQ29sb3JDaG9vc2VyLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE1hZGUgcHJpdmF0ZS4KCShBY2Nlc3NpYmxlSkNvbXBvbmVudC5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IG1lbWJlciB2YXJpYWJsZS4KCSogamF2YXgvc3dpbmcvSkRlc2t0b3BQYW5lLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pEaWFsb2cuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkZvcm1hdHRlZFRleHRGaWVsZC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IEZpeGVkIHZhbHVlLgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgbWVtYmVyIHZhcmlhYmxlLgoJKGdldERlZmF1bHRDbG9zZU9wZXJ0YXRpb24pOiBNYWRlIHB1YmxpYy4KCSogamF2YXgvc3dpbmcvSkxheWVyZWRQYW5lLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkoTEFZRVJfUFJPUEVSVFkpOiBNYWRlIGZpbmFsLCBmaXhlZCB2YWx1ZS4KCShKTGF5ZXJlZFBhbmUpOiBNYWRlIHB1YmxpYy4KCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YQoJKEFjY2Vzc2libGVKTWVudS5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IG1lbWJlciB2YXJpYWJsZS4KCShXaW5MaXN0ZW5lci5zZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pNZW51QmFyLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkoZ2V0Q29tcG9uZW50QXRJbmRleCk6IEFkZGVkIEBkZXByZWNhdGVkIHRhZy4KCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IG1lbWJlciB2YXJpYWJsZS4KCShBY2Nlc3NpYmxlSk1lbnVJdGVtLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSk9wdGlvblBhbmUuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCShBY2Nlc3NpYmxlSk9wdGlvblBhbmUuc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkoQWNjZXNzaWJsZUpQb3B1cE1lbnUuc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKGdldFBvcHVwTWVudUxpc3RlbmVycyk6IE5ldyBtZXRob2QuCgkoZ2V0Q29tcG9uZW50QXRJbmRleCk6IEFkZGVkIEBkZXByZWNhdGVkIHRhZy4KCSogamF2YXgvc3dpbmcvSlByb2dyZXNzQmFyLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IG1lbWJlciB2YXJpYWJsZS4KCShBY2Nlc3NpYmxlSlByb2dyZXNzQmFyLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlJhZGlvQnV0dG9uLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pSYWRpb0J1dHRvbk1lbnVJdGVtLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkoQWNjZXNzaWJsZUpSYWRpb0J1dHRvbk1lbnVJdGVtLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNjcm9sbEJhci5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKEFjY2Vzc2libGVKU2Nyb2xsQmFyLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNlcGFyYXRvci5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKEFjY2Vzc2libGVKU2VwYXJhdG9yLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlNsaWRlci5qYXZhOiBGaXhlZCBqYXZhZG9jcy4KCShBY2Nlc3NpYmxlSlNsaWRlci5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IG1lbWJlciB2YXJpYWJsZS4KCSogamF2YXgvc3dpbmcvSlNwbGl0UGFuZS5qYXZhOiBBZGRlZCBjb3B5cmlnaHQgc3RhdGVtZW50LgoJKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgbWVtYmVyIHZhcmlhYmxlLgoJKEFjY2Vzc2libGVKU3BsaXRQYW5lLnNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlRhYmJlZFBhbmUuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCShBY2Nlc3NpYmxlSlRhYmJlZFBhbmUuc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKE1vZGVsTGlzdGVuZXIuc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKE1vZGVsTGlzdGVuZXIuTW9kZWxMaXN0ZW5lcik6IE5ldyBjb25zdHJ1Y3Rvci4KCShTQ1JPTExfVEFCX0xBWU9VVCk6IE1hZGUgcHVibGljIGZpbmFsLCBmaXhlZCB2YWx1ZS4KCShXUkFQX1RBQl9MQVlPVVQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSlRhYmxlLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IG1lbWJlciB2YXJpYWJsZS4KCSogamF2YXgvc3dpbmcvSlRvZ2dsZUJ1dHRvbi5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IExpa2V3aXNlLgoJKFRvZ2dsZUJ1dHRvbk1vZGVsKTogTWFkZSBzdGF0aWMuCgkoVG9nZ2xlQnV0dG9uTW9kZWwuc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBtZW1iZXIgdmFyaWFibGUuCgkqIGphdmF4L3N3aW5nL0pUb29sVGlwLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pUcmVlLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pXaW5kb3cuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvVGltZXIuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBMaWtld2lzZS4KCjIwMDQtMDYtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9Td2luZ0NvbnN0YW50cy5qYXZhCgkoTkVYVCk6IE5ldyBjb25zdGFudC4KCShQUkVWSU9VUyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9VSU1hbmFnZXIuamF2YQoJKExvb2tBbmRGZWVsKTogTWFkZSBwdWJsaWMuCgkoTG9va0FuZEZlZWwuZ2V0Q2xhc3NOYW1lKTogTGlrZXdpc2UuCgkoTG9va0FuZEZlZWwuZ2V0TmFtZSk6IExpa2V3aXNlLgoKMjAwNC0wNi0wMiAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KQ2hlY2tCb3hNZW51SXRlbS5qYXZhOgoJUmVtb3ZlZCBDVlMgdGFncy4KCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pNZW51QmFyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KTWVudUl0ZW0uamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pSYWRpb0J1dHRvbk1lbnVJdGVtLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hNZW51SXRlbVVJLmphdmE6TGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51QmFyVUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudVVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUG9wdXBNZW51VUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSYWRpb0J1dHRvbk1lbnVJdGVtVUkuamF2YTogTGlrZXdpc2UuCgoyMDA0LTA1LTMxICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51VUkuamF2YToKCShNb3VzZUVudGVyZWQpOiBEbyBub3QgY2FsbCBnZXRQYXRoKCkgZnJvbSBNZW51U2VsZWN0aW9uTWFuYWdlci4KCUNhbGwgZ2V0UGF0aCgpIGZyb20gc3VwZXIgY2xhc3MgaW5zdGVhZC4KCjIwMDQtMDUtMzEgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhCgkocmVtb3ZlKTogU2V0IGNvbXBvbmVudCB2aXNpYmlsaXR5IHRvIGZhbHNlIGFmdGVyIHJlbW92aW5nIGl0LgoKMjAwNC0wNS0yNyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEgKGdldEZvcmVncm91bmQpOiBSZXR1cm4gU3lzdGVtQ29sb3IgaWYKCXBhcmVudCBpcyBudWxsLgoJKGdldEJhY2tncm91bmQpOiBMaWtld2lzZS4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTGlzdFBlZXIuYwoJKGl0ZW1faGlnaGxpZ2h0ZWQpOiBOZXcgZnVuY3Rpb24uCgkoY29ubmVjdFNpZ25hbHMpOiBTZXQgaXRlbV9oaWdobGlnaHRlZCBhcyBsaXN0J3Mgc2VsZWN0CglmdW5jdGlvbi4KCgkqIGphdmEvYXBwbGV0L0FwcGxldC5qYXZhOiBSZXZlcnQgY2hhbmdlcyBmcm9tIDIwMDQtMDQtMjksCgkyMDA0LTAzLTE1IGFuZCAyMDA0LTAzLTE0LgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljcy5jIChkcmF3U3RyaW5nKToKCURpdmlkZSBiYXNlbGluZSB5IGNvb3JkaW5hdGUgYnkgUEFOR09fU0NBTEUsIG5vdCBEUEkgY29udmVyc2lvbgoJZmFjdG9yLgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1RleHRBcmVhUGVlci5qYXZhIChjcmVhdGUpOiBTZXQKCSJEaWFsb2ciIGFzIHRoZSBkZWZhdWx0IGZvbnQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUZXh0RmllbGRQZWVyLmphdmEgKGNyZWF0ZSk6CglMaWtld2lzZS4KCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEgKGdldEZvbnQpOiBSZXR1cm4gIkRpYWxvZyIgZm9udCBieQoJZGVmYXVsdC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtDbGFzc3BhdGhGb250UGVlci5jOgoJTXVsdGlwbHkgc2l6ZSBhcmd1bWVudCB0byBwYW5nb19mb250X2Rlc2NyaXB0aW9uX3NldF9zaXplIGJ5IHRoZQoJRFBJIGNvbnZlcnNpb24gZmFjdG9yIHJhdGhlciB0aGFuIGJ5IFBBTkdPX1NDQUxFLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0ZvbnRNZXRyaWNzLmM6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmM6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0J1dHRvblBlZXIuYzogTGlrZXdpc2UuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hQZWVyLmM6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYzogTGlrZXdpc2UuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTGFiZWxQZWVyLmM6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xpc3RQZWVyLmM6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1RleHRBcmVhUGVlci5jOiBMaWtld2lzZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0RmllbGRQZWVyLmM6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMgKGRyYXdTdHJpbmcpOgoJRGl2aWRlIGJhc2VsaW5lIHkgY29vcmRpbmF0ZSBieSBEUEkgY29udmVyc2lvbiBmYWN0b3IgcmF0aGVyCgl0aGFuIGJ5IFBBTkdPX1NDQUxFLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka1BpeGJ1ZkRlY29kZXIuYwoJKGFyZWFfcHJlcGFyZWQpOiBGaXggdHlwby4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtMYWJlbFBlZXIuYwoJKGd0a1NldEZvbnQpOiBNb3ZlIGd0a19iaW5fZ2V0X2NoaWxkIGluc2lkZSBHREsgY3JpdGljYWwgcmVnaW9uLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01haW5UaHJlYWQuYwoJKGRwaV9jb252ZXJzaW9uX2ZhY3Rvcik6IE5ldyBnbG9iYWwgdmFyaWFibGUuCgkoaW5pdF9kcGlfY29udmVyc2lvbl9mYWN0b3IpOiBOZXcgZnVuY3Rpb24gdG8gY2FsY3VsYXRlIGFuZAoJdHJhY2sgRFBJIGNvbnZlcnNpb24gZmFjdG9yLgoJKGRwaV9jaGFuZ2VkX2NiKTogTmV3IGNhbGxiYWNrLgoJKiBqbmkvZ3RrLXBlZXIvZ3RrcGVlci5oIChkcGlfY29udmVyc2lvbl9mYWN0b3IpOiBEZWNsYXJlLgoKMjAwNC0wNS0yNyAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YQoJKGdldEdyYXBoaWNzKTogUmV0dXJuIGEgbmV3IEdka0dyYXBoaWNzIGluc3RhbmNlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29udGFpbmVyUGVlci5qYXZhCgkoZ2V0R3JhcGhpY3MpOiBDYWxsIHN1cGVyLmdldEdyYXBoaWNzKCkuCgoyMDA0LTA1LTI2ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKHNldE5hdGl2ZUJvdW5kcyk6IENsYW1wIHdpZHRoIGFuZCBoZWlnaHQgdmFsdWVzIHRvID49IDAuCgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKGZpbmRfZmdfY29sb3Jfd2lkZ2V0KTogSGFuZGxlIEd0a09wdGlvbk1lbnUgc3BlY2lhbGx5LgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYwoJKHByZV9ldmVudF9oYW5kbGVyKTogT25seSBwb3N0IGNvbmZpZ3VyZSBldmVudHMgdG8gdmlzaWJsZQoJdG9wLWxldmVsIHdpbmRvd3MuCgoyMDA0LTA1LTI2ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Cb3JkZXJMYXlvdXQuamF2YQoJKGxheW91dENvbnRhaW5lcik6IEZpeCBzaXplIGNhbGN1bGF0aW9ucy4KCjIwMDQtMDUtMjYgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jCgkod2luZG93X3dtX3Byb3RvY29sc19maWx0ZXIpOiBSZW1vdmUgZnVuY3Rpb24uCgkoY3JlYXRlKTogUmVtb3ZlIGZpbHRlciB0aGF0IHJlbW92ZXMgV01fVEFLRV9GT0NVUyBjbGllbnQKCW1lc3NhZ2VzLgoKMjAwNC0wNi0xNyAgQW50aG9ueSBHcmVlbiAgPGdyZWVuQHJlZGhhdC5jb20+CgoJKiBqYXZhL3V0aWwvemlwL1ppcEZpbGUuamF2YSAoZ2V0SW5wdXRTdHJlYW0pOiBSZXR1cm4gbnVsbCBpZgoJZW50cnkgbm90IGZvdW5kLgoKCSogZ251L2djai9ydW50aW1lL1ZNQ2xhc3NMb2FkZXIuamF2YSAoaW5pdCk6IEFkZCBleHRlbnNpb24KCWRpcmVjdG9yeSBjb250ZW50cyB0byB0aGUgY2xhc3MgcGF0aC4KCjIwMDQtMDYtMTUgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL25hdFN5c3RlbS5jYyAoZ2V0ZW52MCk6IERvbid0IGFzc3VtZSBlbnZpcm9ubWVudAoJdmFyaWFibGUgaXMgTGF0aW4gMSBjb2RlZC4KCjIwMDQtMDYtMTQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNvbmZpZ3VyZS5pbjogU3VwcG9ydCAtLWVuYWJsZS12ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicy4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDYtMTQgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvdXRpbC9DYWxlbmRhci5qYXZhOiBDaGFuZ2UgUmVzb3VyY2VCdW5kbGUuZ2V0QnVuZGxlKCkgY2FsbHMKCXRvIHBhc3MgQ2xhc3NMb2FkZXIgYXJndW1lbnQuCgkqIGphdmEvdXRpbC9HcmVnb3JpYW5DYWxlbmRhci5qYXZhOiBMaWtld2lzZS4KCSogamF2YS91dGlsL0N1cnJlbmN5LmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL3RleHQvQnJlYWtJdGVyYXRvci5qYXZhOiBMaWtld2lzZS4KCSogamF2YS90ZXh0L0NvbGxhdG9yLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL3RleHQvRGF0ZUZvcm1hdC5qYXZhOiBMaWtld2lzZS4KCSogamF2YS90ZXh0L0RhdGVGb3JtYXRTeW1ib2xzLmphdmE6IExpa2V3aXNlLgoJKiBqYXZhL3RleHQvRGVjaW1hbEZvcm1hdFN5bWJvbHMuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvdGV4dC9OdW1iZXJGb3JtYXQuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhOiBMaWtld2lzZS4KCjIwMDQtMDYtMTQgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL1N5c3RlbS5qYXZhOiAoZ2V0ZW52MCk6IE5ldyBtZXRob2QuCgkoZ2V0ZW52KTogQWRkIHNlY3VyaXR5IGNoZWNrLiAgRG8gdGhlIHJpZ2h0IHRoaW5nLgoJKiBqYXZhL2xhbmcvbmF0U3lzdGVtLmNjIChnZXRlbnYwKTogTmV3IG1ldGhvZC4KCjIwMDQtMDYtMTIgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L3N3aW5nL1JlcGFpbnRNYW5hZ2VyLmphdmEKCShwYWludERpcnR5UmVnaW9ucyk6IFVzZSBlbnRyeVNldCgpLCBub3QgdmFsdWVzKCkuCgoyMDA0LTA2LTEwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqbmkuY2MgKF9Kdl9KTklfR2V0QW55TWV0aG9kSUQpOiBBZGQgbmFtZSBhbmQgc2lnbmF0dXJlIHRvCglOb1N1Y2hNZXRob2RFcnJvci4KCjIwMDQtMDYtMTEgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS91dGlsL0dyZWdvcmlhbkNhbGVuZGFyLmphdmEgKGNvbXB1dGVUaW1lKTogIFNraXAgYnVnZ3kgZm9ybXVsYWUKCXdoZW4gd2UgYWxyZWFkeSBrbm93IHRoZSBhbnN3ZXIuCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhIChzZXJpYWxWZXJzaW9uT25TdHJlYW0pOiBCdW1wIHRvIDIuCgkoc2V0U3RhcnRSdWxlLHNldEVuZFJ1bGUpOiBEb24ndCB0YWtlIGFicyBvZiBkYXkgbnVtYmVyLgoJKGdldE9mZnNldCk6IENsYXJpZnkgZG9jcy4gIEFkZCBhcmd1bWVudCBjaGVja3MuCgkoaXNCZWZvcmUpOiBUYWtlIGFicyBvZiBkYXkgbnVtYmVyIGluIERPV19MRV9ET01fTU9ERS4KCShlcXVhbHMsaGFzU2FtZVJ1bGVzLHRvU3RyaW5nLHJlYWRPYmplY3QpOiBVc2Ugc3RhcnRUaW1lTW9kZSBhbmQKCWVuZFRpbWVNb2RlLgoKMjAwNC0wNi0xMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogaW50ZXJwcmV0LmNjIChydW4pOiBIYW5kbGUgd2lkZSBmbG9hZC4KCjIwMDQtMDYtMDYgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS91dGlsL3ppcC9aaXBFbnRyeS5qYXZhIChzZXRUaW1lKTogUmVtb3ZlIHNjYWxpbmcuCgoyMDA0LTA2LTA1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvU3dpbmdDb25zdGFudHMuamF2YQoJKE5FWFQpOiBOZXcgY29uc3RhbnQuCgkoUFJFVklPVVMpOiBMaWtld2lzZS4KCjIwMDQtMDYtMDUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9VSU1hbmFnZXIuamF2YQoJKExvb2tBbmRGZWVsKTogTWFkZSBwdWJsaWMuCgkoTG9va0FuZEZlZWwuZ2V0TmFtZSk6IExpa2V3aXNlLgoJKExvb2tBbmRGZWVsLmdldENsYXNzTmFtZSk6IExpa2V3aXNlLgoKMjAwNC0wNi0wMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEKCShyZXF1ZXN0Rm9jdXMpOiBSZXZlcnQgbGFzdCBjaGFuZ2VzLgoJKGd0a1JlcXVlc3RGb2N1cyk6IFJlbW92ZWQuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlcl9ndGtSZXF1ZXN0Rm9jdXMpOgoJUmVuYW1lZCB0byAuLi4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyX2d0a1dpZGdldFJlcXVlc3RGb2N1cyk6CglSZXZlcnRlZCBsYXN0IHBhdGNoLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BvcHVwTWVudVBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BvcHVwTWVudVBlZXJfc2V0dXBBY2NlbEdyb3VwKToKCVJldmVydGVkIGNvbW1lbnQgY2hhbmdlLgoKMjAwNC0wNi0wMiAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KQ2hlY2tCb3hNZW51SXRlbS5qYXZhOgoJUmVtb3ZlZCBDVlMgdGFncy4KCSogamF2YXgvc3dpbmcvSk1lbnUuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pNZW51QmFyLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KTWVudUl0ZW0uamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pSYWRpb0J1dHRvbk1lbnVJdGVtLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hNZW51SXRlbVVJLmphdmE6TGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51QmFyVUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudVVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUG9wdXBNZW51VUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSYWRpb0J1dHRvbk1lbnVJdGVtVUkuamF2YTogTGlrZXdpc2UuCgoyMDA0LTA2LTAxICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2lvL09iamVjdFN0cmVhbUZpZWxkLmphdmE6IENsZWFuZWQgdXAgaW1wb3J0cy4KCjIwMDQtMDYtMDEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2lvL09iamVjdFN0cmVhbUZpZWxkLmphdmE6IFN0eWxlIGFuZCBqYXZhZG9jIGNsZWFudXAuCgoyMDA0LTA2LTAxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2lvL1dyaXRlci5qYXZhIChXcml0ZXIoT2JqZWN0KSk6IEZpeGVkIEFQSSBkb2MuCgoyMDA0LTA2LTAxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9zZWN1cml0eS9TZWN1cml0eS5qYXZhCgkoaW5zZXJ0UHJvdmlkZXJBdCk6IFVzZSBlcXVhbHMoKSBpbnN0ZWFkIG9mID09LgoJKHJlbW92ZVByb3ZpY2VyKTogTGlrZXdpc2UuCgkoZ2V0UHJvdmlkZXIpOiBMaWtld2lzZS4KCSogamF2YS9zZWN1cml0eS9TaWduYXR1cmUuamF2YQoJKHNpZ24pOiBEb24ndCBzZXQgc3RhdGUgdG8gVU5JTklUSUFMSVpFRC4KCSh2ZXJpZnkpOiBMaWtld2lzZS4KCjIwMDQtMDYtMDEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEgKHJlcXVlc3RGb2N1cyk6CglJbXBsZW1lbnQgYnkgY2FsbGluZyBndGtSZXF1ZXN0Rm9jdXMuCgkoZ3RrUmVxdWVzdEZvY3VzKTogTmV3IG5hdGl2ZSBtZXRob2QuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXJfcmVxdWVzdEZvY3VzX18pOgoJUmVuYW1lZCB0byAuLi4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyX2d0a1JlcXVlc3RGb2N1cyk6CglOZXcgZnVuY3Rpb24gbmFtZS4KCShmaWx0ZXJfZXhwb3NlX2V2ZW50X2hhbmRsZXIpOgoJTWFyayBzdGF0aWMuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BvcHVwTWVudVBlZXIuYwoJKG1lbnVfcG9zKTogTWFyayBzdGF0aWMuCgoyMDA0LTA2LTAxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS90ZXh0L0NvbGxhdGlvbkVsZW1lbnRJdGVyYXRvci5qYXZhLAoJamF2YS90ZXh0L0NvbGxhdGlvbktleS5qYXZhLAoJamF2YS90ZXh0L1J1bGVCYXNlZENvbGxhdG9yLmphdmE6IE5ldyB2ZXJzaW9ucyBmcm9tIEdOVSBjbGFzc3BhdGguCgkqIHRlc3RzdWl0ZS9saWJqYXZhLm1hdXZlL3hmYWlsczogUmVtb3ZlZCBhbGwKCWphdmEudGV4dC5Db2xsYXRpb25FbGVtZW50SXRlcmF0b3IgdGVzdHMuCgoyMDA0LTA2LTAxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS91dGlsL3ppcC9JbmZsYXRlcklucHV0U3RyZWFtLmphdmE6IE1lcmdlZCBtb3JlIHdpdGggQ2xhc3NwYXRoCgl2ZXJzaW9uLgoJKiBqYXZhL3V0aWwvemlwL1ppcE91dHB1dFN0cmVhbS5qYXZhICgpOiBSZW5hbWVkIGVudW0gdG8gZSB0byByZW1vdmVkCglKYXZhIDEuNSBrZXl3b3JkIHVzYWdlLgoKMjAwNC0wNS0zMSAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudVVJLmphdmE6CgkoTW91c2VFbnRlcmVkKTogRG8gbm90IGNhbGwgZ2V0UGF0aCgpIGZyb20gTWVudVNlbGVjdGlvbk1hbmFnZXIuCglDYWxsIGdldFBhdGgoKSBmcm9tIHN1cGVyIGNsYXNzIGluc3RlYWQuCgoyMDA0LTA1LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9pby9TZXF1ZW5jZUlucHV0U3RyZWFtLmphdmE6CglSZW5hbWUgZW51bSB0byBlIGJlY2F1c2UgZW51bSBpcyBhIGtleXdvcmQgaW4gSmF2YSAxLjUuCgoyMDA0LTA1LTMxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvcm1pL3JtaWMvQ29tcGlsZXJQcm9jZXNzLmphdmE6CglGaXhlZCBqYXZhZG9jIHRvIGJ5IFhIVE1MIGNvbXBsaWFudC4KCjIwMDQtMDUtMzAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvYXd0L1Rvb2xraXQuamF2YSAobG9hZFN5c3RlbUNvbG9ycyk6IEltcGxlbWVudC4KCjIwMDQtMDUtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2xhbmcvU3lzdGVtLmphdmE6IFJlb3JkZXJlZCBpbXBvcnRzLgoKMjAwNC0wNS0zMCAgR3VpbGhlbSBMYXZhdXggPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogamF2YS90ZXh0L0RlY2ltYWxGb3JtYXQuamF2YQoJKHBhcnNlKTogRml4ZWQgcGFyc2luZyBvZiBkZWNpbWFsIHN0cmluZ3MuIE51bWJlciBvZiBtYXhpbXVtCglkaWdpdHMgdG8gYmUgcmVhZCBzaG91bGQgbm93IHdvcmsuCgkqIGphdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0LmphdmEKCShTaW1wbGVEYXRlRm9ybWF0KTogU2V0IG1heGltdW1GcmFjdGlvbkRpZ2l0IHRvIDAgZm9yIHRoZSBudW1iZXIKCWZvcm1hdHRlci4gVGhpcyBmaXhlcyBEYXRlRm9ybWF0VGVzdC4KCjIwMDQtMDUtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25pby9CdWZmZXIuamF2YQoJKGxpbWl0KTogRml4ZWQgb2ZmIGJ5IG9uZSBlcnJvci4KCSogamF2YS9uaW8vQ2hhckJ1ZmZlci5qYXZhCgkod3JhcCk6IEZpeGVkIGFyZ3VtZW50cywgYWRkZWQgamF2YWRvY3MuCgoyMDA0LTA1LTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvYmVhbnMvQmVhbkluZm9FbWJyeW8uamF2YSwKCWphdmEvYXd0L2ltL0lucHV0Q29udGV4dC5qYXZhLAoJamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0TXV0YWJsZVRyZWVOb2RlLmphdmE6CglSZW5hbWUgZW51bSB0byBlIGJlY2F1c2UgZW51bSBpcyBhIGtleXdvcmQgaW4gSmF2YSAxLjUuCgoyMDA0LTA1LTMwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbWF0aC9NUE4uamF2YSwKCWphdmEvYXd0L2dlb20vQXJjMkQuamF2YToKCUZpeGVkIGphdmFkb2NzIGFsbCBvdmVyLgoKMjAwNC0wNS0zMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0RlZmF1bHRLZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhCgkoZGlzcGF0Y2hFdmVudCk6IENhbGwgbWV0aG9kIHRvIGdldCBrZXkgZXZlbnQgZGlzcGF0Y2hlcnMuCgkoZGlzcGF0Y2hLZXlFdmVudCk6IENhbGwgbWV0aG9kIHRvIGdldCBrZXkgZXZlbnQgcG9zdCBwcm9jZXNzb3JzLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShsaXN0ZW5lckxpc3QpOiBNYWRlIHByb3RlY3RlZC4KCSogamF2YXgvc3dpbmcvSk9wdGlvblBhbmUuamF2YQoJKG1lc3NhZ2UpOiBEb24ndCBpbml0aWFsaXplLgoJKEpPcHRpb25QYW5lKTogU2V0IG1lc3NhZ2UgdGV4dC4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhCgkoc2hvdyk6IEZpeGVkIHR5cG8gaW4gYXJndW1lbnQgbmFtZS4KCSogamF2YXgvc3dpbmcvUmVwYWludE1hbmFnZXIuamF2YQoJKHBhaW50RGlydHlSZWdpb25zKTogVXNlIHB1YmxpYyBBUEkgb2YgamF2YS51dGlsLk1hcC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NwbGl0UGFuZURpdmlkZXIuamF2YQoJKHBvc2l0aW9uRm9yTW91c2VFdmVudCk6IFJlbW92ZWQgcmVkdW5kYW50ICc7Jy4KCShjb250aW51ZURyYWcpOiBVc2UgbWV0aG9kIGFyZ3VtZW50cy4KCjIwMDQtMDUtMjkgIFJhbmppdCBNYXRoZXcgIDxybWF0aGV3QGhvdG1haWwuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEuamFja3MvamFja3MueGZhaWw6IFVwZGF0ZSBmb3IgcG9zdCB0cmVlLXNzYSBtZXJnZQoJcmVzdWx0cy4KCjIwMDQtMDUtMjggIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGdjai9jbmkuaCAoSnZBbGxvY0J5dGVzKTogTmV3IHB1YmxpYyBDTkkgZnVuY3Rpb24uIENhbGxzCglfSnZfQWxsb2NCeXRlcy4KCSogZ251L2djai9SYXdEYXRhTWFuYWdlZC5qYXZhOiBOZXcgZmlsZS4KCSogamF2YS9sYW5nL1RocmVhZC5qYXZhIChkYXRhKTogRGVjbGFyZSBhcyBSYXdEYXRhTWFuYWdlZC4KCSogamF2YS9sYW5nL25hdFRocmVhZC5jYyAoaW5pdF9uYXRpdmUpOiBDYXN0IG5hdFRocmVhZCBkYXRhIHRvCglSYXdEYXRhTWFuYWdlZCwgbm90IGpvYmplY3QuCgkqIE1ha2VmaWxlLmFtIChvcmRpbmFyeV9qYXZhX3NvdXJjZV9maWxlcyk6IEFkZCBSYXdEYXRhTWFuYWdlZC4KCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgoyMDA0LTA1LTI3ICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGphdmEvdXRpbC9TaW1wbGVUaW1lWm9uZS5qYXZhOiBSZXZlcnRpbmcgbXkgbGFzdCBjaGFuZ2UgdW50aWwgSQoJY2FuIGZpeCBpdCBwcm9wZXJseS4KCjIwMDQtMDUtMjcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmEKCShpc1Zpc2libGUpOiBEbyBub3QgdXNlIHZpc2libGUgZGlyZWN0bHkuCgkoc2V0VmlzaWJsZSk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KV2luZG93LmphdmEKCShKV2luZG93KTogY2FsbCBhY2Nlc3NpYmxlIGNvbnN0cnVjdG9yLgoJKiBqYXZheC9zd2luZy9SZXBhaW50TWFuYWdlci5qYXZhCgkocGFpbnREaXJ0eVJlZ2lvbnMpOiBVc2UgcHVibGljIG1ldGhvZHMgdG8gb2J0YWluIGl0ZXJhdG9yLgoKMjAwNC0wNS0yNSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShyZW1vdmUpOiBTZXQgY29tcG9uZW50J3MgcGFyZW50IHRvIG51bGwgb25seSBhZnRlciB3ZSByZW1vdmVkIHRoZQoJY29tcG9uZW50IGZyb20gaXRzIHBhcmVudCdzIGxheW91dCBtYW5hZ2VyLgoKMjAwNC0wNS0yNSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YQoJKEd0a0NvbXBvbmVudFBlZXIpOiBTZXQgYm91bmRzIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBhd3RDb21wb25lbnQKCWlzIHZhbGlkLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTGlzdFBlZXIuamF2YQoJKGdldFNpemUpOiBDaGFuZ2UgbmF0aXZlIG1ldGhvZCBkZWNsYXJhdGlvbi4KCShtaW5pbXVtU2l6ZSk6IFBhc3MgdmlzaWJsZSByb3cgY291bnQgaW50byBnZXRTaXplKCkuCgkocHJlZmVycmVkU2l6ZSk6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xpc3RQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtMaXN0UGVlcl9nZXRTaXplKTogVXNlIHNjcm9sbCB3aW5kb3cncwoJbmF0dXJhbCBzaXplLiBVc2UgdmlzaWJsZSByb3cgY291bnQgdG8gZGV0ZXJtaW5lIHRoZSBmaW5hbCBoZWlnaHQKCXZhbHVlIHRvIHJldHVybi4KCjIwMDQtMDUtMjEgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhCgkoc2V0Q2xpcCk6IE1pbm9yIGNvcnJlY3Rpb24gdG8gb3JkZXIgb2Ygb3BlcmF0aW9ucy4KCgkqIGphdmF4L3N3aW5nL0pTY3JvbGxQYW5lLmphdmE6IEV4dGVuZCBza2V0Y2h5IGltcGxlbWVudGF0aW9uLgoJKiBqYXZheC9zd2luZy9TY3JvbGxQYW5lTGF5b3V0LmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KVmlld1BvcnQuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL1ZpZXdwb3J0TGF5b3V0LmphdmE6IExpa2V3aXNlLgoKCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhOiBSZXdyaXRlLgoJKiBqYXZheC9zd2luZy9SZXBhaW50TWFuYWdlci5qYXZhOiBMaWtld2lzZS4KCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhOiBDaGFuZ2UgdmFsaWRhdGUoKSB0byByZXZhbGlkYXRlKCkuCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmEKCShzZXRTZWxlY3RlZEluZGljZXMpOgoJKGdldFNlbGVjdGVkSW5kaWNlcyk6CgkoZ2V0U2VsZWN0ZWRWYWx1ZXMpOiBOZXcgZnVuY3Rpb25zLgoJKGdldFByZWZlcnJlZFNjcm9sbGFibGVWaWV3cG9ydFNpemUpOiBSZXR1cm4gcHJlZmVycmVkIHNpemUuCgkoZ2V0U2Nyb2xsYWJsZVVuaXRJbmNyZW1lbnQpOgoJKGdldFNjcm9sbGFibGVCbG9ja0luY3JlbWVudCk6IEluaXRpYWwgaW1wbGVtZW50YXRpb25zLgoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YTogQ2xlYW4gdXAgc2xpZ2h0bHkuCgkoZ2V0VUkpOgoJKHNldFVJKToKCSh1cGRhdGVVSSk6CgkoZ2V0VUlDbGFzc0lEKToKCShpc1ZhbGlkYXRlUm9vdCk6IEFkZCBvdmVycmlkZXMgZnJvbSBKQ29tcG9uZW50LgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsQmFyLmphdmE6IFNldCBkZWZhdWx0IG9yaWVudGF0aW9uIHRvIFZFUlRJQ0FMLgoJKiBqYXZheC9zd2luZy9VSU1hbmFnZXIuamF2YSAoZ2V0RGltZW5zaW9uKTogUmV0dXJuIHRoZSBkaW1lbnNpb24uCgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YTogU2V0IGNvbXBvbmVudCBvcGFxdWUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMYWJlbFVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Byb2dyZXNzQmFyVUkuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTZXBhcmF0b3JVSS5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFiYmVkUGFuZVVJLmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUm9vdFBhbmVVSS5qYXZhOgoJTGlrZXdpc2UsIGFuZCBzZXQgYmFja2dyb3VuZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOgoJTGlrZXdpc2UsIGFuZCBpbXByb3ZlIGEgYml0LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YToKCUxpa2V3aXNlLCBhbmQgYWRqdXN0IGNhbGN1bGF0aW9ucy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1ZpZXdwb3J0VUkuamF2YToKCUxpa2V3aXNlLCBhbmQgaW1wcm92ZSBhIGJpdC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShCdXR0b24ubWFyZ2luKTogU2hyaW5rLgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHbHlwaFZlY3Rvci5jOgoJSGFjayB0byBzZXQgaG9yaXpvbnRhbCBhbHdheXMsIHdvcmthcm91bmQgcGFuZ28uCgoJKiBqbmkvZ3RrLXBlZXIvZ3RrY2Fpcm9wZWVyLmg6IENoYW5nZSB0byBtYXRjaCBwYXR0ZXJuIEFQSS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmM6CglTeW5jaHJvbml6ZSBtb3JlIG9mdGVuLCBjaGVjayBjYWlybyBzdGF0dXMgYWZ0ZXIgb3BzLAoJaGFuZGxlIGNoYW5nZXMgdG8gY2Fpcm8gcGF0dGVybiBBUEksIGNoZWNrIGZvciBkaXNwb3NhbC4KCjIwMDQtMDUtMjEgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YToKCShCYXNpY01lbnVJdGVtVUkpOiBDcmVhdGUgcHJvcGVydHlDaGFuZ2VMaXN0ZW5lci4KCShnZXRQYXRoKTpJbXBsZW1lbnRlZC4KCShpbnN0YWxsTGlzdGVuZXJzKTogQWRkIHByb3BlcnR5Q2hhbmdlTGlzdGVuZXIgdG8gbWVudUl0ZW0uCgkodW5pbnN0YWxsTGlzdGVuZXJzKTogUmVtb3ZlIHByb3BlcnR5Q2hhbmdlTGlzdGVuZXIgZnJvbSBtZW51SXRlbS4KCSh1cGRhdGUpOiBJbXBsZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5Nb3VzZUlucHV0SGFuZGxlcjoKCShtb3VzZUVudGVyZWQpOiBUYWtlIGluc2V0cyBvZiBwb3B1cCBtZW51IGludG8gYWNjb3VudCB3aGVuCgljYWxjdWxhdGluZyBwb3NpdGlvbiBvZiBwb3B1cCBtZW51LgoKMjAwNC0wNS0xOCAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGUuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBqYXZheC9zd2luZy9KTWVudUJhci5qYXZhOgoJU3RhcnRlZCBpbXBsZW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhOgoJKHNldFZpc2libGUpOiBGaXhlZCBsb2NhdGlvbiBvZiBsaWdodHdlaWdodC9tZWRpdW13ZWlnaHQKCXBvcHVwIG1lbnUuCgkoc2hvdyk6IEZpeGVkIGxvY2F0aW9uIG9mIFBvcHVwTWVudS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVCYXJVSS5qYXZhOgoJTmV3IGZpbGUuIFVJIERlbGVnYXRlIGZvciBKTWVudUJhci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5Nb3VzZUlucHV0SGFuZGxlcjoKCShtb3VzZUVudGVyZWQpOiBDb3JyZWN0ZWQgcG9zaXRpb24gb2YgdGhlIHN1Ym1lbnUuCgoyMDA0LTA1LTE4ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVQZWVyLmM6IFJlbW92ZSBjYWxscwoJdG8gX2d0a19hY2NlbF9ncm91cF9hdHRhY2guCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrUG9wdXBNZW51UGVlci5jOgoJTGlrZXdpc2UuCgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQnV0dG9uUGVlci5qYXZhOiBHaXZlIGd0a1NldEZvbnQKCXBhY2thZ2UgYWNjZXNzLiAgRG9uJ3Qgb3ZlcnJpZGUgc2V0Rm9udC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NoZWNrYm94UGVlci5qYXZhOiBMaWtld2lzZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YTogR2l2ZQoJZ3RrV2lkZ2V0UmVxdWVzdEZvY3VzIHBhY2thZ2UgYWNjZXNzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTGFiZWxQZWVyLmphdmE6IERvbid0IG92ZXJyaWRlCglzZXRGb250LgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTGlzdFBlZXIuamF2YTogT3ZlcnJpZGUgZ3RrU2V0Rm9udC4KCUdpdmUgZ3RrV2lkZ2V0UmVxdWVzdEZvY3VzIHBhY2thZ2UgYWNjZXNzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVGV4dEFyZWFQZWVyLmphdmE6IEdpdmUKCWd0a1dpZGdldFJlcXVlc3RGb2N1cyBwYWNrYWdlIGFjY2Vzcy4gIERvbid0IG92ZXJyaWRlIHNldEZvbnQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUZXh0RmllbGRQZWVyLmphdmE6IERvbid0IG92ZXJyaWRlCglzZXRGb250LgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0J1dHRvblBlZXIuYwoJKGd0a1NldExhYmVsKTogTW92ZSBjYWxsIHRvIGd0a19iaW5fZ2V0X2NoaWxkIGludG8gR0RLIGNyaXRpY2FsCglyZWdpb24uCgkoZ3RrU2V0Rm9udCk6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xpc3RQZWVyLmMgKGd0a1NldEZvbnQpOgoJSW1wbGVtZW50LgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1RleHRBcmVhUGVlci5jCgkoZ3RrU2V0Rm9udCk6IFdoaXRlc3BhY2UgZml4LgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShndGtXaWRnZXRTZXRVc2l6ZSk6IFJlbW92ZSBtZXRob2QuCgoyMDA0LTA1LTE4ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9NZW1vcnlJbWFnZVNvdXJjZS5qYXZhCgkobmV3UGl4ZWxzKGludCxpbnQsaW50LGludCxib29sZWFuKSk6IFNldCBvbmx5IHRoZSBzcGVjaWZpZWQKCXJlY3RhbmdsZSBvZiBwaXhlbHMuCgkobmV3UGl4ZWxzKGJ5dGVbXSxDb2xvck1vZGVsLGludCxpbnQpKTogSW1wbGVtZW50LgoJKG5ld1BpeGVscyhpbnRbXSxDb2xvck1vZGVsLGludCxpbnQpKTogSW1wbGVtZW50LgoKMjAwNC0wNS0xOCAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGUuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBqYXZheC9zd2luZy9KTWVudS5qYXZhOiBTdGFydGVkCglpbXBsZW1lbnRhdGlvbi4KCSogamF2YXgvc3dpbmcvSlBvcHVwTWVudS5qYXZhOgoJKGluc2VydCk6IElmIHNwZWNpZmllZCBpbmRleCBpcyAtMSwgdGhlbgoJYWRkIGNvbXBvbmVudCBhdCB0aGUgZW5kLgoJKGlzUG9wdXBUcmlnZ2VyKTogUmVpbXBsZW1lbnRlZC4KCShKUG9wdXBNZW51LkxpZ2h0V2VpZ2h0UG9wdXApOiBzZXRCb3VuZHMKCW9mIHRoZSBsaWdodFdlaWdodFBvcHVwIGJlZm9yZSBhZGRpbmcgaXQKCXRvIHRoZSBsYXllcmVkUGFuZS4KCShqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSWNvbkZhY3RvcnkuamF2YSk6CgkoZ2V0TWVudUFycm93SWNvbik6IEltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhOgoJKGdldFByZWZlcnJlZFNpemUpOiBBZGQgc2l6ZSBvZiB0aGUgYXJyb3cgaWNvbgoJaWYgdGhpcyBtZW51IGl0ZW0gaXMgaW5zdGFuY2Ugb2YgSk1lbnUuCgkocGFpbnRNZW51SXRlbSk6IFBhaW50IGFycm93IGljb24gaWYgdGhpcwoJbWVudSBpdGVtIGlzIGEgc3VibWVudS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVVSS5qYXZhOgoJTmV3IEZpbGUuIFVJIERlbGVnYXRlIGZvciBKTWVudS4KCjIwMDQtMDUtMTcgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEgKHBvc3RLZXlFdmVudCk6CglQb3N0IEtFWV9UWVBFRCBldmVudHMuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRXZlbnRzLmMKCShnZW5lcmF0ZXNfa2V5X3R5cGVkX2V2ZW50KTogUmVtb3ZlIGZ1bmN0aW9uLgoKMjAwNC0wNS0xNyAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YQoJKEpSb290UGFuZS5Sb290TGF5b3V0KTogUmVpbXBsZW1lbnRlZCB0bwoJc2V0IGJvdW5kcyBvZiBjb250ZW50UGFuZSBhbmQgbWVudUJhci4KCShzZXRKTWVudUJhcik6IEFkZCBtZW51IGJhciB0byB0aGUgbGF5ZXJlZCBwYW5lLgoJKGNyZWF0ZUxheWVyZWRQYW5lKTogU2V0IGxheW91dCBvZiBsYXllcmVkUGFuZQoJdG8gbnVsbC4KCSogamF2YXgvc3dpbmcvSkxheWVyZWRQYW5lLmphdmE6CgkoYWRkSW1wbCk6IENhbGN1bGF0ZSBpbmRleCBvZiB0aGUgY29tcG9uZW50IGluIHRoZQoJbGF5ZXJlZFBhbmUgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgcG9zaXRpb24gd2l0aGluCgl0aGUgbGF5ZXIuCgoyMDA0LTA1LTE3ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrSW1hZ2VQYWludGVyLmphdmEKCShzZXRQaXhlbHMpOiBDaGFuZ2UgY29sb3IgbW9kZWwgdG8gdGhlIGRlZmF1bHQgbW9kZWwgYWZ0ZXIKCWNvbnZlcnRpbmcgcGl4ZWxzLgoJKiBqYXZhL2F3dC9pbWFnZS9NZW1vcnlJbWFnZVNvdXJjZS5qYXZhCgkobmV3UGl4ZWxzKTogU2V0IG9ubHkgdGhlIHNwZWNpZmllZCByZWN0YW5nbGUgb2YgcGl4ZWxzLgoKMjAwNC0wNS0xMyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogbGliZ2NqLnNwZWMuaW4gKGxpYik6IEFkZCAtbC1qYXZhLWF3dCAtbC1qYXZhLWFwcGxldAoJLWwtamF2YS1iZWFucyAtbC1qYXZheC1hY2Nlc3NpYmlsaXR5IC1sLWphdmF4LXN3aW5nLgoKCSogamF2YS9hd3QvQVdURXZlbnQuamF2YSAodG9TdHJpbmcpOiBQcmludCBzb3VyY2UncyBuYW1lIHJhdGhlcgoJdGhhbiB0aGUgc291cmNlIGl0c2VsZi4KCjIwMDQtMDUtMTIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKGxvYWRTeXN0ZW1Db2xvcnMpOiBNYWtlCgluYXRpdmUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVG9vbGtpdC5jCgkoZ2RrX2NvbG9yX3RvX2phdmFfY29sb3IpOiBOZXcgZnVuY3Rpb24uCgkqIGpuaS9ndGstcGVlci9ndGtwZWVyLmg6IEFkZCBTeXN0ZW1Db2xvciBkZWZpbmVzLgoKMjAwNC0wNS0xMiAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvaW1hZ2UvUkdCSW1hZ2VGaWx0ZXIuamF2YToKCUluaXRpYWxpemUgb3JpZ21vZGVsIGFzIG51bGwuCgkobWFrZUNvbG9yKTogRml4IHBpeGVsIGNvbXBvbmVudCBvcmRlci4KCShmaWx0ZXJSR0JQaXhlbHMpOiBGaXggcGl4ZWwgaXRlcmF0aW9uLgoJKHNldFBpeGVscyk6IEFkZCBleHRyYSBjaGVja3MgZm9yIGluZGV4IGNvbG9yIG1vZGVsLiBDb252ZXJ0IHBpeGVscwoJdG8gZGVmYXVsdCBjb2xvciBtb2RlbCBpZiBuZWNlc3NhcnkuCgkoY29udmVydENvbG9yTW9kZWxUb0RlZmF1bHQpOiBOZXcgb3ZlcnJpZGUgbWV0aG9kIGZvciBieXRlIHBpeGVscy4KCShjb252ZXJ0Q29sb3JNb2RlbFRvRGVmYXVsdCk6IEZvciBpbnQgcGl4ZWxzLCBmaXggcGl4ZWwgaXRlcmF0aW9uLgoJKG1ha2VDb2xvcmJ5RGVmYXVsdENNKTogTmV3IG92ZXJyaWRlIG1ldGhvZCBmb3IgYnl0ZSBwaXhlbHMuCgkobWFrZUNvbG9yYnlEZWZhdWx0Q00pOiBGb3IgaW50IHBpeGVsLCBhZGQgY29sb3IgbW9kZWwgYXMgYXJndW1lbnQuCgkobWFrZUNvbG9yKTogRml4IHBpeGVsIGNvbXBvbmVudCBvcmRlci4KCjIwMDQtMDUtMTEgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvQm94LmphdmE6CglDb21tZW50IG91dCBtb3JlIHBhcnRzIG9mIEJveC5GaWxsZXIuCgoyMDA0LTA1LTExICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0JveC5qYXZhOgoJUmVtb3ZlIHJlZmVyZW5jZSB0byBBY2Nlc3NpYmxlQVdUQ29tcG9uZW50IHNvCglpdCBjb21waWxlcyBhZ2Fpbi4KCjIwMDQtMDUtMTAgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtMaXN0UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtMaXN0UGVlci5jOiBVcGRhdGUKCWltcGxlbWVudGF0aW9uIG9mIGxpc3QgcGVlciB0byB1c2UgR3RrVHJlZVZpZXcgaW5zdGVhZCBvZgoJZGVwcmVjYXRlZCBHdGtDTGlzdC4KCjIwMDQtMDUtMDcgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEKCShndGtXaWRnZXREaXNwYXRjaEtleUV2ZW50KTogUmVtb3ZlIGtleUNoYXIgcGFyYW1ldGVyLgoJKGhhbmRsZUV2ZW50KTogUmVtb3ZlIGtleUNoYXIgYXJndW1lbnQgdG8KCWd0a1dpZGdldERpc3BhdGNoS2V5RXZlbnQgY2FsbHMuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jOiBGaXgKCWNvbXBpbGVyIHdhcm5pbmdzLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jOiBMaWtld2lzZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51UGVlci5jOiBMaWtld2lzZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0Q29tcG9uZW50UGVlci5jOgoJTGlrZXdpc2UuCgoyMDA0LTA1LTA2ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhCgkoZ3RrV2lkZ2V0UmVxdWVzdEZvY3VzKTogTWFyayBwcm90ZWN0ZWQuCgkoR3RrQ29tcG9uZW50UGVlcik6IE9ubHkgc2V0IHRoZSBwZWVyJ3MgYm91bmRzIGlmIGl0cyBjb21wb25lbnQKCWlzIHZhbGlkLgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YSAoc3RhdGljKTogU2V0IHRoZSBkZWZhdWx0IGtleWJvYXJkCglmb2N1cyBtYW5hZ2VyLgoJKHJlcXVlc3RGb2N1cygpLCByZXF1ZXN0Rm9jdXMoYm9vbGVhbiksIHJlcXVlc3RGb2N1c0luV2luZG93KCksCglyZXF1ZXN0Rm9jdXNJbldpbmRvdyh0ZW1wb3JhcnkpKTogRG9uJ3QgcmVxdWVzdCBmb2N1cyBpZiB0aGUKCWNvbXBvbmVudCBpcyBub3Qgc2hvd2luZy4gIEdldCB0cmVlIGxvY2sgYmVmb3JlIHRyYXZlcnNpbmcKCWNvbXBvbmVudCBoaWVyYXJjaHkuCgkqIGphdmEvYXd0L0RlZmF1bHRLZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhIChkaXNwYXRjaEV2ZW50KToKCU9ubHkgc2V0IHRoZSBnbG9iYWwgZm9jdXMgb3duZXIgaWYgaXQgaXMgbm90IGEgV2luZG93LgoJKHByb2Nlc3NLZXlFdmVudCk6IENvbnN1bWUga2V5c3Ryb2tlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGZvY3VzCgl0cmF2ZXJzYWwga2V5c3Ryb2tlLgoJKGZvY3VzUHJldmlvdXNDb21wb25lbnQsIGZvY3VzTmV4dENvbXBvbmVudCwgdXBGb2N1c0N5Y2xlLAoJZG93bkZvY3VzQ3ljbGUpOiBDYWxsIHJlcXVlc3RGb2N1c0luV2luZG93IGluc3RlYWQgb2YKCXJlcXVlc3RGb2N1cy4KCSogamF2YS9hd3QvRXZlbnREaXNwYXRjaFRocmVhZC5qYXZhIChydW4pOiBNb3ZlIHNldHRpbmcgb2YKCWRlZmF1bHQga2V5Ym9hcmQgZm9jdXMgbWFuYWdlciB0byBDb21wb25lbnQuamF2YS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShhd3Rfa2V5Y29kZV90b19rZXlzeW0pOiBOZXcgZnVuY3Rpb24uCgkoZ3RrV2lkZ2V0RGlzcGF0Y2hLZXlFdmVudCk6IEZpbmlzaCBpbXBsZW1lbnRhdGlvbi4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYwoJKHByZV9ldmVudF9oYW5kbGVyKTogQWRkIEZJWE1FIGNvbW1lbnQuCgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVGV4dEFyZWFQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1RleHRBcmVhUGVlci5jCgkoZ3RrV2lkZ2V0UmVxdWVzdEZvY3VzKTogTmV3IG1ldGhvZC4KCSogamF2YS9hd3QvVGV4dEFyZWEuamF2YSAoVGV4dEFyZWEpOiBTZXQgZm9jdXMgdHJhdmVyc2FsIGtleXMgdG8KCWRpc2FibGUgVGFiIGFuZCBTaGlmdC1UYWIga2V5c3Ryb2tlcy4KCShhZGROb3RpZnksIGFwcGVuZFRleHQsIGluc2VydFRleHQsIHJlcGxhY2VUZXh0KTogU2ltcGxpZnkgcGVlcgoJcmV0cmlldmFsIGNvZGUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dENvbXBvbmVudFBlZXIuYwoJKGNvbm5lY3RTaWduYWxzKTogUmVtb3ZlIGNvbm5lY3Rpb25zIHRvICJjb21taXQiIHNpZ25hbHMuCglSZW1vdmUgQysrLXN0eWxlIGNvbW1lbnRzLgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0J1dHRvblBlZXIuamF2YSwKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQnV0dG9uUGVlci5jCgkoaGFuZGxlRXZlbnQpOiBBY3RpdmF0ZSBHVEsgYnV0dG9uIHdoZW4gdGhlIHNwYWNlIGJhciBrZXkgaXMKCXByZXNzZWQuCgkoZ3RrQWN0aXZhdGUpOiBOZXcgbWV0aG9kLgoKMjAwNC0wNS0wNiAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvaW1hZ2UvQ3JvcEltYWdlRmlsdGVyLmphdmEKCShzZXRQaXhlbHMpOiBJbXBsZW1lbnQgZm9yIGJ5dGUgYXJyYXkgcGl4ZWxzLgoJKiBqYXZhL2F3dC9pbWFnZS9SZXBsaWNhdGVTY2FsZUZpbHRlci5qYXZhCgkoc2V0UGl4ZWxzKTogSW1wbGVtZW50IGZvciBieXRlIGFycmF5IHBpeGVscy4KCShyZXBsaWNhdGVQaXhlbHMpOiBPdmVybG9hZCBmb3IgYnl0ZSBhcnJheSBwaXhlbHMuCgoyMDA0LTA1LTA2ICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0JveC5qYXZhOgoJKGdldEFjY2Vzc2libGVDb250ZXh0KTogUmV0dXJuIGFuIGluc3RhbmNlIG9mIHRoZQoJY29ycmVjdCBjbGFzcy4KCjIwMDQtMDUtMDUgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhCgkoZHJhd0ltYWdlKTogV2hlbiBjb21wb25lbnQgaXMgbnVsbCwgdXNlIFN5c3RlbUNvbG9yLndpbmRvdyBhcwoJdGhlIGRlZmF1bHQgYmdjb2xvci4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ltYWdlLmphdmEKCShzZXRQaXhlbHMpOiBXZSBjYW4gYXZvaWQgaXRlcmF0aW5nIHRocm91Z2ggdGhlIHBpeGVsIHJvd3Mgb25seQoJd2hlbiBoZWlnaHQgaXMgMS4KCSogamF2YS9hd3QvSW1hZ2UuamF2YQoJKGdldFNjYWxlZEluc3RhbmNlKTogUGFydGlhbGx5IGltcGxlbWVudC4KCSogamF2YS9hd3QvaW1hZ2UvQ3JvcEltYWdlRmlsdGVyLmphdmEKCShzZXRQcm9wZXJ0aWVzKTogRml4ICJmaWx0ZXIiIHByb3BlcnR5LgoJKHNldFBpeGVscyk6IEltcGxlbWVudC4KCSogamF2YS9hd3QvaW1hZ2UvUmVwbGljYXRlU2NhbGVGaWx0ZXIuamF2YQoJKHNldERpbWVuc2lvbnMpOiBVc2Ugc2NhbGVkIGRpbWVuc2lvbnMuCgkoc2V0UGl4ZWxzKTogSW1wbGVtZW50LgoJKHJlcGxpY2F0ZVBpeGVscyk6IE5ldyBtZXRob2QuCgoyMDA0LTA1LTA1ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrSW1hZ2VQYWludGVyLmphdmEKCShjb252ZXJ0UGl4ZWxzKTogSWYgZWl0aGVyIHBpeGVscyBvciBtb2RlbCBpcyBudWxsLCByZXR1cm4gbnVsbC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtJbWFnZVBhaW50ZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ltYWdlUGFpbnRlcl9kcmF3UGl4ZWxzKTogSWYganBpeGVscwoJaXMgbnVsbCwgZG8gbm90aGluZyBhbmQgcmV0dXJuLgoKMjAwNC0wNS0wMyAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRGlhbG9nUGVlci5qYXZhOgoJKGdldEdyYXBoaWNzKTogTGlrZSBHdGtGcmFtZVBlZXIsIHRoZSBHcmFwaGljcwoJb2JqZWN0IG5lZWRzIHRvIGJlIHRyYW5zbGF0ZSB0byBhY2NvdW50IGZvcgoJd2luZG93IGRlY29yYXRpb25zLgoJKHBvc3RNb3VzZUV2ZW50KTogTmV3IG1ldGhvZC4gQWNjb3VudCBmb3IKCXRyYW5zbGF0aW9uLgoJKHBvc3RFeHBvc2VFdmVudCk6IGRpdHRvLgoJKiBqYXZheC9zd2luZy9Cb3guamF2YTogU3R1YmJlZC4KCSogamF2YXgvc3dpbmcvSkRpYWxvZy5qYXZhOiBSYW4gdGhyb3VnaCBqYWxvcHkKCXRvIGZpeCBpbmRlbnRhdGlvbi4KCShKRGlhbG9nKTogQ2FsbCBTd2luZ1V0aWxpdGllcycgZ2V0T3duZXJGcmFtZQoJZm9yIG51bGwgb3duZXJzLgoJKHNldExheW91dCk6IENoZWNrIGlzUm9vdFBhbmVDaGVja2luZ0VuYWJsZWQKCSogamF2YXgvc3dpbmcvSk9wdGlvblBhbmUuamF2YTogUmUtaW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmE6CgkoZ2V0T3duZXJGcmFtZSk6IFN0YXRpYyBtZXRob2QgdG8gZ3JhYiBhIGRlZmF1bHQKCW93bmVyIGZyYW1lIGZvciBEaWFsb2dzIHRoYXQgZG9uJ3Qgc3BlY2lmeSBvd25lcnMuCgkqIGphdmF4L3N3aW5nL2V2ZW50L1N3aW5nUHJvcGVydHlDaGFuZ2VTdXBwb3J0LmphdmE6CgkoZmlyZVByb3BlcnR5Q2hhbmdlKTogRml4IGVhcmx5IGV4aXQgY29uZGl0aW9uLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTGFiZWxVSS5qYXZhOgoJKHBhaW50KTogQXZvaWQgcGFpbnRpbmcgdGV4dCBpZiBpdCBpcyBudWxsCglvciBlbXB0eS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhOgoJSW1wbGVtZW50LgoKMjAwNC0wNS0wMyAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGUuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBqYXZheC9zd2luZy9KUG9wdXBNZW51LmphdmE6CglTdGFydGVkIGltcGxlbWVudGF0aW9uLgoJKiBqYXZheC9zd2luZy9KV2luZG93LmphdmEKCShKV2luZG93KTogY2FsbCBzdXBlcigpIGlmIHBhcmVudCBmb3Igd2luZG93CglpcyBub3Qgc3BlY2lmaWVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUG9wdXBNZW51VUkuamF2YToKCU5ldyBGaWxlLiBVSSBEZWxlZ2F0ZSBmb3IgSlBvcHVwTWVudS4KCjIwMDQtMDQtMzAgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkFwcGxldC5qYXZhOiBJbmRpY2F0ZWQgdGhhdCBKQXBwbGV0CglpbXBsZW1lbnRzIFJvb3RQYW5lQ29udGFpbmVyIGFuZCBtYWRlIG1ldGhvZCBvZiB0aGlzCglpbnRlcmZhY2UgcHVibGljLgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YTogRGl0dG8uCgkqIGphdmF4L3N3aW5nL0pXaW5kb3cuamF2YTogRGl0dG8uCgoyMDA0LTA0LTI5ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKG5hdGl2ZVNldEJvdW5kcyk6IENhbGwgZ2RrX3dpbmRvd19tb3ZlIGluIGFkZGl0aW9uIHRvCglndGtfd2luZG93X21vdmUuCgoJKiBqYXZhL2FwcGxldC9BcHBsZXQuamF2YSAocHJlZmVycmVkU2l6ZSk6IENhbGwgcGFyZW50J3MKCXByZWZlcnJlZFNpemUgaWYgdGhlIGFwcGxldCBzdHViIGlzIG51bGwuCgkobWluaW11bVNpemUpOiBMaWtld2lzZSBmb3IgcGFyZW50J3MgbWluaW11bVNpemUuCgoyMDA0LTA0LTI3ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pNZW51SXRlbS5qYXZhCgkoY3JlYXRlQWN0aW9uUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IEltcGxlbWVudGVkLgoJKHByb2Nlc3NNb3VzZUV2ZW50KTogRGl0dG8uCgkoZmlyZU1lbnVEcmFnTW91c2VFbnRlcmVkKTogRGl0dG8uCgkoZmlyZU1lbnVEcmFnTW91c2VFeGl0ZWQpOiBEaXR0by4KCShmaXJlTWVudURyYWdNb3VzZURyYWdnZWQpOiBEaXR0by4KCShmaXJlTWVudURyYWdNb3VzZVJlbGVhc2VkKTogRGl0dG8uCgkobWVudVNlbGVjdGlvbkNoYW5nZWQpOiBEaXR0by4KCShnZXRTdWJFbGVtZW50cyk6IERpdHRvLgoJKGdldENvbXBvbmVudCk6IERpdHRvLgoJKGFkZE1lbnVEcmFnTW91c2VMaXN0ZW5lcik6IERpdHRvLgoJKHJlbW92ZU1lbnVEcmFnTW91c2VMaXN0ZW5lcik6RGl0dG8uCgkoYWRkTWVudUtleUxpc3RlbmVyKTogRGl0dG8uCgkocmVtb3ZlTWVudUtleUxpc3RlbmVyKTogRGl0dG8uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmEKCShkb0NsaWNrKTogSW1sZW1lbnRlZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuTW91c2VJbnB1dEhhbmRsZXI6CglEb24ndCBoYW5kbGUgbW91c2UgZXZlbnRzIGhlcmUuIFBhc3MgdGhlbSB0bwoJTWVudVNlbGVjdGlvbk1hbmFnZXIuCgoyMDA0LTA0LTI2ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCVVzZWQgY29ycmVjdCB2ZXJzaW9uIG9mIGphbG9weSBjb25maWd1cmF0aW9uCglmaWxlIHRvIGZpeCBzdHlsZSBpbiB0aGUgZmlsZXMgYmVsb3cuCgoyMDA0LTA0LTI2ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDaGVja0JveE1lbnVJdGVtLmphdmE6CglGaXhlZCBzdHlsZSBhbmQgcmVtb3ZlZCB1bm5lY2Vzc2FyeSBjb21tZW50cy4KCSogamF2YXgvc3dpbmcvSk1lbnVJdGVtLmphdmE6IERpdHRvLgoJKiBqYXZheC9zd2luZy9KUmFkaW9CdXR0b25NZW51SXRlbS5qYXZhOiBEaXR0by4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0NoZWNrQm94TWVudUl0ZW1VSS5qYXZhOiBEaXR0by4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YTogRGl0dG8uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSYWRpb0J1dHRvbk1lbnVJdGVtVUkuamF2YTogRGl0dG8uCgoyMDA0LTA0LTIzICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jOiBDaGFuZ2UgRklYTUUgY29tbWVudCB0bwoJQy1zdHlsZS4KCgkqIGdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmM6IEFkZCBGSVhNRSBjb21tZW50LgoKCSogamF2YS9hd3QvQ29udGFpbmVyT3JkZXJGb2N1c1RyYXZlcnNhbFBvbGljeS5qYXZhCgkoZ2V0Q29tcG9uZW50QWZ0ZXIpOiBTdGFydCBmcm9tIGN1cnJlbnQgY29tcG9uZW50IGFuZCB3b3JrIHVwCgl0aGUgY29tcG9uZW50IGhpZXJhcmNoeSB1bnRpbCBhbiBhY2NlcHRhYmxlIGNvbXBvbmVudCBpcyBmb3VuZC4KCVN5bmNocm9uaXplIG9uIHRyZWUgbG9jay4KCShnZXRDb21wb25lbnRCZWZvcmUpOiBMaWtld2lzZS4KCjIwMDQtMDQtMjIgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmE6IFJlbW92ZQoJZm9jdXMtcmVsYXRlZCBkZWJ1Z2dpbmcgbWVzc2FnZXMuCgkqIGphdmEvYXd0L0RlZmF1bHRLZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhOiBMaWtld2lzZS4KCSogamF2YS9hd3QvRXZlbnREaXNwYXRjaFRocmVhZC5qYXZhOiBMaWtld2lzZS4KCSogamF2YS9hd3QvS2V5Ym9hcmRGb2N1c01hbmFnZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhOiBMaWtld2lzZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmM6IExpa2V3aXNlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jOiBMaWtld2lzZS4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jOiBDaGFuZ2UKCW5ldyBDKystc3R5bGUgY29tbWVudHMgdG8gQy1zdHlsZSBjb21tZW50cy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYzogTGlrZXdpc2UuCgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShoYW5kbGVFdmVudCk6IERpc3BhdGNoIGtleSBwcmVzcyBhbmQga2V5IHJlbGVhc2UgZXZlbnRzIHRvCgliYWNraW5nIHdpZGdldC4KCShyZXF1ZXN0Rm9jdXMpOiBQb3N0IGEgRk9DVVNfR0FJTkVEIGV2ZW50IHRvIHRoZSBldmVudCBxdWV1ZS4KCShndGtXaWRnZXRSZXF1ZXN0Rm9jdXMpOiBOZXcgbWV0aG9kLgoJKGd0a1dpZGdldERpc3BhdGNoS2V5RXZlbnQpOiBMaWtld2lzZS4KCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEgKHJlcXVlc3RGb2N1cywgcmVxdWVzdEZvY3VzKGJvb2xlYW4pLAoJcmVxdWVzdEZvY3VzSW5XaW5kb3csIHJlcXVlc3RGb2N1c0luV2luZG93KGJvb2xlYW4pLAoJZ2V0Rm9jdXNDeWNsZVJvb3RBbmNlc3RvciwgbmV4dEZvY3VzLCB0cmFuc2ZlckZvY3VzLAoJdHJhbnNmZXJGb2N1c0JhY2t3YXJkLCB0cmFuc2ZlckZvY3VzVXBDeWNsZSwgaGFzRm9jdXMsCglpc0ZvY3VzT3duZXIpOiBJbXBsZW1lbnQgYW5kIGRvY3VtZW50IGZvY3VzLWhhbmRsaW5nIG1ldGhvZHMuCgkoc2V0Rm9jdXNUcmF2ZXJzYWxLZXlzKTogSW5oZXJpdCBmb2N1cyB0cmF2ZXJzYWwga2V5cyB3aGVuCglrZXlzdHJva2VzIGFyZ3VtZW50IGlzIG51bGwuICBGaXggZm9jdXMtaGFuZGxpbmcgZG9jdW1lbnRhdGlvbgoJdGhyb3VnaG91dCBjbGFzcy4KCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEgKHNldEZvY3VzVHJhdmVyc2FsS2V5cywKCWdldEZvY3VzVHJhdmVyc2FsS2V5cywgYXJlRm9jdXNUcmF2ZXJzYWxLZXlzU2V0LAoJaXNGb2N1c0N5Y2xlUm9vdCwgc2V0Rm9jdXNUcmF2ZXJzYWxQb2xpY3ksCglnZXRGb2N1c1RyYXZlcnNhbFBvbGljeSwgaXNGb2N1c1RyYXZlcnNhbFBvbGljeVNldCwKCXNldEZvY3VzQ3ljbGVSb290LCBpc0ZvY3VzQ3ljbGVSb290LCB0cmFuc2ZlckZvY3VzRG93bkN5Y2xlKToKCUltcGxlbWVudCBhbmQgZG9jdW1lbnQgZm9jdXMtaGFuZGxpbmcgbWV0aG9kcy4KCSh0cmFuc2ZlckZvY3VzQmFja3dhcmQpOiBSZW1vdmUgbWV0aG9kLgoJKHJlYWRPYmplY3QsIHdyaXRlT2JqZWN0KTogSW1wbGVtZW50IGFuZCBkb2N1bWVudCBzZXJpYWxpemF0aW9uCgltZXRob2RzLgoJKiBqYXZhL2F3dC9Db250YWluZXJPcmRlckZvY3VzVHJhdmVyc2FsUG9saWN5LmphdmE6IEltcGxlbWVudAoJYW5kIGRvY3VtZW50LgoJKiBqYXZhL2F3dC9EZWZhdWx0Rm9jdXNUcmF2ZXJzYWxQb2xpY3kuamF2YTogSW1wbGVtZW50IGFuZAoJZG9jdW1lbnQuCgkqIGphdmEvYXd0L0RlZmF1bHRLZXlib2FyZEZvY3VzTWFuYWdlci5qYXZhOiBJbXBsZW1lbnQgYW5kCglwYXJ0aWFsbHkgZG9jdW1lbnQuCgkqIGphdmEvYXd0L0V2ZW50RGlzcGF0Y2hUaHJlYWQuamF2YSAocnVuKTogU2V0IGRlZmF1bHQga2V5Ym9hcmQKCWZvY3VzIG1hbmFnZXIuICBBdHRlbXB0IHRvIGRpc3BhdGNoIGVhY2ggZXZlbnQgdG8gdGhlIGtleWJvYXJkCglmb2N1cyBtYW5hZ2VyIGJlZm9yZSBub3JtYWwgZGlzcGF0Y2guCgkqIGphdmEvYXd0L0tleWJvYXJkRm9jdXNNYW5hZ2VyLmphdmE6IEltcGxlbWVudCBhbmQgcGFydGlhbGx5Cglkb2N1bWVudC4KCSogamF2YS9hd3QvV2luZG93LmphdmEgKFdpbmRvdyk6IFNldCBmb2N1c0N5Y2xlUm9vdCB0byB0cnVlLgoJKHNob3cpOiBGb2N1cyBpbml0aWFsIGNvbXBvbmVudCB3aGVuIHdpbmRvdyBpcyBzaG93biBmb3IgdGhlCglmaXJzdCB0aW1lLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jCgkocHJlX2V2ZW50X2hhbmRsZXIpOiBSZXBsYWNlIGNvbXBsZXgga2V5IHByZXNzIGFuZCBrZXkgcmVsZWFzZQoJbG9naWMgd2l0aCBzaW1wbGUgY2FsbGJhY2tzIGludG8gR3RrQ29tcG9uZW50UGVlci4KCSogam5pL2d0ay1wZWVyL2d0a3BlZXIuaDogRml4IEZPQ1VTX0dBSU5FRC9GT0NVU19MT1NUIHJldmVyc2FsLgoKMjAwNC0wNC0yMSAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9NZW51U2VsZWN0aW9uTWFuYWdlci5qYXZhCgkoY29tcG9uZW50Rm9yUG9pbnQpOiBBZGRlZCBuZXcgbWV0aG9kLgoJKGRlZmF1bHRNYW5hZ2VyKTogTmV3IE1ldGhvZC4gSW1wbGVtZW50ZWQuCgkoZ2V0U2VsZWN0ZWRQYXRoKTogRGl0dG8uCgkoaXNDb21wb25lbnRQYXJ0T2ZDdXJyZW50TWVudSk6IERpdHRvLgoJKHByb2Nlc3NLZXlFdmVudCk6IEFkZGVkIG5ldyBtZXRob2QuCgkocHJvY2Vzc01vdXNlRXZlbnQpOiBOZXcgTWV0aG9kLiBJbXBsZW1lbnRlZC4KCShzZXRTZWxlY3RlZFBhdGgpOiBEaXR0by4KCShnZXRQYXRoKTogRGl0dG8uCgoyMDA0LTA0LTE5ICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhOgoJKHJlbW92ZSk6IFNldCB0aGUgY29tcG9uZW50J3MgcGFyZW50IHRvIG51bGwuCgkoZ2V0Q29tcG9uZW50QXQpOiBJbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YToKCShKQ29tcG9uZW50KTogSW5pdGlhbGl6ZSBkZWZhdWx0TG9jYWxlCgkoZ2V0RGVmYXVsdExvY2FsZSk6IEltcGxlbWVudC4KCShzZXREZWZhdWx0TG9jYWxlKTogZGl0dG8uCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YToKCShKU2xpZGVyKTogRml4IGNhbGN1bGF0aW9uIG9mIHZhbHVlLgoJKiBqYXZheC9zd2luZy9KU3BsaXRQYW5lLmphdmE6IEltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmE6CglDaGFuZ2UgU3BsaXRQYW5lJ3MgZGVmYXVsdCBkaXZpZGVyIHNpemUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhOgoJKHBhaW50KTogUmVtb3ZlIHVudXNlZCBjb2RlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU3BsaXRQYW5lRGl2aWRlci5qYXZhOgoJQWRkZWQgY29tbWVudHMgYW5kIHJhbiB0aHJvdWdoIGphbG9weS4KCShzZXRCYXNpY1NwbGl0UGFuZVVJKTogR2V0IHJlZmVyZW5jZSB0byBoaWRkZW4gZGl2aWRlcgoJYW5kIHNldCB1cCBvbmUgdG91Y2ggYnV0dG9ucyBpZiBuZWNlc3NhcnkuCgkoc2V0Qm9yZGVyKTogRmlyZSBwcm9wZXJ0eUNoYW5nZUV2ZW50IG9ubHkgaWYKCWJvcmRlcnMgYXJlIGRpZmZlcmVudC4KCShnZXRQcmVmZXJyZWRTaXplKTogRGVmZXIgdG8gbGF5b3V0IG1hbmFnZXIuCgkocHJvcGVydHlDaGFuZ2UpOiBJbXBsZW1lbnQuCgkob25lVG91Y2hFeHBhbmRhYmxlQ2hhbmdlZCk6IGRpdHRvLgoJKGNyZWF0ZUxlZnRPbmVUb3VjaEJ1dHRvbik6IFVzZSBCYXNpY0Fycm93QnV0dG9uLgoJKGNyZWF0ZVJpZ2h0T25lVG91Y2hCdXR0b24pOiBkaXR0by4KCShtb3ZlRGl2aWRlclRvKTogTmV3IG1ldGhvZC4gTW92ZXMgdGhlIGRpdmlkZXIKCXRvIGEgc2V0IGxvY2F0aW9uIGJhc2VkIG9uIHRoZSBsYXN0IGRpdmlkZXIgbG9jYXRpb24uCgkoQmFzaWNTcGxpdFBhbmVEaXZpZGVyOjpNb3VzZUhhbmRsZXIpOiBJbXBsZW1lbnQuCgkoQmFzaWNTcGxpdFBhbmVEaXZpZGVyOjpPbmVUb3VjaEJ1dHRvbik6IFJlbW92ZWQuCgkoQmFzaWNTcGxpdFBhbmVEaXZpZGVyOjpEcmFnQ29udHJvbGxlcik6IEltcGxlbWVudC4KCShCYXNpY1NwbGl0UGFuZURpdmlkZXI6OlZlcnRpY2FsRHJhZ0NvbnRyb2xsZXIpOgoJZGl0dG8uCgkoQmFzaWNTcGxpdFBhbmVEaXZpZGVyOjpEaXZpZGVyTGF5b3V0KTogZGl0dG8uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTcGxpdFBhbmVVSS5qYXZhOiBSZWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RhYmJlZFBhbmVVSS5qYXZhOgoJKGNhbGN1bGF0ZUxheW91dEluZm8pOiBEb24ndCBzaG93IGNvbXBvbmVudCBpZiBpdCdzCgludWxsLgoJKHBhaW50VGFiKTogRml4IHRpdGxlIHBhaW50IGxvZ2ljLgoKMjAwNC0wNS0yNiAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJUFIgbGliZ2NqLzgzMjEKCSogamF2YS91dGlsL1NpbXBsZVRpbWVab25lLmphdmEgKHNlcmlhbFZlcnNpb25PblN0cmVhbSk6IEJ1bXAgdG8gMi4KCShzZXRTdGFydFJ1bGUsc2V0RW5kUnVsZSk6IERvbid0IHRha2UgYWJzIG9mIGRheSBudW1iZXIuCgkoZ2V0T2Zmc2V0KTogQ2xhcmlmeSBkb2NzLiAgQWRkIGFyZ3VtZW50IGNoZWNrcy4KCShpc0JlZm9yZSk6IFRha2UgYWJzIG9mIGRheSBudW1iZXIgaW4gRE9XX0xFX0RPTV9NT0RFLgoJKGVxdWFscyxoYXNTYW1lUnVsZXMsdG9TdHJpbmcscmVhZE9iamVjdCk6IFVzZSBzdGFydFRpbWVNb2RlIGFuZAoJZW5kVGltZU1vZGUuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLm1hdXZlL3hmYWlscwoJKGdudS50ZXN0bGV0LmphdmEudXRpbC5TaW1wbGVUaW1lWm9uZS5jaGVjazEyKTogWEZBSUwgdGVzdCAyMi4KCjIwMDQtMDUtMjEgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCglMYXlvdXQgaW50ZXJmYWNlcyBkdXJpbmcgcHJlcGFyYXRpb24sIG5vdCBpbml0aWFsaXphdGlvbi4KCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChpbml0aWFsaXplQ2xhc3MpOiBNb3ZlCglfSnZfTGF5b3V0SW50ZXJmYWNlTWV0aG9kcyBjYWxsLi4uCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X1ByZXBhcmVDb21waWxlZENsYXNzKTogdG8gaGVyZS4KCjIwMDQtMDUtMTkgIEFudGhvbnkgR3JlZW4gIDxncmVlbkBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBNYWtlZmlsZS5hbSAoYXd0X2phdmFfc291cmNlX2ZpbGVzKTogUmVtb3ZlIGphdmF4LnJtaSBhbmQKCWdudS5qYXZheC5ybWkgY29kZS4KCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIGphdmF4L3JtaS9DbGFzc0Rlc2MuamF2YSwgamF2YXgvcm1pL1N0dWJEZWxlZ2F0ZS5qYXZhLAoJamF2YXgvcm1pL1V0aWxEZWxlZ2F0ZS5qYXZhLCBqYXZheC9ybWkvU3R1Yi5qYXZhLAoJamF2YXgvcm1pL1V0aWwuamF2YSwgamF2YXgvcm1pL09iamVjdEltcGwuamF2YSwKCWphdmF4L3JtaS9TeXN0ZW1FeGNlcHRpb24uamF2YSwgamF2YXgvcm1pL1ZhbHVlSGFuZGxlci5qYXZhLAoJamF2YXgvcm1pL1BvcnRhYmxlUmVtb3RlT2JqZWN0RGVsZWdhdGUuamF2YSwgamF2YXgvcm1pL1RpZS5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9EZWxlZ2F0ZUZhY3RvcnkuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvR2V0RGVsZWdhdGVJbnN0YW5jZUV4Y2VwdGlvbi5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9Qb3J0YWJsZVJlbW90ZU9iamVjdERlbGVnYXRlSW1wbC5qYXZhLAoJZ251L2phdmF4L3JtaS9DT1JCQS9TdHViRGVsZWdhdGVJbXBsLmphdmEsCglnbnUvamF2YXgvcm1pL0NPUkJBL1V0aWxEZWxlZ2F0ZUltcGwuamF2YSwKCWdudS9qYXZheC9ybWkvQ09SQkEvVmFsdWVIYW5kbGVySW1wbC5qYXZhLAoJZ251L2phdmF4L3JtaS9Qb3J0YWJsZVNlcnZlci5qYXZhOiBSZW1vdmUgZmlsZXMuCgoyMDA0LTA1LTE5ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBEZWZpbmUgSkFWQV9FWFRfRElSUy4KCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIGphdmEvbGFuZy9uYXRSdW50aW1lLmNjIChpbnNlcnRTeXN0ZW1Qcm9wZXJ0aWVzKTogU2V0CglqYXZhLmV4dC5kaXJzIHByb3BlcnR5LgoKMjAwNC0wNS0xNiAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogamF2YS9pby9Xcml0ZXIuamF2YSAoV3JpdGVyKE9iamVjdCkpOiBDaGVjayBmb3IgbnVsbCBsb2NrIG9iamVjdC4KCjIwMDQtMDUtMTUgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGRvYy9jbmkuc2dtbDogUmVtb3ZlZCwgbWVyZ2VkIGludG8gZ2NqLnRleGkuCgoyMDA0LTA1LTE1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBNYWtlZmlsZS5hbSAob3JkaW5hcnlfamF2YV9zb3VyY2VfZmlsZXMpOiBBZGQgbmV3IGphdmF4LnByaW50CgljbGFzc2VzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA1LTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0RhdGVUaW1lQXRDb21wbGV0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9EYXRlVGltZUF0Q3JlYXRpb24uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9EYXRlVGltZUF0UHJvY2Vzc2luZy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0RvY3VtZW50TmFtZS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYkhvbGRVbnRpbC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYkltcHJlc3Npb25zQ29tcGxldGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTWVzc2FnZUZyb21PcGVyYXRvci5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYk5hbWUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JPcmlnaW5hdGluZ1VzZXJOYW1lLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iUHJpb3JpdHkuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JQcmlvcml0eVN1cHBvcnRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL051bWJlck9mSW50ZXJ2ZW5pbmdKb2JzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvT3V0cHV0RGV2aWNlQXNzaWduZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVySW5mby5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJMb2NhdGlvbi5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJNYWtlQW5kTW9kZWwuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVyTWVzc2FnZUZyb21PcGVyYXRvci5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJOYW1lLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUXVldWVkSm9iQ291bnQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9SZXF1ZXN0aW5nVXNlck5hbWUuamF2YToKCUZpeGVkIGphdmFkb2NzIGFsbCBvdmVyLgoKMjAwNC0wNS0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L0RvY0ZsYXZvci5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0NvbG9yU3VwcG9ydGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvQ29tcHJlc3Npb24uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Db3BpZXNTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9GaWRlbGl0eS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0ZpbmlzaGluZ3MuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JJbXByZXNzaW9uc1N1cHBvcnRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYktPY3RldHNTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JNZWRpYVNoZWV0c1N1cHBvcnRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYlNoZWV0cy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYlN0YXRlLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iU3RhdGVSZWFzb24uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JTdGF0ZVJlYXNvbnMuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9NZWRpYS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL01lZGlhU2l6ZU5hbWUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9NdWx0aXBsZURvY3VtZW50SGFuZGxpbmcuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9OdW1iZXJVcFN1cHBvcnRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL09yaWVudGF0aW9uUmVxdWVzdGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUERMT3ZlcnJpZGVTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QYWdlUmFuZ2VzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJlc2VudGF0aW9uRGlyZWN0aW9uLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRRdWFsaXR5LmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlcklzQWNjZXB0aW5nSm9icy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJNb3JlSW5mby5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJNb3JlSW5mb01hbnVmYWN0dXJlci5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJSZXNvbHV0aW9uLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlclN0YXRlLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlclN0YXRlUmVhc29uLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlclN0YXRlUmVhc29ucy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJVUkkuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9SZWZlcmVuY2VVcmlTY2hlbWVzU3VwcG9ydGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvU2V2ZXJpdHkuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9TaGVldENvbGxhdGUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9TaWRlcy5qYXZhOgoJQWRkZWQgc2VyaWFsVmVyc2lvblVJRCBhbmQgcmVtb3ZlZCBmaW5hbCBrZXl3b3JkIHdoZXJlIGl0IGRvZW5zdAoJYmVsb25nLgoKMjAwNC0wNS0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L1ByaW50U2VydmljZUxvb2t1cC5qYXZhOiBOZXcgZmlsZS4KCjIwMDQtMDUtMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9Eb2NGbGF2b3IuamF2YToKCUltcGxlbWVudGVkIGFsbCBmbGF2b3IgY2xhc3Nlcy4KCjIwMDQtMDUtMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvQ29sb3JTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Db21wcmVzc2lvbi5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0NvcGllc1N1cHBvcnRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0ZpZGVsaXR5LmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvRmluaXNoaW5ncy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYkltcHJlc3Npb25zU3VwcG9ydGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iS09jdGV0c1N1cHBvcnRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYk1lZGlhU2hlZXRzU3VwcG9ydGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iU2hlZXRzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iU3RhdGUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JTdGF0ZVJlYXNvbi5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYlN0YXRlUmVhc29ucy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL01lZGlhLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTWVkaWFTaXplTmFtZS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL011bHRpcGxlRG9jdW1lbnRIYW5kbGluZy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL051bWJlclVwU3VwcG9ydGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvT3JpZW50YXRpb25SZXF1ZXN0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QRExPdmVycmlkZVN1cHBvcnRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1BhZ2VSYW5nZXMuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmVzZW50YXRpb25EaXJlY3Rpb24uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludFF1YWxpdHkuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVySXNBY2NlcHRpbmdKb2JzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlck1vcmVJbmZvLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlck1vcmVJbmZvTWFudWZhY3R1cmVyLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlclJlc29sdXRpb24uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVyU3RhdGUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVyU3RhdGVSZWFzb24uamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9QcmludGVyU3RhdGVSZWFzb25zLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlclVSSS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1JlZmVyZW5jZVVyaVNjaGVtZXNTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9TZXZlcml0eS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1NoZWV0Q29sbGF0ZS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1NpZGVzLmphdmE6IE5ldyBmaWxlcy4KCjIwMDQtMDUtMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9Eb2MuamF2YQoJKGdldFByaW50RGF0YSk6IFRocm93cyBJT0V4Y2VwdGlvbi4KCShnZXRSZWFkZXJGb3JUZXh0KTogTGlrZXdpc2UuCgkoZ2V0U3RyZWFtRm9yQnl0ZXMpOiBMaWtld2lzZS4KCSogamF2YXgvcHJpbnQvRG9jRmxhdm9yLmphdmE6CglGaXhlZCBmaWxlbmFtZSBpbiBjb3B5cmlnaHQuCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBmaWVsZC4KCSogamF2YXgvcHJpbnQvU2VydmljZVVJRmFjdG9yeS5qYXZhOgoJTWFkZSBhbGwgY29uc3RhbnRzIGZpbmFsLgoJKiBqYXZheC9wcmludC9BdHRyaWJ1dGVFeGNlcHRpb24uamF2YQoJamF2YXgvcHJpbnQvTXVsdGlEb2MuamF2YQoJamF2YXgvcHJpbnQvTXVsdGlEb2NQcmludEpvYi5qYXZhCglqYXZheC9wcmludC9NdWx0aURvY1ByaW50U2VydmljZS5qYXZhCglqYXZheC9wcmludC9TdHJlYW1QcmludFNlcnZpY2UuamF2YQoJamF2YXgvcHJpbnQvVVJJRXhjZXB0aW9uLmphdmE6IE5ldyBmaWxlcy4KCSogamF2YXgvcHJpbnQvTWFrZWZpbGUuYW0KCShFWFRSQV9ESVNUKTogQWRkZWQgYWxsIG5ldyBmaWxlcy4KCjIwMDQtMDUtMTUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvQ29waWVzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvRGF0ZVRpbWVBdENvbXBsZXRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0RhdGVUaW1lQXRDcmVhdGlvbi5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0RhdGVUaW1lQXRQcm9jZXNzaW5nLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvRG9jdW1lbnROYW1lLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iSG9sZFVudGlsLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iSW1wcmVzc2lvbnMuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JJbXByZXNzaW9uc0NvbXBsZXRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYktPY3RldHMuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JLT2N0ZXRzUHJvY2Vzc2VkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTWVkaWFTaGVldHMuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JNZWRpYVNoZWV0c0NvbXBsZXRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYk1lc3NhZ2VGcm9tT3BlcmF0b3IuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JOYW1lLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iT3JpZ2luYXRpbmdVc2VyTmFtZS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYlByaW9yaXR5LmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iUHJpb3JpdHlTdXBwb3J0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9OdW1iZXJPZkRvY3VtZW50cy5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL051bWJlck9mSW50ZXJ2ZW5pbmdKb2JzLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvTnVtYmVyVXAuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9PdXRwdXREZXZpY2VBc3NpZ25lZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1BhZ2VzUGVyTWludXRlLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUGFnZXNQZXJNaW51dGVDb2xvci5qYXZhOgoJRml4ZWQgQHJldHVybiB0YWcgYWxsIG92ZXIuCgoyMDA0LTA1LTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL0F0dHJpYnV0ZVNldFV0aWxpdGllcy5qYXZhCgkodmVyaWZ5Q2F0ZWdvcnlGb3JWYWx1ZSk6IEZpeGVkIHR5cG8gaW4gamF2YWRvYy4KCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL0hhc2hBdHRyaWJ1dGVTZXQuamF2YQoJKGNvbnRhaW5zS2V5KTogRml4ZWQgQHJldHVybiB0YWcuCgkoY29tdGFpbnNWYWx1ZSk6IExpa2V3aXNlLgoJKGVxdWFscyk6IExpa2V3aXNlLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvSW50ZWdlclN5bnRheC5qYXZhCgkoZXF1YWxzKTogTGlrZXdpc2UuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9SZXNvbHV0aW9uU3ludGF4LmphdmEKCShlcXVhbHMpOiBMaWtld2lzZS4KCShnZXRDcm9zc0ZlZWRSZXNvbHV0aW9uKTogUmVtb3ZlZCB1bnVzZWQgY29kZS4KCShnZXRGZWVkUmVzb2x1dGlvbik6IExpa2V3aXNlLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvU2V0T2ZJbnRlZ2VyU3ludGF4LmphdmEKCShTZXRPZkludGVnZXJTeW50YXgpOiBGaXhlZCBIVE1MIGVudGl0aWVzIGluIGphdmFkb2MuCgkoZXF1YWxzKTogRml4ZWQgQHJldHVybiB0YWcuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9UZXh0U3ludGF4LmphdmEKCShUZXh0U3ludGF4KTogVGFrZSBsb2NhbGUgaW50byBhY2NvdW50LgoJKGhhc2hDb2RlKTogQmV0dGVyIGltcGxlbWVudGF0aW9uLgoKMjAwNC0wNS0xNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L0NhbmNlbGFibGVQcmludEpvYi5qYXZhLAoJamF2YXgvcHJpbnQvRG9jLmphdmEsCglqYXZheC9wcmludC9Eb2NGbGF2b3IuamF2YSwKCWphdmF4L3ByaW50L0RvY1ByaW50Sm9iLmphdmEsCglqYXZheC9wcmludC9GbGF2b3JFeGNlcHRpb24uamF2YSwKCWphdmF4L3ByaW50L1ByaW50RXhjZXB0aW9uLmphdmEsCglqYXZheC9wcmludC9QcmludFNlcnZpY2UuamF2YSwKCWphdmF4L3ByaW50L1NlcnZpY2VVSUZhY3RvcnkuamF2YTogTmV3IGZpbGVzLgoKMjAwNC0wNS0xNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L3JlZ2V4cC9DaGFySW5kZXhlZFJlYWRlci5qYXZhOiBSZW1vdmVkLgoJKiBnbnUvcmVnZXhwL1JFRmlsdGVyUmVhZGVyLmphdmE6IExpa2V3aXNlLgoJKiBnbnUvcmVnZXhwL1JFVG9rZW5Mb29rQWhlYWQuamF2YTogTGlrZXdpc2UuCgkqIE1ha2VmaWxlLmFtIChvcmRpbmFyeV9qYXZhX3NvdXJjZV9maWxlcyk6IFJlbW92ZSBhYm92ZSBjbGFzc2VzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA1LTE0ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBnbnUvYXd0L3hsaWIvWEdyYXBoaWNzLmphdmEgKGRyYXdJbWFnZSk6IFVzZSBgWE9mZlNjcmVlbkltYWdlJywKCW5vdCBgWEdyYXBoaWNzQ29uZmlndXJhdGlvbi5YT2ZmU2NyZWVuSW1hZ2UnLgoKMjAwNC0wNS0xNCAgU2NvdHQgR2lsYmVydHNvbiAgPHNjb3R0Z0BtYW50YXRlc3QuY29tPgoKCSogZ251L2F3dC94bGliL1hDYW52YXNQZWVyLmphdmEgKHNldFZpc2libGUpOiBJbXBsZW1lbnQgdW5tYXAuCgoyMDA0LTA1LTE0ICBTdGV2ZW4gQXVnYXJ0ICA8YXVnYXJ0QHdhdHNvbi5pYm0uY29tPgoKCSogaW5jbHVkZS9qbmkuaCAoX0p2X2Z1bmMpOiBSZW1vdmVkLgoJKHN0cnVjdCBKTklOYXRpdmVJbnRlcmZhY2UpOiBVc2UgYHZvaWQgKicgZm9yIHJlc2VydmVkIHNsb3RzLgoJKHN0cnVjdCBKTklJbnZva2VJbnRlcmZhY2UpOiBMaWtld2lzZS4KCjIwMDQtMDUtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvbmF0UGxhaW5Tb2NrZXRJbXBsUG9zaXguY2MKCShyZWFkKTogRml4ZWQgdHlwbyBpbiBleHByZXNzaW9uLgoKMjAwNC0wNS0xMCAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogdGVzdHN1aXRlL2xpYi9saWJqYXZhLmV4cCAobGliamF2YV9pbnZva2UpOiBBZGQgbmV3IGFyZ3VtZW50CglsZF9saWJyYXJ5X2FkZGl0aW9ucy4gQWRqdXN0IGFsbCBjYWxscyB0byBsaWJqYXZhX2ludm9rZSB0byBtYXRjaAoJdGhlIG5ldyBhcmd1bWVudC4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmpuaS9qbmkuZXhwIChnY2pfam5pX3Rlc3Rfb25lKTogUGFzcyBzdGRjKysKCXBhdGggdG8gY3h4ZmxhZ3NsaXN0LgoJUGFzcyBwYXRoIG9mIGxpYnN0ZGMrKyB0byBsaWJqYXZhX2ludm9rZS4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmphci9qYXIuZXhwIChnY2pfamFyX2luZXJwcmV0KTogQWRqdXN0CglsaWJqYXZhX2ludm9rZSBhcmd1bWVudHMuCgoyMDA0LTA1LTEwICBSYW5qaXQgTWF0aGV3ICA8cm1hdGhld0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmphY2tzL2phY2tzLnhmYWlsOiBVcGRhdGUgdG8gcmVmbGVjdCB0aGUgY3VycmVudAoJcmVhbGl0eS4KCjIwMDQtMDUtMDcgIFJhbmppdCBNYXRoZXcgIDxybWF0aGV3QGdtYWlsLmNvbT4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmpuaS9qbmkuZXhwIChnY2pfam5pX3Rlc3Rfb25lKTogRG9uJ3QgbGluayB0aGUKCW1haW4gYmluYXJ5IGFnYWluc3QgdGhlIEpOSSBzaGFyZWQgbGlicmFyeS4KCjIwMDQtMDUtMDcgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS91dGlsL1NpbXBsZVRpbWVab25lLmphdmEgKHN0YXJ0VGltZU1vZGUsIGVuZFRpbWVNb2RlLAogICAgICAgIFdBTExfVElNRSwgU1RBTkRBUkRfVElNRSwgVVRDX1RJTUUpOiBOZXcgbWVtYmVycy4KCShTaW1wbGVUaW1lWm9uZSk6IFR3ZWFrIGRvY3MuICBBZGQgbmV3IHZhcmlhdGlvbi4KCShzZXRTdGFydFJ1bGUsc2V0RW5kUnVsZSk6IEFkZCBuZXcgdmFyaWF0aW9ucy4gIFVzZQogICAgICAgIHN0YXJ0VGltZU1vZGUgYW5kIGVuZFRpbWVNb2RlLgoKMjAwNC0wNS0wNyAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL3V0aWwvQ2FsZW5kYXIuamF2YSAoZ2V0QWN0dWFsTWluaW11bSwKICAgICAgICBnZXRBY3R1YWxNYXhpbXVtKTogIFJlbW92ZSBhYnN0cmFjdC4gIEltcGxlbWVudC4KCjIwMDQtMDUtMDYgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCglSdW4gdGhlIGpuaSB0ZXN0cyB1c2luZyB0aGUgaW50ZXJwcmV0ZXIuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmpuaS9qbmkuZXhwIChnY2pfam5pX2NvbXBpbGVfY190b19zbyk6IEFwcGVuZAoJb3B0aW9uc19jeHggdG8gc2hhcmVkIGxpYiBjb21waWxlIGNvbW1hbmQuCgkoZ2NqX2puaV90ZXN0X29uZSk6IFBhc3MgY3h4ZmxhZ3MgdG8gZ2NqX2puaV9jb21waWxlX2NfdG9fc28sIHNvCgl0aGV5IGFyZSB1c2VkIHRvIGxpbmsgdGhlIHNoYXJlZCBsaWIsIG5vdCB0aGUgbWFpbiBiaW5hcnkuCglVc2UgbGliamF2YV9pbnZva2UgdG8gcnVuIGdpai4KCjIwMDQtMDUtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9MZXZlbC5qYXZhCgkocGFyc2UpOiBVc2UgPT0gaW5zdGVhZCBvZiBTdHJpbmcuZXF1YWxzKCkuCgoyMDA0LTA1LTA2ICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBkZWZpbmVjbGFzcy5jYyAoX0p2X0NsYXNzUmVhZGVyOjpwcmVwYXJlX3Bvb2xfZW50cnkpOiBVc2UKCXZlcmlmeV9maWVsZF9zaWduYXR1cmUgYW5kIHZlcmlmeV9tZXRob2Rfc2lnbmF0dXJlLCBub3QKCV9Kdl9WZXJpZnlGaWVsZFNpZ25hdHVyZSBhbmQgX0p2X1ZlcmlmeU1ldGhvZFNpZ250YXR1cmUuCgkoX0p2X0NsYXNzUmVhZGVyOjpoYW5kbGVGaWVsZCk6IExpa2V3aXNlLgoJKF9Kdl9DbGFzc1JlYWRlcjo6aGFuZGxlTWV0aG9kKTogTGlrZXdpc2UuCgoyMDA0LTA1LTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdGFibGUvVGFibGVDb2x1bW4uamF2YToKCVJlZm9ybWF0ZWQuCgoyMDA0LTA1LTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvaW1hZ2Vpby9zcGkvSW1hZ2VSZWFkZXJXcml0ZXJTcGkuamF2YQoJKEltYWdlUmVhZGVyV3JpdGVyU3BpKTogTWFkZSBpdCBwdWJsaWMuCgkqIGphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlSW5wdXRTdHJlYW0uamF2YToKCUNsZWFuIHVwIGltcG9ydHMuCgoyMDA0LTA1LTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmM6CglSZW1vdmVkIGVtcHR5IGxpbmUuCgoyMDA0LTA1LTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaGVja2JveEdyb3VwUGVlci5jLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtHZW5lcmljUGVlci5jOgoJTmV3IGZpbGVzLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NoZWNrYm94TWVudUl0ZW1QZWVyLmM6CglJbmNsdWRlIGdudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaGVja2JveE1lbnVJdGVtUGVlci5oLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NoZWNrYm94UGVlci5jOgoJTW92ZWQgR3RrQ2hlY2tib3hHcm91cFBlZXJfZGlzcG9zZSBhbmQgR3RrQ2hlY2tib3hHcm91cFBlZXJfcmVtb3ZlIHRvCgl0aGVpciBvd24gc291cmNlIGZpbGUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jOgoJTW92ZWQgR3RrR2VuZXJpY1BlZXJfZGlzcG9zZSBhbmQgR3RrQ29tcG9uZW50UGVlcl9yZXF1ZXN0Rm9jdXMgdG8KCXRoZWlyIG93biBzb3VyY2UgZmlsZS4gUmVtb3ZlZCBHdGtDb21wb25lbnRQZWVyX2d0a1dpZGdldFNldFVzaXplLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVQZWVyLmMKCShjcmVhdGUpOiBEZWZpbmUgdmFyaWFibGUgb24gdG9wIG9mIGZ1bmN0aW9uLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BvcHVwTWVudVBlZXIuYwoJKG1lbnVfcG9zKTogUHJvdG90eXBlZC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCShzZXRUaXRsZSk6IFJlbW92ZWQuCgkqIGpuaS9ndGstcGVlci9ndGhyZWFkLWpuaS5jCgkoZ2RrX3RocmVhZHNfd2FrZSk6IFJlbW92ZWQuCgkqIE1ha2VmaWxlLmFtIChndGtfY19zb3VyY2VfZmlsZXMpOiBBZGRlZCBuZXcgZmlsZXMKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hHcm91cFBlZXIuYyBhbmQKCWpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrR2VuZXJpY1BlZXIuYy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wNS0wNSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEuam5pL3ByMTE5NTEuamF2YTogQWRkIG1pc3NpbmcgU3lzdGVtLmxvYWRMaWJyYXJ5KCkKCWNhbGwuCgoyMDA0LTA1LTA1ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhOiBSZXBsYWNlIHNwZWNpYWwgSFRNTCBlbnRpdGllcyB3aXRoCglBU0NJSSBlcXVpdmFsZW50LgoJKiBqYXZheC9zd2luZy9EZWZhdWx0Qm91bmRlZFJhbmdlTW9kZWwuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RNb2RlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0xpc3RNb2RlbC5qYXZhOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvUG9wdXAuamF2YTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmE6IExpa2V3aXNlLgoKMjAwNC0wNS0wNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEsCglqYXZheC9zd2luZy9BY3Rpb25NYXAuamF2YSwKCWphdmF4L3N3aW5nL0RlZmF1bHRCdXR0b25Nb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvRGVmYXVsdExpc3RNb2RlbC5qYXZhLAoJamF2YXgvc3dpbmcvSW1hZ2VJY29uLmphdmEsCglqYXZheC9zd2luZy9KQ29tYm9Cb3guamF2YSwKCWphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YSwKCWphdmF4L3N3aW5nL0pGcmFtZS5qYXZhLAoJamF2YXgvc3dpbmcvSkludGVybmFsRnJhbWUuamF2YSwKCWphdmF4L3N3aW5nL0pNZW51QmFyLmphdmEsCglqYXZheC9zd2luZy9KTWVudUl0ZW0uamF2YSwKCWphdmF4L3N3aW5nL0pPcHRpb25QYW5lLmphdmEsCglqYXZheC9zd2luZy9KUHJvZ3Jlc3NCYXIuamF2YSwKCWphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvSlNjcm9sbEJhci5qYXZhLAoJamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YSwKCWphdmF4L3N3aW5nL0pTZXBhcmF0b3IuamF2YSwKCWphdmF4L3N3aW5nL0pTbGlkZXIuamF2YSwKCWphdmF4L3N3aW5nL0pUYWJiZWRQYW5lLmphdmEsCglqYXZheC9zd2luZy9KVGFibGUuamF2YSwKCWphdmF4L3N3aW5nL0pUZXh0RmllbGQuamF2YSwKCWphdmF4L3N3aW5nL0pUb29sQmFyLmphdmEsCglqYXZheC9zd2luZy9KVG9vbFRpcC5qYXZhLAoJamF2YXgvc3dpbmcvSlRyZWUuamF2YSwKCWphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhLAoJamF2YXgvc3dpbmcvSldpbmRvdy5qYXZhLAoJamF2YXgvc3dpbmcvS2V5U3Ryb2tlLmphdmEsCglqYXZheC9zd2luZy9Mb29rQW5kRmVlbC5qYXZhLAoJamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YSwKCWphdmF4L3N3aW5nL1RpbWVyLmphdmEsCglqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhLAoJamF2YXgvc3dpbmcvVUlEZWZhdWx0cy5qYXZhLAoJamF2YXgvc3dpbmcvYm9yZGVyL1RpdGxlZEJvcmRlci5qYXZhLAoJamF2YXgvc3dpbmcvZmlsZWNob29zZXIvRmlsZVN5c3RlbVZpZXcuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25MaXN0ZW5lci5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hNZW51SXRlbVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljR3JhcGhpY3NVdGlscy5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xhYmVsVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUmFkaW9CdXR0b25NZW51SXRlbVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUm9vdFBhbmVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbEJhclVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsUGFuZVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2xpZGVyVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUb2dnbGVCdXR0b25VSS5qYXZhLAoJamF2YXgvc3dpbmcvdGFibGUvSlRhYmxlSGVhZGVyLmphdmEsCglqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L1N0eWxlZEVkaXRvcktpdC5qYXZhLAoJamF2YXgvc3dpbmcvdHJlZS9EZWZhdWx0VHJlZUNlbGxFZGl0b3IuamF2YToKCUNsZWFuZWQgdXAgaW1wb3J0cy4KCjIwMDQtMDUtMDUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvcHJlZnMvQWJzdHJhY3RQcmVmZXJlbmNlcy5qYXZhCgkoQWJzdHJhY3RQcmVmZXJlbmNlcyk6IEFkZGVkIHBhcmVudGhlc2lzIGZvciBjbGFyaXR5LgoJQ2xvc2VzIGNsYXNzcGF0aCBidWcgIzc5NDAuCgoyMDA0LTA1LTA1ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZheC9uYW1pbmcvQ29tcG91bmROYW1lLmphdmEgKGVuZHNXaXRoKTogTG9vayBhdCBjb3JyZWN0CgllbGVtZW50IG9mIHNvdXJjZSBuYW1lLgoKMjAwNC0wNS0wNSAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCVJlcG9ydGVkIGJ5IGYuaGFlZ2xzcGVyZ2VyQGdteC5kZSBbY2xhc3NwYXRoIHBhdGNoICMyNDg1XQoJKiBqYXZhL3V0aWwvSGFzaE1hcC5qYXZhIChyZWhhc2gpOiBBZGQgZW50cnkgYXQgc3RhcnQgb2YgYnVja2V0LgoKMjAwNC0wNS0wNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS9pby9CdWZmZXJlZFJlYWRlci5qYXZhIChza2lwKTogUmVtb3ZlZCB1bnVzZWQKCXZhcmlhYmxlLgoKMjAwNC0wNS0wNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L0ZpbGVEaWFsb2cuamF2YTogSW1wb3J0IGphdmEuaW8uU2VyaWFsaXphYmxlIGV4cGxpY2l0bHkuCgoyMDA0LTA1LTA1ICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBqYXZhL3RleHQvQXR0cmlidXRlZFN0cmluZy5qYXZhLAoJamF2YS90ZXh0L0F0dHJpYnV0ZWRTdHJpbmdJdGVyYXRvci5qYXZhLAoJamF2YS90ZXh0L0NvbGxhdG9yLmphdmEsCglqYXZhL3RleHQvRGVjaW1hbEZvcm1hdFN5bWJvbHMuamF2YSwKCWphdmEvdGV4dC9OdW1iZXJGb3JtYXQuamF2YSwKCWphdmEvdGV4dC9SdWxlQmFzZWRDb2xsYXRvci5qYXZhOgoJQ2xlYW5lZCB1cCBpbXBvcnRzLgoKMjAwNC0wNS0wNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogamF2YS90ZXh0L0Zvcm1hdC5qYXZhOiBDbGVhbmVkIHVwIGltcG9ydHMuCgkqIGphdmEvdGV4dC9EZWNpbWFsRm9ybWF0LmphdmE6IENsZWFuZWQgdXAgaW1wb3J0cy4KCSogamF2YS9zZWN1cml0eS9TZWN1cmVSYW5kb20uamF2YTogQ2xlYW5lZCB1cCBpbXBvcnRzLgoJKFNlY3VyZVJhbmRvbSk6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlLgoJKiBqYXZhL3NlY3VyaXR5L1VucmVzb2x2ZWRQZXJtaXNzaW9uLmphdmE6IENsZWFuZWQgdXAgaW1wb3J0cy4KCSogamF2YS91dGlsL0RhdGUuamF2YSAocGFyc2UpOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZS4KCSogamF2YS91dGlsL1Jlc291cmNlQnVuZGxlLmphdmE6IENsZWFuZWQgdXAgaW1wb3J0cy4KCShnZXRCdW5kbGUpOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZS4KCSh0cnlCdW5kbGUpOiBMaWtld2lzZS4KCSogamF2YS91dGlsL3JlZ2V4L1BhdHRlcm4uamF2YSAoUGF0dGVybik6IFJlbW92ZWQgdW51c2VkIGNvbnN0cnVjdG9yLgoKMjAwNC0wNS0wNSAgR3VpbGhlbSBMYXZhdXggPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YToKCShmb3JtYXRXaXRoQXR0cmlidXRlKTogTmV3IG1ldGhvZC4gSXQgaW1wbGVtZW50cwoJdGhlIGZvcm1hdHRpbmcgcHJvY2VzcyB3aXRoIGF0dHJpYnV0ZXMuCgkoZm9ybWF0KTogVXNlIGZvcm1hdFdpdGhBdHRyaWJ1dGUuCgkoZm9ybWF0VG9DaGFyYWN0ZXJJdGVyYXRvcik6IE5ldyBtZXRob2QuIFVzZQoJZm9ybWF0V2l0aEF0dHJpYnV0ZS4KCjIwMDQtMDUtMDUgIEd1aWxoZW0gTGF2YXV4IDxndWlsaGVtQGthZmZlLm9yZz4KCgkqIGphdmEvdGV4dC9NZXNzYWdlRm9ybWF0LmphdmE6CgkoY2xhc3MgRmllbGQpOiBOZXcgY2xhc3MuCgkoZm9ybWF0VG9DaGFyYWN0ZXJJdGVyYXRvcik6IE5ldyBtZXRob2QuCgkoZm9ybWF0KTogVXNlIGZvcm1hdEludGVybmFsIG5vdy4KCShmb3JtYXRJbnRlcm5hbCk6IE5ldyBtZXRob2QuIFN0cmluZyBmb3JtYXR0ZXIgc2hvdWxkCgliZSBkb25lIGhlcmUgKHdpdGggYXR0cmlidXRlcykuIEF0dHJpYnV0ZXMgbWVyZ2luZyBzdXBwb3J0ZWQuCgkocGFyc2UpOiBNb3JlIGRvY3VtZW50YXRpb24uCgkoZ2V0Rm9ybWF0c0J5QXJndW1lbnRJbmRleCk6IE5ldyBtZXRob2QuCgkoc2V0Rm9ybWF0QnlBcmd1bWVudEluZGV4KTogTmV3IG1ldGhvZC4KCShzZXRGb3JtYXRzQnlBcmd1bWVudEluZGV4KTogTmV3IG1ldGhvZC4KCjIwMDQtMDUtMDUgIEd1aWxoZW0gTGF2YXV4IDxndWlsaGVtQGthZmZlLm9yZz4KCgkqIGphdmEvdGV4dC9EZWNpbWFsRm9ybWF0LmphdmEKCShNQVhJTVVNX0lOVEVHRVJfRElHSVRTKTogTmV3IGNvbnN0YW50IHRvIGtlZXAgdGhlIG51bWVyaWMgdmFsdWUgMzA5LgoJKGFwcGx5UGF0dGVybldpdGhTeW1ib2xzKTogVXNlIE1BWElNVU1fSU5URUdFUl9ESUdJVFMuCgkocGFyc2UpOiBGaXhlZCBoYW5kbGluZyBvZiBleHBvbmVudGlhdGlvbiBub3RhdGlvbiBhbmQgZ3JvdXBpbmcuCgoyMDA0LTA1LTA1ICBHdWlsaGVtIExhdmF1eCA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBqYXZhL3RleHQvRGVjaW1hbEZvcm1hdC5qYXZhCgkoc2NhbkZpeCk6IEJ1aWxkIGF0dHJpYnV0ZSBhcnJheS4gRml4ZWQgZXJyb3IgcmVwb3J0aW5nLgoJKGFwcGx5UGF0dGVybldpdGhTeW1ib2xzKTogU3RvcmUgYXR0cmlidXRlcyBmb3IgdGhlIHByZWZpeCBhbmQKCXN1ZmZpeC4KCShmb3JtYXRJbnRlcm5hbCk6IE5ldyBtZXRob2QuIENoYW5nZWQgdGhlIHdheSB0aGUgc3RyaW5nIGlzCgljb21wdXRlZC4gSW1wbGVtZW50ZWQgYXR0cmlidXRlcy4gQ2xlYW50IHVwIHJvdW5kaW5nIGluCglleHBvbmVudGlhbCBub3RhdGlvbi4KCShmb3JtYXQpOiBVc2UgZm9ybWF0SW50ZXJuYWwuCgkoZm9ybWF0VG9DaGFyYWN0ZXJJdGVyYXRvcik6IE5ldyBtZXRob2QuCgkoZXhwb25lbnRSb3VuZCwgbmVnYXRpdmVQcmVmaXhSYW5nZXMsIHBvc2l0aXZlUHJlZml4UmFuZ2VzLAoJbmVnYXRpdmVQcmVmaXhBdHRycywgcG9zaXRpdmVQcmVmaXhBdHRycywgbmVnYXRpdmVTdWZmaXhSYW5nZXMsCglwb3NpdGl2ZVN1ZmZpeFJhbmdlcywgbmVnYXRpdmVTdWZmaXhBdHRycywgcG9zaXRpdmVTdWZmaXhBdHRycyk6CglOZXcgZmllbGRzLgoKMjAwNC0wNS0wNCAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YS9zZWN1cml0eS9pbnRlcmZhY2VzL0RTQUtleVBhaXJHZW5lcmF0b3IuamF2YSwKCWphdmEvc2VjdXJpdHkvaW50ZXJmYWNlcy9EU0FQcml2YXRlS2V5LmphdmEsCglqYXZhL3NlY3VyaXR5L2ludGVyZmFjZXMvRFNBUHVibGljS2V5LmphdmEsCglqYXZhL3NlY3VyaXR5L2ludGVyZmFjZXMvUlNBUHJpdmF0ZUtleS5qYXZhLAoJamF2YS9zZWN1cml0eS9pbnRlcmZhY2VzL1JTQVB1YmxpY0tleS5qYXZhOgoJQ2xlYW5lZCB1cCBpbXBvcnRzLgoKMjAwNC0wNS0wNCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmlvL0J5dGVCdWZmZXIuamF2YSwKCWphdmEvbmlvL0NoYXJCdWZmZXIuamF2YSwKCWphdmEvbmlvL0RvdWJsZUJ1ZmZlci5qYXZhLAoJamF2YS9uaW8vRmxvYXRCdWZmZXIuamF2YSwKCWphdmEvbmlvL0ludEJ1ZmZlci5qYXZhLAoJamF2YS9uaW8vTG9uZ0J1ZmZlci5qYXZhLAoJamF2YS9uaW8vU2hvcnRCdWZmZXIuamF2YToKCShjb21wYXJlVG8pOiBGaXhlZCBib2d1cyBpbXBsZW1lbnRhdGlvbiBpbiBhbGwgYnVmZmVyIGNsYXNzZXMuCgoyMDA0LTA1LTA0ICBJbmdvIFByb2V0ZWwgIDxwcm9ldGVsQGFpY2FzLmNvbT4KCgkqIGphdmEvYXd0L2ltYWdlL0NvbG9yTW9kZWwuamF2YSAoZ2V0UkdCZGVmYXVsdCk6IERlZmF1bHQgQ29sb3JNb2RlbCBoYXMKICAgICAgICAzMiBiaXQgcGl4ZWxzIG5vdCA4IGJpdCBwaXhlbHMuCgkoaXNDb21wYXRpYmxlUmFzdGVyKTogQWRkZWQgamF2YWRvYyBjb21tZW50LgoKMjAwNC0wNS0wNCAgSW5nbyBQcm9ldGVsICA8cHJvZXRlbEBhaWNhcy5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9Db21wb25lbnRTYW1wbGVNb2RlbC5qYXZhIChzZXREYXRhU2FtcGxlcyk6RG8gbm90IHJlc2V0CglzY2FubGluZSBzdHJpZGUuCgoyMDA0LTA1LTA0ICBJbmdvIFByb2V0ZWwgIDxwcm9ldGVsQGFpY2FzLmNvbT4KCgkqIGphdmEvYXd0L0NvbG9yUGFpbnRDb250ZXh0LmphdmEgKDxpbml0Pik6IEFkZGVkIENvbG9yTW9kZWwgdG8gc2lnbmF0dXJlLgoJKGdldENvbG9yTW9kZWwpOiBSZXR1cm4gdGhlIGFjdHVhbCBjb2xvciBtb2RlbC4KCShnZXRSYXN0ZXIpOiBJbXBsZW1lbnRlZC4KCShDb2xvclJhc3Rlcik6IE5ldyBpbm5lciBjbGFzcy4KCSogamF2YS9hd3QvU3lzdGVtQ29sb3IuamF2YSAoY3JlYXRlQ29udGV4dCk6IFVzZSBDb2xvck1vZGVsIHdoZW4gY3JlYXRpbmcKCWEgUGFpbnRDb250ZXh0LgoJKiBqYXZhL2F3dC9Db2xvci5qYXZhICg8aW5pdD4pOiBNYWtlIGV4Y2VwdGlvbiBtb3JlIHZlcmJvc2UuCgkoY3JlYXRlQ29udGV4dCk6IFVzZSBDb2xvck1vZGVsIHdoZW4gY3JlYXRpbmcgYSBQYWludENvbnRleHQuCgoyMDA0LTA1LTA0ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvdGV4dC9DaGFyYWN0ZXJCcmVha0l0ZXJhdG9yLmphdmEKCShwcmV2aW91cyk6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlLgoKMjAwNC0wNS0wNCAgR3VpbGhlbSBMYXZhdXggPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogZ251L2phdmEvdGV4dC9Gb3JtYXRCdWZmZXIuamF2YSwKCWdudS9qYXZhL3RleHQvQXR0cmlidXRlZEZvcm1hdEJ1ZmZlci5qYXZhLAoJZ251L2phdmEvdGV4dC9TdHJpbmdGb3JtYXRCdWZmZXIuamF2YTogTmV3IGNsYXNzZXMgdG8gaW1wbGVtZW50CglhdHRyaWJ1dGVkIGl0ZXJhdG9ycyBpbiBqYXZhLnRleHQuCgkqIGdudS9qYXZhL3RleHQvRm9ybWF0Q2hhcmFjdGVySXRlcmF0b3IuamF2YTogTW92ZWQKCWZyb20gamF2YS90ZXh0IGFzIGl0IGlzIGFuIGludGVybmFsIGNsYXNzLgoJKiBqYXZhL3RleHQvRm9ybWF0Q2hhcmFjdGVySXRlcmF0b3IuamF2YTogUmVtb3ZlZC4KCSogamF2YS90ZXh0L0Zvcm1hdC5qYXZhOgoJSW1wb3J0IGdudS5qYXZhLnRleHQuRm9ybWF0Q2hhcmFjdGVySXRlcmF0b3IuCgkqIE1ha2VmaWxlLmFtIChqYXZhX3NvdXJjZV9maWxlcyk6IEFkZGVkIG5ldyBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKCjIwMDQtMDUtMDQgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGdudS9qYXZhL25pby9jaGFubmVscy9GaWxlQ2hhbm5lbEltcGwuamF2YSAoZmluYWxpemUpOiBOZXcgbWV0aG9kLgoKMjAwNC0wNS0wMyAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogTWFrZWZpbGUuYW0gKFdBUk5JTkdTKTogUmVwbGFjZSAtVyB3aXRoIHRoZSBtb3JlIHNwZWFraW5nIC1XZXh0cmEuCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoKMjAwNC0wNS0wMyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvc2VjdXJpdHkvZGVyL0RFUlJlYWRlci5qYXZhOiBDYWxsIHN0YXRpYyBtZXRob2RzIHN0YXRpY2x5LgoJKiBqYXZhL2F3dC9UZXh0Q29tcG9uZW50LmphdmEgKHNlbGVjdCk6IFVzZSBzZWxlY3Rpb25FbmQgcGFyYW1ldGVyLgoJKiBqYXZhL25ldC9VUkwuamF2YQoJKHNldChTdHJpbmcsIFN0cmluZywgaW50LCBTdHJpbmcsIFN0cmluZywgU3RyaW5nLCBTdHJpbmcsIFN0cmluZykpOgoJQXNzaWduIHRoaXMuZmlsZSB0byBwYXRoIG9yIHBhdGggKyAiPyIgKyBxdWVyeS4KCSogamF2YS91dGlsL0FycmF5cy5qYXZhOiBDYWxsIHN0YXRpYyBtZXRob2RzIHN0YXRpY2x5LgoJKiBqYXZhL3V0aWwvemlwL1ppcEVudHJ5LmphdmE6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQXJyb3dCdXR0b24uamF2YSAoc2V0RGlyZWN0aW9uKTogQXNzaWduCglkaXIgdG8gdGhpcy5kaXJlY3Rpb24uCgkqIGphdmF4L3N3aW5nL3RhYmxlL0RlZmF1bHRUYWJsZUNlbGxSZW5kZXJlci5qYXZhIChub0ZvY3VzQm9yZGVyKToKCUFzc2lnbiBzdGF0aWMgZmllbGQgb25seSBvbmNlLgoJKERlZmF1bHRUYWJsZUNlbGxSZW5kZXJlcik6IERvbid0IHJlYXNzaWduIG5vRm9jdXNCb3JkZXIgZWFjaCB0aW1lLgoKMjAwNC0wNS0wMyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1RleHRBcmVhUGVlci5qYXZhIChtaW5pbXVtU2l6ZSk6IFJlbW92ZWQKCXVudXNlZCB2YXJpYWJsZXMgaFNjcm9sbGJhckhlaWdodCBhbmQgdlNjcm9sbGJhcldpZHRoLgoJKHByZWZlcnJlZFNpemUpOiBMaWtld2lzZS4KCSogZ251L2phdmEvc2VjdXJpdHkvcHJvdmlkZXIvRFNBUGFyYW1ldGVycy5qYXZhIChlbmdpbmVUb1N0cmluZyk6CglSZW1vdmVkIHVudXNlZCBjYWxsIHRvIFN5c3RlbS5nZXRQcm9wZXJ0eSgibGluZS5zZXBlcmF0b3IiKTsKCSogamF2YS9zZWN1cml0eS9TZWN1cml0eS5qYXZhIChsb2FkUHJvdmlkZXJzKTogUmV0dXJuIHJlc3VsdC4KCjIwMDQtMDUtMDMgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvbmV0L1VSTFN0cmVhbUhhbmRsZXIuamF2YSAodG9FeHRlcm5hbEZvcm0pOiBSZW1vdmVkCgl1bnVzZWQgdmFyaWFibGVzLgoJdW51c2VkIGNvbnN0cnVjdG9yLgoJKiBqYXZhL21hdGgvQmlnRGVjaW1hbC5qYXZhIChkaXZpZGUpOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZS4KCSogamF2YS9sYW5nL1Rocm93YWJsZS5qYXZhOiBDbGVhbmVkIHVwIGltcG9ydHMuCgkqIGphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhOiBDbGVhbmVkIHVwIGltcG9ydHMuCgkqIGphdmEvaW8vRmlsZVBlcm1pc3Npb24uamF2YSAoaW1wbGllcyk6IFJlbW92ZWQgdW51c2VkCgl2YXJpYWJsZS4KCSogamF2YS9hd3QvVGV4dENvbXBvbmVudC5qYXZhOiBSZW1vdmVkIHVudXNlZCBpbXBvcnQuCgkqIGdudS9qYXZhL3V0aWwvcHJlZnMvTm9kZVJlYWRlci5qYXZhOiBDbGVhbmVkIHVwIGltcG9ydHMuCgkqIGdudS9qYXZhL3V0aWwvRG91YmxlRW51bWVyYXRpb24uamF2YTogUmVtb3ZlZCB1bnVzZWQgaW1wb3J0LgoJKiBnbnUvamF2YS90ZXh0L1dvcmRCcmVha0l0ZXJhdG9yLmphdmE6IFJlbW92ZWQgdW51c2VkIGltcG9ydC4KCSogZ251L2phdmEvdGV4dC9TZW50ZW5jZUJyZWFrSXRlcmF0b3IuamF2YTogUmVtb3ZlZCB1bnVzZWQKCWltcG9ydC4KCSogZ251L2phdmEvdGV4dC9MaW5lQnJlYWtJdGVyYXRvci5qYXZhOiBSZW1vdmVkIHVudXNlZCBpbXBvcnQuCgkqIGdudS9qYXZhL3RleHQvQ2hhcmFjdGVyQnJlYWtJdGVyYXRvci5qYXZhOiBSZW1vdmVkCgl1bnVzZWQgaW1wb3J0LgoJKiBnbnUvamF2YS9zZWN1cml0eS9wcm92aWRlci9EU0FLZXlQYWlyR2VuZXJhdG9yLmphdmE6CglDbGVhbmVkIHVwIGltcG9ydHMuCgkqIGdudS9qYXZhL3NlY3VyaXR5L2Rlci9ERVJXcml0ZXIuamF2YTogQ2xlYW5lZCB1cCBpbXBvcnRzLgoJKiBnbnUvamF2YS9uaW8vY2hhcnNldC9VVEZfMTZEZWNvZGVyLmphdmEgKHB1dCk6IFJlbW92ZWQKCXVudXNlZCBtZXRob2QuCgkqIGdudS9qYXZhL25pby9Tb2NrZXRDaGFubmVsSW1wbC5qYXZhOiBDbGVhbmVkIHVwIGltcG9ydHMuCgkqIGdudS9qYXZhL25pby9GaWxlTG9ja0ltcGwuamF2YTogQ2xlYW5lZCB1cCBpbXBvcnRzLgoJKiBnbnUvamF2YS9pby9CYXNlNjRJbnB1dFN0cmVhbS5qYXZhOiBDbGVhbmVkIHVwIGltcG9ydHMuCgkqIGdudS9qYXZhL2JlYW5zL2luZm8vQ29tcG9uZW50QmVhbkluZm8uamF2YTogQ2xlYW5lZCB1cCBpbXBvcnRzLgoJKiBnbnUvY2xhc3NwYXRoL1NlcnZpY2VGYWN0b3J5LmphdmE6IENsZWFuZWQgdXAgaW1wb3J0cy4KCShsb29rdXBQcm92aWRlcnMpOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZS4KCShsb2FkTmV4dFNlcnZpY2VQcm92aWRlcik6IExpa2V3aXNlLgoJKiBnbnUvamF2YS9iZWFucy9CZWFuSW5mb0VtYnJ5by5qYXZhOiBDbGVhbmVkIHVwIGltcG9ydHMuCgoyMDA0LTA1LTAzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCUZpeGVzIFBSIGxpYmdjai8xNDY5NToKCSogamF2YS9uZXQvTmV0d29ya0ludGVyZmFjZS5qYXZhCgkoZ2V0QnlOYW1lKTogUmV0dXJuIG51bGwgd2hlbiBubyBpbnRlcmZhY2Ugd2FzIGZvdW5kLgoKMjAwNC0wNC0zMCAgUmFuaml0IE1hdGhldyAgPHJtYXRoZXdAaG90bWFpbC5jb20+CiAgICAgICAgICAgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmpuaS9qbmkuZXhwIChnY2pfam5pX2NvbXBpbGVfY190b19zbyk6IFVzZQoJYWRkaXRpb25hbCBvcHRpb24gIi1XbWlzc2luZy1wcm90b3R5cGVzIiBmb3IgY29tcGlsaW5nIEMgc291cmNlcy4KCVByaW50IGFjdHVhbCBmaWxlbmFtZSBmb3IgcGFzcy9mYWlsIHJhdGhlciB0aGFuICRuYW1lLmMuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmpuaS9QUjE1MTMzLmphdmE6IE5ldyB0ZXN0Y2FzZSBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5qbmkvUFIxNTEzMy5jOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL2xpYmphdmEuam5pL1BSMTUxMzMub3V0OiBMaWtld2lzZS4KCjIwMDQtMDQtMzAgIFJvZ2VyIFNheWxlICA8cm9nZXJAZXllc29wZW4uY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9NYXRoQnVpbHRpbi5qYXZhOiBBZGQgdGVzdHMgZm9yIGFjb3MsIGFzaW4sCgljZWlsIGFuZCBmbG9vci4KCjIwMDQtMDQtMjUgIFJhbmppdCBNYXRoZXcgIDxybWF0aGV3QGhvdG1haWwuY29tPgoKCSogdGVzdHN1aXRlL2xpYmphdmEuamFja3MvamFja3MuZXhwIChnY2pfamFja3Nfd3JpdGUpOiBFeHBsaWNpdGx5CglsaW1pdCB0aGUgbWF4aW11bSBoZWFwIHNpemUgdG8gYXZvaWQgdW5uZWNlc3NhcnkgdGhyYXNoaW5nLgoKMjAwNC0wNC0yNCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBqYXZhL3RleHQvQ29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yLmphdmEgKHJlc2V0KTogUmVzZXQKICAgICAgICBsb29rYWhlYWQgdmFyaWFibGVzLgoKMjAwNC0wNC0yMyAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogam5pL2NsYXNzcGF0aC9qY2wuYzogQ2hhbmdlZCBDKysgY29tbWVudHMgaW50byBDIGNvbW1lbnRzLgoKMjAwNC0wNC0yMyBEYWxpYm9yIFRvcGljIDxyb2JpbGFkQGthZmZlLm9yZz4KCgkqIGphdmEvc3FsL0RyaXZlck1hbmFnZXIuamF2YToKCUNsZWFuZWQgdXAgaW1wb3J0cy4KCjIwMDQtMDQtMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9VUkwuamF2YQoJKGhhc2hjb2RlKTogRG9uJ3QgaW5pdGlhbGl6ZSB3aXRoIGRlZmF1bHQgdmFsdWUgZXhwbGljaXRlbHkuCgkoZ2V0Q29udGVudCk6IFJlbW92ZWQgcmVkdW5kYW50ICJmaW5hbCIga2V5d29yZC4KCShvcGVuU3RyZWFtKTogTGlrZXdpc2UuCgkoZ2V0VVJMU3RyZWFtSGFuZGxlcik6IEZpeGVkIGNvZGluZyBzdHlsZS4KCSogamF2YS9uZXQvVVJMQ29ubmVjdGlvbi5qYXZhCgkoZGVmYXVsdEFsbG93VXNlckludGVyYWN0aW9uKTogRG9uJ3QgaW5pdGlhbGl6ZSB3aXRoIGRlZmF1bHQgdmFsdWUKCWV4cGxpY2l0ZWx5LgoJKGNvbm5lY3RlZCk6IExpa2V3aXNlLgoJKGRvT3V0cHV0KTogTGlrZXdpc2UuCgkoaWZNb2RpZmllZFNpbmNlKTogTGlrZXdpc2UuCgkoZGF0ZWZvcm1hdHNfaW5pdGlhbGl6ZWQpOiBMaWtld2lzZS4KCShzZXRVUkxTdHJlYW1IYW5kZXIpOiBVc2UgU3RyZWFtVG9rZW5pemVyIHdoZXJlIGl0IGJlbG9uZ3MgdG8uCgoyMDA0LTA0LTIzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL0ZpbGVDaGFubmVsSW1wbC5qYXZhCgkoU0VULCBDVVIpOiBVbnVzZWQsIHJlbW92ZWQuCgkocmVhZCk6IEltcGxlbWVudCBoZXJlIGRpcmVjdGx5LgoJKGltcGxSZWFkKTogUmVtb3ZlZC4KCSh3cml0ZSk6IEltcGxlbWVudCBoZXJlIGRpcmVjdGx5LgoJKGltcGxXcml0ZSk6IFJlbW92ZWQuCgoyMDA0LTA0LTIzICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBqYXZheC9ybWkvQ09SQkEvUG9ydGFibGVSZW1vdGVPYmplY3REZWxlZ2F0ZS5qYXZhLAoJamF2YXgvcm1pL0NPUkJBL1N0dWIuamF2YSwKCWphdmF4L3JtaS9DT1JCQS9VdGlsLmphdmEsCglqYXZheC9ybWkvQ09SQkEvVmFsdWVIYW5kbGVyLmphdmEsCglqYXZheC9ybWkvQ09SQkEvVmFsdWVIYW5kbGVyLmphdmEsCglqYXZheC9ybWkvUG9ydGFibGVSZW1vdGVPYmplY3QuamF2YToKCUNsZWFuZWQgdXAgaW1wb3J0cy4KCjIwMDQtMDQtMjMgRGFsaWJvciBUb3BpYyA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBqYXZhL3V0aWwvamFyL0phckZpbGUuamF2YSwKCWphdmEvdXRpbC9qYXIvSmFySW5wdXRTdHJlYW0uamF2YSwKCWphdmEvdXRpbC9qYXIvSmFyT3V0cHV0U3RyZWFtLmphdmEsCglqYXZhL3V0aWwvamFyL01hbmlmZXN0LmphdmE6CglDbGVhbmVkIHVwIGltcG9ydHMuCgoyMDA0LTA0LTIzIERhbGlib3IgVG9waWMgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YS91dGlsL0FycmF5TGlzdC5qYXZhLAoJamF2YS91dGlsL0NhbGVuZGFyLmphdmEsCglqYXZhL3V0aWwvQ3VycmVuY3kuamF2YSwKCWphdmEvdXRpbC9IYXNoTWFwLmphdmEsCglqYXZhL3V0aWwvSGFzaFNldC5qYXZhLAoJamF2YS91dGlsL0hhc2h0YWJsZS5qYXZhLAoJamF2YS91dGlsL0xpbmtlZExpc3QuamF2YSwKCWphdmEvdXRpbC9Qcm9wZXJ0aWVzLmphdmEsCglqYXZhL3V0aWwvUHJvcGVydHlQZXJtaXNzaW9uLmphdmEsCglqYXZhL3V0aWwvVGltZVpvbmUuamF2YSwKCWphdmEvdXRpbC9UcmVlTWFwLmphdmEsCglqYXZhL3V0aWwvVHJlZVNldC5qYXZhLAoJamF2YS91dGlsL1ZlY3Rvci5qYXZhLAoJamF2YS91dGlsL1dlYWtIYXNoTWFwLmphdmE6CglDbGVhbmVkIHVwIGltcG9ydHMuCgoyMDA0LTA0LTIzICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBqYXZhL3V0aWwvbG9nZ2luZy9GaWxlSGFuZGxlci5qYXZhLAoJamF2YS91dGlsL2xvZ2dpbmcvRm9ybWF0dGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9IYW5kbGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9Mb2dnZXIuamF2YSwKCWphdmEvdXRpbC9sb2dnaW5nL1NpbXBsZUZvcm1hdHRlci5qYXZhLAoJamF2YS91dGlsL2xvZ2dpbmcvWE1MRm9ybWF0dGVyLmphdmE6CglDbGVhbmVkIHVwIGltcG9ydHMuCgoyMDA0LTA0LTIyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBNYWtlZmlsZS5hbSAoUEVEQU5USUNfQ0ZMQUdTKTogTmV3IC1hbnNpIC1wZWRhbnRpYyAtV2FsbAoJLVduby1sb25nLWxvbmcgZmxhZ3MgdmFyaWFibGUuCgkoZ3RrX2NfZmlsZXMpOiBVc2UgUEVEQU5USUNfQ0ZMQUdTLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTA0LTIyICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmM6CglDaGFuZ2VkIEMrKyBjb21tZW50cyBpbnRvIEMgY29tbWVudHMuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVQZWVyLmM6CglMaWtld2lzZS4KCjIwMDQtMDQtMjIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BvcHVwTWVudVBlZXIuYzoKCU1lcmdlZCBjb3B5cmlnaHQgeWVhciB3aXRoIEdOVSBjbGFzc3BhdGguCgoyMDA0LTA0LTIyICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJKiBqYXZheC9zZWN1cml0eS9hdXRoL3g1MDAvWDUwMFByaW5jaXBhbC5qYXZhOgoJQ2xlYW5lZCB1cCBpbXBvcnRzLgoKMjAwNC0wNC0yMiAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YXgvc3dpbmcvSlNsaWRlci5qYXZhOgoJRml4ZWQgSFRNTCB0YWdzIGluIGNvbW1lbnRzLgoKMjAwNC0wNC0yMiAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YXgvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmxlVGV4dC5qYXZhOgoJQ2xlYW5lZCB1cCBpbXBvcnRzLgoKMjAwNC0wNC0yMiAgSmVyb2VuIEZyaWp0ZXJzIDxqZXJvZW5Ac3VtYXRyYS5ubD4KCgkqIGphdmEvbmV0L1VSTFN0cmVhbUhhbmRsZXIuamF2YQoJKHBhcnNlVVJMKTogQ29udmVydCB0aGUgZmlsZSBwYXRoIHRvIHVzaW5nICcvJyBpbnN0ZWFkIG9mIG5hdGl2ZQoJZmlsZSBzZXBhcmF0b3IuCgoyMDA0LTA0LTIyICBHdWlsaGVtIExhdmF1eCA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBqYXZhL25ldC9VUkwuamF2YQoJKHVzZXJJbmZvKTogTmV3IGZpZWxkLgoJKFVSTCk6IFNldCBhdXRob3JpdHkgdG8gdGhlIHJpZ2h0IHZhbHVlLgoJKHNldFVSTCk6IEZpeGVkIGF1dGhvcml0eSBhbmQgZmlsZSBpbml0aWFsaXphdGlvbi4KCSogamF2YS9uZXQvVVJMU3RyZWFtSGFuZGxlci5qYXZhCgkocGFyc2VVUkwpOiBUYWtlIGNhcmUgb2YgdGhlIHF1ZXJ5IHRhZy4gQnVpbGQgYXV0aG9yaXR5LgoJKHRvRXh0ZXJuYWxGb3JtKTogRml4ZWQgVVJMIGJ1aWxkaW5nIHVzaW5nIGF1dGhvcml0eS4KCjIwMDQtMDQtMjIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9Tb2NrZXQuamF2YQoJKGltcGwpOiBNYWRlIHBhY2thZ2UtcHJpdmF0ZS4KCSogamF2YS9uZXQvU2VydmVyU29ja2V0LmphdmEKCShpbXBsQWNjZXB0KTogQWNjZXNzIFNvY2tldC5pbXBsIGZpZWxkIGRpcmVjdGx5LgoKMjAwNC0wNC0yMiAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YS91dGlsL3ByZWZzL1ByZWZlcmVuY2VzLmphdmEsCglqYXZhL3V0aWwvcHJlZnMvSW52YWxpZFByZWZlcmVuY2VzRm9ybWF0RXhjZXB0aW9uLmphdmEsCglqYXZhL3V0aWwvcHJlZnMvQmFja2luZ1N0b3JlRXhjZXB0aW9uLmphdmEsCglqYXZhL3V0aWwvcHJlZnMvQWJzdHJhY3RQcmVmZXJlbmNlcy5qYXZhOgoJQ2xlYW5lZCB1cCBpbXBvcnRzLgoKMjAwNC0wNC0yMiAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YS91dGlsL3JlZ2V4L01hdGNoZXIuamF2YSwKCWphdmEvdXRpbC9yZWdleC9QYXR0ZXJuLmphdmE6CglDbGVhbmVkIHVwIGltcG9ydHMuCgoyMDA0LTA0LTIyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uaW8vY2hhcnNldC9JbGxlZ2FsQ2hhcnNldE5hbWVFeGNlcHRpb24uamF2YQoJKGNoYXJzZXROYW1lKTogTWFkZSBwcml2YXRlLgoJKElsbGVnYWxDaGFyc2V0TmFtZUV4Y2VwdGlvbik6IEFkZGVkIEBwYXJhbSB0YWcgdG8gamF2YWRvYy4KCShnZXRDaGFyc2V0TmFtZSk6IEFkZGVkIEByZXR1cm4gdGFnIHRvIGphdmFkb2MuCgkqIGphdmEvbmlvL2NoYXJzZXQvTWFsZm9ybWVkSW5wdXRFeGNlcHRpb24uamF2YQoJKE1hbGZvcm1lZElucHV0RXhjZXB0aW9uKTogQWRkZWQgQHBhcmFtIHRhZyB0byBqYXZhZG9jLgoJKGdldElucHV0TGVuZ3RoKTogUmV2aXNlZCBtZXRob2QgZGVzY3JpcHRpb24sIGFkZGVkIEByZXR1cm4gdGFnLgoJKGdldE1lc3NhZ2UpOiBBZGRlZCBAcmV0dXJuIHRhZy4KCjIwMDQtMDQtMjIgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogamF2YS9hd3QvRm9udC5qYXZhIChkZXJpdmVGb250KTogSW1wbGVtZW50IG1pc3NpbmcgdmFyaWFudHMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL0NsYXNzcGF0aEZvbnRQZWVyLmphdmEgKGRlcml2ZUZvbnQpOiBJbXBsZW1lbnQKCW1pc3NpbmcgdmFyaWFudHMuCgoyMDA0LTA0LTIxICBCcnljZSBNY0tpbmxheSAgPG1ja2lubGF5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3MuY2MgKF9Kdl9MYXlvdXRJbnRlcmZhY2VNZXRob2RzKTogTmV3IG1ldGhvZC4KCVNldCBtZXRob2QtPmluZGV4IHZhbHVlcyBmb3IgaW50ZXJmYWNlIG1ldGhvZHMgdG8gdGhlaXIgaXRhYmxlIGluZGV4LgoJKGluaXRpYWxpemVDbGFzcyk6IENhbGwgX0p2X0xheW91dEludGVyZmFjZU1ldGhvZHMuCgoyMDA0LTA0LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YQoJKHNoaWZ0RG93bik6IE1hZGUgc3RhdGljLCBnaXZlIGFkZHJlc3MgYXMgYXJndW1lbnQgYW5kCglwcm92aWRlIGEgY29udmVuaWVuY2UgbWV0aG9kIHRoYXQgb3ZlcndyaXRlcyBzaGlmdERvd24gaW4KCUJ5dGVCdWZmZXJJbXBsIGFuZCBjYWxscyB0aGUgbmF0aXZlIHNoaWZ0RG93bi4KCSogamF2YS9uaW8vTWFwcGVkQnl0ZUJ1ZmZlckltcGwuamF2YQoJKCk6IFVzZSBvcHRpbWl6ZWQgbWV0aG9kIGluIERpcmVjdEJ5dGVCdWZmZXJJbXBsLgoJKiBqYXZhL25pby9uYXREaXJlY3RCeXRlQnVmZmVySW1wbC5jYwoJKHNoaWZ0RG93bik6IENoYW5nZWQgbWV0aG9kIHNpZ25hdHVyZS4gUmVtb3ZlZCB1c2FnZSBvZiBhcnJheV9vZmZzZXQuCgoyMDA0LTA0LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmV0L25hdFBsYWluU29ja2V0SW1wbFBvc2l4LmNjCgkoU29ja2V0SW5wdXRTdHJlYW06OnJlYWQpOiBNYWtlIHN1cmUgcmV0dXJuZWQgZGF0YSBpcyBhIGJ5dGUgdmFsdWUuCgoyMDA0LTA0LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2NsYXNzcGF0aC9TZXJ2aWNlRmFjdG9yeS5qYXZhLAoJZ251L2NsYXNzcGF0aC9TZXJ2aWNlUHJvdmlkZXJMb2FkaW5nQWN0aW9uLmphdmEsCglqYXZheC9pbWFnZWlvL0ltYWdlUmVhZGVyLmphdmEsCglqYXZheC9pbWFnZWlvL0ltYWdlVHJhbnNjb2Rlci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9JbWFnZVdyaXRlci5qYXZhLAoJamF2YXgvaW1hZ2Vpby9wYWNrYWdlLmh0bWwsCglqYXZheC9pbWFnZWlvL3NwaS9JSU9TZXJ2aWNlUHJvdmlkZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0ltYWdlSW5wdXRTdHJlYW1TcGkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0ltYWdlT3V0cHV0U3RyZWFtU3BpLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JbWFnZVJlYWRlcldyaXRlclNwaS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zcGkvSW1hZ2VUcmFuc2NvZGVyU3BpLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9SZWdpc3RlcmFibGVTZXJ2aWNlLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9TZXJ2aWNlUmVnaXN0cnkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL3BhY2thZ2UuaHRtbCwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0lJT0J5dGVCdWZmZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlSW5wdXRTdHJlYW0uamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlT3V0cHV0U3RyZWFtLmphdmEsCglqYXZheC9pbWFnZWlvL3N0cmVhbS9wYWNrYWdlLmh0bWw6CglOZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmFtCgkob3JkaW5hcnlfamF2YV9zb3VyY2VfZmlsZXMpOiBBZGRlZAoJZ251L2NsYXNzcGF0aC9TZXJ2aWNlRmFjdG9yeS5qYXZhIGFuZAoJZ251L2NsYXNzcGF0aC9TZXJ2aWNlUHJvdmlkZXJMb2FkaW5nQWN0aW9uLmphdmEuCgkoamF2YXhfc291cmNlX2ZpbGVzKTogQWRkZWQKCWphdmF4L2ltYWdlaW8vSW1hZ2VSZWFkZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vSW1hZ2VUcmFuc2NvZGVyLmphdmEsCglqYXZheC9pbWFnZWlvL0ltYWdlV3JpdGVyLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JSU9TZXJ2aWNlUHJvdmlkZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0ltYWdlSW5wdXRTdHJlYW1TcGkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3BpL0ltYWdlT3V0cHV0U3RyZWFtU3BpLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9JbWFnZVJlYWRlcldyaXRlclNwaS5qYXZhLAoJamF2YXgvaW1hZ2Vpby9zcGkvSW1hZ2VUcmFuc2NvZGVyU3BpLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9SZWdpc3RlcmFibGVTZXJ2aWNlLmphdmEsCglqYXZheC9pbWFnZWlvL3NwaS9TZXJ2aWNlUmVnaXN0cnkuamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0lJT0J5dGVCdWZmZXIuamF2YSwKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlSW5wdXRTdHJlYW0uamF2YSBhbmQKCWphdmF4L2ltYWdlaW8vc3RyZWFtL0ltYWdlT3V0cHV0U3RyZWFtLmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDQtMjEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvUHJvcGVydGllcy5qYXZhCgkobG9hZCk6IEZpeCB3cm9uZ2x5IG1lcmdlZCBmaXguCgoyMDA0LTA0LTIxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2d0aHJlYWQtam5pLmMgKG1heWJlX3JldGhyb3cpOiBFeHBsaWNpdGx5CgltYWxsb2MgYW5kIGZyZWUgYnVmLgoKMjAwNC0wNC0yMSAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogamF2YXgvbmFtaW5nL0F1dGhlbnRpY2F0aW9uRXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvQXV0aGVudGljYXRpb25Ob3RTdXBwb3J0ZWRFeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9DYW5ub3RQcm9jZWVkRXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvQ29tbXVuaWNhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL0NvbXBvdW5kTmFtZS5qYXZhLAoJamF2YXgvbmFtaW5nL0NvbmZpZ3VyYXRpb25FeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9Db250ZXh0Tm90RW1wdHlFeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9Jbml0aWFsQ29udGV4dC5qYXZhLAoJamF2YXgvbmFtaW5nL0luc3VmZmljaWVudFJlc291cmNlc0V4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL0ludGVycnVwdGVkTmFtaW5nRXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvTGltaXRFeGNlZWRlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL0xpbmtFeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9MaW5rTG9vcEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL0xpbmtSZWYuamF2YSwKCWphdmF4L25hbWluZy9NYWxmb3JtZWRMaW5rRXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvTmFtZS5qYXZhLAoJamF2YXgvbmFtaW5nL05hbWVBbHJlYWR5Qm91bmRFeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9OYW1lTm90Rm91bmRFeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9OYW1pbmdTZWN1cml0eUV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL05vSW5pdGlhbENvbnRleHRFeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9Ob1Blcm1pc3Npb25FeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9Ob3RDb250ZXh0RXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvUGFydGlhbFJlc3VsdEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL1JlZmVycmFsRXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvU2VydmljZVVuYXZhaWxhYmxlRXhjZXB0aW9uLmphdmEsCglqYXZheC9uYW1pbmcvU2l6ZUxpbWl0RXhjZWVkZWRFeGNlcHRpb24uamF2YSwKCWphdmF4L25hbWluZy9UaW1lTGltaXRFeGNlZWRlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9BdHRyaWJ1dGUuamF2YSwKCWphdmF4L25hbWluZy9kaXJlY3RvcnkvQXR0cmlidXRlcy5qYXZhLAoJamF2YXgvbmFtaW5nL2RpcmVjdG9yeS9TZWFyY2hSZXN1bHQuamF2YSwKCWphdmF4L25hbWluZy9ldmVudC9OYW1pbmdFeGNlcHRpb25FdmVudC5qYXZhLAoJamF2YXgvbmFtaW5nL3NwaS9SZXNvbHZlUmVzdWx0LmphdmE6CglDbGVhbmVkIHVwIGltcG9ydHMuCgoyMDA0LTA0LTIxICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaGVja2JveFBlZXIuYzoKCUNoYW5nZWQgQysrIGNvbW1lbnRzIGludG8gQyBjb21tZW50cy4gUmVtb3ZlZCBjb21tZW50ZWQgb3V0IGNvZGUuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYzoKCUxpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtFdmVudHMuYzoKCUxpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jOgoJTGlrZXdpc2UuCgkqIG5hdGl2ZS9qbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xpc3RQZWVyLmM6CglMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dENvbXBvbmVudFBlZXIuYzoKCUxpa2V3aXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2d0aHJlYWQtam5pLmM6CglMaWtld2lzZS4KCjIwMDQtMDQtMjEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmF4L2F3dC9KRnJhbWUuamF2YTogSW1wbGVtZW50IFdpbmRvd0NvbnN0YW50cy4gUmVtb3ZlIGZpbmFsCglzdGF0aWMgZmllbGRzIGRlZmluZWQgaW4gaW50ZXJmYWNlLgoJKiBqYXZheC9hd3QvSkRpYWxvZy5qYXZhOiBMaWtld2lzZS4KCShKRGlhbG9nKTogTWFrZSBjb25zdHJ1Y3RvcnMgcHVibGljLgoJKGdldERlZmF1bHRDbG9zZU9wZXJhdGlvbik6IE1ha2UgcHVibGljLgoJKHByb2Nlc3NXaW5kb3dFdmVudCk6IENhbGwgU3lzdGVtLmV4aXQoMCkgd2hlbiBFWElUX09OX0NMT1NFIHNldC4KCShzZXREZWZhdWx0Q2xvc2VPcGVyYXRpb24pOiBNYWtlIHB1YmxpYy4gQ2hlY2sgYXJndW1lbnQuIEFkZCBBUEkgZG9jLgoJKiBqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YSAoSlZpZXdwb3J0KTogTWFrZSBjb25zdHJ1Y3RvciBwdWJsaWMuCgoyMDA0LTA0LTIxICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS91dGlsL01hcC5qYXZhCgkoRW50cnkpOiBSZW1vdmVkIHJlZHVuZGFudCAic3RhdGljIiBtb2RpZmllci4KCSogamF2YS90ZXh0L0F0dHJpYnV0ZWRDaGFyYWN0ZXJJdGVyYXRvci5qYXZhOgoJVXBkYXRlZCBjb3B5cmlnaHQgeWVhci4KCjIwMDQtMDQtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9uYW1pbmcvZGlyZWN0b3J5L1NlYXJjaENvbnRyb2xzLmphdmE6CglEb24ndCBleHBsaWNpdGVseSBleHRlbmQgamF2YS5sYW5nLk9iamVjdC4KCSogamF2YXgvbmFtaW5nL3NwaS9EaXJTdGF0ZUZhY3RvcnkuamF2YToKCU1lcmdlZCBjb3B5cmlnaHQgeWVhciB3aXRoIEdOVSBjbGFzc3BhdGguCgoyMDA0LTA0LTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uaW8vY2hhbm5lbHMvQ2hhbm5lbHMuamF2YToKCU1lcmdlZCBjb2Rpbmcgc3R5bGUgd2l0aCBHTlUgY2xhc3NwYXRoLgoKMjAwNC0wNC0yMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L1NlcnZlclNvY2tldC5qYXZhCglNZXJnZWQgY29kaW5nIHN0eWxlIGZyb20gR05VIGNsYXNzcGF0aC4KCjIwMDQtMDQtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2lvL0J1ZmZlcmVkV3JpdGVyLmphdmE6CglSZW9yZGVyZWQgdmFyaWFibGVzIHRvIGJlIGF0IHRvcCBvZiB0aGUgY2xhc3MuCgkobG9jYWxGbHVzaCk6IFJlbW92ZWQgcmVkdW5kYW50IGZpbmFsIGtleXdvcmQuCgoyMDA0LTA0LTIwICBJbmdvIFByb2V0ZWwgIDxwcm9ldGVsQGFpY2FzLmNvbT4KCgkqIGphdmEvYXd0L2V2ZW50L01vdXNlRXZlbnQuamF2YSAoPGluaXQ+KTogZml4ZWQgZmllbGQgYXNzaWdubWVudAoKMjAwNC0wNC0yMCAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvdGV4dC9EZWNpbWFsRm9ybWF0LmphdmEgKHNjYW5GaXgpOiBSZW1vdmVkIHN1ZmZpeCBjaGVjawoJZm9yIHBlcmNlbnQgYW5kIHBlcm1pbGwgY2hlY2suCgoyMDA0LTA0LTIwICBHdWlsaGVtIExhdmF1eCA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBqYXZhL3RleHQvRmllbGRQb3NpdGlvbi5qYXZhCgkoRmllbGRQb3NpdGlvbikgQ29uc3RydWN0b3Igbm93IGJlaGF2ZXMgYXMgaXQgc2hvdWxkIGFjY29yZGluZwoJdG8gdGhlIGphdmEgZG9jdW1lbnRhdGlvbi4KCjIwMDQtMDQtMjAgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvdXRpbC9Qcm9wZXJ0aWVzLmphdmE6IFVzZSB0aGUgd29yZCB1bWxhdXQsIG5vdCAmYXVtbDsgaW4gYXBpCglkb2N1bWVudGF0aW9uLgoKMjAwNC0wNC0yMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmlvL0J1ZmZlci5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvQWxyZWFkeUNvbm5lY3RlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvQXN5bmNocm9ub3VzQ2xvc2VFeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0J5dGVDaGFubmVsLmphdmEsCglqYXZhL25pby9jaGFubmVscy9DYW5jZWxsZWRLZXlFeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0NoYW5uZWwuamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0NoYW5uZWxzLmphdmEsCglqYXZhL25pby9jaGFubmVscy9DbG9zZWRCeUludGVycnVwdEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvQ2xvc2VkQ2hhbm5lbEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvQ2xvc2VkU2VsZWN0b3JFeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0Nvbm5lY3Rpb25QZW5kaW5nRXhjZXB0aW9uLmphdmEsCglqYXZhL25pby9jaGFubmVscy9EYXRhZ3JhbUNoYW5uZWwuamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0ZpbGVDaGFubmVsLmphdmEsCglqYXZhL25pby9jaGFubmVscy9GaWxlTG9jay5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvRmlsZUxvY2tJbnRlcnJ1cHRpb25FeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0dhdGhlcmluZ0J5dGVDaGFubmVsLmphdmEsCglqYXZhL25pby9jaGFubmVscy9JbGxlZ2FsQmxvY2tpbmdNb2RlRXhjZXB0aW9uLmphdmEsCglqYXZhL25pby9jaGFubmVscy9JbGxlZ2FsU2VsZWN0b3JFeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL0ludGVycnVwdGlibGVDaGFubmVsLmphdmEsCglqYXZhL25pby9jaGFubmVscy9Ob0Nvbm5lY3Rpb25QZW5kaW5nRXhjZXB0aW9uLmphdmEsCglqYXZhL25pby9jaGFubmVscy9Ob25SZWFkYWJsZUNoYW5uZWxFeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL05vbldyaXRhYmxlQ2hhbm5lbEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvTm90WWV0Qm91bmRFeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL05vdFlldENvbm5lY3RlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvT3ZlcmxhcHBpbmdGaWxlTG9ja0V4Y2VwdGlvbi5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvUGlwZS5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvUmVhZGFibGVCeXRlQ2hhbm5lbC5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvU2NhdHRlcmluZ0J5dGVDaGFubmVsLmphdmEsCglqYXZhL25pby9jaGFubmVscy9TZWxlY3RhYmxlQ2hhbm5lbC5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvU2VsZWN0aW9uS2V5LmphdmEsCglqYXZhL25pby9jaGFubmVscy9TZWxlY3Rvci5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvU2VydmVyU29ja2V0Q2hhbm5lbC5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvU29ja2V0Q2hhbm5lbC5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvVW5yZXNvbHZlZEFkZHJlc3NFeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL1Vuc3VwcG9ydGVkQWRkcmVzc1R5cGVFeGNlcHRpb24uamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL1dyaXRhYmxlQnl0ZUNoYW5uZWwuamF2YSwKCWphdmEvbmlvL2NoYW5uZWxzL3NwaS9BYnN0cmFjdEludGVycnVwdGlibGVDaGFubmVsLmphdmEsCglqYXZhL25pby9jaGFubmVscy9zcGkvQWJzdHJhY3RTZWxlY3RhYmxlQ2hhbm5lbC5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvc3BpL0Fic3RyYWN0U2VsZWN0aW9uS2V5LmphdmEsCglqYXZhL25pby9jaGFubmVscy9zcGkvQWJzdHJhY3RTZWxlY3Rvci5qYXZhLAoJamF2YS9uaW8vY2hhbm5lbHMvc3BpL1NlbGVjdG9yUHJvdmlkZXIuamF2YSwKCWphdmEvbmlvL2NoYXJzZXQvc3BpL0NoYXJzZXRQcm92aWRlci5qYXZhOgoJRml4ZWQgamF2YWRvY3MgYW5kIGphbG9waWVkIGFsbCBvdmVyIGphdmEubmlvLgoKMjAwNC0wNC0yMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmlvL0J5dGVCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9DaGFyQnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0RvdWJsZUJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0RvdWJsZVZpZXdCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9GbG9hdEJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0Zsb2F0Vmlld0J1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0ludEJ1ZmZlckltcGwuamF2YSwKCWphdmEvbmlvL0ludFZpZXdCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9Mb25nQnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vTG9uZ1ZpZXdCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9NYXBwZWRCeXRlQnVmZmVySW1wbC5qYXZhLAoJamF2YS9uaW8vU2hvcnRCdWZmZXJJbXBsLmphdmEsCglqYXZhL25pby9TaG9ydFZpZXdCdWZmZXJJbXBsLmphdmE6CglNYWRlIHN1cmUgYWxsIGNsYXNzZXMgYXJlIGZpbmFsIGFuZCByZW1vdmVkIGZpbmFsIGtleXdvcmQgZnJvbSBhbGwKCW1ldGhvZHMuCgoyMDA0LTA0LTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9ybWkvTWFyc2hhbGxlZE9iamVjdC5qYXZhLAoJamF2YS9ybWkvTmFtaW5nLmphdmEsCglqYXZhL3JtaS9SZW1vdGVFeGNlcHRpb24uamF2YSwKCWphdmEvcm1pL2FjdGl2YXRpb24vQWN0aXZhdGlvbkV4Y2VwdGlvbi5qYXZhLAoJamF2YS9ybWkvc2VydmVyL1NlcnZlckNsb25lRXhjZXB0aW9uLmphdmEsCglqYXZhL3NlY3VyaXR5L0FjY2Vzc0NvbnRyb2xsZXIuamF2YSwKCWphdmEvc2VjdXJpdHkvQWxnb3JpdGhtUGFyYW1ldGVyR2VuZXJhdG9yLmphdmEsCglqYXZhL3NlY3VyaXR5L0FsZ29yaXRobVBhcmFtZXRlcnMuamF2YSwKCWphdmEvc2VjdXJpdHkvQ29kZVNvdXJjZS5qYXZhLAoJamF2YS9zZWN1cml0eS9JZGVudGl0eS5qYXZhLAoJamF2YS9zZWN1cml0eS9JZGVudGl0eVNjb3BlLmphdmEsCglqYXZhL3NlY3VyaXR5L0tleVBhaXJHZW5lcmF0b3IuamF2YSwKCWphdmEvc2VjdXJpdHkvS2V5U3RvcmUuamF2YSwKCWphdmEvc2VjdXJpdHkvU2VjdXJpdHkuamF2YSwKCWphdmEvc2VjdXJpdHkvU2lnbmF0dXJlLmphdmEsCglqYXZhL3NlY3VyaXR5L1NpZ25hdHVyZVNwaS5qYXZhLAoJamF2YS9zZWN1cml0eS9TaWduZWRPYmplY3QuamF2YSwKCWphdmEvc2VjdXJpdHkvc3BlYy9EU0FQYXJhbWV0ZXJTcGVjLmphdmEsCglqYXZhL3NlY3VyaXR5L3NwZWMvRFNBUHJpdmF0ZUtleVNwZWMuamF2YSwKCWphdmEvc2VjdXJpdHkvc3BlYy9EU0FQdWJsaWNLZXlTcGVjLmphdmEsCglqYXZhL3NxbC9BcnJheS5qYXZhLAoJamF2YS9zcWwvRGF0YWJhc2VNZXRhRGF0YS5qYXZhLAoJamF2YS9zcWwvUmVzdWx0U2V0LmphdmEsCglqYXZhL3RleHQvQ2hvaWNlRm9ybWF0LmphdmEsCglqYXZhL3RleHQvQ29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yLmphdmEsCglqYXZhL3RleHQvQ29sbGF0aW9uS2V5LmphdmEsCglqYXZhL3RleHQvQ29sbGF0b3IuamF2YSwKCWphdmEvdGV4dC9EYXRlRm9ybWF0LmphdmEsCglqYXZhL3RleHQvRGF0ZUZvcm1hdFN5bWJvbHMuamF2YSwKCWphdmEvdGV4dC9EZWNpbWFsRm9ybWF0U3ltYm9scy5qYXZhLAoJamF2YS90ZXh0L0Zvcm1hdC5qYXZhLAoJamF2YS90ZXh0L1BhcnNlUG9zaXRpb24uamF2YSwKCWphdmEvdGV4dC9SdWxlQmFzZWRDb2xsYXRvci5qYXZhLAoJamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuamF2YSwKCWphdmEvdGV4dC9TdHJpbmdDaGFyYWN0ZXJJdGVyYXRvci5qYXZhLAoJamF2YS91dGlsL0NvbGxlY3Rpb25zLmphdmEsCglqYXZhL3V0aWwvUHJvcGVydHlSZXNvdXJjZUJ1bmRsZS5qYXZhLAoJamF2YS91dGlsL1Jlc291cmNlQnVuZGxlLmphdmEsCglqYXZhL3V0aWwvU3RyaW5nVG9rZW5pemVyLmphdmEsCglqYXZhL3V0aWwvamFyL0F0dHJpYnV0ZXMuamF2YSwKCWphdmEvdXRpbC9sb2dnaW5nL0NvbnNvbGVIYW5kbGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9Mb2dNYW5hZ2VyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9NZW1vcnlIYW5kbGVyLmphdmEsCglqYXZhL3V0aWwvbG9nZ2luZy9Tb2NrZXRIYW5kbGVyLmphdmEsCglqYXZheC9uYW1pbmcvTmFtaW5nRXhjZXB0aW9uLmphdmE6CglGaXhlZCBqYXZhZG9jLCBjb2Rpbmcgc3R5bGUgYW5kIGFyZ3VtZW50IG5hbWVzIGFsbCBvdmVyLgoKMjAwNC0wNC0yMCAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvaW8vRmlsZURlc2NyaXB0b3IuamF2YTogKEZpbGVEZXNjcmlwdG9yKSBBZGRlZCBwdWJsaWMKCWNvbnN0cnVjdG9yLiAodmFsaWQpIEFkZGVkIG51bGwgY2hlY2suCgoyMDA0LTA0LTIwICBHdWlsaGVtIExhdmF1eCA8Z3VpbGhlbUBrYWZmZS5vcmc+CgogICAgICAgIFJlcG9ydGVkIGJ5IE5la3RhcmlvcyBQYXBhZG9wb3Vsb3MgPG5wYXBhZG9wQGluYWNjZXNzbmV0d29ya3MuY29tPgoJKiBqYXZhL2lvL0ZpbGVPdXRwdXRTdHJlYW0uamF2YQoJKEZpbGVPdXRwdXRTdHJlYW0pIFJlb3JnYW5pemVkIGNvbnN0cnVjdG9ycy4gQ29uc3RydWN0b3JzIG5vdwoJY2hlY2sgd2hldGhlciB0aGUgZ2l2ZW4gcGF0aCBpcyBkaXJlY3RvcnkuCgoyMDA0LTA0LTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uZXQvQXV0aGVudGljYXRvci5qYXZhLAoJamF2YS9uZXQvQmluZEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uZXQvQ29ubmVjdEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uZXQvQ29udGVudEhhbmRsZXIuamF2YSwKCWphdmEvbmV0L0NvbnRlbnRIYW5kbGVyRmFjdG9yeS5qYXZhLAoJamF2YS9uZXQvRGF0YWdyYW1QYWNrZXQuamF2YSwKCWphdmEvbmV0L0RhdGFncmFtU29ja2V0LmphdmEsCglqYXZhL25ldC9EYXRhZ3JhbVNvY2tldEltcGwuamF2YSwKCWphdmEvbmV0L0RhdGFncmFtU29ja2V0SW1wbEZhY3RvcnkuamF2YSwKCWphdmEvbmV0L0ZpbGVOYW1lTWFwLmphdmEsCglqYXZhL25ldC9IdHRwVVJMQ29ubmVjdGlvbi5qYXZhLAoJamF2YS9uZXQvSW5ldDRBZGRyZXNzLmphdmEsCglqYXZhL25ldC9JbmV0NkFkZHJlc3MuamF2YSwKCWphdmEvbmV0L0luZXRBZGRyZXNzLmphdmEsCglqYXZhL25ldC9JbmV0U29ja2V0QWRkcmVzcy5qYXZhLAoJamF2YS9uZXQvSmFyVVJMQ29ubmVjdGlvbi5qYXZhLAoJamF2YS9uZXQvTWFsZm9ybWVkVVJMRXhjZXB0aW9uLmphdmEsCglqYXZhL25ldC9NdWx0aWNhc3RTb2NrZXQuamF2YSwKCWphdmEvbmV0L05ldFBlcm1pc3Npb24uamF2YSwKCWphdmEvbmV0L05ldHdvcmtJbnRlcmZhY2UuamF2YSwKCWphdmEvbmV0L05vUm91dGVUb0hvc3RFeGNlcHRpb24uamF2YSwKCWphdmEvbmV0L1Bhc3N3b3JkQXV0aGVudGljYXRpb24uamF2YSwKCWphdmEvbmV0L1BvcnRVbnJlYWNoYWJsZUV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uZXQvUHJvdG9jb2xFeGNlcHRpb24uamF2YSwKCWphdmEvbmV0L1NlcnZlclNvY2tldC5qYXZhLAoJamF2YS9uZXQvU29ja2V0LmphdmEsCglqYXZhL25ldC9Tb2NrZXRBZGRyZXNzLmphdmEsCglqYXZhL25ldC9Tb2NrZXRFeGNlcHRpb24uamF2YSwKCWphdmEvbmV0L1NvY2tldEltcGwuamF2YSwKCWphdmEvbmV0L1NvY2tldEltcGxGYWN0b3J5LmphdmEsCglqYXZhL25ldC9Tb2NrZXRPcHRpb25zLmphdmEsCglqYXZhL25ldC9Tb2NrZXRQZXJtaXNzaW9uLmphdmEsCglqYXZhL25ldC9Tb2NrZXRUaW1lb3V0RXhjZXB0aW9uLmphdmEsCglqYXZhL25ldC9VUkkuamF2YSwKCWphdmEvbmV0L1VSSVN5bnRheEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9uZXQvVVJMLmphdmEsCglqYXZhL25ldC9VUkxDbGFzc0xvYWRlci5qYXZhLAoJamF2YS9uZXQvVVJMQ29ubmVjdGlvbi5qYXZhLAoJamF2YS9uZXQvVVJMRGVjb2Rlci5qYXZhLAoJamF2YS9uZXQvVVJMRW5jb2Rlci5qYXZhLAoJamF2YS9uZXQvVVJMU3RyZWFtSGFuZGxlci5qYXZhLAoJamF2YS9uZXQvVVJMU3RyZWFtSGFuZGxlckZhY3RvcnkuamF2YSwKCWphdmEvbmV0L1Vua25vd25Ib3N0RXhjZXB0aW9uLmphdmEsCglqYXZhL25ldC9Vbmtub3duU2VydmljZUV4Y2VwdGlvbi5qYXZhOgoJRml4ZWQgamF2YWRvY3MsIGNvZGluZyBzdHlsZSBhbmQgYXJndW1lbnQgbmFtZXMgYWxsIG92ZXIuCgoyMDA0LTA0LTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9sYW5nL0J5dGUuamF2YSwKCWphdmEvbGFuZy9DaGFyU2VxdWVuY2UuamF2YSwKCWphdmEvbGFuZy9DbGFzc0xvYWRlci5qYXZhLAoJamF2YS9sYW5nL0NvbXBpbGVyLmphdmEsCglqYXZhL2xhbmcvRG91YmxlLmphdmEsCglqYXZhL2xhbmcvRmxvYXQuamF2YSwKCWphdmEvbGFuZy9JbnRlZ2VyLmphdmEsCglqYXZhL2xhbmcvTG9uZy5qYXZhLAoJamF2YS9sYW5nL01hdGguamF2YSwKCWphdmEvbGFuZy9OdW1iZXIuamF2YSwKCWphdmEvbGFuZy9QYWNrYWdlLmphdmEsCglqYXZhL2xhbmcvUnVudGltZS5qYXZhLAoJamF2YS9sYW5nL1J1bnRpbWVQZXJtaXNzaW9uLmphdmEsCglqYXZhL2xhbmcvU2VjdXJpdHlNYW5hZ2VyLmphdmEsCglqYXZhL2xhbmcvU2hvcnQuamF2YSwKCWphdmEvbGFuZy9TdHJpbmdCdWZmZXIuamF2YSwKCWphdmEvbGFuZy9TeXN0ZW0uamF2YSwKCWphdmEvbGFuZy9UaHJlYWRHcm91cC5qYXZhLAoJamF2YS9sYW5nL1Rocm93YWJsZS5qYXZhLAoJamF2YS9sYW5nL3JlZmxlY3QvSW52b2NhdGlvbkhhbmRsZXIuamF2YSwKCWphdmEvbGFuZy9yZWZsZWN0L1Byb3h5LmphdmE6CglGaXhlZCBqYXZhZG9jcywgY29kaW5nIHN0eWxlIGFuZCBhcmd1bWVudCBuYW1lcyBhbGwgb3Zlci4KCjIwMDQtMDQtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2lvL0J1ZmZlcmVkV3JpdGVyLmphdmEsCglqYXZhL2lvL0J5dGVBcnJheUlucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL0NoYXJBcnJheVdyaXRlci5qYXZhLAoJamF2YS9pby9EYXRhSW5wdXQuamF2YSwKCWphdmEvaW8vRGF0YUlucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL0ZpbGUuamF2YSwKCWphdmEvaW8vRmlsdGVySW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vSW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vSW5wdXRTdHJlYW1SZWFkZXIuamF2YSwKCWphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YSwKCWphdmEvaW8vT2JqZWN0U3RyZWFtQ2xhc3MuamF2YSwKCWphdmEvaW8vUGlwZWRJbnB1dFN0cmVhbS5qYXZhLAoJamF2YS9pby9QaXBlZFJlYWRlci5qYXZhLAoJamF2YS9pby9QdXNoYmFja0lucHV0U3RyZWFtLmphdmEsCglqYXZhL2lvL1B1c2hiYWNrUmVhZGVyLmphdmEsCglqYXZhL2lvL1JhbmRvbUFjY2Vzc0ZpbGUuamF2YSwKCWphdmEvaW8vU2VyaWFsaXphYmxlUGVybWlzc2lvbi5qYXZhLAoJamF2YS9pby9TdHJlYW1Ub2tlbml6ZXIuamF2YSwKCWphdmEvaW8vU3RyaW5nV3JpdGVyLmphdmEsCglqYXZhL2lvL1dyaXRlQWJvcnRlZEV4Y2VwdGlvbi5qYXZhLAoJamF2YS9pby9Xcml0ZXIuamF2YToKCUZpeGVkIGphdmFkb2NzIGFsbCBvdmVyLCByZW5hbWUgYXJndW1lbnRzIHRvIG1hdGNoIGphdmFkb2NzLAoJZml4ZWQgY29kaW5nIHN0eWxlLgoKMjAwNC0wNC0yMCAgSW5nbyBQcm9ldGVsICA8cHJvZXRlbEBhaWNhcy5jb20+CgoJKiBqYXZhL2F3dC9Gb250TWV0cmljcy5qYXZhOgoJKGNoYXJzV2lkdGgpOiBmaXhlZCBhY2N1bXVsYXRpb24gb2YgdG90YWxfd2lkdGgKCShnZXRXaWR0aCk6IHNpbXBsZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uCgkqIGphdmEvYXd0L1BvbHlnb24uamF2YSAoZ2V0Qm91bmRpbmdCb3gpOiBVc2UgY29ycmVjdCB5LWNvb3JkaW5hdGUKCWluIFJlY3RhbmdsZSBjb25zdHJ1Y3Rvci4KCSogamF2YS9hd3QvaW1hZ2UvUmFzdGVyLmphdmEgKHRvU3RyaW5nKTogQWRkZWQgbWV0aG9kLgoJKiBqYXZhL2F3dC9pbWFnZS9TYW1wbGVNb2RlbC5qYXZhICg8aW5pdD4pOiBBZGRlZCBlcnJvciBjYXVzZQoJaW5mb3JtYXRpb24gdG8gdGhyb3duIGV4Y2VwdGlvbi4KCSogamF2YS9hd3QvaW1hZ2UvU2luZ2xlUGl4ZWxQYWNrZWRTYW1wbGVNb2RlbC5qYXZhIChnZXREYXRhRWxlbWVudHMpOgoJTmV3IG1ldGhvZC4KCShzZXREYXRhRWxlbWVudHMpOiBOZXcgbWV0aG9kLgoJKHNldFBpeGVscyk6IE5ldyBtZXRob2QuCgkodG9TdHJpbmcpOiBOZXcgbWV0aG9kLgoKMjAwNC0wNC0yMCAgU2FzY2hhIEJyYXdlciAgPGJyYXdlckBkYW5kZWxpcy5jaD4KCgkqIGphdmEvYXd0L2ltYWdlL0NvbXBvbmVudENvbG9yTW9kZWwuamF2YQoJKGNyZWF0ZUNvbXBhdGlibGVTYW1wbGVNb2RlbCk6IFJldHVybiBQaXhlbEludGVybGVhdmVkU2FtcGxlTW9kZWwKCWZvciBUWVBFX0JZVEUgYW5kIFRZUEVfVVNIT1JUIHRyYW5zZmVyVHlwZXMsIGluIG9yZGVyIHRvIHBhc3MgdGhlCglNYXV2ZSB0ZXN0cyBvbiB0aGlzIG1ldGhvZC4gSW1wcm92ZWQgZG9jdW1lbnRhdGlvbi4KCjIwMDQtMDQtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvQm9yZGVyVUlSZXNvdXJjZS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9Db21wb25lbnRVSS5qYXZhLAoJamF2YXgvc3dpbmcvdW5kby9Db21wb3VuZEVkaXQuamF2YSwKCWphdmF4L3N3aW5nL3VuZG8vU3RhdGVFZGl0LmphdmE6CglGaXhlZCBIVE1MIHRhZ3MgaW4gamF2YWRvY3MgYWxsIG92ZXIuCgoyMDA0LTA0LTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL0VudW1TeW50YXguamF2YQoJKGdldE9mZnNldCk6IE1hZGUgcHJvdGVjdGVkLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvSGFzaEF0dHJpYnV0ZVNldC5qYXZhCgkoSGFzaEF0dHJpYnV0ZVNldCk6IExpa2V3aXNlLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvUmVzb2x1dGlvblN5bnRheC5qYXZhCgkoZ2V0RmVlZFJlc29sdXRpb24pOiBGaXhlZCB0eXBvIGluIGV4Y2VwdGlvbiBuYW1lLgoJKGdldENyb3NzRmVlZFJlc29sdXRpb24pOiBMaWtld2lzZS4KCSogamF2YXgvcHJpbnQvYXR0cmlidXRlL1NldE9mSW50ZWdlclN5bnRheC5qYXZhCgkoU2V0T2ZJbnRlZ2VyU3ludGF4KTogRml4ZWQgSFRNTCBlbnRpdGllcyBpbiBqYXZhZG9jLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvVGV4dFN5bnRheC5qYXZhCgkoVGV4dFN5bnRheCk6IEhhbmRsZSBsb2NhbGUgY29ycmVjdGx5LgoJKGhhc2hDb2RlKTogQ2FsYyBiZXR0ZXIgaGFzaGNvZGUgdmFsdWUuCgkoZXF1YWxzKTogRml4ZWQgQHJldHVybiB0YWcuCgkodG9TdHJpbmcpOiBOZXcgbWV0aG9kLgoKMjAwNC0wNC0yMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25pby9GaWxlTG9ja0ltcGwuamF2YQoJKHN0YXRpYyk6IFJlbW92ZWQsIG5vdCBuZWVkZWQgYW55bW9yZS4KCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL0ZpbGVDaGFubmVsSW1wbC5qYXZhCgkoRmlsZUNoYW5uZWxJbXBsKTogTWFkZSBmaW5hbC4KCShtb2RlKTogTWFkZSBwcml2YXRlLgoJKFJFQUQsIFdSSVRFLCBBUFBFTkQpOiBNYWRlIHB1YmxpYy4KCShFWENMLCBTWU5DLCBEU1lOQyk6IExpa2V3aXNlLgoJKHN0YXRpYyk6IExvYWQgbmF0aXZlIEpOSSBsaWJyYXJ5LCB3aGVuIG5lZWRlZC4KCShsZW5ndGgpOiBVbnVzZWQsIHJlbW92ZWQuCgkoYXZhaWxhYmxlKTogTWFkZSBwdWJsaWMuCgkoaW1wbFBvc2l0aW9uKTogVGhyb3dzIElPRXhjZXB0aW9uLgoJKHNlZWspOiBMaWtld2lzZS4KCShpbXBsVHJ1bmNhdGUpOiBMaWtld2lzZS4KCSh1bmxvY2spOiBMaWtld2lzZS4KCShsb2NrKTogTGlrZXdpc2UuCgoyMDA0LTA0LTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvQVdUUGVybWlzc2lvbi5qYXZhLAoJamF2YS9hd3QvQ29tcG9uZW50LmphdmEsCglqYXZhL2F3dC9Db21wb25lbnRPcmllbnRhdGlvbi5qYXZhLCwKCWphdmEvYXd0L0RpYWxvZy5qYXZhLAoJamF2YS9hd3QvRm9udE1ldHJpY3MuamF2YSwKCWphdmEvYXd0L0dyYXBoaWNzLmphdmEsCglqYXZhL2F3dC9kYXRhdHJhbnNmZXIvRGF0YUZsYXZvci5qYXZhLAoJamF2YS9iZWFucy9JbnRyb3NwZWN0b3IuamF2YSwKCWphdmEvYmVhbnMvUHJvcGVydHlFZGl0b3IuamF2YSwKCWphdmEvYmVhbnMvUHJvcGVydHlFZGl0b3JNYW5hZ2VyLmphdmEsCglqYXZhL2JlYW5zL2JlYW5jb250ZXh0L0JlYW5Db250ZXh0U2VydmljZVByb3ZpZGVyLmphdmE6CglGaXhlZCBIVE1MIHRhZ3MgaW4gamF2YWRvY3MgYWxsIG92ZXIuCgoyMDA0LTA0LTIwICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRm9udFBlZXIuamF2YTogVXNlIGZhbGxiYWNrIHdoZW4KCU1pc3NpbmdSZXNvdXJjZUV4Y2VwdGlvbiBpcyB0aHJvd24uCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKGdldEZvbnRQZWVyKTogRG9uJ3QgcmV0dXJuCgludWxsIHdoZW4gYSBNaXNzaW5nUmVzb3VyY2VFeGNlcHRpb24gaXMgdGhyb3duLiBTaG91bGQgbmV2ZXIgaGFwcGVuLgoKMjAwNC0wNC0yMCAgU2FzY2hhIEJyYXdlciAgPGJyYXdlckBkYW5kZWxpcy5jaD4KCgkqIGphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJTaG9ydC5qYXZhLAoJamF2YS9hd3QvaW1hZ2UvRGF0YUJ1ZmZlckZsb2F0LmphdmEsCglqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyRG91YmxlLmphdmEsCglqYXZhL2F3dC9pbWFnZS9QaXhlbEludGVybGVhdmVkU2FtcGxlTW9kZWwuamF2YTogTmV3IGZpbGVzLgoJKiBnbnUvamF2YS9hd3QvQnVmZmVycy5qYXZhIChjcmVhdGVCdWZmZXIsIGNyZWF0ZUJ1ZmZlckZyb21EYXRhLAoJZ2V0RGF0YSk6IEFkZGVkIHN1cHBvcnQJZm9yIFRZUEVfU0hPUlQsIFRZUEVfRkxPQVQgYW5kIFRZUEVfRE9VQkxFLgoKMjAwNC0wNC0yMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIE1ha2VmaWxlLmFtIChqYXZhX3NvdXJjZV9maWxlcyk6IEFkZGVkCglqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyRG91YmxlLmphdmEsCglqYXZhL2F3dC9pbWFnZS9EYXRhQnVmZmVyRmxvYXQuamF2YSwKCWphdmEvYXd0L2ltYWdlL0RhdGFCdWZmZXJTaG9ydC5qYXZhIGFuZAoJamF2YS9hd3QvaW1hZ2UvUGl4ZWxJbnRlcmxlYXZlZFNhbXBsZU1vZGVsLmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDQtMTkgIEJyeWNlIE1jS2lubGF5ICA8bWNraW5sYXlAcmVkaGF0LmNvbT4KCgkqIGdjai9jbmkuaCAoSnZBbGxvY09iamVjdCk6IFJlbW92ZSB0aGVzZSBvYnNvbGV0ZSwKCXVuZG9jdW1lbnRlZCBDTkkgY2FsbHMuCgkqIGluY2x1ZGUvamF2YS1pbnRlcnAuaCAoX0p2X0ludGVycENsYXNzKTogTm8gbG9uZ2VyCglleHRlbmRzIGphdmEubGFuZy5DbGFzcy4KCSogamF2YS9sYW5nL0NsYXNzLmggKENsYXNzKTogQWRkIG5ldyBmaWVsZCBgYXV4X2luZm8nLgoJKiBib2VobS5jYyAoX0p2X01hcmtPYmopOiBVcGRhdGUgamF2YS5sYW5nLkNsYXNzIG1hcmtpbmcuCgkqIGRlZmluZWNsYXNzLmNjOiBSZW1vdmUgQ2xhc3M8LT5fSnZfSW50ZXJwQ2xhc3MgY2FzdHMuCglVc2UgQ2xhc3MtPmF1eF9pbmZvIGluc3RlYWQuCgkqIGpuaS5jYyAoX0p2X0pOSV9BbGxvY09iamVjdCk6IFVzZSBfSnZfQWxsb2NPYmplY3QuCgkqIHJlc29sdmUuY2M6IFJlbW92ZSBDbGFzczwtPl9Kdl9JbnRlcnBDbGFzcyBjYXN0cy4KCVVzZSBDbGFzcy0+YXV4X2luZm8gaW5zdGVhZC4KCSogamF2YS9pby9uYXRPYmplY3RJbnB1dFN0cmVhbS5jYyAoYWxsb2NhdGVPYmplY3QpOiBVc2UKCV9Kdl9BbGxvY09iamVjdC4KCSogamF2YS9sYW5nL25hdENsYXNzLmNjIChuZXdJbnN0YW5jZSk6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvbmF0Q2xhc3NMb2FkZXIuY2MgKF9Kdl9OZXdDbGFzcyk6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvbmF0T2JqZWN0LmNjIChjbG9uZSk6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvcmVmbGVjdC9uYXRNZXRob2QuY2MgKF9Kdl9DYWxsQW55TWV0aG9kQSk6IExpa2V3aXNlLgoJKiBqYXZhL2xhbmcvbmF0Vk1DbGFzc0xvYWRlci5jYyAoZGVmaW5lQ2xhc3MpOiBEb24ndCB1c2UKCUp2QWxsb2NPYmplY3QuIEFsbG9jYXRlIGtsYXNzLT5hdXhfaW5mbyBoZXJlIGZvciBpbnRlcnByZXRlZAoJY2xhc3MuCgoyMDA0LTA0LTE3ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmEgKFRvZ2dsZUJ1dHRvbk1vZGVsKToKCU1ha2UgcHVibGljIHN0YXRpYyBpbm5lciBjbGFzcy4KCSogamF2YXgvc3dpbmcvSlRhYmJlZFBhbmUuamF2YSAoc2V0Q29tcG9uZW50QXQpOgoJQ2FsbCBQYWdlLnNldENvbXBvbmVudCgpLgoJKFNDUk9MTF9UQUJfTEFZT1VUKTogTWFrZSBwdWJsaWMsIHZhbHVlIGlzIDEuCgkoV1JBUF9UQUJfTEFZT1VUKTogTWFrZSBwdWJsaWMsIHZhbHVlIGlzIDAuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YSAoU2Nyb2xsaW5nQnV0dG9uKToKICAgICAgICBNYWtlIHByaXZhdGUgc3RhdGljIGlubmVyIGNsYXNzLgoKMjAwNC0wNC0xNiAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogaW50ZXJwcmV0LmNjIChfSnZfSW50ZXJwTWV0aG9kOjpydW4pOiBVcGRhdGUgX0p2X0FsbG9jT2JqZWN0Cglhcmd1bWVudHMgdG8gbWF0Y2ggbmV3IHNpZ25hdHVyZS4gUmVtb3ZlIEZJWE1FIGNvbW1lbnRzLgoKMjAwNC0wNC0wOSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1BhbmVsUGVlci5qYXZhIChjb25uZWN0U2lnbmFscyk6CglSZW1vdmUgbWV0aG9kLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1BhbmVsUGVlci5jOiBSZW1vdmUKCXVudXNlZCBjb2RlLgoKMjAwNC0wNC0wMiAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgbmV3IGZpbGUuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBqYXZheC9zd2luZy9JbWFnZUljb24uamF2YToKCShJbWFnZUljb24oZmlsZSkpOiBzZXQgZGVzY3JpcHRpb24gb2YgdGhlIGljb24KCXRvIHRoZSBmaWxlIG5hbWUKCSogamF2YXgvc3dpbmcvSkNoZWNrQm94TWVudUl0ZW0uamF2YToKCU1vc3RseSBJbXBsZW1lbnRlZC4gV29yayBpbiBwcm9ncmVzcy4KCSogamF2YXgvc3dpbmcvSlJhZGlvQnV0dG9uTWVudUl0ZW0uamF2YToKCVJlaW1wbGVtZW50IGNvbnN0cnVjdG9ycyB0byB1c2UgSlRvZ2dsZUJ1dHRvbk1vZGVsLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSWNvbkZhY3RvcnkuamF2YToKCShnZXRDaGVja0JveE1lbnVJdGVtSWNvbik6IHJldHVybiBjaGVjayBib3gKCWljb24uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CglwYWludCBtZW51IGl0ZW0gc2VsZWN0ZWQgb25seSB3aGVuIGl0IGlzIGFybWVkIGFuZAoJcHJlc3NlZC4KCjIwMDQtMDQtMDIgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtNZW51SXRlbVBlZXIuamF2YQoJKEd0a01lbnVJdGVtUGVlcik6IE9ubHkgY29ubmVjdCBzaWduYWxzIGlmIHRoaXMgaXNuJ3QgYSBNZW51IHBlZXIuCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoYWRkKTogU2V0IHRoZSBwYXJlbnQgb2YgdGhlIHBvcHVwIGFzIHRoaXMgY29tcG9uZW50LgoJKiBqYXZhL2F3dC9Qb3B1cE1lbnUuamF2YQoJKGFkZE5vdGlmeSk6IENyZWF0ZSBwb3B1cCBtZW51IHdoZW4gcGVlciBpcyBudWxsLgoJKHNob3cpOiBDYWxsIGFkZE5vdGlmeSgpIGlmIHBlZXIgaXMgbnVsbC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtQb3B1cE1lbnVQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtQb3B1cE1lbnVQZWVyX3Nob3cpOiBTZXQgdGhlIGJ1dHRvbgoJYXJndW1lbnQgZm9yIGd0a19tZW51X3BvcHVwKCkgYXMgemVyby4gVGhpcyBjYXVzZXMgdGhlIHBvcHVwIG1lbnUgdG8KCXJlc3BvbmQgdG8gYW55IG1vdXNlIGJ1dHRvbi4KCjIwMDQtMDMtMzEgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IEFkZGVkIG5ldyBmaWxlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogamF2YXgvc3dpbmcvSlJhZGlvQnV0dG9uTWVudUl0ZW0uamF2YToKCUltcGxlbWVudGVkLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljSWNvbkZhY3RvcnkuamF2YToKCShnZXRSYWRpb0J1dHRvbk1lbnVJdGVtSWNvbik6IFJldHVybgoJcmFkaW8gYnV0dG9uIGljb24uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNNZW51SXRlbVVJLmphdmE6CgkoZ2V0UHJlZmVycmVkU2l6ZSk6IEFkZCBzaXplIG9mIGNoZWNrSWNvbiBpZiBpdAoJZXhpc3RzLgoJKGluc3RhbGxEZWZhdWx0cyk6IERvbid0IGluaXRpYWxpemUgY2hlY2tJY29uLgoJSXQncyB2YWx1ZSB3aWxsIGJlIHNldCBpbiBzdWJjbGFzc2VzLgoJKHVuaW5zdGFsbERlZmF1bHRzKTogcmVtb3ZlIHVuaW5zdGFsbGF0aW9uIG9mCgljaGVja0ljb24uCgkocGFpbnQpOiBNb3ZlZCBjb2RlIHRvIHBhaW50TWVudUl0ZW0oKS4KCShwYWludE1lbnVJdGVtKTogSW1wbGVtZW50ZWQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSYWRpb0J1dHRvbk1lbnVJdGVtVUkuamF2YToKCVVJIGRlbGVnYXRlIGZvciBKUmFkaW9CdXR0b25NZW51SXRlbS4KCjIwMDQtMDMtMjkgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY01lbnVJdGVtVUkuamF2YToKCUNvcnJlY3RlZCBwb3NpdGlvbiBvZiB0aGUgYWNjZWxlcmF0b3IuCgoyMDA0LTAzLTI5ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBuZXcgZmlsZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGphdmF4L3N3aW5nL0pNZW51SXRlbS5qYXZhOiBQYXJ0bHkKCWltcGxlbWVudGVkLiBXb3JrIGluIHByb2dyZXNzCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOgoJQ2hhbmdlZCBkZWZhdWx0IHZhbHVlIG9mIGFjY2VsZXJhdG9yRGVsaW1pdGVyLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTWVudUl0ZW1VSS5qYXZhOgoJTmV3IGNsYXNzLiBQYXJ0bHkgaW1wbGVtZW50ZWQuCgoyMDA0LTAzLTI2ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyLmMKCShpdGVtX2FjdGl2YXRlKTogRGVjbGFyZSBsYWJlbCBiZWZvcmUgdXNlLgoJKiBuYXRpdmUvam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShndGtTZXRGb250KTogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUgbGFiZWwuCgkoYWRkRXhwb3NlRmlsdGVyKTogRGVjbGFyZSB2YXJpYWJsZXMgYmVmb3JlIHVzZS4KCShyZW1vdmVFeHBvc2VGaWx0ZXIpOiBMaWtld2lzZS4KCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ1BlZXIuYwoJKG9rX2NsaWNrZWQpOiBEZWNsYXJlIHN0cl9maWxlTmFtZSBiZWZvcmUgdXNlLgoKMjAwNC0wMy0yNiAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a01lbnVQZWVyLmphdmEKCShhZGRTZXBhcmF0b3IpOiBSZW1vdmUuCgkqIGphdmEvYXd0L01lbnUuamF2YQoJKHNlcGFyYXRvcik6IFJlbW92ZSBzdGF0aWMgZmluYWwgTWVudUl0ZW0gZmllbGQuCgkoc2VwYXJhdG9yTGFiZWwpOiBOZXcgc3RhdGljIGZpbmFsIFN0cmluZyBmaWVsZC4KCShhZGRTZXBhcmF0b3IpOiBEbyBub3QgdXNlIHBlZXIgbWV0aG9kOyB1c2UgYWRkKE1lbnVJdGVtKSBpbnN0ZWFkLgoJVXNlIHNlcGFyYXRvckxhYmVsIHRvIGRlbm90ZSB0aGF0IGl0IGlzIGEgc2VwYXJhdG9yLgoJKGluc2VydFNlcGFyYXRvcik6IENyZWF0ZSBhIG5ldyBNZW51SXRlbSB3aXRoIHNlcGFyYXRvckxhYmVsLCBpbnN0ZWFkCglvZiByZXVzaW5nIHRoZSBzdGF0aWMgc2VwYXJhdG9yIGluc3RhbmNlLCBiZWNhdXNlIGEgTWVudUl0ZW0gaW5zdGFuY2UKCWNhbid0IGJlIGFkZGVkIG1vcmUgdGhhbiBvbmNlIHdpdGhvdXQgYmVpbmcgY2xvbmVkLgoJKiBqYXZhL2F3dC9wZWVyL01lbnVQZWVyLmphdmEKCShhZGRTZXBhcmF0b3IpOiBSZW1vdmUgZnJvbSBpbnRlcmZhY2UuCgoyMDA0LTAzLTI2ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTWVudUl0ZW1QZWVyLmphdmEKCShjb25uZWN0U2lnbmFscyk6IE5ldyBuYXRpdmUgbWV0aG9kIGRlY2xhcmF0aW9uLgoJKEd0a01lbnVJdGVtUGVlcik6IENvbm5lY3Qgc2lnbmFscyBpZiB0aGUgcGFyZW50IGlzIGEgTWVudS4KCSogamF2YS9hd3QvTWVudUl0ZW0uamF2YQoJKGdldEFjdGlvbkNvbW1hbmQpOiBSZXR1cm4gdGhlIGxhYmVsIGlmIHRoZSBhY3Rpb24gY29tbWFuZCBpcyBub3Qgc2V0LgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVCYXJQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51QmFyUGVlcl9hZGRNZW51KTogVXNlCglndGtfbWVudV9zaGVsbF9hcHBlbmQoKS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51SXRlbVBlZXIuYwoJKGl0ZW1fYWN0aXZhdGUpOiBGaXggYXJndW1lbnQgdHlwZS4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51SXRlbVBlZXJfY3JlYXRlKTogRG8gbm90IGNvbm5lY3QKCXNpZ25hbCBoZXJlLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVJdGVtUGVlcl9jb25uZWN0U2lnbmFscyk6IE5ldwoJbWV0aG9kLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a01lbnVQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51UGVlcl9jcmVhdGUpOiBDaGVjayBpZiBhIGxhYmVsIGlzCglnaXZlbi4gQWRkIHRoZSBtZW51IHdpZGdldCdzIHRvcC1sZXZlbCBHdGtXaW5kb3cgdG8gdGhlIGdsb2JhbCB3aW5kb3cKCWdyb3VwLCBzbyBpdCBjYW4gZ3JhYiB0aGUgcG9pbnRlci4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51UGVlcl9hZGRJdGVtKTogVXNlCglndGtfbWVudV9zaGVsbF9hcHBlbmQoKS4KCjIwMDQtMDMtMjMgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqYXZhL3RleHQvQXR0cmlidXRlZFN0cmluZy5qYXZhCgkoYWRkQXR0cmlidXRlKTogRml4IG9mZi1ieS1vbmUuCgkoZ2V0SXRlcmF0b3IpOiBMaWtld2lzZS4KCSogamF2YS90ZXh0L0F0dHJpYnV0ZWRTdHJpbmdJdGVyYXRvci5qYXZhCgkoZ2V0UnVuTGltaXQpOiBDb3JyZWN0IGxvZ2ljLgoJKGdldFJ1blN0YXJ0KTogTGlrZXdpc2UuCgkoZ2V0QXR0cmlidXRlKTogRml4IGluZXF1YWxpdHkuCgkoZ2V0QXR0cmlidXRlcyk6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5tYXV2ZS94ZmFpbHM6IFJlbW92ZSBBdHRyaWJ1dGVkU3RyaW5nIHhmYWlsLgoKMjAwNC0wMy0yMyAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFiYmVkUGFuZVVJLmphdmE6CgkoY2FsY3VsYXRlU2l6ZXMpOiBSZXR1cm4gcmVhbCB3aWR0aCBhbmQgaGVpZ2h0LgoKMjAwNC0wMy0yMyAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVGFiYmVkUGFuZVVJLmphdmEKCShjYWxjdWxhdGVUYWJSZWN0cyk6IFNldCB0aGUgc2VsZWN0ZWRSdW4gYmVmb3JlCgl0cnlpbmcgdG8gcm90YXRlIHRhYnMuCgoyMDA0LTAzLTIzICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBOZXcgZmlsZQoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZQoJKiBqYXZhL2F3dC9HcmFwaGljcy5qYXZhOiAoZHJhd1JlY3QpOgoJRHJhdyB0byB0aGUgY29ycmVjdCBwb2ludC4KCSogamF2YXgvc3dpbmcvRGVmYXVsdFNpbmdsZVNlbGVjdGlvbk1vZGVsLmphdmEKCShpc1NlbGVjdGVkKTogUmV0dXJuIHRydWUgaWYgdGhlIHNlbGVjdGVkIGluZGV4CglpcyBub3QgLTEuCgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhOiBEbyBub3QgY2hhbmdlIG1uZW1vbmljCglpbmRleCBpZiB0ZXh0IGlzIG51bGwuCgkqIGphdmF4L3N3aW5nL0pQcm9ncmVzc0Jhci5qYXZhOiBVc2UgSkNvbXBvbmVudCdzCglFdmVudExpc3RlbmVyTGlzdC4KCSogamF2YXgvc3dpbmcvSlNjcm9sbEJhci5qYXZhOiBEaXR0by4KCSogamF2YXgvc3dpbmcvSlNsaWRlci5qYXZhOiBEaXR0by4KCSogamF2YXgvc3dpbmcvSlRhYmJlZFBhbmUuamF2YTogUmVpbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOgoJQWRkIGRlZmF1bHRzIGZvciBUYWJiZWRQYW5lLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQXJyb3dCdXR0b24uamF2YToKCUltcGxlbWVudAoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUHJvZ3Jlc3NCYXJVSS5qYXZhOgoJKHBhaW50RGV0ZXJtaW5hdGUpOiBEb24ndCBwYWludCBTdHJpbmcgaWYgaXQncwoJZW1wdHkuCgkocGFpbnRJbmRldGVybWluYXRlKTogZGl0dG8uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNUYWJiZWRQYW5lVUkuamF2YToKCVJlaW1wbGVtZW50LgoKMjAwNC0wMy0xOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L2ltYWdlL0FmZmluZVRyYW5zZm9ybU9wLmphdmEKCShBZmZpbmVUcmFuc2Zvcm1PcCk6IE1hZGUgcHVibGljLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShsaXN0ZW5lckxpc3QpOiBNYWRlIHByb3RlY3RlZC4KCShhY2Nlc3NpYmxlQ29udGV4dCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KTGlzdC5qYXZhCgkodmFsdWVDaGFuZ2VkKTogRG9udCB1c2UgaW50ZXJuYWwgZmllbGRzIG9mIExpc3RTZWxlY3Rpb25FdmVudC4KCSogamF2YXgvc3dpbmcvSlZpZXdwb3J0LmphdmEKCShnZXRWaWV3KTogRG9udCB1c2UgaW50ZXJuYWwgZmllbGRzIG9mIENvbXBvbmVudC4KCShhZGRJbXBsKTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL1RpbWVyLmphdmEKCShpc1J1bm5pbmcpOiBNYWRlIHB1YmxpYy4KCShzdGFydCk6IExpa2V3aXNlLgoJKHN0b3ApOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvVUlEZWZhdWx0cy5qYXZhCgkoZ2V0SW50KTogTWFkZSBwdWJsaWMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMaXN0VUkuamF2YQoJKG1vdXNlUHJlc3NlZCk6IERvbnQgdXNlIGludGVybmFsIGZpZWxkcyBvZiBNb3VzZUV2ZW50LgoJKHByb3BlcnR5Q2hhbmdlZCk6IERvbnQgdXNlIGludGVybmFsIGZpZWxkcyBvZiBQcm9wZXJ0eUNoYW5nZUV2ZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YQoJKGFycm93SWNvbik6IE1hZGUgc3RhdGljLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVmlld3BvcnRVSS5qYXZhCgkoc3RhdGVDaGFuZ2VkKTogRG9udCB1c2UgaW50ZXJuYWwgZmllbGQgb24gQ2hhbmdlRXZlbnQuCgkqIGphdmF4L3N3aW5nL3RleHQvSlRleHRDb21wb25lbnQuamF2YQoJKGdldFVJKTogQ2FsbCBVSU1hbmFnZXIuZ2V0VUkoKS4KCSh1cGRhdGVVSSk6IFVzZSBnZXRVSSgpLgoKMjAwNC0wMy0xOSAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YTogVHVybiBvZmYgZG91YmxlIGJ1ZmZlciBieSBkZWZhdWx0LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVmlld3BvcnRVSS5qYXZhOiBDbGVhciByZWN0cyBiZWZvcmUgcGFpbnRpbmcuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRC5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9nZGtEcmF3RHJhd2FibGUpOgoJVXNlIGNhaXJvIHRvIGNvcHkgYXJlYXMuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MyRF9jYWlyb0NsaXApOgoJSW5pdGlhbGl6ZSBhbmQgc2V0IGNsaXAgcmVnaW9uLgoKMjAwNC0wMy0xNSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hcHBsZXQvQXBwbGV0LmphdmEgKHByZWZlcnJlZFNpemUpOiBPdmVycmlkZSBkZXByZWNhdGVkCgl2YXJpYW50IG9mIGdldFByZWZlcnJlZFNpemUuCgkobWluaW11bVNpemUpOiBPdmVycmlkZSBkZXByZWNhdGVkIHZhcmlhbnQgb2YgZ2V0TWluaW11bVNpemUuCgoyMDA0LTAzLTE1ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEKCShkcmF3SW1hZ2UoaW1nLHhmb3JtLGJnY29sb3Isb2JzKSk6IE5ldyBNZXRob2QuCglIZWxwZXIgZnVuY3Rpb24gdGhhdCBldmVyeSBkcmF3SW1hZ2UgbWV0aG9kIHdpbGwKCXVzZS4KCShkcmF3UmFzdGVyKTogQWRkZWQgbmV3IHBhcmFtZXRlciwgYmdjb2xvci4gQWxsCgl0cmFuc3BhcmVudCBwaXhlbHMgYXJlIGNoYW5nZWQgdG8gYmdjb2xvciBiZWZvcmUKCWltYWdlIGlzIGRyYXduLgoJKGRyYXdSZW5kZXJlZEltYWdlKTogRml4ZWQgdG8gdXNlIGNoYW5nZWQgZHJhd1Jhc3RlcigpLgoJKGRyYXdJbWFnZShpbWFnZSx4Zm9ybSxvYnMpOiBGaXhlZCB0byB1c2UgbmV3IGhlbHBlciBmdW5jdGlvbgoJKGRyYXdJbWFnZShpbWFnZSxvcCx4LHkpKTogRGl0dG8uCgkoZHJhd0ltYWdlIChpbWcseCx5LG9ic2VydmVyKSk6IERpdHRvLgoJKChQYWludGVyVGhyZWFkKSBiZ2NvbG9yKTogTmV3IEZpZWxkLgoJKChQYWludGVyVGhyZWFkKSAoc2V0UGl4ZWxzKSk6IENoYW5nZWQgYWxsIHRyYW5zcGFyZW50IHBpeGVscwoJdG8gYmdjb2xvci4KCShkcmF3SW1hZ2UoaW1nLHgseSx3aWR0aCxoZWlnaHQsYmdjb2xvcixvYnNlcnZlcikpOgoJRml4ZWQgRklYTUUgLSBhbGwgdGhlIHRyYW5zcGFyZW50IHBpeGVscyBhcmUKCWNoYW5nZWQgdG8gdGhlIHNwZWNpZmllZCBiZ2NvbG9yLgoJKGRyYXdJbWFnZShpbWcsIHgsIHksIHdpZHRoLCBoZWlnaHQsIG9ic2VydmVyKTogQ2hhbmdlZCB0bwoJdXNlIGZ1bmN0aW9uIGFib3ZlLgoJKGRyYXdJbWFnZSAoaW1nLGR4MSxkeTEsZHgyLGR5MixzeDEsc3kxLHN4MixzeTIsYmdjb2xvcixvYnNlcnZlcikpOgoJRml4ZWQgRklYTUUtIGNoYW5nZWQgYWxsIHRyYW5zcGFyZW50IHBpeGVscyB0byBiZ2NvbG9yLgoJKGRyYXdJbWFnZSAoaW1nLCBkeDEsIGR5MSwgZHgyLCBkeTIsIHN4MSwgc3kxLCBzeDIsIHN5Miwgb2JzZXJ2ZXIpKToKCUNoYW5nZWQgdG8gdXNlIGZ1bmN0aW9uIGFib3ZlLgoKMjAwNC0wMy0xNCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hcHBsZXQvQXBwbGV0LmphdmEgKGRpbWVuc2lvbnMpOiBOZXcgZmllbGQuCgkoZ2V0RGltZW5zaW9ucyk6IE5ldyBtZXRob2QuCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IENhbGwgZ2V0RGltZW5zaW9ucy4KCShnZXRNaW5pbXVtU2l6ZSk6IExpa2V3aXNlLgoKMjAwNC0wMy0xMyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogam5pL2NsYXNzcGF0aC9qY2wuYzogSW5jbHVkZSBzdGRsaWIuaCwgbm90IG1hbGxvYy5oLgoJKiBqbmkvY2xhc3NwYXRoL2puaWxpbmsuYzogTGlrZXdpc2UuCgoJKiBqYXZhL2FwcGxldC9BcHBsZXQuamF2YSAoZ2V0UHJlZmVycmVkU2l6ZSk6IE5ldyBtZXRob2QuCgkoZ2V0TWluaW11bVNpemUpOiBOZXcgbWV0aG9kLgoKMjAwNC0wNC0xNSAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogcHJpbXMuY2MgKF9Kdl9BbGxvY09iamVjdCk6IFJlbW92ZSBgc2l6ZScgYXJndW1lbnQuCgkoX0p2X0FsbG9jT2JqZWN0Tm9GaW5hbGl6ZXIpOiBMaWtld2lzZS4KCShfSnZfQWxsb2NPYmplY3ROb0luaXROb0ZpbmFsaXplcik6IExpa2V3aXNlLgoJKF9Kdl9BbGxvY1B0ckZyZWVPYmplY3QpOiBMaWtld2lzZS4KCShfSnZfQWxsb2NTdHJpbmcpOiBNb3ZlZCBmcm9tIG5hdFN0cmluZy5jYy4gQ2FsbCBjb2xsZWN0b3IgaW50ZXJmYWNlCglkaXJlY3RseSBldmVuIGluIHRoZSBKVk1QSSBjYXNlLgoJKiBnY2ovY25pLmggKEp2QWxsb2NPYmplY3QpOiBSZW1vdmUgYHNpemUnIGFyZ3VtZW50IGZyb20KCV9Kdl9BbGxvY09iamVjdCBjYWxscy4KCSogZ2NqL2phdmFwcmltcy5oOiBVcGRhdGUgcHJvdG90eXBlcy4KCSogZ251L2djai9uYXRDb3JlLmNjIChfSnZfY3JlYXRlX2NvcmUpOiBVc2UgYG5ldycsIG5vdCBfSnZfQWxsb2NPYmplY3QuCgkqIGphdmEvbGFuZy9DbGFzcy5oOiBVcGRhdGUgX0p2X0FsbG9jT2JqZWN0IGZyaWVuZCBwcm90b3R5cGUuCgkqIGphdmEvbGFuZy9uYXRTdHJpbmcuY2MgKF9Kdl9BbGxvY1N0cmluZyk6IE1vdmUgdG8gcHJpbXMuY2MuCgoyMDA0LTA0LTE0ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KICAgICAgICAgICAgQnJ5Y2UgTWNLaW5sYXkgIDxtY2tpbmxheUByZWRoYXQuY29tPgoKCSogamF2YS9sYW5nL3JlZmxlY3QvbmF0TWV0aG9kLmNjIChfSnZfQ2FsbEFueU1ldGhvZEEpOiBVc2UKCV9Kdl9Mb29rdXBJbnRlcmZhY2VNZXRob2RJZHggZm9yIGNhbGxzIHRvIGludGVyZmFjZXMuCgkqIGluY2x1ZGUvanZtLmggKF9Kdl9DYWxsQW55TWV0aG9kQSk6IEFkZCBuZXcgYGlmYWNlJyBhcmcuCgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL0ludm9rZUludGVyZmFjZS5qYXZhOiBOZXcgZmlsZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9JbnZva2VJbnRlcmZhY2Uub3V0OiBOZXcgZmlsZS4KCjIwMDQtMDQtMDkgIFJhbmppdCBNYXRoZXcgIDxybWF0aGV3QGhvdG1haWwuY29tPgoKCSogamF2YS9sYW5nL1ZNVGhyb3dhYmxlLmphdmEgKGdldFN0YWNrVHJhY2UpOiBQYXNzIHRyYWNlIGFzLWlzIHRvCgltb2RpZmllZCBsb29rdXAoKS4KCSogZ251L2djai9ydW50aW1lL05hbWVGaW5kZXIuamF2YSAobG9va3VwKTogQ2hhbmdlIHRvIHRha2UgaW4gYQoJU3RhY2tUcmFjZUVsZW1lbnQgZGlyZWN0bHkuCgkobmV3RWxlbWVudCk6IE5ldyBuYXRpdmUgaGVscGVyIG1ldGhvZCB0byBjcmVhdGUgU3RhY2tUcmFjZUVsZW1lbnQKCWJ5cGFzc2luZyBKYXZhIGFjY2VzcyBjb250cm9sLgoJKGNyZWF0ZVN0YWNrVHJhY2VFbGVtZW50KTogVXNlIG5ld0VsZW1lbnQoKSBpbnN0ZWFkIG9mIGRpcmVjdGx5CgljYWxsaW5nIFN0YWNrVHJhY2VFbGVtZW50J3MgY29uc3RydWN0b3IuCgkqIGdudS9nY2ovcnVudGltZS9uYXROYW1lRmluZGVyLmNjIChuZXdFbGVtZW50KTogTmV3IG1ldGhvZC4KCjIwMDQtMDQtMDEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2xhbmcvU2VjdXJpdHlNYW5hZ2VyLmphdmEKCShjaGVja0F3dEV2ZW50UXVldWVBY2Nlc3MpOiBJbXBsZW1lbnRlZC4KCjIwMDQtMDQtMDEgIEdhcnkgQmVuc29uICA8Z2JlbnNvbkByZWRoYXQuY29tPgoKCSogcmVzb2x2ZS5jYyAoX0p2X1Jlc29sdmVQb29sRW50cnkpOiBQdXQgZmllbGQgbmFtZSBpbiBleGNlcHRpb24uCgkoX0p2X1NlYXJjaE1ldGhvZEluQ2xhc3MpOiBMaWtld2lzZS4KCjIwMDQtMDMtMjYgIFBldGVyIE1vb24gIDxwZXRlcm1AbWlyYWN1bHVtLmNvbT4KCgkqIGphdmEvdGV4dC9OdW1iZXJGb3JtYXQuamF2YTogRml4IHNwZWxsaW5nIG9mIHNldEN1cnJlbmN5CgltZXRob2QuCgoyMDA0LTAzLTIxICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9uYXRDbGFzcy5jYyAoZ2V0Q2xhc3NMb2FkZXIpOiBDaXJjdW12ZW50IGluZmluaXRlCglyZWN1cnNpb24gd2hlbiBzZWFyY2hpbmcgZm9yIHRoZSBzeXN0ZW0gQ2xhc3NMb2FkZXIuCgoyMDA0LTAzLTIxICBJdG8gS2F6dW1pdHN1IDxrYXpAbWFjenVrYS5nY2Qub3JnPgoKICAgICAgICAqIGphdmEvbmV0L1NlcnZlclNvY2tldC5qYXZhCiAgICAgICAgKGFjY2VwdCk6IENsb3NlIHRoZSBzb2NrZXQgd2hlbiBlcnJvciBvY2N1cmVkLgoKMjAwNC0wMy0yMSAgSmVyb2VuIEZyaWp0ZXJzICA8amVyb2VuQGZyaWp0ZXJzLm5ldD4KCgkqIGphdmEvbmV0L1VSSS5qYXZhIChwYXJzZVVSSSk6IEFkZGVkIHVucXVvdGluZy4KCSh1bnF1b3RlKTogTmV3IG1ldGhvZC4KCShxdW90ZUF1dGhvcml0eSk6IEltcGxlbWVudGVkLgoJKHF1b3RlKFN0cmluZyxTdHJpbmcpKTogTmV3IG1ldGhvZC4KCShxdW90ZVBhdGgpOiBJbXBsZW1lbnRlZC4KCShnZXRSYXdTY2hlbWVTcGVjaWZpY1BhcnQpOiBSZXR1cm4gbmV3IHJhd1NjaGVtZVNwZWNpZmljUGFydCBmaWVsZC4KCShnZXRTY2hlbWVTcGVjaWZpY1BhcnQpOiBSZW1vdmVkIEZJWE1FIGNvbW1lbnQuCgkoZ2V0UmF3QXV0aG9yaXR5KTogUmV0dXJuIG5ldyByYXdBdXRob3JpdHkgZmllbGQuCgkoZ2V0QXV0aG9yaXR5KTogUmVtb3ZlZCBGSVhNRSBjb21tZW50LgoJKGdldFJhd1VzZXJJbmZvKTogUmV0dXJuIG5ldyByYXdVc2VySW5mbyBmaWVsZC4KCShnZXRVc2VySW5mbyk6IFJlbW92ZWQgRklYTUUgY29tbWVudC4KCShnZXRSYXdQYXRoKTogUmV0dXJuIG5ldyByYXdQYXRoIGZpZWxkLgoJKGdldFBhdGgpOiBSZW1vdmVkIEZJWE1FIGNvbW1lbnQuCgkoZ2V0UmF3UXVlcnkpOiBSZXR1cm4gbmV3IHJhd1F1ZXJ5IGZpZWxkLgoJKGdldFF1ZXJ5KTogUmVtb3ZlZCBGSVhNRSBjb21tZW50LgoJKGdldFJhd0ZyYWdtZW50KTogUmV0dXJuIG5ldyByYXdGcmFnbWVudCBmaWVsZC4KCShnZXRGcmFnbWVudCk6IFJlbW92ZWQgRklYTUUgY29tbWVudC4KCjIwMDQtMDMtMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9VUkxDb25uZWN0aW9uLmphdmE6IE1lcmdlZCBjb3B5cmlnaHQgeWVhciB3aXRoIGNsYXNzcGF0aC4KCjIwMDQtMDMtMjAgIE5vcmJlcnQgRnJlc2UgIDxwb3N0ZmFjaEBuZnJlc2UubmV0PgoKCSogZ251L2phdmEvcm1pL3NlcnZlci9STUlJbmNvbWluZ1RocmVhZC5qYXZhOiBOZXcgZmlsZS4KCSogZ2NjL2xpYmphdmEvZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0Q29ubmVjdGlvbi5qYXZhOgoJQ3JlYXRlIGEgbmV3IFJNSU9iamVjdE91cHV0U3RyZWFtL1JNSU9iamVjdElucHV0U3RyZWFtIGZvciBldmVyeQoJcm1pLW1lc3NhZ2UuCgkoZ2V0T2JqZWN0SW5wdXRTdHJlYW0pOiBSZXR1cm4gb2JqZWN0IHJlZmVyZW5jZSwgdGhyb3cgSU9FeGNlcHRpb24gaWYgbnVsbC4KCShzdGFydE9iamVjdElucHV0U3RyZWFtKTogQ3JlYXRlIG5ldyBSTUlPYmplY3RJbnB1dFN0cmVhbSBvbiB0b3Agb2YgJ2RpbicuCgkoZ2V0T2JqZWN0T3V0cHV0U3RyZWFtKTogUmV0dXJuIG9iamVjdCByZWZlcmVuY2UsIHRocm93IElPRXhjZXB0aW9uIGlmIG51bGwuCgkoc3RhcnRPYmplY3RPdXRwdXRTdHJlYW0pOiBDcmVhdGUgbmV3IFJNSU9iamVjdE91dHB1dFN0cmVhbSBvbiB0b3Agb2YgJ2RvdXQnLgoJKiBnY2MvbGliamF2YS9nbnUvamF2YS9ybWkvc2VydmVyL1VuaWNhc3RDb25uZWN0aW9uTWFuYWdlci5qYXZhOgoJKFVuaWNhc3RDb25uZWN0aW9uTWFuYWdlcik6IFRocm93IFJlbW90ZUV4Y2VwdGlvbiBpZiBwb3J0IGlzIG5vdCBhdmFpbGFibGUuCgkoZ2V0SW5zdGFuY2UpOiBUaHJvdyBSZW1vdGVFeGNlcHRpb24uCgkocnVuKTogTG9va3VwIGNsaWVudCBob3N0IGFuZCBhdHRhY2ggaXQgdG8gbmV3IFJNSUluY29taW5nVGhyZWFkIGZvciBsYXRlciByZXRyaWV2YWwuCgkqIGdjYy9saWJqYXZhL2dudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFJlZi5qYXZhOgoJU3RhcnQgYSBuZXcgUk1JT2JqZWN0SW5wdXRTdHJlYW0vUk1JT2JqZWN0T3V0cHV0U3RyZWFtIGZvciBldmVyeSBybWktbWVzc2FnZS4KCUNvbGxlY3QgRXhjZXB0aW9ucyB3aGljaCBhcmUgcmV0dXJuZWQgYnkgYSBybWktY2FsbCBhbmQgZml4IHZvaWQgcmV0dXJucy4KCSogZ2NjL2xpYmphdmEvZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0UmVtb3RlQ2FsbC5qYXZhOgoJU3RhcnQgYSBuZXcgUk1JT2JqZWN0SW5wdXRTdHJlYW0vUk1JT2JqZWN0T3V0cHV0U3RyZWFtIGZvciBldmVyeSBybWktbWVzc2FnZS4KCSogZ2NjL2xpYmphdmEvZ251L2phdmEvcm1pL3NlcnZlci9VbmljYXN0U2VydmVyLmphdmE6CgkoZGlzcGF0Y2gpOiBBbnN3ZXIgcGluZyBtZXNzYWdlcyB3aGljaCBhcmUgc2VudCBieSBvdGhlciBqYXZhIGltcGxlbWVudGlvbnMuCgkoaW5jb21pbmdNZXNzYWdlQ2FsbCk6IFN0YXJ0IGEgbmV3IFJNSU9iamVjdElucHV0U3RyZWFtL1JNSU9iamVjdE91dHB1dFN0cmVhbQoJZm9yIGV2ZXJ5IHJtaS1tZXNzYWdlIGFuZCBmaXggdm9pZCByZXR1cm4gcHJvYmxlbXMuCgkqIGdjYy9saWJqYXZhL2dudS9qYXZhL3JtaS9zZXJ2ZXIvVW5pY2FzdFNlcnZlclJlZi5qYXZhCgkoVW5pY2FzdFNlcnZlclJlZik6IFRocm93IFJlbW90ZUV4Y2VwdGlvbi4KCShleHBvcnRPYmplY3QpOiBGaW5kIHRoZSBjbGFzcyB1cCB0aGUgY2xhc3MgaGllcmFyY2h5IHdoaWNoIGhhcyBhIF9TdHViIGdlbmVyYXRlZCBieSBybWljLgoJSW4gc29tZSBzaXR1YXRpb25zIGl0IGlzIG5lY2Vzc2FyeSB0byBleHBvcnQgYSBzdWJjbGFzcyBvZiB0aGUgY2xhc3Mgd2hpY2ggaGFzIHRoZSBfU3R1Yi4KCUZvciBpbnN0YW5jZSB3aGVuIHRoZSBjbGFzcyB3aXRoIGhhcyB0aGUgX1N0dWIgaXMgYWJzdHJhY3QuCgkoZmluZFN0dWJTa2VsQ2xhc3MpOiBOZXcgbWV0aG9kIHdoaWNoIGxvb2tzIGZvciB0aGUgY2xhc3Mgd2hpY2ggaGFzIHRoZSBfU3R1Yi4KCShnZXRDbGllbnRIb3N0KTogSW1wbGVtZW50YXRlZC4KCSogZ2NjL2xpYmphdmEvamF2YS9ybWkvc2VydmVyL1JlbW90ZVNlcnZlci5qYXZhCgkoZ2V0Q2xpZW50SG9zdCk6IEltcGxlbWVudGF0ZWQuCgkqIGdjYy9saWJqYXZhL01ha2VmaWxlLmFtIChybWlfamF2YV9zb3VyY2VfZmlsZXMpOgoJQWRkZWQgZ251L2phdmEvcm1pL3NlcnZlci9STUlJbmNvbWluZ1RocmVhZC5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTAzLTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uZXQvSW5ldEFkZHJlc3MuamF2YQoJKGdldExvY2FsSG9zdG5hbWUpOiBBZGRlZCBqYXZhZG9jLgoKMjAwNC0wMy0xOSAgUGVyIEJvdGhuZXIgIDxwZXJAYm90aG5lci5jb20+CgoJKiBjb25maWd1cmUuaW46IEZJTEUgdmFyaWFibGUgIG92ZXJyaWRlcyBGTEFURk9STSB3aGVuIGxpbmtpbmcKCW5hdEZpbGVDaGFubmVsWFhYLmNjLgoKCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL25hdEZpbGVDaGFubmVsRWNvcy5jYyAoZGlhZ193cml0ZSk6ICBSZXN0b3JlZC4KCSh3cml0ZSk6ICBDYWxsIGRpYWdfd3JpdGUsIGFzIGluIG9sZCBuYXRGaWxlRGVzY3JpcHRvckVjb3MuY2MuCgoyMDA0LTAzLTE5ICBQZXIgQm90aG5lciAgPHBlckBib3RobmVyLmNvbT4KCgkqIGdudS9nY2ovY29udmVydC9JbnB1dF9Vbmljb2RlQmlnLmphdmE6ICBOZXcgY2xhc3MuLgoJKiBnbnUvZ2NqL2NvbnZlcnQvSW5wdXRfVW5pY29kZUxpdHRsZS5qYXZhOiAgTmV3IGNsYXNzLgoJKiBNYWtlZmlsZS5hbTogIFVwZGF0ZSBhY2NvcmRpbmdseS4KCSogZ251L2djai9jb252ZXJ0L0lPQ29udmVydGVyLmphdmE6ICBEZWZpbmUgInV0Zi0xNmxlIiBhbmQgInV0ZjE2YmUiCglhcyBhbGlhc2VzIGZvciBVbmljb2RlTGl0dGxlIGFuZCBVbmljb2RlQmlnLgoKMjAwNC0wMy0yMCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAub3JnPgoKCSogbmF0aXZlL2puaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dEFyZWFQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0QXJlYVBlZXJfZ2V0VlNjcm9sbGJhcldpZHRoKToKCURvbid0IGFjY2VzcyB3cyB3aGVuIGl0IGlzIG51bGwuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrVGV4dEFyZWFQZWVyX2dldEhTY3JvbGxiYXJIZWlnaHQpOgoJTGlrZXdpc2UuCgoyMDA0LTAzLTE5ICBKZXJvZW4gRnJpanRlcnMgIDxqZXJvZW5AZnJpanRlcnMubmV0PgoKCSogamF2YS9sYW5nL1RocmVhZEdyb3VwLmphdmEgKGxpc3QpOiBDaGFuZ2VkIHByaW50IHRvIHByaW50bG4uCgoyMDA0LTAzLTE5ICBNYXJrIFdpZWxhYXJkICA8bWFya0BrbG9tcC5vcmc+CgoJKiBqYXZhL2lvL0J1ZmZlcmVkUmVhZGVyLmphdmE6IFVzZSAmbHQ7PSwgbm90ICZsdDsmZXE7IHRvIG1ha2UgZ2pkb2MKCWhhcHB5LgoKMjAwNC0wMi0xMCAgUmFuZG9scGggQ2h1bmcgIDx0YXVzcUBkZWJpYW4ub3JnPgoKCSogY29uZmlndXJlLmluOiBCdWlsZCBqYXZhIGZvciBocHBhIHRhcmdldC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBsaWJqYXZhL2NvbmZpZ3VyZS5ob3N0IChocHBhLSopOiBBZGQgdGFyZ2V0LgoJKiBsaWJqYXZhL3N5c2RlcHMvcGEvbG9jay5oOiBOZXcgZmlsZS4KCjIwMDQtMDMtMTkgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCglSZXBvcnRlZCBieSBTdGVwaGVuIENyYXdsZXkKCSogamF2YS9pby9GaWxlUGVybWlzc2lvbi5qYXZhIChpbXBsaWVzKTogVXNlIFN0cmluZy5sZW5ndGgoKSAtMSB0bwoJYWNjZXNzIGxhc3QgY2hhciBvZiBTdHJpbmcuCgoyMDA0LTAzLTE5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9hd3QvaW1hZ2UvQWZmaW5lVHJhbnNmb3JtT3AuamF2YQoJKEFmZmluZVRyYW5zZm9ybU9wKTogTWFkZSBwdWJsaWMuCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YQoJKGxpc3RlbmVyTGlzdCk6IE1hZGUgcHJvdGVjdGVkLgoJKGFjY2Vzc2libGVDb250ZXh0KTogTGlrZXdpc2UuCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmEKCSh2YWx1ZUNoYW5nZWQpOiBEb250IHVzZSBpbnRlcm5hbCBmaWVsZHMgb2YgTGlzdFNlbGVjdGlvbkV2ZW50LgoJKiBqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YQoJKGdldFZpZXcpOiBEb250IHVzZSBpbnRlcm5hbCBmaWVsZHMgb2YgQ29tcG9uZW50LgoJKGFkZEltcGwpOiBMaWtld2lzZS4KCSogamF2YXgvc3dpbmcvVGltZXIuamF2YQoJKGlzUnVubmluZyk6IE1hZGUgcHVibGljLgoJKHN0YXJ0KTogTGlrZXdpc2UuCgkoc3RvcCk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9VSURlZmF1bHRzLmphdmEKCShnZXRJbnQpOiBNYWRlIHB1YmxpYy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhCgkobW91c2VQcmVzc2VkKTogRG9udCB1c2UgaW50ZXJuYWwgZmllbGRzIG9mIE1vdXNlRXZlbnQuCgkocHJvcGVydHlDaGFuZ2VkKTogRG9udCB1c2UgaW50ZXJuYWwgZmllbGRzIG9mIFByb3BlcnR5Q2hhbmdlRXZlbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhCgkoYXJyb3dJY29uKTogTWFkZSBzdGF0aWMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNWaWV3cG9ydFVJLmphdmEKCShzdGF0ZUNoYW5nZWQpOiBEb250IHVzZSBpbnRlcm5hbCBmaWVsZCBvbiBDaGFuZ2VFdmVudC4KCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhCgkoZ2V0VUkpOiBDYWxsIFVJTWFuYWdlci5nZXRVSSgpLgoJKHVwZGF0ZVVJKTogVXNlIGdldFVJKCkuCgoyMDA0LTAzLTE5ICBSYWluZXIgT3J0aCAgPHJvQFRlY2hGYWsuVW5pLUJpZWxlZmVsZC5ERT4KCgkqIHZlcmlmeS5jYzogVW5kZWYgUEMuCgoyMDA0LTAzLTE4ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uaW8vY2hhbm5lbHMvc3BpL0Fic3RyYWN0U2VsZWN0YWJsZUNoYW5uZWwuamF2YQoJKGtleXMpOiBJbml0aWFsaXplIGF0IGRlY2xhcmF0aW9uLgoJKGxvY2F0ZSk6IGtleXMgY2FudCBiZSBudWxsLgoJKGFkZCk6IFJlbW92ZWQuCgkoYWRkU2VsZWN0aW9uS2V5KTogTmV3IG1ldGhvZC4KCShyZW1vdmVTZWxlY3Rpb25LZXkpOiBOZXcgbWV0aG9kLgoJKiBqYXZhL25pby9jaGFubmVscy9zcGkvQWJzdHJhY3RTZWxlY3Rpb25LZXkuamF2YQoJKGNhbmNlbCk6IENhbGwgQWJzdHJhY3RTZWxlY3Rvci5jYW5jZWxLZXkoU2VsZWN0aW9uS2V5IGtleSkuCgkqIGphdmEvbmlvL2NoYW5uZWxzL3NwaS9BYnN0cmFjdFNlbGVjdG9yLmphdmEKCShwcm92aWRlcik6IEphdmFkb2MgYWRkZWQuCgkoY2FuY2VsbGVkS2V5cyk6IEphdmFkb2MgYWRkZWQuCgkoY2FuY2VsS2V5KTogSmF2YWRvYyBhZGRlZCwgYWRkIGtleSB0byBjYW5jZWxsZWRLZXlzLgoJKGRlcmVnaXN0ZXIpOiBJbXBsZW1lbnRlZC4KCjIwMDQtMDMtMTggIFJhaW5lciBPcnRoICA8cm9AVGVjaEZhay5VbmktQmllbGVmZWxkLkRFPgoKCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL25hdEZpbGVDaGFubmVsUG9zaXguY2MgKG1hcEltcGwpOiBDYXN0CglNQVBfRkFJTEVEIHRvIHZvaWQgKi4KCjIwMDQtMDMtMTIgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhOiBDbGlwcGluZyBmaXhlcy4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhIChwYWludCk6IFVzZSBwZXJzaXN0ZW50IGRvdWJsZSBidWZmZXIuCgkqIGphdmF4L3N3aW5nL0pMaXN0LmphdmEgKExpc3RMaXN0ZW5lcik6IFJldmFsaWRhdGUgb24gY2hhbmdlcy4KCSogamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YTogUmVpbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL0pWaWV3cG9ydC5qYXZhOiBSZWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvU2Nyb2xsUGFuZUxheW91dC5qYXZhOiBSZWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvVmlld3BvcnRMYXlvdXQuamF2YTogVGlkeSB1cC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvbkxpc3RlbmVyLmphdmE6IFJlbW92ZSBwcmludGxucy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Njcm9sbFBhbmVVSS5qYXZhOiBSZWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NsaWRlclVJLmphdmE6IEhhbmRsZSBtaXNzaW5nIGxhYmVscy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1ZpZXdwb3J0VUkuamF2YTogSW1wbGVtZW50IGluIHRlcm1zIG9mCgliYWNraW5nIHN0b3JlIG9ubHkuCgoyMDA0LTAzLTExICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHdpbmRvd193bV9wcm90b2NvbHNfZmlsdGVyKTogTmV3IGZ1bmN0aW9uLgoJKHdpbmRvd19mb2N1c19pbl9jYik6IFJlbW92ZSBmdW5jdGlvbi4KCSh3aW5kb3dfZm9jdXNfb3V0X2NiKTogTGlrZXdpc2UuCgkod2luZG93X2ZvY3VzX29yX2FjdGl2ZV9zdGF0ZV9jaGFuZ2VfY2IpOiBOZXcgZnVuY3Rpb24uCgkoY3JlYXRlKTogQWRkIGZpbHRlciB0aGF0IHJlbW92ZXMgV01fVEFLRV9GT0NVUyBjbGllbnQgbWVzc2FnZXMuCgkoY29ubmVjdFNpZ25hbHMpOiBEb24ndCBhdHRhY2ggaGFuZGxlcnMgdG8gZm9jdXMtaW4tZXZlbnQgb3IKCWZvY3VzLW91dC1ldmVudCBzaWduYWxzLiAgSGFuZGxlIG5vdGlmeSBzaWduYWwuCgoyMDA0LTAzLTExICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hlY2tib3hQZWVyLmphdmEKCShndGtTZXRMYWJlbCk6IE5ldyBuYXRpdmUgbWV0aG9kIGRlY2xhcmF0aW9uLgoJKHNldExhYmVsKTogVXNlIGd0a1NldExhYmVsLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NoZWNrYm94UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hQZWVyX2d0a1NldExhYmVsKTogTmV3IG1ldGhvZC4KCjIwMDQtMDMtMTAgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljcy5qYXZhIChzZXRDb2xvcik6IERlZmF1bHQgdG8KCWJsYWNrIHdoZW4gY29sb3IgYXJndW1lbnQgaXMgbnVsbC4KCjIwMDQtMDMtMTAgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmE6IFJlbW92ZSBjaGVjawoJZm9yIGRyYWcgZXZlbnRzLgoKMjAwNC0wMy0xMCAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YTogKHZpc2l0Q2hpbGQpOgoJUmVtb3ZlIGNhbmRpZGF0ZSBjbGlwLiBVc2UgdGhlIGNvbXBvbmVudAoJY2xpcCB0byBpbnRlcnNlY3QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmE6CgkoaGFuZGxlRXZlbnQpOiBVc2UgdGhlIFBhaW50RXZlbnQncyBjbGlwLgoKMjAwNC0wMy0xMCAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhOgoJKGhhbmRsZUV2ZW50KTogRG9uJ3Qgc2V0IHRoZSBjbGlwIGZvciB0aGUKCUdyYXBoaWNzIG9iamVjdC4KCjIwMDQtMDMtMDkgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dseXBoVmVjdG9yLmM6CglGaXggZG91YmxlIDwtPiBmaXhlZCBtYWNyb3MsIHJlc2V0IGZvbnQgdHJhbnNmb3JtLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0NsYXNzcGF0aEZvbnRQZWVyTWV0cmljcy5jOgoJTGlrZXdpc2UuCgoyMDA0LTAzLTA5oCBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhOiAodmlzaXRDaGlsZCk6IE1vdmUKCXRoZSB4IGFuZCB5IGNvb3JkaW5hdGUgb2YgdGhlIGNvbXBvbmVudCByZWN0YW5nbGUKCXRvIGNvcnJlY3QgcG9zaXRpb24uCgkoaGFuZGxlRXZlbnQpOiBGb3J3YXJkIGRyYWcgZXZlbnRzIHRvIHRoZSBwcmVzc2VkCgljb21wb25lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTY3JvbGxCYXJVSS5qYXZhOgoJRml4IGNvbW1lbnRzLgoJKEFycm93QnV0dG9uTGlzdGVuZXI6Om1vdXNlUHJlc3NlZCk6IFN0b3AgdGhlCglleGlzdGluZyB0aW1lci4KCShtb3VzZURyYWdnZWQpOiBJbXBsZW1lbnQuCgkoVHJhY2tMaXN0ZW5lcjo6bW91c2VQcmVzc2VkKTogT25seSByZWFjdCBpZgoJdGhlIHByZXNzIGRvZXNuJ3Qgb2NjdXIgb24gdGhlIHRodW1iLCBvdGhlcndpc2UKCWp1c3Qgc2V0IHRoZSBvZmZzZXQuCgkoVHJhY2tMaXN0ZW5lcjo6bW91c2VSZWxlYXNlZCk6IFVuc2V0IHRoZSBpc0FkanVzdGluZwoJdmFsdWUuCgkoY3JlYXRlSW5jcmVhc2VJY29uKTogU3dpdGNoIGljb24uCgkoY3JlYXRlRGVjcmVhc2VJY29uKTogU3dpdGNoIGljb24uCgkoY2FsY3VsYXRlUHJlZmVycmVkU2l6ZSk6IFVzZSB3aWR0aC4KCShnZXRUaHVtYkJvdW5kcyk6IFVzZSB0aGUgdG9wIGFzIHRoZSBsb3dlciB2YWx1ZS4KCShsYXlvdXRWU2Nyb2xsQmFyKTogU3dpdGNoIHRoZSBidXR0b24gbG9jYXRpb25zLgoJKHBhaW50SW5jcmVhc2VIaWdobGlnaHQpOiBQYWludCBjb3JyZWN0IHNpZGUgb2YgdGh1bWIuCgkocGFpbnREZWNyZWFzZUhpZ2hsaWdodCk6IGRpdHRvLgoJKHZhbHVlRm9yWVBvc2l0aW9uKTogVXNlIHRvcCBhcyB0aGUgbG93ZXIgdmFsdWUuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTbGlkZXJVSS5qYXZhOgoJRml4IGNvbW1lbnRzLgoJKG1vdXNlRHJhZ2dlZCk6IEltcGxlbWVudC4KCShtb3VzZVByZXNzZWQpOiBPbmx5IHJlYWN0IHdoZW4gdGhlIHRodW1iIGlzbid0CglwcmVzc2VkLCBvdGhlcndpc2UganVzdCBzZXQgb2Zmc2V0LgoJKG1vdXNlUmVsZWFzZWQpOiBIYW5kbGUgYSByZWxlYXNlIG9mIHRoZSB0aHVtYi4KCShzY3JvbGxEdWVUb0NsaWNrSW5UcmFjayk6IFN0b3AgdGhlIHRpbWVyIGZpcnN0LgoJKiBqYXZheC9zd2luZy9KUHJvZ3Jlc3NCYXIuamF2YToKCShzZXRTdHJpbmcpOiBGaXggY2hhbmdlIGNvbmRpdGlvbi4KCSogamF2YXgvc3dpbmcvSlNlcGFyYXRvci5qYXZhOgoJUmVtb3ZlIHByaW50bG4ncy4KCjIwMDQtMDMtMDggIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L2ltYWdlL0FmZmluZVRyYW5zZm9ybU9wLmphdmE6CgkoZmlsdGVyKTogVXNlIEdyYXBoaWNzMkQgaW50ZXJmYWNlIGluc3RlYWQgb2YgZGlyZWN0bHkgdXNpbmcgdGhlCglHZGtHcmFwaGljczJEIHBlZXIuCgoyMDA0LTAzLTA1ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQnV0dG9uUGVlci5qYXZhCgkoaGFuZGxlRXZlbnQpOiBBY3Rpb24gZXZlbnRzIGFyZSBnZW5lcmF0ZWQgdXBvbiBNT1VTRV9SRUxFQVNFRC4KCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShhY3F1aXJlQ29tcG9uZW50Rm9yTW91c2VFdmVudCk6IEZpeGVkLgoJKGhhbmRsZUV2ZW50KTogRml4ZWQuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRXZlbnRzLmMKCShzdGF0ZV90b19hd3RfbW9kc193aXRoX2J1dHRvbl9zdGF0ZXMpOiBOZXcgbWV0aG9kLgoJKHByZV9ldmVudF9oYW5kbGVyKTogRml4ZWQgbW91c2UgZXZlbnQgZ2VuZXJhdGlvbi4KCjIwMDQtMDMtMDUgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEKCShHZGtHcmFwaGljczJEIChCdWZmZXJlZEltYWdlKSk6IEluaXRpYWxpemUKCXBpeG1hcCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWVkIEJ1ZmZlcmVkSW1hZ2UuCgkoc2V0UGFpbnQpOiBDaGFuZ2VkIGltcGxlbWVudGF0aW9uIG9mIFRleHR1cmUKCVBhaW50IHRvIHVzZSBBZmZpbmVUcmFuc2Zvcm1PcC4KCSogamF2YS9hd3QvaW1hZ2UvQWZmaW5lVHJhbnNmb3JtT3AuamF2YQoJKGNyZWF0ZUNvbXBhdGlibGVEZXN0UmFzdGVyKTogVGhyb3cgUmFzdGVyRm9ybWF0RXhjZXB0aW9uCglpZiByZXN1bHRpbmcgd2lkdGggb3IgaGVpZ2h0IG9mIHJhc3RlciBpcyAwLgoKMjAwNC0wMy0wNCAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9pbWFnZS9BZmZpbmVUcmFuc2Zvcm1PcC5qYXZhOgoJUmVtb3ZlZCB1bm5lY2Vzc2FyeSBmaWVsZCBpbnRlcnBvbGF0aW9uVHlwZS4KCUZvcm1hdHRlZCBzb21lIG9mIHRoZSBsaW5lcyB0byBiZSBjb25zaXN0ZW50IHdpdGgKCXRoZSBHTlUgc3R5bGUuCgkoQWZmaW5lVHJhbnNmb3JtT3ApOiBDcmVhdGUgbmV3IFJlbmRlcmluZ0hpbnRzCgljb250YWluaW5nIHNwZWNpZmllZCBpbnRlcnBvbGF0aW9uIHR5cGUuCgkoY3JlYXRlQ29tcGF0aWJsZURlc3RJbWFnZSk6IEltcGxlbWVudGVkLgoJKGNyZWF0ZUNvbXBhdGlibGVEZXN0UmFzdGVyKTogSW1wbGVtZW50ZWQuCgkoZmlsdGVyKTogSW1wbGVtZW50ZWQuCgkoZ2V0Qm91bmRzMkQoQnVmZmVyZWRJbWFnZSkpOiBJbXBsZW1lbnRlZC4KCShnZXRCb3VuZHMyRChSYXN0ZXIpKTogSW1wbGVtZW50ZWQuCgkoZ2V0SW50ZXJwb2xhdGlvblR5cGUpOiBHZXQgaW50ZXJwb2xhdGlvbiB2YWx1ZSBmcm9tCglyZW5kZXJpbmcgaGludHMuCgoyMDA0LTAzLTA0ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29udGFpbmVyUGVlci5qYXZhCgkoc2V0Rm9udCk6IENoZWNrIGlmIGNoaWxkIHBlZXJzIGFyZSBudWxsLgoKMjAwNC0wMy0wNCAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS9saWIvbGliamF2YS5leHAgKGxpYmphdmFfZmluZF9saWIpOiBEb24ndCBpbmNsdWRlCgkubGlicyBpbiAtTCBvcHRpb24uCgkobGliamF2YV9hcmd1bWVudHMpOiBBZGQgbmV3IGxpYnJhcmllcyB0byBhcmd1bWVudCBsaXN0LgoKMjAwNC0wMy0wMiAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgamF2YS9hd3QvaW1hZ2UvQWZmaW5lVHJhbnNmb3JtT3AuamF2YQoJKiBNYWtlZmlsZS5pbjogUmUtZ2VuZXJhdGVkLgoJKiBqYXZhL2F3dC9pbWFnZS9BZmZpbmVUcmFuc2Zvcm1PcC5qYXZhOiBOZXcgQ2xhc3MuCgoyMDA0LTAzLTAxICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEKCShzZXRQYWludCk6IEludGVycHJldCBjb3JyZWN0bHkgVGV4dHVyZVBhaW50J3MKCWFuY2hvciByZWN0YW5nbGUuCgkoZHJhd0ltYWdlKTogRml4ZWQgc2NhbGUgZmFjdG9ycyBvZiB0aGUgYWZmaW5lCgl0cmFuc2Zvcm0uCgoyMDA0LTAyLTI3ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MuamF2YQoJKEdka0dyYXBoaWNzKENvbXBvbmVudCkpOiBJbmhlcml0IGZvbnQgZnJvbSBjb21wb25lbnQuCgkoZHJhd1N0cmluZyk6IFVzZSBmb250IHN0eWxlLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ2hlY2tib3hQZWVyLmphdmEKCShndGtTZXRGb250KTogTmV3IG5hdGl2ZSBtZXRob2QgZGVjbGFyYXRpb24uCgkoc2V0Rm9udCk6IE5ldyBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEKCShndGtTZXRGb250KTogTmV3IG5hdGl2ZSBtZXRob2QgZGVjbGFyYXRpb24uCgkoc2V0Rm9udCk6IENhbGwgbmV3IG5hdGl2ZSBtZXRob2QgZ3RrU2V0Rm9udC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbnRhaW5lclBlZXIuamF2YQoJKHNldEZvbnQpOiBGb3IgYWxsIGNoaWxkIGNvbXBvbmVudHMgd2hvIGRvIG5vdCB0aGVpciBmb250cyBzZXQsCiAgICAgICAgc2V0IHRoZWlyIHBlZXJzJyBmb250cyB3aXRoIHRoaXMgY29udGFpbmVyJ3MgZm9udC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0xhYmVsUGVlci5qYXZhOgoJTW92ZSBhbGwgbmF0aXZlIG1ldGhvZCBkZWNsYXJhdGlvbnMgdG8gdGhlIHRvcCBmb3IgcmVhZGFiaWxpdHkuCgkoZ3RrU2V0Rm9udCk6IE5ldyBuYXRpdmUgbWV0aG9kIGRlY2xhcmF0aW9uLgoJKHNldEZvbnQpOiBOZXcgbWV0aG9kLgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKHNldEZvbnQpOiBJbnZhbGlkYXRlIGFmdGVyIHNldHRpbmcgdGhlIGZvbnQuCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhCgkoaW52YWxpZGF0ZVRyZWUpOiBOZXcgbWV0aG9kLgoJKHNldEZvbnQpOiBJbnZhbGlkYXRlIHRoZSBjb250YWluZXIgdHJlZSBhZnRlciBzZXR0aW5nIHRoZSBmb250LgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljc19kcmF3U3RyaW5nKTogVXNlIGZvbnQgc3R5bGUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hlY2tib3hQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaGVja2JveFBlZXJfZ3RrU2V0Rm9udCk6IE5ldyBtZXRob2QuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlcl9ndGtTZXRGb250KTogTmV3IG1ldGhvZC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtMYWJlbFBlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0xhYmVsUGVlcl9ndGtTZXRGb250KTogTmV3IG1ldGhvZC4KCjIwMDQtMDItMjcgIE9sZ2EgUm9kaW1pbmEgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhCgkodXBkYXRlQnVmZmVyZWRJbWFnZSk6IE5ldyBoZWxwZXIgZnVuY3Rpb24uCglVcGRhdGVzIEJ1ZmZlcmVkSW1hZ2UgaW4gbWVtb3J5IGlmIGl0IHdhcyBjaGFuZ2VkLgoJKGRyYXcpOiBjaGFuZ2VkIHRvIHVwZGF0ZSBCdWZmZXJlZEltYWdlIGluIG1lbW9yeSBhZnRlcgoJdGhpcyBkcmF3aW5nIG9wZXJhdGlvbgoJKGZpbGwpOiBEaXR0by4KCShkcmF3M0RSZWN0KTogRGl0dG8uCgkoZmlsbDNEUmVjdCk6IERpdHRvLgoJKGNsZWFyUmVjdCk6IERpdHRvLgoJKGRyYXdSYXN0ZXIpOiBEaXR0by4KCShkcmF3SW1hZ2UpIDogRGl0dG8uIFVwZGF0ZSBvbmx5IGluIGNhc2Ugb2YgR3RrT2ZmU2NyZWVuSW1hZ2Ugd2l0aAoJbm8gYWZmaW5lIHRyYW5zZm9ybWF0aW9uLgoJKGRyYXdHbHlwaFZlY3Rvcik6IERpdHRvLgoKMjAwNC0wMi0yNiAgT2xnYSBSb2RpbWluYSA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmEKCShpc0J1ZmZlcmVkSW1hZ2VHcmFwaGljcyk6IE5ldyBIZWxwZXIgZnVuY3Rpb24uCglSZXR1cm5zIHRydWUgaWYgdGhpcyBncmFwaGljczJkIGNhbiBiZSB1c2VkIHRvIGRyYXcKCWludG8gYnVmZmVyZWQgaW1hZ2UgYW5kIGZhbHNlIG90aGVyd2lzZS4KCSh1cGRhdGVJbWFnZVBpeGVscyk6IE5ldyBIZWxwZXIgZnVuY3Rpb24uCglVcGRhdGVzIHBpeGVscyBpbiB0aGUgQnVmZmVyZWRJbWFnZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmMKCShnZXRJbWFnZVBpeGVscyk6IE5ldyBmdW5jdGlvbi4gUmV0dXJucyBwaXhlbHMKCW9mIHRoZSBidWZmZXJlZCBpbWFnZSBhc3NvY2lhdGVkIHdpdGgKCXRoaXMgR3JhcGhpY3MyRC4KCjIwMDQtMDItMjYgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0JvcmRlckxheW91dC5qYXZhCgkobGF5b3V0Q29udGFpbmVyKTogRml4IHdpZHRoIGFuZCBoZWlnaHQgY2FsY3VsYXRpb25zIHRvIGVuc3VyZQoJdGhhdCB0aGV5J3JlIG5vbi1uZWdhdGl2ZS4KCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEKCShzZXRCYWNrZ3JvdW5kKTogSWYgYyBpcyBudWxsLCBpbmhlcml0IGZyb20gY2xvc2VzdCBhbmNlc3RvciB3aG9zZQoJYmFja2dyb3VuZCBjb2xvciBpcyBzZXQuCgoyMDA0LTAyLTI2oCBLaW0gSG+gIDxraG9AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBBZGQgbmV3IGZpbGVzLgoJKiBNYWtlZmlsZS5pbjogUmUtZ2VuZXJhdGUuCgkqIGphdmF4L3N3aW5nL0pQcm9ncmVzc0Jhci5qYXZhOgoJKEpQcm9ncmVzc0JhcihpbnQsIGludCBpbnQpKTogVGhyb3cKCUlsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbiBpZiBvcmllbnRhdGlvbiBpcwoJaW52YWxpZC4KCShKUHJvZ3Jlc3NCYXIoQm91bmRlZFJhbmdlTW9kZWwpKTogQ3JlYXRlCglDaGFuZ2VMaXN0ZW5lciBhbmQgcmVnaXN0ZXIgaXQuIFVwZGF0ZVVJLgoJKGdldENoYW5nZUxpc3RlbmVycyk6IEltcGxlbWVudC4KCShzZXRNb2RlbCk6IFJlc2V0IENoYW5nZUxpc3RlbmVyLgoJKiBqYXZheC9zd2luZy9KU2Nyb2xsQmFyLmphdmE6IEltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvSlNlcGFyYXRvci5qYXZhOiBJbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YToKCShKU2xpZGVyKGludCwgaW50LCBpbnQsIGludCkpOiBUaHJvdwoJSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGlmIG9yaWVudGF0aW9uCglpcyBpbnZhbGlkLgoJKGdldENoYW5nZUxpc3RlbmVycyk6IEZpeCBtZXRob2QgbmFtZS4KCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YToKCShsYXlvdXRDb21wb3VuZExhYmVsKTogSWYgdGhlcmUgaXMgbm8gdGV4dCwKCXNldCB0aGUgdGV4dCByZWN0YW5nbGUgZGltZW5zaW9ucyB0byAwLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uVUkuamF2YToKCShwYWludCk6IElmIHRoZXJlIGlzIG5vIHRleHQsIGRvbid0IHBhaW50IGl0LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsQmFyVUkuamF2YToKCUltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1NlcGFyYXRvclVJLmphdmE6CglJbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTbGlkZXJVSS5qYXZhOgoJKHByb3BlcnR5Q2hhbmdlKTogSWYgdGhlIG1vZGVsIGNoYW5nZXMsIGNoYW5nZQoJdGhlIGxpc3RlbmVycyBhY2NvcmRpbmdseS4KCjIwMDQtMDItMjUgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhOiBBZGQgImZpbmFsIiBxdWFsaWZpZXJzLgoJKiBqYXZheC9zd2luZy9KTGlzdC5qYXZhOiBSZWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhOiBSZWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhOiBSZWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmE6IEFkZCAicHVycGxlIiB2YWx1ZXMuCgkqIGphdmF4L3N3aW5nL0xpc3RNb2RlbC5qYXZhOiBKYXZhZG9jLgoJKiBqYXZheC9zd2luZy9MaXN0U2VsZWN0aW9uTW9kZWwuamF2YTogQWRkIG1pc3NpbmcgbWV0aG9kcy4KCSogamF2YXgvc3dpbmcvQWJzdHJhY3RMaXN0TW9kZWwuamF2YTogSmF2YWRvYyBhbmQgY29ycmVjdGlvbnMuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0TW9kZWwuamF2YTogSmF2YWRvYyBhbmQgY29ycmVjdGlvbnMuCgkqIGphdmF4L3N3aW5nL0xpc3RNb2RlbC5qYXZhOiBKYXZhZG9jIGFuZCBjb3JyZWN0aW9ucy4KCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RDZWxsUmVuZGVyZXIuamF2YTogTWlub3IgdGlkeWluZy4KCjIwMDQtMDItMjUgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGb250UGVlci5qYXZhCgkoR3RrRm9udFBlZXIpOiBDaGFuZ2UgZGVmYXVsdCBzaXplIHRvIDEyLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVG9vbGtpdC5qYXZhCgkoZ2V0Rm9udFBlZXIpOiBDaGFuZ2UgZGVmYXVsdCBzaXplIHRvIDEyLgoJKGdldENsYXNzcGF0aEZvbnRQZWVyKTogTGlrZXdpc2UuIFNldCBkZWZhdWx0IG5hbWUgdG8gIkRlZmF1bHQiLgoJKiBqYXZhL2F3dC9Gb250LmphdmEKCShGb250KE1hcCkpOiBDYWxsIEZvbnQoU3RyaW5nLE1hcCkuCgkoRm9udChTdHJpbmcsTWFwKSk6IElmIGF0dHJzIGlzIG51bGwsIGluaXRpYWxpemUgaXQgYXMgYW4gZW1wdHkKCUhhc2hNYXAsIHdoaWNoIHdpbGwgZW5zdXJlIHRoYXQgdGhlIEZvbnQgd2lsbCBnZXQgZGVmYXVsdCBhdHRyaWJ1dGVzLgoKMjAwNC0wMi0yNSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZvbnRQZWVyLmphdmEKCShHdGtGb250UGVlcihTdHJpbmcsaW50KSk6IENhbGwgdGhlIG5ldyBjb25zdHJ1Y3RvciB3aXRoIHNpemUgMS4KCShHdGtGb250UGVlcihTdHJpbmcsaW50LGludCkpOiBOZXcgY29uc3RydWN0b3Igd2l0aCBzaXplIGF0dHJpYnV0ZS4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Rvb2xraXQuamF2YQoJKGdldEZvbnRQZWVyKFN0cmluZyxpbnQpKTogQ2FsbCB0aGUgbmV3IG92ZXJsb2FkIG1ldGhvZCB3aXRoIHNpemUgMS4KCShnZXRGb250UGVlcihTdHJpbmcsaW50LGludCkpOiBOZXcgbWV0aG9kLiBPdmVybG9hZGVkIHdpdGggc2l6ZQoJYXR0cmlidXRlLgoJKGdldENsYXNzcGF0aEZvbnRQZWVyKTogU2V0IHRoZSBzaXplIG9mIHRoZSBmb250LgoKMjAwNC0wMi0yNCAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhCgkoYmltYWdlKTogTmV3IGZpZWxkLgoJKEdka0dyYXBoaWNzMkQpOiBOZXcgQ29uc3RydWN0b3IuIENvbnN0cnVjdHMgR3JhcGhpY3MKCW9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIHRvIGRyYXcgaW50byB0aGUgQnVmZmVyZWQgSW1hZ2UuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljc0Vudmlyb25tZW50LmphdmE6CgkoR2RrR3JhcGhpY3NFbnZpcm9ubWVudCk6IEZpeGVkIHRvIGluY2x1ZGUgcHVibGljCglrZXl3b3JkLgoJKGNyZWF0ZUdyYXBoaWNzKTogSW1wbGVtZW50ZWQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEKCShnZXRMb2NhbEdyYXBoaWNzRW52aXJvbm1lbnQpOiBJbXBsZW1lbnRlZC4KCSogamF2YS9hd3QvR3JhcGhpY3NFbnZpcm9ubWVudC5qYXZhOgoJKGdldExvY2FsR3JhcGhpY3NFbnZpcm9ubWVudCk6IEltcGxlbWVudGVkLgoJKiBqYXZhL2F3dC9pbWFnZS9CdWZmZXJlZEltYWdlLmphdmE6CgkoY3JlYXRlR3JhcGhpY3MpOiBJbXBsZW1lbnRlZC4KCjIwMDQtMDItMjQgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoZXZlbnRUeXBlRW5hYmxlZCk6IEFkZCBNT1VTRV9NT1ZFRCBhbmQgTU9VU0VfRFJBR0dFRCBldmVudCB0eXBlcy4KCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShhZGROb3RpZnlDb250YWluZXJDaGlsZHJlbik6IEZpeCBldmVudCBlbmFibGluZy4KCjIwMDQtMDItMjMgIE9sZ2EgUm9kaW1pbmEgIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IEFkZGVkCglnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3NFbnZpcm9ubWVudC5qYXZhCgkqIE1ha2VmaWxlLmluOiBSZS1nZW5lcmF0ZWQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljc0Vudmlyb25tZW50LmphdmE6CglOZXcgQ2xhc3MuCgoyMDA0LTAyLTE5ICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtOiBBZGQgQmFzaWNQcm9ncmVzc0JhclVJCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBqYXZheC9zd2luZy9KUHJvZ3Jlc3NCYXIuamF2YToKCVJlLWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCUFkZCBjb25zdGFudHMgZm9yIEpQcm9ncmVzc0Jhci4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1Byb2dyZXNzQmFyVUkuamF2YQoJSW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2xpZGVyVUkuamF2YQoJQ2hhbmdlIGNvbW1lbnRzLgoJKGNhbGN1bGF0ZUdlb21ldHJ5KTogTmV3IG1ldGhvZAoJKHBhaW50KTogUmVtb3ZlIHVubmVjZXNzYXJ5IHNpemUgY2FsY3VsYXRpb25zLgoKMjAwNC0wMi0xOCAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhCgkoZHJhd1Jhc3Rlcik6IEZpeGVkIHNtYWxsIGVycm9yIHRoYXQgY2F1c2VkCglpbWFnZVRvVXNlciB0cmFuc2Zvcm1hdGlvbiB0byBiZSBzZXQgaW5jb3JyZWN0bHkuCgkodG9TdHJpbmcpOiBJbXBsZW1lbnRlZC4KCjIwMDQtMDItMTggIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NhcmRMYXlvdXQuamF2YQoJKGFkZExheW91dENvbXBvbmVudCk6IFNob3cgdGhlIGZpcnN0IGNvbXBvbmVudCBhZGRlZCBhcyB0aGUgZGVmYXVsdC4KCShyZW1vdmVMYXlvdXRDb21wb25lbnQpOiBBZnRlciByZW1vdmluZywgc2hvdyB0aGUgbmV4dCBjb21wb25lbnQuCgkoZ290b0NvbXBvbmVudCk6IElmIHRoZXJlIGlzIG9ubHkgb25lIGNvbXBvbmVudCwgc2hvdyBpdCBhbmQgcmV0dXJuLgoKMjAwNC0wMi0xOCAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9KU2xpZGVyLmphdmE6IFJlLW9yZGVyCgltb2RpZmllcnMuCgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhOiBSZS1vcmRlcgoJbW9kaWZpZXJzLgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmE6CgkoYWRkUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6CglJbXBsZW1lbnQuCgkocmVtb3ZlUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6CglkaXR0by4KCShmaXJlUHJvcGVydHlDaGFuZ2VFdmVudCk6CglkaXR0by4KCjIwMDQtMDItMTcgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoc2hvdyk6IERpc3BhdGNoIENvbXBvbmVudEV2ZW50IHZpYSBzeXN0ZW0gZXZlbnQgcXVldWUuCgkoaGlkZSk6IExpa2V3aXNlLgoJKG1vdmUpOiBMaWtld2lzZS4KCShyZXNpemUpOiBMaWtld2lzZS4KCShyZXNoYXBlKTogTGlrZXdpc2UuCgkqIGphdmEvYXd0L1dpbmRvdy5qYXZhCgkoc2V0Qm91bmRzQ2FsbGJhY2spOiBMaWtld2lzZS4KCjIwMDQtMDItMTcgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ29tcG9uZW50UGVlcl9zZXROYXRpdmVCb3VuZHMpOgoJVXNlIGd0a193aWRnZXRfc2V0X3NpemVfcmVxdWVzdCgpIGluc3RlYWQgb2YgdGhlIGRlcHJlY2F0ZWQKCWd0a193aWRnZXRfc2V0X3VzaXplKCkuCgoyMDA0LTAyLTE3ICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YTogRml4IGNvbW1lbnRzIGFuZAoJbWFrZSBwcm9wZXJ0eSBzdHJpbmdzIGNvbnN0YW50cy4KCShjcmVhdGVTdGFuZGFyZExhYmVscyk6IFVzZSB0aGUgbGFiZWxzCglwcmVmZXJyZWQgc2l6ZSBhcyBib3VuZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTbGlkZXJVSS5qYXZhCglGaXggY29tbWVudHMuCgkoU2Nyb2xsSGFuZGxlcjo6YWN0aW9uUGVyZm9ybWVkKTogRG9uJ3QKCWNhbGN1bGF0ZSB0aGUgdGltZXIgc3RvcCB2YWx1ZS4gTGV0IHRoZQoJTW91c2VMaXN0ZW5lcnMgZmluZCB0aGUgc3RvcCBsb2NhdGlvbi4KCShnZXRQcmVmZXJyZWRIb3Jpem9udGFsU2l6ZSk6IFJlLWltcGxlbWVudC4KCShnZXRQcmVmZXJyZWRWZXJ0aWNhbFNpemUpOiBkaXR0by4KCShnZXRNaW5pbXVtSG9yaXpvbnRhbFNpemUpOiBkaXR0by4KCShnZXRNaW5pbXVtVmVydGljYWxTaXplKTogZGl0dG8uCgkoZ2V0UHJlZmVycmVkU2l6ZSk6IGRpdHRvLgoJKGdldE1pbmltdW1TaXplKTogZGl0dG8uCgkoZ2V0TWF4aW11bVNpemUpOiBkaXR0by4KCShwYWludFRpY2tzKTogVXNlIGRvdWJsZXMgdG8gZmluZCB0aGUKCXRpY2sgbG9jYXRpb24uCgkocGFpbnRIb3Jpem9udGFsTGFiZWwpOqAgVXNlIHByZWZlcnJlZFNpemUKCWFzIGluaXRpYWwgd2lkdGggYW5kIGhlaWdodC4KCShwYWludFZlcnRpY2FsTGFiZWwpOiBkaXR0by4KCjIwMDQtMDItMTcgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxhYmVsLmphdmE6IENoYW5nZWQKCXByb3BlcnR5IHN0cmluZ3MgdG8gY29uc3RhbnRzLgoJKERJU1BMQVlFRF9NTkVNT05JQ19JTkRFWF9DSEFOR0VEX1BST1BFUlRZKToKCU5ldyBwcm9wZXJ0eS4KCShzZXRUZXh0KTogQ2hhbmdlIG1uZW1vbmljIGluZGV4IGlmCgl0ZXh0IGlzIHRvbyBzaG9ydC4KCShzZXREaXNwbGF5ZWRNbmVtb25pY0luZGV4KTogRmlyZSBwcm9wZXJ0eQoJY2hhbmdlIGV2ZW50LgoJKGdldERpc3BsYXllZE1uZW1vbmljSW5kZXgpOiBSZW1vdmUgY2hlY2sKCWFnYWluc3Qgc2hvcnQgdGV4dC4KCjIwMDQtMDItMTcgT2xnYSBSb2RpbWluYSA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtHcmFwaGljczJELmphdmE6CgkoZHJhd0ltYWdlKGltZyx4Zm9ybSxvYnMpKTogSW52ZXJ0IHhmb3JtIGJlZm9yZQoJcGFzc2luZyB0aGUgeGZvcm0gdG8gY2Fpcm8uCgkoZHJhd0ltYWdlKGltZyx4LHksYmdjb2xvcixvYnMpKTogSW1wbGVtZW50ZWQuCgkoZHJhd0ltYWdlIChpbWcseCx5LHcsaCxiZ2NvbG9yLG9icykpOiBQYXJ0bHkKCWltcGxlbWVudGVkLgoJKGRyYXdJbWFnZSAoaW1nLHgseSx3LGgsb2JzKSk6IEltcGxlbWVudGVkLgoJKGRyYXdJbWFnZSAoaW1nLGR4MSxkeTEsZHgyLGR5MixzeDEsc3kxLHN4MixzeTIsCgliZ2NvbG9yLG9icykpOiBQYXJ0bHkgaW1wbGVtZW50ZWQuCgkoZHJhd0ltYWdlIChpbWcsZHgxLGR5MSxkeDIsZHkyLHN4MSxzeTEsc3gyLHN5MixvYnMpKToKCUltcGxlbWVudGVkLgoJKiBqYXZhL2F3dC9pbWFnZS9CdWZmZXJlZEltYWdlLmphdmE6CgkoY29weURhdGEpOiBpZiBkZXN0IGlzIG51bGwsIGNyZWF0ZSByYXN0ZXIgd2l0aCBzYW1lCglkaW1lbnNpb25zIGFzIHRoZSBjdXJyZW50IGltYWdlLgoKMjAwNC0wMi0xNiAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMYWJlbFVJLmphdmEKCShnZXRQcmVmZXJyZWRTaXplKTogVXNlIGxheW91dENMLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljR3JhcGhpY3NVdGlscy5qYXZhCgkoZ2V0UHJlZmVycmVkQnV0dG9uU2l6ZSk6IFN0YXJ0IHdpdGggZW1wdHkgdmlldyByZWN0LCBsYXlvdXQgdXNpbmcKCWNvbXBvbmVudCdzIHByZWZlcnJlZCBhbGlnbm1lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMb29rQW5kRmVlbC5qYXZhOiBBZGQgc29tZSBMYWJlbCBhbmQKCUxpc3QgZGVmYXVsdHMuCgoyMDA0LTAyLTE2ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db21wb25lbnQuamF2YQoJKHNob3cpOiBEaXNwYXRjaCBDT01QT05FTlRfU0hPV04gQ29tcG9uZW50RXZlbnQuCgkoaGlkZSk6IERpc3BhdGNoIENPTVBPTkVOVF9ISURERU4gQ29tcG9uZW50RXZlbnQuCgkobW92ZSk6IEVyYXNlIG9sZCBib3VuZHMgYW5kIHJlcGFpbnQgbmV3IGJvdW5kcy4gRGlzcGF0Y2gKCUNPTVBPTkVOVF9NT1ZFRCBDb21wb25lbnRFdmVudC4KCShyZXNpemUpOiBFcmFzZSBvbGQgYm91bmRzIGFuZCByZXBhaW50IG5ldyBib3VuZHMuIERpc3BhdGNoCglDT01QT05FTlRfUkVTSVpFRCBDb21wb25lbnRFdmVudC4KCShyZXNoYXBlKTogRGlzcGF0Y2ggQ09NUE9ORU5UX1JFU0laRUQgYW5kIENPTVBPTkVOVF9NT1ZFRAoJQ29tcG9uZW50RXZlbnRzLgoJKiBqYXZhL2F3dC9XaW5kb3cuamF2YQoJKHNldEJvdW5kc0NhbGxiYWNrKTogRGlzcGF0Y2ggQ09NUE9ORU5UX1JFU0laRUQgYW5kIENPTVBPTkVOVF9NT1ZFRAoJQ29tcG9uZW50RXZlbnRzLgoKMjAwNC0wMi0xNiAgT2xnYSBSb2RpbWluYSAgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhOgoJKHNldFJlbmRlcmluZ0hpbnQpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbiBvZgoJSW50ZXJwb2xhdGlvbiByZW5kZXJpbmcgaGludHMuCgkoc2V0UmVuZGVyaW5nSGludHMpOiBEaXR0by4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HZGtHcmFwaGljczJELmM6CgkoZHJhd1BpeGVscyk6IGZpeGVkIHRvIGFsbG93IHVzZXIgdG8gY2hvb3NlIHR5cGUKCW9mIGZpbHRlcmluZyB0aGF0IHNob3VsZCBiZSB1c2VkIHdoZW4gZGlzcGxheWluZyBpbWFnZXMuCgkoY2Fpcm9TdXJmYWNlU2V0RmlsdGVyKTogTmV3IG1ldGhvZC4gU2V0cyBmaWx0ZXIgdHlwZSBmb3IKCWludGVycG9sYXRpb24gb2YgcGl4ZWwgdmFsdWVzLgoKMjAwNC0wMi0xNiAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvR3JpZEJhZ0xheW91dC5qYXZhCgkoY2FsY0NlbGxTaXplcyk6IFJvd3Mgb3IgY29sdW1ucyB3aXRoIHplcm8gc2l6ZXMgc2hvdWxkIHN0aWxsIGJlCgljb25zaWRlcmVkIGZvciBleHRyYSBzcGFjZSBkaXN0cmlidXRpb24uCgoyMDA0LTAyLTE2ICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pMYWJlbC5qYXZhOiBSZS1pbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNMYWJlbFVJLmphdmEKCVJlLWltcGxlbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmE6CglBZGRlZCBjb25zdGFudC4KCjIwMDQtMDItMTagIEtpbSBIb6AgPGtob0ByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSlNsaWRlci5qYXZhOiBGaXggaW5kZW50YXRpb24gYW5kIGNvbW1lbnRzLgoJKHNldE1vZGVsKTogUmVtb3ZlIG51bGwgY2hlY2sgdG8gY29uZm9ybSB3aXRoIFN1bidzLgoJKHNldE9yaWVudGF0aW9uKTogVGhyb3cgZXhjZXB0aW9uIGlmIG5vdAoJSE9SSVpPTlRBTCBvciBWRVJUSUNBTC4KCShnZXRJbnZlcnRlZCk6IFVzZSBwcml2YXRlIHZhcmlhYmxlIGluc3RlYWQgb2YKCUNvbXBvbmVudE9yaWVudGF0aW9uLgoJKHNldEludmVydGVkKTogZGl0dG8uCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNTbGlkZXJVSS5qYXZhOgoJRml4IGluZGVudGF0aW9uIGFuZCBjb21tZW50cy4KCShwcm9wZXJ0eUNoYW5nZSk6IFJlbW92ZSBjaGVjayBmb3IgaW52ZXJ0ZWQgc2xpZGVyLCBoYW5kbGUKCWluIG1haW4gcGFpbnQuCgkoZ2V0TWluaW11bVNpemUpOiBSZXR1cm4gcHJlZmVycmVkIHNpemUuCgkoZ2V0TWF4aW11bVNpemUpOiBkaXR0by4KCShjYWxjdWxhdGVGb2N1c1JlY3QpOiBEb24ndCByZWxvY2F0ZSByZWN0YW5nbGUuCgkoZHJhd0ludmVydGVkKTogUmV0dXJuIFhPUiBvZiB0aGUgc2xpZGVyJ3MgaW52ZXJzaW9uIGFuZAoJdGhlIGNvbXBvbmVudCdzIG9yaWVudGF0aW9uLgoJKHBhaW50KTogVXBkYXRlIGxlZnRUb1JpZ2h0Q2FjaGUKCjIwMDQtMDItMTMgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0dyaWRCYWdMYXlvdXQuamF2YQoJKEdldExheW91dEluZm8pOiBGaXggd2VpZ2h0IGFuZCBzaXplIGRpc3RyaWJ1dGlvbi4gUmVsb2NhdGUgcmVwZWF0ZWQKCWNvZGUgdG8gaGVscGVyIG1ldGhvZHMuCgkoc29ydEJ5U3Bhbik6IE5ldyBoZWxwZXIgbWV0aG9kLgoJKGRpc3RyaWJ1dGVTaXplQW5kV2VpZ2h0KTogTGlrZXdpc2UuCgkoY2FsY0NlbGxXZWlnaHRzKTogTGlrZXdpc2UuCgkoY2FsY0NlbGxTaXplcyk6IEFkZCBjb21tZW50cy4KCjIwMDQtMDItMTMgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCiAgICAgICAgKHNob3cpOiBPbmx5IGRvIHNvbWV0aGluZyBpZiBjb21wb25lbnQgaXMgaW52aXNpYmxlIGF0IHRoZSBtb21lbnQuCiAgICAgICAgKGhpZGUpOiBPbmx5IGRvIHNvbWV0aGluZyBpZiBjb21wb25lbnQgaXMgdmlzaWJsZSBhdCB0aGUgbW9tZW50LgogICAgICAgIChyZXNoYXBlKTogSWYgbGlnaHR3ZWlnaHQsIGVyYXNlIG9sZCBib3VuZHMgYW5kIHJlcGFpbnQgbmV3IGJvdW5kcy4KCjIwMDQtMDItMTOgIEtpbSBIb6AgPGtob0ByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IFVwZGF0ZWQgZm9yIG5ldyBmaWxlLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgkqIGphdmF4L3N3aW5nL0pTbGlkZXIuamF2YTogUmVpbXBsZW1lbnQuCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmEKCShsYXlvdXRDb21wb3VuZExhYmVsKTogVXNlIGljb24gaGVpZ2h0CglpbnN0ZWFkIG9mIHdpZHRoLgoJKHBhaW50Q29tcG9uZW50KTogSW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljTG9va0FuZEZlZWwuamF2YToKCUFkZCBKU2xpZGVyIGRlZmF1bHRzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2xpZGVyVUkuamF2YToKCUltcGxlbWVudC4gTmV3IGZpbGUuCgoyMDA0LTAzLTE3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmV0L1BsYWluRGF0YWdyYW1Tb2NrZXRJbXBsLmphdmEKCShSRUNFSVZFX0xPQ0spOiBOZXcgbWVtYmVyIGZpZWxkLgoJKFNFTkRfTE9DSyk6IE5ldyBtZW1iZXIgZmllbGQuCgkoc2VuZDApOiBOZXcgbWV0aG9kLgoJKHNlbmQpOiBTeW5jaHJvbml6ZSBvbiBTRU5EX0xPQ0suCgkocmVjZWl2ZTApOiBOZXcgbWV0aG9kLgoJKHJlY2VpdmUpOiBTeW5jaHJvbml6ZSBvbiBSRUNFSVZFX0xPQ0suCgkqIGdudS9qYXZhL25ldC9uYXRQbGFpbkRhdGFncmFtU29ja2V0SW1wbE5vTmV0LmNjLAoJZ251L2phdmEvbmV0L25hdFBsYWluRGF0YWdyYW1Tb2NrZXRJbXBsUG9zaXguY2MsCglnbnUvamF2YS9uZXQvbmF0UGxhaW5EYXRhZ3JhbVNvY2tldEltcGxXaW4zMi5jYwoJKHNlbmQwKTogUmVuYW1lZCBmcm9tIHNlbmQuCgkocmVjZWl2ZTApOiBSZW5hbWVkIGZyb20gcmVjZWl2ZS4KMjAwNC0wMy0xNyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25ldC9uYXRQbGFpblNvY2tldEltcGxQb3NpeC5jYwoJKHdyaXRlKTogSnVzdCBjYWxsIHdyaXRlKGpieXRlQXJyYXksIG9mZnNldCwgbGVuKS4KCShyZWFkKTogSnVzdCBjYWxsIHJlYWQoamJ5dGVBcnJheSwgb2Zmc2V0LCBsZW4pLgoKMjAwNC0wMy0xNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pUYWJiZWRQYW5lLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoKMjAwNC0wMy0xNiAgTm9yYmVydCBGcmVzZSAgPHBvc3RmYWNoQG5mcmVzZS5uZXQ+CgoJKiBqYXZhL25ldC9JbmV0QWRkcmVzcy5qYXZhCgkoZ2V0QnlOYW1lKTogSGFuZGxlIGhvc3RuYW1lID09ICIiIGNhc2UuCgoyMDA0LTAzLTE2ICBEYWxpYm9yIFRvcGljICA8cm9iaWxhZEBrYWZmZS5vcmc+CgoJUmVwb3J0ZWQgYnk6IEFkYW0gSGVhdGggPGRvb2dpZUBkZWJpYW4ub3JnPgoJKiBnbnUvamF2YXgvcm1pL0NPUkJBL0RlbGVnYXRlRmFjdG9yeS5qYXZhIChnZXRJbnN0YW5jZSk6IFVzZSBjb250ZXh0CgljbGFzcyBsb2FkZXIuCgoyMDA0LTAzLTE1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS91dGlsL0xvY2FsZS5qYXZhOiBSZXZlcnRpbmcgbXkgbGFzdCBwYXRjaAoJYW5kIGFkZCBhIGNvbW1lbnQgd2h5IHRoZSBvcmlnaW5hbCB2ZXJzaW9uIHdhcyBva2F5LgoKMjAwNC0wMy0xNCAgQW5kcmVhcyBUb2JsZXIgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvbmF0RmlsZUNoYW5uZWxQb3NpeC5jYzogSW1wbGVtZW50CgltdW5tYXBfYWRhcHRvciBhbmQgbXN5bmNfYWRhcHRvciBmb3Igb2xkZXIgUE9TSVhfQ19TT1VSQ0VTIHNwZWNzLgoJKE1hcHBlZEJ5dGVCdWZmZXJJbXBsOjp1bm1hcEltcGwpOiBVc2UgbXVubWFwX2FkYXB0b3IuCgkoTWFwcGVkQnl0ZUJ1ZmZlckltcGw6OmZvcmNlSW1wbCk6IFVzZSBtc3luY19hZHB0b3IuCgoyMDA0LTAzLTEyICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS90ZXh0L0RhdGVGb3JtYXRTeW1ib2xzLmphdmE6IEZpeGVkIGZpbGUgbmFtZSBpbiBjb3B5cmlnaHQuCgoyMDA0LTAzLTEyICBJdG8gS2F6dW1pdHN1ICA8aXRvLmthenVtaXRzdUBoaXRhY2hpLWNhYmxlLmNvLmpwPgoKCSogamF2YS9uZXQvVVJJLmphdmEgKHRvVVJMKTogSW1wbGVtZW50ZWQuCgoyMDA0LTAzLTEyICBJdG8gS2F6dW1pdHN1ICA8aXRvLmthenVtaXRzdUBoaXRhY2hpLWNhYmxlLmNvLmpwPgoKCSogamF2YS9uZXQvVVJJLmphdmEKCShVUklfUkVHRVhQKSB1cGRhdGVkIHRvIGNvbnRhaW4gc2NoZW1lIHNwZWNpZmljIHBhcnQuCgkoU0NIRU1FX1NQRUNfUEFSVF9HUk9VUCkgbmV3IGNvbnN0YW50LgoJKEFVVEhPUklUWV9HUk9VUCwgUEFUSF9HUk9VUCwgUVVFUllfR1JPVVAsIEZSQUdNRU5UX0dST1VQKQoJdXBkYXRlZCB0byBtYWtlIHJvb20gZm9yIFNDSEVNRV9TUEVDX1BBUlRfR1JPVVAuCgkocGFyc2VVUkkpIHBhcnNlIHNjaGVtZSBzcGVjaWZpYyBwYXJ0LgoJKHJlc29sdmUsIGlzQWJzb2x1dGUsIGlzT3BhcXVlLCBnZXRSYXdTY2hlbWVTcGVjaWZpY1BhcnQsCglnZXRTY2hlbWVTcGVjaWZpY1BhcnQsIGdldEF1dGhvcml0eSwgZ2V0VXNlckluZm8sIGdldFBhdGgsCglnZXRRdWVyeSwgZ2V0RnJhZ21lbnQpIGltcGxlbWVudGVkLgoKMjAwNC0wMy0xMiAgRGFsaWJvciBUb3BpYyAgPHJvYmlsYWRAa2FmZmUub3JnPgoKCSogbGlicmFyaWVzL2phdmFsaWIvamF2YS9uZXQvVVJJLmphdmEKCXBhcnRpYWxseSBpbXBsZW1lbnRlZCB1c2luZyBqYXZhLnV0aWwucmVnZXguCgkoVVJJX1JFR0VYUCkgbmV3IGNvbnN0YW50LiBVc2VkIHRvIHBhcnNlIFVSSXMuCgkoU0NIRU1FX0dST1VQKSBuZXcgY29uc3RhbnQgcmVwcmVzZW50aW5nIGluZGV4IG9mIHNjaGVtZSBncm91cAoJaW4gcGFyc2VkIFVSSS4KCShBVVRIT1JJVFlfR1JPVVApIG5ldyBjb25zdGFudCByZXByZXNlbnRpbmcgaW5kZXggb2YgYXV0aG9yaXR5Cglncm91cCBpbiBwYXJzZWQgVVJJLgoJKFBBVEhfR1JPVVApIG5ldyBjb25zdGFudCByZXByZXNlbnRpbmcgaW5kZXggb2YgcGF0aCBncm91cCBpbgoJcGFyc2VkIFVSSS4KCShRVUVSWV9HUk9VUCkgbmV3IGNvbnN0YW50IHJlcHJlc2VudGluZyBpbmRleCBvZiBxdWVyeSBncm91cCBpbgoJcGFyc2VkIFVSSS4KCShGUkFHTUVOVF9HUk9VUCkgbmV3IGNvbnN0YW50IHJlcHJlc2VudGluZyBpbmRleCBvZiBmcmFnbWVudAoJZ3JvdXAgaW4gcGFyc2VkIFVSSS4KCShnZXRVUklHcm91cCkgbmV3IHN0YXRpYyB1dGlsaXR5IG1ldGhvZC4KCShwYXJzZVVSSSkgaW1wbGVtZW50ZWQuCgkocXVvdGUpIHN0dWIgZm9yIG5ldyBzdGF0aWMgdXRpbGl0eSBtZXRob2QuCgkocXVvdGVBdXRob3JpdHkpIHN0dWIgZm9yIG5ldyBzdGF0aWMgdXRpbGl0eSBtZXRob2QuCgkocXVvdGVIb3N0KSBzdHViIGZvciBuZXcgc3RhdGljIHV0aWxpdHkgbWV0aG9kLgoJKHF1b3RlUGF0aCkgc3R1YiBmb3IgbmV3IHN0YXRpYyB1dGlsaXR5IG1ldGhvZC4KCShxdW90ZVVzZXJJbmZvKSBzdHViIGZvciBuZXcgc3RhdGljIHV0aWxpdHkgbWV0aG9kLgoJKFVSSSkgaW1wbGVtZW50ZWQuCgkoY3JlYXRlKSBkb24ndCB0aHJvdyBVUklTeW50YXhFeGNlcHRpb24uIEltcGxlbWVudGVkLgoJKHRvU3RyaW5nKSBpbXBsZW1lbnRlZC4KCjIwMDQtMDMtMTIgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9IdHRwVVJMQ29ubmVjdGlvbi5qYXZhCgkoZ2V0UmVzcG9uc2VDb2RlKTogRml4IGFub3RoZXIgdHlwbyBpbiBqYXZhZG9jLgoKMjAwNC0wMy0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdXRpbC9sb2dnaW5nL0xldmVsLmphdmEKCShwYXJzZSk6IFVzZSBTdHJpbmcuZXF1YWxzKCkgaW5zdGVhZCBvZiA9PS4KCjIwMDQtMDMtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvamFyL0Nvbm5lY3Rpb24uamF2YQoJKGdldENvbnRlbnRMZW5ndGgpOiBOZXcgbWV0aG9kLgoKMjAwNC0wMy0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25ldC9QbGFpblNvY2tldEltcGwuamF2YToKCVJlZm9ybWF0ZWQgdG8gbWVyZ2UgYmV0dGVyIHdpdGggY2xhc3NwYXRoJ3MgdmVyc2lvbi4KCjIwMDQtMDMtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvTG9jYWxlLmphdmEKCShnZXRJU08zTGFuZ3VhZ2UpOiBVc2UgU3RyaW5nLmVxdWFscygpIGluc3RlYWQgb2YgPT0uCgkoZ2V0SVNPM0NvdW50cnkpOiBMaWtld2lzZS4KCjIwMDQtMDMtMTEgIERhbGlib3IgVG9waWMgIDxyb2JpbGFkQGthZmZlLm9yZz4KCgkqIGphdmEvdGV4dC9BdHRyaWJ1dGVkU3RyaW5nLmphdmEKCShhZGRBdHRyaWJ1dGUoQXR0cmlidXRlZENoYXJhY3Rlckl0ZXJhdG9yLkF0dHJpYnV0ZSxPYmplY3QsaW50LGludCkpOgoJVXNlIEhhc2hNYXAgaW5zdGVhZCBvZiBIYXNodGFibGUgc2luY2UgdmFsdWUgY2FuIGJlIG51bGwsIGFuZAoJeW91IGNhbiBub3Qgc3RvcmUgYSBudWxsIHZhbHVlIGluIGEgSGFzaHRhYmxlLgoKMjAwNC0wMy0xMSAgR3VpbGhlbSBMYXZhdXggPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogamF2YS90ZXh0L0F0dHJpYnV0ZWRTdHJpbmdJdGVyYXRvci5qYXZhCgkoZ2V0QWxsQXR0cmlidXRlc0tleSk6IFJldHVybiBvbmx5IGtleXMgY29uY2VybmVkCglieSB0aGUgY3VycmVudCBpdGVyYXRvci4KCShnZXRBdHRyaWJ1dGVzKTogVXNlIHN0cmljdCBpbmVxdWFsaXR5IGZvcgoJZW5kX2luZGV4LgoKMjAwNC0wMy0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L0h0dHBVUkxDb25uZWN0aW9uLmphdmE6CglGaXhlZCB0eXBvIGluIGphdmFkb2MuCgoyMDA0LTAzLTExICBHdWlsaGVtIExhdmF1eCAgPGd1aWxoZW1Aa2FmZmUub3JnPgoKCSogamF2YS9pby9CdWZmZXJlZElucHV0U3RyZWFtLmphdmEgKG1hcmt0YXJnZXQpOiBOZXcgZmllbGQgZm9yIG1heAoJbWFyayBsaW1pdC4KCShDSFVOS1NJWkUpOiBOZXcgY29uc3RhbnQgZm9yIGluY3JlbWVudGFsIG1hcmsgYnVmZmVyIGFsbG9jYXRpb24uCgkobWFyayk6IFVzZSBuZXcgZmllbGRzLgoJKHJlYWQpOiBMaWtld2lzZS4KCShyZWFkKGJ5dGVbXSxpbnQsaW50KSk6IExpa2V3aXNlLgoJKHNraXApOiBMaWtld2lzZS4KCShyZWZpbGwpOiBMaWtld2lzZS4KCjIwMDQtMDMtMTEgIE1hcmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KCgkqIGphdmEvYmVhbnMvQmVhbkRlc2NyaXB0b3IuamF2YSAoQmVhbkRlc2NyaXB0b3IpOgoJU2V0IHRoZSBGZWF0dXJlRGVzY3JpcHRvciBwcm9ncmFtbWF0aWMgbmFtZS4KCjIwMDQtMDMtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvbmF0RmlsZUNoYW5uZWxFY29zLmNjOiBUb3RhbGx5IHJld29ya2VkLgoJVGhpcyBmaWxlIHdhcyB3YXMganVzdCBjb3BpZWQgZm9ybSBqYXZhL2lvL25hdEZpbGVEZXNjcmlwdG9yRWNvcy5jYwoJYW5kIG5ldmVyIGNoYW5nZWQgdG8gY29tcGlsZSBjb3JyZWN0bHkuCgoyMDA0LTAzLTExICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL1BpcGVJbXBsLmphdmEKCShTb3VyY2VDaGFubmVsSW1wbCk6IE1hZGUgZmluYWwuCgkocmVhZCk6IEltcGxlbWVudGVkLgoJKFNpbmtDaGFubmVsSW1wbCk6IE1hZGUgZmluYWwuCgkod3JpdGUpOiBJbXBsZW1lbnRlZC4KCjIwMDQtMDMtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvUGxhaW5EYXRhZ3JhbVNvY2tldEltcGwuamF2YToKCVJlZm9ybWF0ZWQgdG8gbWF0Y2ggY2xhc3NwYXRoJ3MgdmVyc2lvbiBtb3JlLgoKMjAwNC0wMy0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL0NsYXNzcGF0aEZvbnRQZWVyLmphdmE6CglGaXhlZCBqYXZhZG9jIHRvIGJlIGNvcnJlY3QgeGh0bWwuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtBcmdMaXN0LmphdmEKCShhZGQpOiBVc2UgQm9vbGVhbi52YWx1ZU9mKCkgaW5zdGVhZCBvZiBuZXcgQm9vbGVhbigpLgoKMjAwNC0wMy0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbGFuZy9UaHJlYWQuamF2YQoJKHJ1bm5hYmxlKTogTW92ZWQgYXJvdW5kLgoJKGRhZW1vbik6IFJlbmFtZWQgZnJvbSBkYWVtb25fZmxhZy4KCShjb250ZXh0Q2xhc3NMb2FkZXIpOiBSZW5hbWVkIGZyb20gY29udGV4dF9jbGFzc19sb2FkZXIuCgkoVGhyZWFkKTogUmVvcmRlcmVkIGNvbnN0cnVjdG9ycy4KCShhY3RpdmVDb3VudCk6IFVzZSBncm91cCBkaXJlY3RseS4KCShkZXN0cm95KTogTWFrZSBpdCBhIGphdmEgbWV0aG9kLiBUaHJvdyBOb1N1Y2hNZXRob2RFcnJvciBsaWtlIFN1biBkb2VzLgoJKGhvbGRzTG9jayk6IFJld29ya2VkIGphdmFkb2MuCgkoc2V0RGFlbW9uKTogUmV3b3JrZWQuCgkqIGphdmEvbGFuZy9uYXRUaHJlYWQuY2MKCShkZXN0cm95KTogUmVtb3ZlZC4KCjIwMDQtMDMtMDggIEFudGhvbnkgR3JlZW4gIDxncmVlbkByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IEJ1aWxkIHByb3BlcnR5IHJlc291cmNlIGZpbGVzIGludG8gbGliZ2NqLgoJKiBNYWtlZmlsZS5pbjogUmVidWlsdC4KCSogamF2YS91dGlsL3JlZ2V4L01hdGNoZXIuamF2YSwgamF2YS91dGlsL3JlZ2V4L1BhdHRlcm4uamF2YSwKCWphdmEvdXRpbC9yZWdleC9QYXR0ZXJuU3ludGF4RXhjZXB0aW9uLmphdmEsCglnbnUvcmVnZXhwL0NoYXJJbmRleGVkLmphdmEsCglnbnUvcmVnZXhwL0NoYXJJbmRleGVkQ2hhckFycmF5LmphdmEsCglnbnUvcmVnZXhwL0NoYXJJbmRleGVkSW5wdXRTdHJlYW0uamF2YSwKCWdudS9yZWdleHAvQ2hhckluZGV4ZWRSZWFkZXIuamF2YSwKCWdudS9yZWdleHAvQ2hhckluZGV4ZWRTdHJpbmcuamF2YSwKCWdudS9yZWdleHAvQ2hhckluZGV4ZWRTdHJpbmdCdWZmZXIuamF2YSwgZ251L3JlZ2V4cC9SRS5qYXZhLAoJZ251L3JlZ2V4cC9SRUV4Y2VwdGlvbi5qYXZhLAoJZ251L3JlZ2V4cC9SRUZpbHRlcklucHV0U3RyZWFtLmphdmEsCglnbnUvcmVnZXhwL1JFRmlsdGVyUmVhZGVyLmphdmEsIGdudS9yZWdleHAvUkVNYXRjaC5qYXZhLAoJZ251L3JlZ2V4cC9SRU1hdGNoRW51bWVyYXRpb24uamF2YSwgZ251L3JlZ2V4cC9SRVN5bnRheC5qYXZhLAoJZ251L3JlZ2V4cC9SRVRva2VuLmphdmEsIGdudS9yZWdleHAvUkVUb2tlbkFueS5qYXZhLAoJZ251L3JlZ2V4cC9SRVRva2VuQmFja1JlZi5qYXZhLCBnbnUvcmVnZXhwL1JFVG9rZW5DaGFyLmphdmEsCglnbnUvcmVnZXhwL1JFVG9rZW5FbmQuamF2YSwgZ251L3JlZ2V4cC9SRVRva2VuRW5kU3ViLmphdmEsCglnbnUvcmVnZXhwL1JFVG9rZW5Mb29rQWhlYWQuamF2YSwKCWdudS9yZWdleHAvUkVUb2tlbk9uZU9mLmphdmEsIGdudS9yZWdleHAvUkVUb2tlblBPU0lYLmphdmEsCglnbnUvcmVnZXhwL1JFVG9rZW5SYW5nZS5qYXZhLCBnbnUvcmVnZXhwL1JFVG9rZW5SZXBlYXRlZC5qYXZhLAoJZ251L3JlZ2V4cC9SRVRva2VuU3RhcnQuamF2YSwKCWdudS9yZWdleHAvUkVUb2tlbldvcmRCb3VuZGFyeS5qYXZhLAoJZ251L3JlZ2V4cC9VbmNoZWNrZWRSRS5qYXZhOiBGaWxlcyBtZXJnZWQgZnJvbSBHTlUgQ2xhc3NwYXRoLgoKMjAwNC0wMy0wMyAgUGVyIEJvdGhuZXIgIDxwZXJAYm90aG5lci5jb20+CgoJKiBqYXZhL25pby9jaGFubmVscy9DaGFubmVscy5qYXZhIChuZXdJbnB1dFN0cmVhbSwgbmV3T3V0cHV0U3RyZWFtKToKCU9wdGltaXplIHdoZW4gYXJndW1lbnQgaXMgYSBGaWxlQ2hhbm5lbEltcGwuCgkobmV3SW5wdXRTdHJlYW0oRmlsZUNoYW5uZWxJbXBsKSwgbmV3T3V0cHV0U3RyZWFtKEZpbGVDaGFubmVsSW1wbCkpOgoJTmV3IG5hdGl2ZSBtZXRob2RzLgoJKiBqYXZhL25pby9jaGFubmVscy9uYXRDaGFubmVscy5jYzogIE5ldyBmaWxlIGZvciBuZXcgbmF0aXZlIG1ldGhvZHMuCgkqIE1ha2VmaWxlLmFtOiAgVXBkYXRlIGFjY29yZGluZ2x5LgoKMjAwNC0wMy0wMiAgSmFuIEh1Ymlja2EgIDxqaEBzdXNlLmN6PgoKCSogY29uZmlndXJlLmhvc3Q6IFBhc3MgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgZm9yIGkzODYuCgkqIGNvbmZpZ3VyZS5pbjogTGlrZXdpc2UuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDQtMDMtMDEgIFBlciBCb3RobmVyICA8cGVyQGJvdGhuZXIuY29tPgoKCSogamF2YS9sYW5nL25hdFBvc2l4UHJvY2Vzcy5jYyAoc3RhcnRQcm9jZXNzKTogIEZpeCB0aGlua28uCgoyMDA0LTAyLTI5ICBQZXIgQm90aG5lciAgPHBlckBib3RobmVyLmNvbT4KCgkqIGphdmEvbmlvL2NoYW5uZWxzL0ZpbGVDaGFubmVsSW1wbC5qYXZhOiAgTW92ZWQgdG8gcGFja2FnZQoJZ251L2phdmEvbmlvL2NoYW5uZWxzLCBzaW5jZSB3ZSBuZWVkIHRvIHJlZmVyIHRvIGl0IGZyb20gamF2YS5pby4KCSogamF2YS9uaW8vY2hhbm5lbHMvbmF0RmlsZUNoYW5uZWxJbXBsLmNjOiAgUmVtb3ZlZCBmaWxlLgoJKiBnbnUvamF2YS9uaW8vY2hhbm5lbHMvRmlsZUNoYW5uZWxJbXBsLmphdmE6ICBOZXcgY2xhc3MsIHJlbmFtZWQKCWZyb20gamF2YS9uaW8vY2hhbm5lbHMuICBEb24ndCBkZXBlbmQgb24gRmlsZURlc2NyaXB0b3IuCgkoaW4sIG91dCwgZXJyKTogIE5ldyBzdGF0aWMgZmllbGRzLgoJKG1vZGUpOiAgTmV3IGZpZWxkLgoJKFNFVCwgQ1VSLCBSRUFELCBXUklURSwgQVBQRU5ELCBFWENMLCBTWU5DLCBEU1lOQyk6ICBNb3ZlZCBjb25zdGFudHMKCWZyb20gRmlsZURlc2NyaXB0b3IuCgkoYnkpOiAgUmVtb3ZlZCBNYXBwZWRCeXRlQnVmZmVyIGZpZWxkLgoJKG1hcCk6ICBOZXcgd29ya2luZyBpbXBsZW1lbnRhdGlvbi4KCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL25hdEZpbGVDaGFubmVsUG9zaXguY2M6ICBOZXcgZmlsZSwgdGhvdWdoCglzb21lIGNvZGUgInBvcnRlZCIgZnJvbSBuYXRGaWxlRGVzY3JpcHRvUG9zaXguY2MuCgkqIGdudS9qYXZhL25pby9jaGFubmVscy9uYXRGaWxlQ2hhbm5lbEVjb3MuY2M6ICBMaWtld2lzZS4KCSogZ251L2phdmEvbmlvL2NoYW5uZWxzL25hdEZpbGVDaGFubmVsV2luMzIuY2MgIExpa2V3aXNlLgoJKiBqYXZhL2lvL0ZpbGVEZXNjcmlwdG9yLmphdmE6ICBJbXBsZW1lbnQgb24gdG9wIG9mIEZpbGVDaGFubmVsLgoJUmVtb3ZlIG5hdGl2ZSBtZXRob2RzLgoJKiBNYWtlZmlsZS5hbSwgY29uZmlndXJlLmluOiAgVXBkYXRlZCBhY2NvcmRpbmdseS4KCgkqIGdudS9qYXZhL25pby9GaWxlTG9ja0ltcGwuamF2YSAoZmQpOiAgUmVtb3ZlIGZpZWxkLCByZXBsYWNpbmcgaXQgYnk6CgkoY2gpOiAgTmV3IEZpbGVDaGFubmVsSW1wbCBmaWVsZC4gIFVwZGF0ZSBjb25zdHJ1Y3RvciB0byBtYXRjaC4KCShyZWxlYXNlSW1wbCk6ICBSZW1vdmUgbmF0aXZlIG1ldGhvZC4gIEluc3RlYWQgLi4uCgkocmVsZWFzZSk6ICBDYWxsIHVubG9jayBvbiBjaGFubmVsLgoJKiBnbnUvamF2YS9uaW8vbmF0RmlsZUxvY2tJbXBsLmNjOiAgUmVtb3ZlZCBmaWxlLgoKCSogamF2YS9pby9uYXRGaWxlRGVzY3JpcHRvckVjb3MuY2M6ICBSZW1vdmUgZmlsZS4KCSogamF2YS9pby9uYXRGaWxlRGVzY3JpcHRvclBvc2l4LmNjOiAgUmVtb3ZlIGZpbGUuCgkqIGphdmEvaW8vbmF0RmlsZURlc2NyaXB0b3JXaW4zMi5jYzogIFJlbW92ZSBmaWxlLgoJKiBqYXZhL2lvL0ZpbGVJbnB1dFN0cmVhbS5qYXZhIChjaCk6ICBDaGFuZ2UgdHlwZSB0byBGaWxlQ2hhbm5lbEltcGwuCgkoPGluaXQ+KEZpbGUpKTogIEFsbG9jYXRlIGEgRmlsZUNoYW5uZWxJbXBsLCBub3QgYSBGaWxlRGVzY3JpcHRvci4KCSg8aW5pdD4oRmlsZUNoYW5uZWxJbXBsKSk6ICBOZXcgcGFja2FnZS1wcml2YXRlIGNvbnN0cnVjdG9yLgoJKDxpbml0PihGaWxlRGVzY3JpcHRvcikpOiAgRXh0cmFjdCBGaWxlQ2hhbm5lbEltcGwgZnJvbSBhcmcuCgkoYXZhaWxhYmxlLCBjbG9zZSwgcmVhZCwgc2tpcCk6ICBJbXBsZW1lbnQgdXNpbmcgRmlsZUNoYW5uZWxJbXBsLgoJKGdldEZEKTogIEFsbG9jYXRlIEZpbGVEZXNjcmlwdG9yIGlmIG5lZWRlZC4KCShnZXRDaGFubmVsKTogIElzIG5vdyB0cml2aWFsLgoJKiBqYXZhL2lvL0ZpbGVPdXRwdXRTdHJlYW0uamF2YTogIENvcnJlc3BvbmRpbmcgY2hhbmdlcy4KCSogamF2YS9pby9SYW5kb21BY2Nlc3NGaWxlLmphdmE6ICBDb3JyZXNwb25kaW5nIGNoYW5nZXMuCgoJKiBqYXZhL25pby9NYXBwZWRCeXRlQnVmZmVyLmphdmE6IChmb3JjZUltcGwsIGlzTG9hZGVkSW1wbCwgbG9hZEltcGwsCgl1bm1hcEltcGwpOiAgTmV3IGR1bW15IG1ldGhvZHMsIHRvIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3MuCgkoZmluYWxpemUsIGlzTG9hZGVkLCBsb2FkLCBmb3JjZSk6ICBOZXcgbWV0aG9kcy4KCSogamF2YS9uaW8vTWFwcGVkQnl0ZUJ1ZmZlckltcGwuamF2YTogIE1vcmUtb3ItbGVzcyByZXdyaXRlLgoJTm93IHdvcmtzLCBhdCBsZWFzdCBmb3IgcmVhZCBtYXBwaW5nLgoKCSogamF2YS9sYW5nL25hdFBvc2l4UHJvY2Vzcy5jYyAoc3RhcnRQcm9jZXNzKTogIEltcGxlbWVudCBzdGFuZGFyZAoJc3RyZWFtcyB1c2luZyBGaWxlQ2hhbm5lbEltcGwsIG5vdCBGaWxlRGVzY3JpcHRvci4KCSogamF2YS9sYW5nL25hdFdpbjMyUHJvY2Vzcy5jYyAoc3RhcnRQcm9jZXNzKTogIExpa2V3aXNlLgoKMjAwNC0wMi0yOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YTogQ29tcGlsZSBmaXgsIGRhbW4gSSBjb21taXRlZCB0aGUKCXdyb25nIGNvZGUuCgoyMDA0LTAyLTI4ICBHdWlsaGVtIExhdmF1eCA8Z3VpbGhlbUBrYWZmZS5vcmc+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEKCShyZWFkQ2xhc3NEZXNjcmlwdG9yKTogS2VlcCBlbGVtZW50cyBvZiB0aGUgbWFwcGluZyBub24gbnVsbC4KCShjaGVja1R5cGVDb25zaXN0ZW5jeSk6IE5ldyBtZXRob2QuCgkocmVhZEZpZWxkcyk6IEZpeGVkIG1haW4gbG9vcCBhbmQgYmFzZSBsb2dpYy4gU21hbGwgcmVpbmRlbnRhdGlvbi4KCSogamF2YS9pby9PYmplY3RTdHJlYW1GaWVsZC5qYXZhCgkobG9va3VwRmllbGQpOiBOZXcgbWV0aG9kIHRvIHVwZGF0ZSB0aGUgZmllbGQgcmVmZXJlbmNlLgoJKGNoZWNrRmllbGRUeXBlKTogTmV3IG1ldGhvZC4KCSogamF2YS9pby9PYmplY3RTdHJlYW1DbGFzcy5qYXZhCgkoc2V0Q2xhc3MsIHNldEZpZWxkcyk6IENhbGwgbG9va3VwRmllbGQgd2hlbiBidWlsZGluZyB0aGUgZmllbGQKCWRhdGFiYXNlLiBDaGVjayB0aGUgcmVhbCBmaWVsZCB0eXBlLgoKMjAwNC0wMi0yOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmlvL0J5dGVPcmRlci5qYXZhCgkobmF0aXZlT3JkZXIpOiBVc2UgZXF1YWxzKCkgdG8gY29tcGFyZSBzdHJpbmdzLgoKMjAwNC0wMi0yNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL25pby9GaWxlTG9ja0ltcGwuamF2YQoJKGZpbmFsaXplKTogTWFkZSBwcm90ZWN0ZWQuCgkqIGphdmEvbmlvL2NoYW5uZWxzL0ZpbGVDaGFubmVsLmphdmEKCShNYXBNb2RlLlJFQURfT05MWSk6IE1hZGUgZmluYWwuCgkoTWFwTW9kZS5SRUFEX1dSSVRFKTogTWFkZSBmaW5hbC4KCShNYXBNb2RlLlBSSVZBVEUpOiBNYWRlIGZpbmFsLgoJKiBqYXZhL25pby9jaGFubmVscy9Tb2NrZXRDaGFubmVsLmphdmEKCShvcGVuKTogU2ltcGxpZmllZCBjb2RlLgoJKiBqYXZhL25pby9jaGFubmVscy9zcGkvQWJzdHJhY3RTZWxlY3RhYmxlQ2hhbm5lbC5qYXZhCgkocmVnaXN0ZXJlZCk6IFVudXNlZCwgcmVtb3ZlZC4KCShrZXlGb3IpOiBDaGVjayBjaGFubmVsIGlzIG9wZW4sIG9ubHkgbG9jYXRlIGtleQoJYW5kIG5vdCBhZGQgYSBuZXcgb25lLgoJKHJlZ2lzdGVyKTogRG9uJ3QgZGVsZXRlIGF0dGFjaG1lbnRzLgoKMjAwNC0wMi0yNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9Db21wb25lbnREYXRhQmxpdE9wLmphdmEKCShJTlNUQU5DRSk6IE1hZGUgZmluYWwuCgkqIGdudS9qYXZhL2F3dC9pbWFnZS9JbWFnZURlY29kZXIuamF2YToKCVJld29ya2VkIGltcG9ydHMuCgkoY20pOiBVbnVzZWQsIHJlbW92ZWQuCgoyMDA0LTAyLTI2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL0RhdGFncmFtQ2hhbm5lbEltcGwuamF2YQoJKHNlbmQpOiBDaGVjayBpZiB0YXJnZXQgYWRkcmVzcyBpcyByZXNvbHZlZC4KCjIwMDQtMDItMjYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBNYWtlZmlsZS5hbTogR2VuZXJhdGUgYW5kIGluc3RhbGwgaGVhZGVycyBmb3IgaW5uZXIgY2xhc3NlcyBpbgoJamF2YS5uaW8uY2hhbm5lbHMuUGlwZSBhbmQgZ251LmphdmEubmlvLlBpcGVJbXBsLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTAyLTI0ICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9TdHJpbmdCdWZmZXIuamF2YTogTm8gbmVlZCB0byBOVUxMIG91dCByZW1haW5kZXIgb2YKCWJ1ZmZlciBzaW5jZSBlbnN1cmVDYXBhY2l0eV91bnN5bmNocm9uaXplZCB3aWxsIGhhdmUgZG9uZSB0aGlzIGZvcgoJdXMuCgoyMDA0LTAyLTIwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2phci9IYW5kbGVyLmphdmEKCSgpOiBSZW1vdmVkIHVubmVlZGVkIGNoZWNrIGZvciBmaWxlICE9IG51bGwuIGphdmEubmV0LlVSTC5nZXRGaWxlKCkKCXJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGJ1dCBuZXZlciBudWxsLgoKMjAwNC0wMi0yMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9nY2ovY29udmVydC9Db252ZXJ0LmphdmEKCShtYWluKTogVXNlIGVxdWFscygpIHRvIGNvbXBhcmUgc3RyaW5ncy4KCjIwMDQtMDItMjAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEJ1dHRvbi5qYXZhOiBNYWRlIHNldmVyYWwgY29uc3RhbnRzIGZpbmFsLgoJKGdldFJvbGxvdmVyU2VsZWN0ZWRJY29uKTogTWFkZSBwdWJsaWMuCgkoZ2V0U2VsZWN0ZWRJY29uKTogTWFkZSBwdWJsaWMuCgoyMDA0LTAyLTE2ICBQZXIgQm90aG5lciAgPHBlckBib3RobmVyLmNvbT4KCgkqIGphdmEvbmlvL0NoYXJCdWZmZXJJbXBsLmphdmE6ICBJbmxpbmUgc3VwZXIgY29uc3RydWN0b3IuCgkqIGphdmEvbmlvL0RvdWJsZUJ1ZmZlckltcGwuamF2YTogIExpa2V3aXNlLgoJKiBqYXZhL25pby9GbG9hdEJ1ZmZlckltcGwuamF2YTogIExpa2V3aXNlLgoJKiBqYXZhL25pby9JbnRCdWZmZXJJbXBsLmphdmE6ICBMaWtld2lzZS4KCSogamF2YS9uaW8vTG9uZ0J1ZmZlckltcGwuamF2YTogIExpa2V3aXNlLgoJKiBqYXZhL25pby9TaG9ydEJ1ZmZlckltcGwuamF2YTogIExpa2V3aXNlLgoJKiBqYXZhL25pby9DaGFyQnVmZmVyLmphdmE6ICBSZW1vdmUgdW51c2VkIGNvbnN0cnVjdG9yLgoJKiBqYXZhL25pby9Eb3VibGVCdWZmZXIuamF2YTogIExpa2V3aXNlLgoJKiBqYXZhL25pby9GbG9hdEJ1ZmZlci5qYXZhOiAgTGlrZXdpc2UuCgkqIGphdmEvbmlvL0ludEJ1ZmZlci5qYXZhOiAgTGlrZXdpc2UuCgkqIGphdmEvbmlvL0xvbmdCdWZmZXIuamF2YTogIExpa2V3aXNlLgoJKiBqYXZhL25pby9TaG9ydEJ1ZmZlci5qYXZhOiAgTGlrZXdpc2UuCgkqIGphdmEvbmlvL0NoYXJWaWV3QnVmZmVySW1wbC5qYXZhOiAgTmV3IGNvbnZlbmllbmNlIGNvbnN0cnVjdG9yLgoJRml4IGJ1Z2d5IGNhbGwgdG8gc3VwZXIgY29uc3RydWN0b3IuCgkqIGphdmEvbmlvL0RvdWJsZVZpZXdCdWZmZXJJbXBsLmphdmE6ICBMaWtld2lzZS4KCSogamF2YS9uaW8vRmxvYXRWaWV3QnVmZmVySW1wbC5qYXZhOiAgTGlrZXdpc2UuCgkqIGphdmEvbmlvL0ludFZpZXdCdWZmZXJJbXBsLmphdmE6ICBMaWtld2lzZS4KCSogamF2YS9uaW8vTG9uZ1ZpZXdCdWZmZXJJbXBsLmphdmE6ICBMaWtld2lzZS4KCSogamF2YS9uaW8vU2hvcnRWaWV3QnVmZmVySW1wbC5qYXZhOiAgTGlrZXdpc2UuCgoJKiBqYXZhL25pby9CeXRlQnVmZmVyLmphdmEgKGVuZGlhbik6ICBNYWtlIG5vbi1wcml2YXRlIHNvIG90aGVyCglqYXZhLm5pbyBjbGFzc2VzIGNhbiBpbmhlcml0IGl0LgoJKDxpbml0Pik6ICBEb24ndCBib3RoZXIgY2xlYXJpbmcgYXJyYXlfb2Zmc2V0LgoJKiBqYXZhL25pby9CeXRlQnVmZmVyLmphdmEgKGFsbG9jYXRlKTogIFJlLWltcGxlbWVudCB1c2luZyB3cmFwLgoJKiBqYXZhL25pby9CeXRlQnVmZmVyLmphdmEgKGdldChieXRlW10saW50LGludCkpOiAgQ2hlY2sgdW5kZXJmbG93LgoJUmVtb3ZlIHJlZHVuZGFudCB0ZXN0LgoKCSogamF2YS9uaW8vQnl0ZUJ1ZmZlckltcGwuamF2YSAoYXNDaGFyQnVmZmVyLCBhc1Nob3J0QnVmZmVyLAoJYXNJbnRCdWZmZXIsIGFzTG9uZ0J1ZmZlciwgYXNGbG9hdEJ1ZmZlciwgYXNEb3VibGVCdWZmZXIpOgoJVXNlIG5ldyBYeHhWaWV3QnVmZmVySW1wbCBjb25zdHJ1Y3RvcnMuCgkqIGphdmEvbmlvL01hcHBlZEJ5dGVCdWZmZXJJbXBsLmphdmE6ICBMaWtld2lzZS4KCSogamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YTogIExpa2V3aXNlLgoKCSogamF2YS9uaW8vQnl0ZUJ1ZmZlckltcGwuamF2YTogIFJlbW92ZSBvbmUgY29uc3RydWN0b3IuCglJbmxpbmUgc3VwZXIgaW4gcmVtYWluaW5nIGNvbnN0cnVjdG9yLgoJKiBqYXZhL25pby9CeXRlQnVmZmVyLmphdmE6ICBSZW1vdmUgdW51c2VkIGNvbnN0cnVjdG9yLgoKCSogamF2YS9uaW8vQnl0ZUJ1ZmZlckltcGwuamF2YSAoc2hpZnREb3duKTogIE5ldyBvcHRpbWl6ZWQgbWV0aG9kLgoKCSogamF2YS9uaW8vQnl0ZUJ1ZmZlckltcGwuamF2YSAoZ2V0LCBwdXQpOiAgQWRkIGFycmF5X29mZnNldC4KCSogamF2YS9uaW8vRGlyZWN0Qnl0ZUJ1ZmZlckltcGwuamF2YSAob3duZXIpOiAgTmV3IGZpZWxkLgoJKG9mZnNldCk6ICBSZW1vdmUgdW51c2VkIGZpZWxkLgoJKDxpbml0Pik6ICBNb2RpZnkgb25lIGFuZCBhZGQgYW5vdGhlciBjb25zdHJ1Y3Rvci4gIENoYW5nZSBjYWxsZXJzLgoJKGFsbG9jYXRlRGlyZWN0KTogIFJlbW92ZWQgLSBub3QgdXNlZC4KCShnZXRJbXBsLCBwdXRJbXBsKTogIE1ha2Ugc3RhdGljIGFuZCBwYXNzIGFkZHJlc3MgZXhwbGljaXRseSwKCXRvIG1ha2UgdGhlbSB1c2VmdWwgZm9yIE1hcHBlZEJ5dGVCdWZmZXJJbXBsLgoJKGdldCwgcHV0KTogIENoZWNrIGZvciB1bmRlcmZsb3cuICBNb2RpZnkgZm9yIG5ldyBnZXRJbXBsLgoJKGdldEltcGwpOiAgTmV3IG5hdGl2ZSBtZXRob2Qgd2hlcmUgdGFyZ2V0IGlzIGFycmF5LgoJKGdldChieXRlW10saW50LGludCkpOiAgVXNlIHRoZSBhYm92ZS4KCShhZGp1c3RBZGRyZXNzKTogIE5ldyBzdGF0aWMgbmF0aXZlIG1ldGhvZC4KCShzbGljZSwgZHVwbGljYXRlLCBhc1JlYWRPbmx5KTogIE5ldyBpbXBsZW1lbnRhdGlvbnMuCgkqIGphdmEvbmlvL25hdERpcmVjdEJ5dGVCdWZmZXJJbXBsLmNjIChnZXRJbXBsLCBwdXRJbXBsLCBzaGlmdERvd24sCglhZGp1c3RBZGRyZXNzKTogIE5ldyBvciB1cGRhdGVkIG5hdGl2ZSBtZXRob2RzLgoKMjAwNC0wMi0xNSAgSXRvIEthenVtaXRzdSAgPGthekBtYWN6dWthLmdjZC5vcmc+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEgKHJlYWRDbGFzc0Rlc2NyaXB0b3IpOiBBdm9pZCB0aGUKICAgICAgICBvdmVyZmxvdyBvZiBmaWVsZG1hcHBpbmcuCgoyMDA0LTAyLTE0ICBTYXNjaGEgQnJhd2VyICA8YnJhd2VyQGRhbmRlbGlzLmNoPgoKCSogamF2YXgvc3dpbmcvdW5kby9VbmRvTWFuYWdlci5qYXZhOiBSZS13cml0dGVuIGZyb20gc2NyYXRjaC4KCjIwMDQtMDItMTQgIFBlciBCb3RobmVyICA8cGVyQGJvdGhuZXIuY29tPgoKCSogamF2YS9uaW8vY2hhbm5lbHMvc3BpL0Fic3RyYWN0SW50ZXJydXB0aWJsZUNoYW5uZWwuamF2YSAoY2xvc2UpOgoJU2V0IGNsb3NlZCBiZWZvcmUgY2FsbGluZyBpbXBsQ2xvc2VDaGFubmVsLCBhcyBpbiB0aGUgc3BlYy4KCjIwMDQtMDItMDkgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqYXZheC9zd2luZy9Ub2dnbGVCdXR0b25Nb2RlbC5qYXZhOiBSZW1vdmUgZGVhZCBjbGFzcy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0RlZmF1bHRzLmphdmE6IFJlbW92ZSBkZWFkIGNsYXNzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQnV0dG9uTGlzdGVuZXIuamF2YTogTmV3IGNsYXNzLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljUm9vdFBhbmVVSS5qYXZhOiBOZXcgY2xhc3MuCgkqIE1ha2VmaWxlLmFtOiBVcGRhdGUgZm9yIG5ldyBhbmQgcmVtb3ZlZCBmaWxlcy4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhOiBJbml0aWFsaXplIGRlZmF1bHQgaGludHMuCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmEKCShBYnN0cmFjdEJ1dHRvbik6IEluaXRpYWxpemUgZmllbGRzIGNvcnJlY3RseSBpbiBjdG9yLgoJKiBqYXZheC9zd2luZy9KQ2hlY2tib3guamF2YQoJKEpDaGVja0JveCk6IE92ZXJyaWRlIHBhaW50aW5nIGZsYWdzLgoJKiBqYXZheC9zd2luZy9EZWZhdWx0QnV0dG9uTW9kZWwuamF2YTogQ29uZm9ybSB0byBzdW4uCgkqIGphdmF4L3N3aW5nL0pDb21wb25lbnQuamF2YSAocGFpbnQpOiBGaWxsIHdpdGggYmFja2dyb3VuZCBjb2xvcgoJaWYgYXZhaWxhYmxlLgoJKHByb2Nlc3NDb21wb25lbnRLZXlFdmVudCkKCShwcm9jZXNzRm9jdXNFdmVudCkKCShwcm9jZXNzS2V5RXZlbnQpCgkocHJvY2Vzc01vdXNlTW90aW9uRXZlbnQpOiBSZW1vdmUgZXZlbnQtY29uc3VtaW5nIGVtcHR5IG1ldGhvZHMuCgkoZ2V0VUlDbGFzc0lEKTogUmV0dXJuICJDb21wb25lbnRVSSIgbm90ICJKQ29tcG9uZW50IgoJKiBqYXZheC9zd2luZy9KRnJhbWUuamF2YTogUmVtb3ZlIHNvbWUgZGVidWdnaW5nIGNoYXR0ZXIuCgkoSkZyYW1lKTogU3Vic2NyaWJlIHRvIHdpbmRvdyBldmVudHMuCgkqIGphdmF4L3N3aW5nL0pSYWRpb0J1dHRvbi5qYXZhCgkoSlJhZGlvQnV0dG9uKTogT3ZlcnJpZGUgcGFpbnRpbmcgZmxhZ3MuCgkqIGphdmF4L3N3aW5nL0pSb290UGFuZS5qYXZhCgkoSlJvb3RQYW5lKTogU2V0IGJhY2tncm91bmQgZnJvbSBVSURlZmF1bHRzLgoJKiBqYXZheC9zd2luZy9KVG9nZ2xlQnV0dG9uLmphdmEKCShUb2dnbGVCdXR0b25Nb2RlbCk6IE5ldyBpbm5lciBjbGFzcy4KCShKVG9nZ2xlQnV0dG9uKTogT3ZlcnJpZGUgbGF5b3V0IGFsaWdobWVudC4KCSogamF2YXgvc3dpbmcvU3dpbmdVdGlsaXRpZXMuamF2YToKCShnZXRMb2NhbEJvdW5kcyk6IFJldHVybiB3aWR0aCBhbmQgaGVpZ2h0LCBub3QgeCBhbmQgeS4KCShjYWxjdWxhdGVJbm5lckFyZWEpOiBVc2UgbG9jYWwgYm91bmRzLCBub3QgYm91bmRzLgoJKGxheW91dENvbXBvdW5kTGFiZWwpOiBQcm92aWRlIG92ZXJyaWRkZW4gZm9ybS4KCShsYXlvdXRDb21wb3VuZExhYmVsKTogQ29ycmVjdCBidWdzLgoJKiBqYXZheC9zd2luZy9VSURlZmF1bHRzLmphdmE6IENvcnJlY3QgY29tbWVudC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmE6CglNb3ZlIG1vc3QgbG9naWMgaW50byBkZWZhdWx0cywgZXh0ZXJuYWwgbGlzdGVuZXIuCgkocGFpbnRJY29uKTogSW1wbGVtZW50IGljb24gcGFpbnRpbmcuCgkocGFpbnQpOiBGaXggc3RhdGUgcGFpbnRpbmcgdG8gY29uZm9ybSB0byBjaGFuZ2VzIGluIG1vZGVsLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hVSS5qYXZhOgoJUmVtb3ZlIG1vc3QgZGVhZC93cm9uZyBtZXRob2RzLgoJKGdldERlZmF1bHRJY29uKTogUmV0dXJuIGRlZmF1bHRzLmdldEljb24oIkNoZWNrQm94Lmljb24iKS4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0ljb25GYWN0b3J5LmphdmE6CgkoRHVtbXlJY29uKTogTmV3IGNsYXNzLgoJKGdldE1lbnVJdGVtQ2hlY2tJY29uKQoJKGdldE1lbnVJdGVtQXJyb3dJY29uKQoJKGdldE1lbnVBcnJvd0ljb24pCgkoZ2V0Q2hlY2tCb3hNZW51SXRlbUljb24pCgkoZ2V0UmFkaW9CdXR0b25NZW51SXRlbUljb24pCgkoY3JlYXRlRW1wdHlGcmFtZUljb24pOiBSZXR1cm4gRHVtbXlJY29ucywgbm90IG51bGwuCgkoZ2V0Q2hlY2tCb3hJY29uKTogSW1wbGVtZW50IGFuIGljb24gdGhhdCBsb29rcyBsaWtlIHN1bidzLgoJKGdldFJhZGlvQnV0dG9uSWNvbik6IEltcGxlbWVudCBhbiBpY29uIHRoYXQgbG9va3MgbGlrZSBzdW4ncy4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xvb2tBbmRGZWVsLmphdmEKCShpbml0Q29tcG9uZW50RGVmYXVsdHMpOiBGaXggaW1wb3NzaWJsZSB2YWx1ZXMsIGFkZCBzb21lIG1pc3NpbmcuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNQYW5lbFVJLmphdmEgKGdhcCk6IFJlbW92ZSBmaWVsZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1JhZGlvQnV0dG9uVUkuamF2YToKCVJlbW92ZSBtb3N0IGRlYWQvd3JvbmcgbWV0aG9kcy4KCShpY29uKTogTmV3IGZpZWxkLgoJKGdldERlZmF1bHRJY29uKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1RvZ2dsZUJ1dHRvblVJLmphdmE6CglSZW1vdmUgbW9zdCBkZWFkL3dyb25nIG1ldGhvZHMuCgkqIGphdmF4L3N3aW5nL3BsYWYvbWV0YWwvTWV0YWxMb29rQW5kRmVlbC5qYXZhCgkoZ2V0RGVmYXVsdHMpOiBSZXR1cm4gc3VwZXIuZ2V0RGVmYXVsdHMoKSwgbm90IEJhc2ljRGVmYXVsdHMuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR2RrR3JhcGhpY3MuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0dka0dyYXBoaWNzX2NsZWFyUmVjdCk6CglJbXBsZW1lbnQgImNsZWFyaW5nIiBhcyBkcmF3aW5nLCB3aGVuIG9uIHBpeG1hcCBkcmF3YWJsZXMuCgoJKiBqYXZheC9zd2luZy9KQnV0dG9uLmphdmEgKGdldFVJQ2xhc3NJRCk6CgkqIGphdmF4L3N3aW5nL0pDaGVja0JveC5qYXZhIChnZXRVSUNsYXNzSUQpOgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhIChnZXRVSUNsYXNzSUQpOgoJKiBqYXZheC9zd2luZy9KTGFiZWwuamF2YSAoZ2V0VUlDbGFzc0lEKToKCSogamF2YXgvc3dpbmcvSkxpc3QuamF2YSAoZ2V0VUlDbGFzc0lEKToKCSogamF2YXgvc3dpbmcvSk9wdGlvblBhbmUuamF2YSAoZ2V0VUlDbGFzc0lEKToKCSogamF2YXgvc3dpbmcvSlBhbmVsLmphdmEgKGdldFVJQ2xhc3NJRCk6CgkqIGphdmF4L3N3aW5nL0pQYXNzd29yZEZpZWxkLmphdmEgKHVpQ2xhc3NJRCk6CgkqIGphdmF4L3N3aW5nL0pSYWRpb0J1dHRvbi5qYXZhIChnZXRVSUNsYXNzSUQpOgoJKiBqYXZheC9zd2luZy9KUm9vdFBhbmUuamF2YSAoZ2V0VUlDbGFzc0lEKToKCSogamF2YXgvc3dpbmcvSlNjcm9sbFBhbmUuamF2YSAoZ2V0VUlDbGFzc0lEKToKCSogamF2YXgvc3dpbmcvSlRhYmJlZFBhbmUuamF2YSAoZ2V0VUlDbGFzc0lEKToKCSogamF2YXgvc3dpbmcvSlRvZ2dsZUJ1dHRvbi5qYXZhIChnZXRVSUNsYXNzSUQpOgoJKiBqYXZheC9zd2luZy9KVHJlZS5qYXZhIChnZXRVSUNsYXNzSUQpOgoJKiBqYXZheC9zd2luZy9KVmlld3BvcnQuamF2YSAoZ2V0VUlDbGFzc0lEKToKCSogamF2YXgvc3dpbmcvdGV4dC9KVGV4dENvbXBvbmVudC5qYXZhIChnZXRVSUNsYXNzSUQpOgoJUmV0dXJuICJmb29VSSIgbm90ICJKZm9vIgoKMjAwNC0wMi0xMSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbmV0L0RhdGFncmFtU29ja2V0LmphdmEKCShzZXRSZXVzZUFkZHJlc3MpOiBVc2UgQm9vbGVhbi52YWx1ZU9mKCkgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldwoJQm9vbGVhbiBvYmplY3QuCgkoc2V0QnJvYWRjYXN0KTogTGlrZXdpc2UuCgkqIGphdmEvbmV0L011bHRpY2FzdFNvY2tldC5qYXZhCgkoc2V0TG9vcGJhY2tNb2RlKTogTGlrZXdpc2UuCgkqIGphdmEvbmV0L1NlcnZlclNvY2tldC5qYXZhCgkoc2V0UmV1c2VBZGRyZXNzKTogTGlrZXdpc2UuCgkqIGphdmEvbmV0L1NvY2tldC5qYXZhCgkoc2V0VGNwTm9EZWxheSk6IExpa2V3aXNlLgoJKHNldFNvTGluZ2VyKTogTGlrZXdpc2UuCgkoc2V0T09CSW5saW5lKTogTGlrZXdpc2UuCgkoc2V0S2VlcEFsaXZlKTogTGlrZXdpc2UuCgkoc2V0UmV1c2VBZGRyZXNzKTogTGlrZXdpc2UuCgkqIGphdmEvbmV0L1VSTENvbm5lY3Rpb24uamF2YQoJKHNldENvbnRlbnRIYW5kbGVyKTogUmVwbGFjZSA9PSB3aXRoIGVxdWFscygpLgoJKiBqYXZhL25ldC9VUkxTdHJlYW1IYW5kbGVyLmphdmEKCShob3N0U0VxdWFscyk6IEZpeCBjaGVja2luZyBob3N0IGFkZHJlc3Nlcy4KCSh0b0V4dGVybmFsRm9ybSk6IERvbnQgY2hlY2sgcHJvdG9jb2wgZm9yIG51bGwuIFdlIGtub3cgYWxyZWFkeSBpdHMKCW5vdCBudWxsLgoKMjAwNC0wMi0xMCAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQm9yZGVyTGF5b3V0LmphdmEKCShjYWxjQ29tcFNpemUpOiBJbnZpc2libGUgY29tcG9uZW50cyBnZXQgemVybyBkaW1lbnNpb25zLgoJKiBqYXZhL2F3dC9CdXR0b24uamF2YQoJKHNldExhYmVsKTogU2V0IGFjdGlvbkNvbW1hbmQuCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkoc2hvdyk6IEludmFsaWRhdGUgY29tcG9uZW50IGFuZCBwYXJlbnQgY29udGFpbmVyLgoJKGhpZGUpOiBMaWtld2lzZS4KCjIwMDQtMDItMTAgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0dyaWRCYWdMYXlvdXQuamF2YQoJKEdyaWRCYWdMYXlvdXQpOiBOZXcgcHJpdmF0ZSBmaWVsZCwgaW50ZXJuYWxjb21wdGFibGUuCgkobG9va3VwSW50ZXJuYWxDb25zdHJhaW50cyk6IE5ldyBtZXRob2QuCgkoQXJyYW5nZUdyaWQpOiBVc2UgY29tcG9uZW50cycgTUlOU0laRS4gVXNlIGludGVybmFsY29tcHRhYmxlLgoJKEdldExheW91dEluZm8pOiBSZWltcGxlbWVudC4KCShjYWxjQ2VsbFNpemVzKTogSWdub3JlIHJvd3MvY29sdW1ucyB3aXRoIHNpemUgMC4KCjIwMDQtMDItMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvRW1iZWRkZWRXaW5kb3cuamF2YQoJKHNldEhhbmRsZSk6IFVzZSBqYXZhLmF3dC5Db21wb25lbnQuZ2V0UGVlcigpIGluc3RlYWQgb2YKCWphdmEuYXd0LkNvbXBvbmVudC5wZWVyIGRpcmVjdGx5LgoKMjAwNC0wMi0xMCAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0J1dHRvblBlZXIuamF2YQoJKGd0a1NldExhYmVsKTogTmV3IG5hdGl2ZSBtZXRob2QgZGVmaW5pdGlvbi4KCShzZXRMYWJlbCk6IFVzZSBndGtTZXRMYWJlbC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtCdXR0b25QZWVyX2d0a1NldExhYmVsKTogTmV3IG1ldGhvZC4KCjIwMDQtMDItMTAgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBpbmNsdWRlL3Bvd2VycGMtc2lnbmFsLmg6IFJldmVydCAyMDA0LTAxLTIxIGNoYW5nZS4KCShJTklUX1NFR1YsIElOSVRfRlBFKTogUHJvdmlkZSBwb3dlcnBjNjQgdmVyc2lvbnMuICBDaGVjayByZXR1cm4KCWZyb20gc3lzY2FsbCBmb3IgcHBjMzIgdmVyc2lvbnMuCgoyMDA0LTAyLTA4ICBQZXIgQm90aG5lciAgPHBlckBib3RobmVyLmNvbT4KCgkqIGphdmEvbmlvL0J5dGVCdWZmZXIuamF2YSAoc2hpZnREb3duKTogIE5ldyBoZWxwZXIgbWV0aG9kLgoJKiBqYXZhL25pby9uYXREaXJlY3RCeXRlQnVmZmVySW1wbC5jYyAoc2hpZnREb3duKTogIE5ldyBpbXBsZW1lbnRhdGlvbi4KCSogamF2YS9uaW8vQnl0ZUJ1ZmZlckltcGwuamF2YSAoY29tcGFjdCk6ICBVc2UgbmV3IHNoaWZ0RG93biBtZXRob2QuCgkqIHNhdmEvbmlvL0J5dGVCdWZmZXJIZWxwZXIuamF2YTogIFJlbW92ZSByZWR1bmRhbnQgJ2ZpbmFsJyBzcGVjaWZpZXJzLgoJUGFzcyBCeXRlT3JkZXIgcGFyYW1ldGVyIHRvIG1vc3QgbWV0aG9kcywgc2luY2UgdGhlIHVuZGVybHlpbmcKCUJ5dGVCdWZmZXIncyBvcmRlciBpc24ndCBhbHdheXMgd2hhdCB3ZSBzaG91bGQgdXNlLgoJKiBqYXZhL25pby9CeXRlQnVmZmVySW1wbC5qYXZhOiAgUGFzcyBieXRlLW9yZGVyIHZhcmlvdXMgcGxhY2VzLgoJKiBqYXZhL25pby9EaXJlY3RCeXRlQnVmZmVySW1wbC5qYXZhOiAgTGlrZXdpc2UuCglVc2UgQnl0ZUJ1ZmZlckhlbHBlciBtZXRob2RzLgoJKiBqYXZhL25pby9NYXBwZWRCeXRlQnVmZmVySW1wbC5qYXZhOiAgTGlrZXdpc2UuCgkoY29tcGFjdCk6ICBVc2Ugc2hpZnREb3duLgoJKiBqYXZhL25pby9DaGFyVmlld0J1ZmZlckltcGwuamF2YSAoPGluaXQ+KTogIFBhc3MgYnl0ZS1vcmRlci4KCShnZXQsIHB1dCk6ICBVc2UgQnl0ZUJ1ZmZlckhlbHBlci4KCShjb21wYWN0KTogIFVzZSBuZXcgc2hpZnREb3duIG1ldGhvZC4KCShkdXBsaWNhdGUoYm9vbGVhbikpOiAgTmV3IGhlbHBlciBtZXRob2QuCgkoZHVwbGljYXRlLCBhc1JlYWRPbmx5QnVmZmVyKTogIFVzZSBpdC4KCShvcmRlcik6ICBSZXR1cm4gZW5kaWFuIGZpZWxkLgoJKiBqYXZhL25pby9Eb3VibGVWaWV3QnVmZmVySW1wbC5qYXZhOiAgTGlrZXdpc2UuCgkqIGphdmEvbmlvL0Zsb2F0Vmlld0J1ZmZlckltcGwuamF2YTogIExpa2V3aXNlLgoJKiBqYXZhL25pby9JbnRWaWV3QnVmZmVySW1wbC5qYXZhOiAgTGlrZXdpc2UuCgkqIGphdmEvbmlvL0xvbmdWaWV3QnVmZmVySW1wbC5qYXZhOiAgTGlrZXdpc2UuCgkqIGphdmEvbmlvL1Nob3J0Vmlld0J1ZmZlckltcGwuamF2YTogIExpa2V3aXNlLgoJKiBqYXZhL25pby9DaGFyVmlld0J1ZmZlckltcGwuamF2YSAoc3Vic2VxdWVuY2UpOiAgUmVkdW5kYW50IHRlc3QuCgkqIGphdmEvbmlvL0RpcmVjdEJ5dGVCdWZmZXJJbXBsLmphdmEgKHNoaWZ0RG93bik6ICBOZXcgbmF0aXZlIG1ldGhvZC4KCShjb21wYWN0KTogIFJlLWltcGxlbWVudCB1c2luZyBzaGlmdERvd24uCgoyMDA0LTAyLTA4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmNsdWRlL3g4Nl82NC1zaWduYWwuaDogRml4IHR5cG8uCgoyMDA0LTAyLTA4ICBEaWVnbyBOb3ZpbGxvICA8ZG5vdmlsbG9AcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvaTM4Ni1zaWduYWwuaCAoTUFLRV9USFJPV19GUkFNRSk6IEFkZCB2b2xhdGlsZQoJcXVhbGlmaWVyIHRvIF9yZWdzLgoJKEhBTkRMRV9ESVZJREVfT1ZFUkZMT1cpOiBMaWtld2lzZS4KCjIwMDQtMDItMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmEKCShjdXJyZW50Q2xhc3NMb2FkZXIpOiBSZXZlcnRlZCB0byBvbGQgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZC4KCjIwMDQtMDItMDYgIEplcm9lbiBGcmlqdGVycyAgPGplcm9lbkBmcmlqdGVycy5uZXQ+CgoJKiBqYXZhL2lvL09iamVjdElucHV0U3RyZWFtLmphdmE6IE1hZGUgYWxsIGNhbGxzCgl0byBkdW1wRWxlbWVudFtsbl0gY29uZGl0aW9uYWwgb24gZHVtcCBmbGFnLiAocmVhZE9iamVjdCk6IENoYW5nZWQgdG8KCXVzZSBjYWNoZWQgaW5mbyBmcm9tIE9iamVjdFN0cmVhbUNsYXNzLiAocmVhZENsYXNzRGVzY3JpcHRvcik6CglDYWNoZSBtb3JlIGluZm9ybWF0aW9uIGluIE9iamVjdFN0cmVhbUNsYXNzLiAocHJvY2Vzc1Jlc29sdXRpb24sCglyZWFkRmllbGRzKTogVXNlIGNhY2hlZCBpbmZvIGZyb20gT2JqZWN0U3RyZWFtQ2xhc3MuCgkobmV3T2JqZWN0KTogVGhyb3cgZXhjZXB0aW9uIGluc3RlYWQgb2YgcmV0dXJuaW5nIG51bGwgZm9yIGZhaWx1cmUuCgkoZ2V0RmllbGQsIGdldE1ldGhvZCwgY2FsbFJlYWRNZXRob2QsIHNldEJvb2xlYW5GaWVsZCwgc2V0Qnl0ZUZpZWxkLAoJc2V0Q2hhckZpZWxkLCBzZXREb3VibGVGaWVsZCwgc2V0RmxvYXRGaWVsZCwgc2V0SW50RmllbGQsCglzZXRMb25nRmllbGQsIHNldFNob3J0RmllbGQsIHNldE9iamVjdEZpZWxkLCByZWFkT2JqZWN0UGFyYW1zKToKCVJlbW92ZWQuIChkdW1wRWxlbWVudCwgZHVtcEVsZW1lbnRsbik6IFJlbW92ZWQgZHVtcCBmbGFnIGNvbmRpdGlvbgoJY2hlY2suCgkqIGphdmEvaW8vT2JqZWN0U3RyZWFtRmllbGQuamF2YSAoaGFzUmVhZE1ldGhvZCk6IFJlbW92ZWQuCgkoc2V0Q2xhc3MpOiBBZGRlZCBjYWxsIHRvIGNhY2hlTWV0aG9kcygpIChmaW5kTWV0aG9kKTogTmV3IG1ldGhvZC4KCShjYWNoZU1ldGhvZHMpOiBOZXcgbWV0aG9kLiAoT2JqZWN0U3RyZWFtQ2xhc3MpOiBBZGRlZCBjYWxsIHRvCgljYWNoZU1ldGhvZHMoKS4gKHNldEZpZWxkcyk6IENhY2hlIGZpZWxkcy4gKGdldENsYXNzVUlEKTogVXNlCglBY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZCB0byBpbnZva2Ugc2V0QWNjZXNzaWJsZS4KCShyZWFkT2JqZWN0TWV0aG9kLCByZWFkUmVzb2x2ZU1ldGhvZCwgcmVhbENsYXNzSXNTZXJpYWxpemFibGUsCglyZWFsQ2xhc3NJc0V4dGVybmFsaXphYmxlLCBmaWVsZE1hcHBpbmcsIGZpcnN0Tm9uU2VyaWFsaXphYmxlUGFyZW50KToKCU5ldyBmaWVsZHMuCgkqIGphdmEvaW8vT2JqZWN0U3RyZWFtRmllbGQuamF2YSAoT2JqZWN0U3RyZWFtRmllbGQpOiBOZXcgY29uc3RydWN0b3IuCgkoT2JqZWN0U3RyZWFtRmllbGQpOiBSZW1vdmVkIEZJWE1FIHdvcmthcm91bmQuIChnZXRUeXBlU3RyaW5nLAoJaXNQcmltaXRpdmUpOiBNYWRlIHNhZmUgZm9yIGNhc2VzIHdoZXJlIHR5cGUgPT0gbnVsbC4KCShzZXRCb29sZWFuRmllbGQsIHNldEJ5dGVGaWVsZCwgc2V0Q2hhckZpZWxkLCBzZXRTaG9ydEZpZWxkLAoJc2V0SW50RmllbGQsIHNldExvbmdGaWVsZCwgc2V0RmxvYXRGaWVsZCwgc2V0RG91YmxlRmllbGQsCglzZXRPYmplY3RGaWVsZCk6IE5ldyBtZXRob2RzLgoKMjAwNC0wMi0wNSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEgKGdldEZvbnQpOiBSZXR1cm4gYSBkZWZhdWx0IGZvbnQKCWluc3RlYWQgb2YgbnVsbC4KCgkqIGphdmEvYXd0L1Njcm9sbGJhci5qYXZhIChuZXh0X3Njcm9sbGJhcl9udW1iZXIpOiBOZXcgZmllbGQuCgkoU2Nyb2xsYmFyIChpbnQsIGludCwgaW50LCBpbnQsIGludCkpOiBNYWtlIGRlZmF1bHQgcGFnZQoJaW5jcmVtZW50IDEwLgoJKHNldFZhbHVlcyk6IE9ubHkgY2FsbCBwZWVyLnNldFZhbHVlcyBpZiBvbmUgb2YgdGhlIHZhbHVlcyBoYXMKCWNoYW5nZWQuCgkoZ2VuZXJhdGVOYW1lKTogTmV3IG1ldGhvZC4KCShnZXRVbmlxdWVMb25nKTogTmV3IG1ldGhvZC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtTY3JvbGxCYXJQZWVyLmMKCShyYW5nZV9zY3JvbGxiYXIpOiBSZW1vdmUgc3RydWN0dXJlLgoJKHBvc3RfYWRqdXN0bWVudF9ldmVudCk6IFJlbW92ZSBmdW5jdGlvbi4KCShwb3N0X2NoYW5nZV9ldmVudCk6IEFjY2VwdCBqb2JqZWN0IGFyZ3VtZW50LgoJKGNyZWF0ZSk6IENhc3QgamludHMgdG8gZ2RvdWJsZXMuICBSb3VuZCBzY3JvbGxiYXIgdmFsdWVzIHRvIHRoZQoJbmVhcmVzdCBpbnRlZ2VyLiAgQ2xhbXAgbWluLCBtYXggYW5kIHZhbHVlIHNldHRpbmdzLgoJKGNvbm5lY3RKT2JqZWN0KTogQ29ubmVjdCBob29rIHRvIHdpZGdldC0+d2luZG93LgoJKGNvbm5lY3RTaWduYWxzKTogUmVtb3ZlIHJhbmdlX3Njcm9sbGJhciBzdHJ1Y3R1cmUgdmFyaWFibGVzLgoJUmVtb3ZlICJtb3ZlLXNsaWRlciIgY29ubmVjdGlvbi4gIFBhc3MgZ2xvYmFsIHBlZXIgcmVmZXJlbmNlIHRvCgkidmFsdWUtY2hhbmdlZCIgY2FsbGJhY2suCgkoc2V0TGluZUluY3JlbWVudCk6IENhc3QgamludCB2YWx1ZSB0byBnZG91YmxlLgoJKHNldFBhZ2VJbmNyZW1lbnQpOiBMaWtld2lzZS4KCShzZXRWYWx1ZXMpOiBMaWtld2lzZS4gIENsYW1wIG1pbiwgbWF4IGFuZCB2YWx1ZSBzZXR0aW5ncy4KCjIwMDQtMDItMDUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdENlbGxFZGl0b3IuamF2YQoJKGdldENlbGxFZGl0b3JWYWx1ZSk6IFJlbW92ZWQuCgkqIGphdmF4L3N3aW5nL0JveC5qYXZhOiBSZWZvcm1hdGVkLgoJKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgZmllbGQuCgkqIGphdmF4L3N3aW5nL0J1dHRvbkdyb3VwLmphdmE6CglSZW1vdmVkIHNvbWUgd2VpcmQgd2hpdGVzcGFjZS4KCSogamF2YXgvc3dpbmcvQ2VsbEVkaXRvci5qYXZhOiBSZWZvcm1hdGVkLgoJKiBqYXZheC9zd2luZy9DZWxsUmVuZGVyZXJQYW5lLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKEFjY2Vzc2libGVDZWxsUmVuZGVyZXJQYW5lc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBmaWVsZC4KCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RNb2RlbC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBmaWVsZC4KCSogamF2YXgvc3dpbmcvSkVkaXRvclBhbmUuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgZmllbGQuCgkoc2V0UGFnZSk6IFRocm93cyBJT0V4Y2VwdGlvbi4KCShhZGRIeXBlcmxpbmtMaXN0ZW5lcik6IEltcGxlbWVudGVkLgoJKHJlbW92ZUh5cGVybGlua0xpc3RlbmVyKTogSW1wbGVtZW50ZWQuCgkoZ2V0SHlwZXJsaW5rTGlzdGVuZXIpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9KRmlsZUNob29zZXIuamF2YQoJKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgZmllbGQuCgkoQWNjZXNzaWJsZUpGaWxlQ2hvb3Nlci5zZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKGFkZEFjdGlvbkxpc3RlbmVyKTogSW1wbGVtZW50ZWQuCgkocmVtb3ZlQWN0aW9uTGlzdGVuZXIpOiBJbXBsZW1lbnRlZC4KCShnZXRBY3Rpb25MaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9KRm9ybWF0dGVkVGV4dEZpZWxkLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKEFic3RyYWN0Rm9ybWF0dGVyLnNlcmlhbFZlcnNpb25VSUQpOiBOZXcgZmllbGQuCgkoY2xvbmUpOiBUaHJvd3MgQ2xvbmVOb3RTdXBwb3J0ZWRFeGNlcHRpb24KCShzZXRFZGl0VmFsaWQpOiBBZGQgbWlzc2luZyBhcmd1bWVudC4KCShzdHJpbmdUb1ZhbHVlKTogVGhyb3dzIFBhcnNlRXhjcGV0aW9uLgoJKHZhbHVlVG9TdHJpbmcpOiBUaHJvd3MgUGFyc2VFeGNlcHRpb24uCgkoY29tbWl0RWRpdCk6IFRocm93cyBQYXJzZUV4Y2VwdGlvbi4KCSogamF2YXgvc3dpbmcvSkxhYmVsLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogTmV3IGZpZWxkLgoJKiBqYXZheC9zd2luZy9KTGlzdC5qYXZhCgkoc2VyaWFsVmVyc2lvblVJRCk6IE5ldyBmaWVsZC4KCShhZGRMaXN0U2VsZWN0aW9uTGlzdGVuZXIpOiBSZWZvcm1hdGVkLgoJKHJlbW92ZUxpc3RTZWxlY3Rpb25MaXN0ZW5lcik6IFJlZm9ybWF0ZWQuCgkoZ2V0TGlzdFNlbGVjdGlvbkxpc3RlbmVycyk6IE5ldyBtZXRob2QuCgkqIGphdmF4L3N3aW5nL2NvbG9yY2hvb3Nlci9BYnN0cmFjdENvbG9yQ2hvb3NlclBhbmVsLmphdmE6CglSZWZvcm1hdGVkLgoJKHNlcmlhbFZlcnNpb25VSUQpOiBOZXcgZmllbGQuCgkqIGphdmF4L3N3aW5nL3RhYmxlL0Fic3RyYWN0VGFibGVNb2RlbC5qYXZhCgkoZ2V0VmFsdWVBdCk6IFJlbW92ZWQuCgkoZ2V0Q29sdW1uQ291bnQpOiBSZW1vdmVkLgoJKGdldFJvd0NvdW50KTogUmVtb3ZlZC4KCjIwMDQtMDItMDUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2F3dC9kYXRhdHJhbnNmZXIvRGF0YUZsYXZvci5qYXZhCgkoaW1hZ2VGbGF2b3IpOiBKYXZhZG9jIGFkZGVkLgoJKGphdmFKVk1Mb2NhbE9iamVjdFR5cGUpOiBGaXhlZC4KCjIwMDQtMDItMDUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2xhbmcvVGhyZWFkLmphdmEKCShUaHJlYWQpOiBSZW9yZGVyZWQuCgkoc2V0Q29udGV4dENsYXNzTG9hZGVyKTogRml4ZWQgamF2YWRvYyBjb21tZW50LgoJKHNldFByaW9yaXR5KTogUmVvcmRlcmVkLgoJKHlpZWxkKTogUmVvcmRlcmVkLgoJKGluaXRpYWxpemVfbmF0aXZlKTogUmVvcmRlcmVkLgoJKGdlbl9uYW1lKTogUmVvcmRlcmVkLgoKMjAwNC0wMi0wNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbGFuZy9UaHJlYWQuamF2YTogUmVvcmRlcmVkIGZpZWxkcywgcmVmb3JtYXRlZCBtdWNoIGNvZGUsCglubyBmdW5jdGlvbmFsIGNoYW5nZXMsIHNvbWUgdmFyaWFibGVzIHJlbmFtZWQsIGphdmFkb2MgY29tbWVudHMKCW1lcmdlZC4KCjIwMDQtMDItMDUgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3V0aWwvemlwL0RlZmxhdGVyLmphdmEsCglqYXZhL3V0aWwvemlwL0RlZmxhdGVyT3V0cHV0U3RyZWFtLmphdmEsCglqYXZhL3V0aWwvemlwL0daSVBJbnB1dFN0cmVhbS5qYXZhOgoJUmVmb3JtYXRlZCBhbmQgamF2YWRvYyBjb21tZW50cyBtZXJnZWQgZnJvbSBjbGFzc3BhdGguCgoyMDA0LTAyLTA1ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL05JT1NlcnZlclNvY2tldC5qYXZhCgkoaW1wbCk6IFVudXNlZCwgcmVtb3ZlZC4KCSogZ251L2phdmEvbmlvL1NvY2tldENoYW5uZWxJbXBsLmphdmEKCShmaW5uaXNoQ29ubmVjdCk6IERvbid0IHRocm93IE5vQ29ubmVjdGlvblBlbmRpbmdFeGNlcHRpb24gaWYgbm90Cgljb25uZWN0ZWQgb3Igbm8gY29ubmVjdGlvbiBwZW5kaW5nLgoKMjAwNC0wMi0wMiAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmE6IE1hbnkgbmV3IGZ1bmN0aW9ucy4KCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEgKExpZ2h0d2VpZ2h0RGlzcGF0Y2hlcik6IFJlaW1wbGVtZW50LgoJKiBqYXZheC9zd2luZy9iYXNpYy9CYXNpY0dyYXBoaWNzVXRpbHMuamF2YQoJKGdldFByZWZlcnJlZEJ1dHRvblNpemUpOiBTdGFydCBsYXlvdXQgZnJvbSB0b3AtbGVmdCBjb3JuZXIuCgoyMDA0LTAyLTA0ICBPbGdhIFJvZGltaW5hICA8cm9kaW1pbmFAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L2dlb20vQWZmaW5lVHJhbnNmb3JtLmphdmE6CglDb3JyZWN0ZWQgY29tbWVudHMgb24gdGhlIGZpZWxkIGRlZmluaXRpb25zIGZvcgoJbTExIGFuZCBtMTAuCgkoc2hlYXIpOiBGaXhlZCBmZXcgZXJyb3JzIHRoYXQgY2F1c2VkIHNoZWFyCgl0cmFuc2Zvcm1hdGlvbiB0byBiZSBwZXJmb3JtZWQgaW5jb3JyZWN0bHkuCgkoY3JlYXRlSW52ZXJzZSk6IEZpeGVkIHRvIHJldHVybiBjb3JyZWN0CglpbnZlcnNlIG9mIHRoZSBnaXZlbiBtYXRyaXguCgoyMDA0LTAyLTAzICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBqYXZhL2xhbmcvbmF0UG9zaXhQcm9jZXNzLmNjIChzdGFydFByb2Nlc3MpOiBIYW5kbGUgY2FzZSB3aGVyZQoJUEFUSCBvciBMRF9MSUJSQVJZX1BBVEggaXMgbm90IHNldCBpbiBwYXJlbnQgZW52aXJvbm1lbnQuCgoyMDA0LTAyLTAzICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrTGlzdFBlZXIuamF2YSwKCWphdmEvYXd0L0JvcmRlckxheW91dC5qYXZhLCBqYXZhL2F3dC9DYXJkTGF5b3V0LmphdmEsCglqYXZhL2F3dC9DaGVja2JveEdyb3VwLmphdmEsIGphdmEvYXd0L0Nob2ljZS5qYXZhLAoJamF2YS9hd3QvQ29tcG9uZW50LmphdmEsIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhLAoJamF2YS9hd3QvRm9udE1ldHJpY3MuamF2YSwgamF2YS9hd3QvR3JpZEJhZ0xheW91dC5qYXZhLAoJamF2YS9hd3QvTGF5b3V0TWFuYWdlcjIuamF2YSwgamF2YS9hd3QvTGlzdC5qYXZhLAoJamF2YS9hd3QvTWVudS5qYXZhLCBqYXZhL2F3dC9NZW51QmFyLmphdmEsCglqYXZhL2F3dC9NZW51SXRlbS5qYXZhLCBqYXZhL2F3dC9Qb2x5Z29uLmphdmEsCglqYXZhL2F3dC9SZWN0YW5nbGUuamF2YSwgamF2YS9hd3QvU2Nyb2xsUGFuZS5qYXZhLAoJamF2YS9hd3QvU2Nyb2xsYmFyLmphdmEsIGphdmEvYXd0L1RleHRBcmVhLmphdmEsCglqYXZhL2F3dC9UZXh0RmllbGQuamF2YSwKCWphdmEvYXd0L2ltYWdlL3JlbmRlcmFibGUvUmVuZGVyQ29udGV4dC5qYXZhLAoJamF2YXgvc3dpbmcvSkFwcGxldC5qYXZhOiBGaXggaGFuZGxpbmcgb2YgYWxpYXMgbWV0aG9kcywgd2hlcmUgYQoJbWV0aG9kIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGEgbmV3IG9uZSB3aXRoIHRoZSBzYW1lCglmdW50aW9uIGJ1dCBhIGRpZmZlcmVudCBuYW1lLiAgUHV0IHRoZSBtZXRob2QgaW1wbGVtZW50YXRpb24gaW4KCXRoZSBkZXByZWNhdGVkIG1ldGhvZCBhbmQgaGF2ZSB0aGUgbmV3IG1ldGhvZCBjYWxsIHRoZQoJZGVwcmVjYXRlZCBvbmUuICBNYWtlIGFsbCBvdGhlciBjb2RlIGNhbGwgdGhlIG5ldyBtZXRob2QuCgoyMDA0LTAyLTAzICBNb2hhbiBFbWJhciAgPGdudXN0dWZmQHRoaXNpc2Nvb2wuY29tPgoKCSogZ251L2phdmEvbmlvL0RhdGFncmFtQ2hhbm5lbEltcGwuamF2YQoJKGluQ2hhbm5lbE9wZXJhdGlvbik6IE5ldyBmaWVsZC4KCShpc0luQ2hhbm5lbE9wZXJhdGlvbik6IE5ldyBhY2Nlc3Nvci4KCShzZXRJbkNoYW5uZWxPcGVyYXRpb24pOiBOZXcgbW9kaWZpZXIuCgkocmVjZWl2ZSk6IFVzZSBjYXBhY2l0eSgpIC0gcG9zaXRpb24oKSBvZiBkZXN0aW5hdGlvbgoJYnVmZmVyIGluc3RlYWQgb2YgcmVtYWluaW5nKCkuIFNldCBhbmQgcmVzZXQgb3VyICJpbgoJY2hhbm5lbCBvcGVyYXRpb24gaW5kaWNhdG9yIiBiZWZvcmUgYW5kIGFmdGVyIGRlbGVnYXRpbmcKCXRoZSByZWNlaXZlIHRvIG91ciBkYXRhZ3JhbSBzb2NrZXQuIFJlbW92ZWQgdGVzdGluZyBjb2RlLgoJVXBkYXRlIGRlc3RpbmF0aW9uIGJ1ZmZlcidzIGN1cnJlbnQgcG9zaXRpb24gaWYgaXQgaXMKCWJhY2tlZCBieSBhIGJ5dGUgYXJyYXkgKGhhc0FycmF5KCkgaXMgdHJ1ZSkuCgkoc2VuZCk6IFNldCBhbmQgcmVzZXQgb3VyICJpbiBjaGFubmVsIG9wZXJhdGlvbiBpbmRpY2F0b3IiCgliZWZvcmUgYW5kIGFmdGVyIGRlbGVnYXRpbmcgdGhlIHNlbmQgdG8gb3VyIGRhdGFncmFtIHNvY2tldC4KCVJlbW92ZWQgdGVzdGluZyBjb2RlLiBVcGRhdGUgc291cmNlIGJ1ZmZlcidzIGN1cnJlbnQgcG9zaXRpb24KCWlmIGl0IGlzIGJhY2tlZCBieSBhIGJ5dGUgYXJyYXkgKGhhc0FycmF5KCkgaXMgdHJ1ZSkuCgkqIGdudS9qYXZhL25pby9Tb2NrZXRDaGFubmVsSW1wbC5qYXZhIChyZWFkKEJ5dGVCdWZmZXIpKToKCVVzZSBjYXBhY2l0eSgpIC0gcG9zaXRpb24oKSBvZiBkZXN0aW5hdGlvbiBidWZmZXIgaW5zdGVhZAoJb2YgcmVtYWluaW5nKCkuCgkqIGphdmEvbmV0L0RhdGFncmFtU29ja2V0LmphdmEgKHJlY2VpdmUpOiBEb24ndCB0aHJvdyBhbgoJSWxsZWdhbEJsb2NraW5nTW9kZUV4Y2VwdGlvbiBpZiB3ZSBoYXZlIGEgbm9uLWJsb2NraW5nCgljaGFubmVsIHdoaWNoIGluaXRpYXRlZCB0aGlzIG9wZXJhdGlvbi4KCShzZW5kKTogTGlrZXdpc2UuCgoyMDA0LTAyLTAxICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IEFkZCBwa2djb25maWcgY2hlY2sgZm9yIGdsaWIgYW5kIGd0aHJlYWQuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDQtMDItMDEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBpbmNsdWRlL2p2bS5oIChNQVlCRV9VTlVTRUQpOiBOZXcgbWFjcm8gdHAgbWFyayBwcm9iYWJseSB1bnVzZWQKCWFyZ3VtZW50cy4KCSogam5pLmNjIChfSnZfTG9va3VwSk5JTWV0aG9kKTogTWFyayAnYXJnc19zaXplJyB1bnVzZWQuCgkqIHZlcmlmeS5jYyAoZGVidWdfcHJpbnQpOiBNYXJrICdmbXQnIHVudXNlZC4KCjIwMDQtMDEtMzAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBjb25maWd1cmUuaW46IFVzZSBwa2ctY29uZmlnIHRvIGNoZWNrIGZvciBHVEsgMi4yIGFuZCBsaWJhcnQgMi4xLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoJKiBnbGliLTIuMC5tNDogUmVtb3ZlZC4KCSogZ3RrLTIuMC5tNDogUmVtb3ZlZC4KCSogbGliYXJ0Lm00OiBSZW1vdmVkLgoJKiBwa2cubTQ6IE5ldyBmaWxlLgoKMjAwNC0wMS0zMCAgTW9oYW4gRW1iYXIgIDxnbnVzdHVmZkB0aGlzaXNjb29sLmNvbT4KCgkqIGdudS9qYXZhL25ldC9QbGFpblNvY2tldEltcGwuamF2YQoJKGluQ2hhbm5lbE9wZXJhdGlvbik6IE5ldyBmaWVsZC4KCShpc0luQ2hhbm5lbE9wZXJhdGlvbik6IE5ldyBhY2Nlc3Nvci4KCShzZXRJbkNoYW5uZWxPcGVyYXRpb24pOiBOZXcgbW9kaWZpZXIuCgkqIGdudS9qYXZhL25pby9TZXJ2ZXJTb2NrZXRDaGFubmVsSW1wbC5qYXZhCgkoYWNjZXB0KTogU2V0IGFuZCByZXNldCBvdXIgc2VydmVyIHNvY2tldCdzIFBsYWluU29ja2V0SW1wbCdzCgkiaW4gY2hhbm5lbCBvcGVyYXRpb24iIGluZGljYXRvciBiZWZvcmUgYW5kIGFmdGVyIGRlbGVnYXRpbmcKCXRoZSBhY2NlcHQgdG8gb3VyIHNlcnZlciBzb2NrZXQuCgkqIGdudS9qYXZhL25pby9Tb2NrZXRDaGFubmVsSW1wbC5qYXZhCgkoY29ubmVjdCk6IFNldCBhbmQgcmVzZXQgb3VyIHNvY2tldCdzIFBsYWluU29ja2V0SW1wbCdzICJpbiBjaGFubmVsCglvcGVyYXRpb24iIGluZGljYXRvciBiZWZvcmUgYW5kIGFmdGVyIGRlbGVnYXRpbmcgdGhlIG9wZXJhdGlvbiB0bwoJb3VyIHNvY2tldC4KCShyZWFkKTogTGlrZXdpc2UuCgkod3JpdGUpOiBMaWtld2lzZS4KCSogamF2YS9uZXQvU2VydmVyU29ja2V0LmphdmEgKGltcGxBY2NlcHQpOiBEb24ndCB0aHJvdyBhbgoJSWxsZWdhbEJsb2NraW5nTW9kZUV4Y2VwdGlvbiBpZiB3ZSBoYXZlIGEgbm9uLWJsb2NraW5nCgljaGFubmVsIHdoaWNoIGluaXRpYXRlZCB0aGlzIGFjY2VwdCBvcGVyYXRpb24uCgkqIGphdmEvbmV0L1NvY2tldC5qYXZhIChjb25uZWN0KTogRG9uJ3QgdGhyb3cgYW4KCUlsbGVnYWxCbG9ja2luZ01vZGVFeGNlcHRpb24gaWYgd2UgaGF2ZSBhIG5vbi1ibG9ja2luZwoJY2hhbm5lbCB3aGljaCBpbml0aWF0ZWQgdGhpcyBjb25uZWN0IG9wZXJhdGlvbi4KCSogamF2YS9uaW8vY2hhbm5lbHMvc3BpL0Fic3RyYWN0U2VsZWN0YWJsZUNoYW5uZWwuamF2YQoJKGNvbmZpZ3VyZUJsb2NraW5nKTogT25seSBjYWxsIGltcGxDb25maWd1cmVCbG9ja2luZygpIGlmCgl0aGUgZGVzaXJlZCBibG9ja2luZyBtb2RlIGlzIGRpZmZlcmVudCBmcm9tIG91ciBjdXJyZW50IG9uZS4KCjIwMDQtMDEtMjkgIE1vaGFuIEVtYmFyICA8Z251c3R1ZmZAdGhpc2lzY29vbC5jb20+CgoJKiBqYXZhL2lvL0J1ZmZlcmVkUmVhZGVyLmphdmEgKHNidWYpOiBOZXcgZmllbGQuCgkocmVhZExpbmUpOiBVc2UgU3RyaW5nLnZhbHVlT2YgaW5zdGVhZCBvZiBuZXcgU3RyaW5nKCkgYXMgcGVyCglQZXIgQm90aG5lcidzIHN1Z2dlc3Rpb24uIFVzZSBpbnN0YW5jZSBzYnVmIGZpZWxkIGluc3RlYWQgb2YgYQoJbG9jYWwgU3RyaW5nQnVmZmVyIGluc3RhbmNlLgoJKiBqYXZhL2lvL0lucHV0U3RyZWFtUmVhZGVyLmphdmEgKHJlYWQoY2hhcltdLGludCxpbnQpKTogUGFzcyB0aGUKCWNhbGxlcidzIGJ1ZmZlciB0byByZWZpbGwoKS4KCShyZWFkKHZvaWQpKTogUGFzcyBvdXIgaW50ZXJuYWwgd29yayBidWZmZXIgdG8gcmVmaWxsIGlmIG91cgoJaW5wdXQgcXVldWUgaXMgZW1wdHkuCgkocmVmaWxsKTogQ2hhbmdlZCByZXR1cm4gdHlwZSB0byBpbnQuIFVzZSB0aGUgc3BlY2lmaWVkIGJ1ZmZlcgoJaW5zdGVhZCBvZiBvdXIgd29yayBidWZmZXIgYXMgcGVyIEJyeWNlIE1jS2lubGF5J3Mgc3VnZ2VzdGlvbi4KCVJldHVybiB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVhZCBvciAtMSBmb3IgRU9GLgoKMjAwNC0wMS0yOSAgU2NvdHQgR2lsYmVydHNvbiAgPHNjb3R0Z0BtYW50YXRlc3QuY29tPgoKCSogZ251L2F3dC94bGliL1hDYW52YXNQZWVyLmphdmEgKGhhbmRsZUV2ZW50KTogSW1wbGVtZW50ZWQuCgoyMDA0LTAxLTI5ICBTY290dCBHaWxiZXJ0c29uICA8c2NvdHRnQG1hbnRhdGVzdC5jb20+CgoJKiBNYWtlZmlsZS5hbTogQWRkZWQgZ251L2F3dC94bGliL1hGb250UGVlci5qYXZhLgoJKiBNYWtlZmlsZS5pbjogUmUtZ2VuZXJhdGVkLgoJKiBnbnUvYXd0L3hsaWIvWEZvbnRQZWVyLmphdmE6IE5ldyBmaWxlLgoJKiBnbnUvYXd0L3hsaWIvWEdyYXBoaWNzLmphdmEgKHNldEZvbnQpOiBUZXN0IGZvciBudWxsIGZvbnQuCgkoc2V0Q2xpcCk6IENvbW1lbnRlZCBvdXQgZGVidWcgcHJpbnRvdXQuCgkqIGdudS9hd3QveGxpYi9YVG9vbGtpdC5qYXZhOiBDaGFuZ2Ugc3VwZXJjbGFzcyB0byBDbGFzc3BhdGhUb29sa2l0LgoJKGdldEZvbnRQZWVyKTogUmV0dXJuIFhGb250UGVlci4KCShnZXRMb2NhbEdyYXBoaWNzRW52aXJvbm1lbnQpOiBOZXcgbWV0aG9kLgoJKGdldENsYXNzcGF0aEZvbnRQZWVyKTogTmV3IG1ldGhvZC4KCShjcmVhdGVGb250KTogTmV3IG1ldGhvZC4KCjIwMDQtMDEtMjkgIFNjb3R0IEdpbGJlcnRzb24gIDxzY290dGdAbWFudGF0ZXN0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL0NsYXNzcGF0aEZvbnRQZWVyLmphdmEgKGdldFRyYW5zZm9ybSk6IE5ldmVyCglyZXR1cm4gbnVsbC4KCjIwMDQtMDEtMjkgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhCgkoZ3RrTGF5b3V0U2V0VmlzaWJsZSk6IE5ldyBtZXRob2QKCShzZXRNZW51QmFyKTogSGlkZSBsYXlvdXQgYmVmb3JlIHNldHRpbmcgTWVudUJhcgoJYW5kIHJlc2hvdyBpdCBhZnRlci4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCShndGtMYXlvdXRTZXRWaXNpYmxlKTogSGlkZSBvciBzaG93IHRoZSBHdGsgTGF5b3V0LgoKMjAwNC0wMS0yOCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2xhbmcvQ2xhc3NIZWxwZXIuamF2YQoJKGdldFBhY2thZ2VQb3J0aW9uKTogUmVtb3ZlZC4KCjIwMDQtMDEtMjggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KQ29tcG9uZW50LmphdmEKCShsaXN0ZW5lckxpc3QpOiBJbml0YWxpemUgZ2xvYmFsbHkuCgkoYW5jZXN0b3JfbGlzdCk6IFJlbW92ZWQuCgkodmV0b19saXN0KTogUmVtb3ZlZC4KCShjaGFuZ2VfbGlzdCk6IFJlbW92ZWQuCgkoZ2V0X3ZldG9fbGlzdCk6IFJlbW92ZWQuCgkoZ2V0X2NoYW5nZV9saXN0KTogUmVtb3ZlZC4KCShnZXRfYW5jZXN0b3JfbGlzdCk6IFJlbW92ZWQuCgkocmVtb3ZlQW5jZXN0b3JMaXN0ZW5lcik6IFJlaW1wbGVtZW50ZWQuCgkocmVtb3ZlUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IExpa2V3aXNlLgoJKHJlbW92ZVZldG9hYmxlQ2hhbmdlTGlzdGVuZXIpOiBMaWtld2lzZS4KCShhZGRBbmNlc3Rvckxpc3RlbmVyKTogTGlrZXdpc2UuCgkoYWRkUHJvcGVydHlDaGFuZ2VMaXN0ZW5lcik6IExpa2V3aXNlLgoJKGFkZFZldG9hYmxlQ2hhbmdlTGlzdGVuZXIpOiBMaWtld2lzZS4KCShnZXRMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKGdldEFuY2VzdG9yTGlzdGVuZXJzKTogTGlrZXdpc2UuCgkoZ2V0VmV0b2FibGVDaGFuZ2VMaXN0ZW5lcnMpOiBMaWtld2lzZS4KCShmaXJlVmV0b2FibGVDaGFuZ2UpOiBUaHJvd3MgUHJvcGVydHlWZXRvRXhjZXB0aW9uLgoJKiBqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhCgkoSkVkaXRvclBhbmUpOiBUaHJvd3MgSU9FeGNlcHRpb24uCgoyMDA0LTAxLTI4ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEKCShjcmVhdGUpOiBTZXQgdGhlIGRlZmF1bHQgZm9yZWdyb3VuZCBjb2xvciB0bwoJamF2YS5hd3QuU3lzdGVtQ29sb3Iud2luZG93VGV4dC4KCjIwMDQtMDEtMjcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrQ2xhc3NwYXRoRm9udFBlZXIuamF2YSwKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dseXBoVmVjdG9yLmphdmE6CglSZWluZGVudGVkIHRvIG1lcmdlIHdpdGggY2xhc3NwYXRoLgoKMjAwNC0wMS0yNyAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShhZGRFeHBvc2VGaWx0ZXIpOiBIYW5kbGUgR3RrRnJhbWVQZWVyIHNlcGFyYXRlbHkuCgkocmVtb3ZlRXhwb3NlRmlsdGVyKTogTGlrZXdpc2UuCgoyMDA0LTAxLTI3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmV0L3Byb3RvY29sL2h0dHAvQ29ubmVjdGlvbi5qYXZhCgkoZ2V0T3V0cHV0U3RyZWFtKTogRml4ZWQgdHlwby4KCjIwMDQtMDEtMjcgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2xhbmcvQ2xhc3MuamF2YQoJKGdldENvbnN0cnVjdG9yKTogUmVtb3ZlZCBTZWN1cml0eUV4Y2VwdGlvbiBmcm9tIHRocm93cyBjbGF1c2UuCgkoX2dldENvbnN0cnVjdG9ycyk6IExpa2V3aXNlLgoJKGdldENvbnN0cnVjdG9ycyk6IExpa2V3aXNlLgoJKGdldERlY2xhcmVkQ29uc3RydWN0b3IpOiBMaWtld2lzZS4KCShnZXREZWNsYXJlZENsYXNzZXMpOiBMaWtld2lzZS4KCShnZXREZWNsYXJlZENvbnN0cnVjdG9ycyk6IExpa2V3aXNlLgoJKGdldERlY2xhcmVkRmllbGQpOiBMaWtld2lzZS4KCShnZXREZWNsYXJlZE1ldGhvZCk6IExpa2V3aXNlLgoJKGdldERlY2xhcmVkTWV0aG9kcyk6IExpa2V3aXNlLgoJKGdldEZpZWxkKTogTGlrZXdpc2UuCgkoZ2V0TWV0aG9kKTogTGlrZXdpc2UuCgkoZ2V0TWV0aG9kcyk6IExpa2V3aXNlLgoKMjAwNC0wMS0yNyAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEKCShyZW1vdmVNZW51QmFyUGVlcik6IFJlbW92ZSBNZW51QmFyUGVlciBhcmd1bWVudC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a01lbnVDb21wb25lbnRQZWVyLmphdmEKCShkaXNwb3NlKTogQ2FsbCBuYXRpdmUgbWV0aG9kLgoJKiBqYXZhL2F3dC9GcmFtZS5qYXZhIChzZXRNZW51QmFyKTogQ3JlYXRlIGFuZCByZW1vdmUKCU1lbnVCYXIgcGVlcnMgb25seSBpZiB0aGUgRnJhbWUgaGFzIGEgcGVlci4KCShhZGROb3RpZnkpOiBDcmVhdGUgdGhlIE1lbnVCYXIgcGVlciBpZiBvbmUgZXhpc3RzLgoJKHJlbW92ZU5vdGlmeSk6IFJlbW92ZSBNZW51QmFyIHBlZXIgaWYgb25lIGV4aXN0cy4KCSogamF2YS9hd3QvTWVudS5qYXZhOiBGaXggaW1wb3J0cy4KCShhZGROb3RpZnkpOiBEb24ndCB1c2UgZnVsbCBjbGFzcyBuYW1lLgoJKHJlbW92ZU5vdGlmeSk6IENhbGwgcmVtb3ZlTm90aWZ5IG9uIGFsbCBjaGlsZHJlbi4KCSogamF2YS9hd3QvTWVudUJhci5qYXZhIChyZW1vdmVOb3RpZnkpOiBDYWxsCglyZW1vdmVOb3RpZnkgb24gYWxsIGNoaWxkcmVuLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKHJlbW92ZU1lbnVCYXJQZWVyKTogUmVtb3ZlIE1lbnVCYXJQZWVyIGFyZ3VtZW50LgoJSXRlcmF0ZSB0aHJvdWdoIGNoaWxkcmVuIHRvIGZpbmQgdGhlIEZyYW1lJ3MgTWVudUJhci4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtNZW51Q29tcG9uZW50UGVlci5jCglOZXcgZmlsZS4KCShkaXNwb3NlKTogUmVtb3ZlIHJlZmVyZW5jZXMgdG8gdGhlIE1lbnVDb21wb25lbnQuCgoyMDA0LTAxLTI3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RDZWxsRWRpdG9yLmphdmE6IFJlZm9ybWF0ZWQuCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRMaXN0U2VsZWN0aW9uTW9kZWwuamF2YQoJKGxpc3RlbmVyTGlzdCk6IE1hZGUgcHJvdGVjdGVkLgoJKGFkZExpc3RTZWxlY3Rpb25MaXN0ZW5lcik6IEphdmFkb2MgYWRkZWQuCgkocmVtb3ZlTGlzdFNlbGVjdGlvbkxpc3RlbmVyKTogTGlrZXdpc2UuCgkoZ2V0TGlzdGVuZXJzKTogTGlrZXdpc2UuCgkoZ2V0TGlzdFNlbGVjdGlvbkxpc3RlbmVycyk6IExpa2V3aXNlLgoJKiBqYXZheC9zd2luZy9KQ29tYm9Cb3guamF2YTogTWVyZ2VkIGNvcHlyaWdodCB5ZWFyLgoJKiBqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljR3JhcGhpY3NVdGlscy5qYXZhOiBNZXJnZWQgZW1wdHkgbGluZS4KCjIwMDQtMDEtMjYgIEFuZHJldyBIYWxleSAgPGFwaEByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvdGFibGUvSlRhYmxlSGVhZGVyLmphdmE6IEV4dGVuZCBKQ29tcG9uZW50CgoyMDA0LTAxLTI2ICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGcmFtZVBlZXIuamF2YSAoc2V0TWVudUJhcik6CglGaXggc3BhY2luZy4KCjIwMDQtMDEtMjYgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhIChtb3ZlTGF5b3V0KTogTmV3CgltZXRob2QuCgkoc2V0TWVudUJhcik6IFNoaWZ0IHRoZSBHdGsgbGF5b3V0IHVwL2Rvd24gYnkgdGhlIE1lbnVCYXIKCWhlaWdodCBhbmQgbGV0IHRoZSBMYXlvdXQgTWFuYWdlcnMgcmVhZGp1c3QgYW55dGhpbmcgdGhhdAoJbmVlZHMgdG8gbW92ZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCShtb3ZlTGF5b3V0KTogTmV3IG1ldGhvZC4gU2hpZnQgZXZlcnl0aGluZyBpbiB0aGUgR3RrCglsYXlvdXQgaW4gdGhlIFkgZGlyZWN0aW9uIGJ5IGFuIG9mZnNldC4KCjIwMDQtMDEtMjYgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEKCShoYW5kbGVFdmVudCk6IEltcGxlbWVudGVkLiBIYW5kbGVzIFBhaW50RXZlbnRzLgoJKHBhaW50KTogSW1wbGVtZW50ZWQuIFVzZSBHVEsgbmF0aXZlIG1ldGhvZHMgdG8gcXVldWUgdXBkYXRlcwogICAgICAgIGZvciB0aGlzIGhlYXZ5d2VpZ2h0IHBlZXIuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb250YWluZXJQZWVyLmphdmEKCShoYW5kbGVFdmVudCk6IFJlbW92ZWQuCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhCgkocGFpbnQpOiBJbXBsZW1lbnRlZC4gRXhwbGljdGx5IHBhaW50IHRoZSBoZWF2eXdlaWdodCBwZWVyLgoJKHVwZGF0ZSk6IENsZWFyIHRoZSBiYWNrZ3JvdW5kIGZvciBoZWF2eXdlaWdodCBjb21wb25lbnRzLgoJKHBhaW50QWxsKTogTm8gbmVlZCB0byBjYWxsIHBlZXIucGFpbnQoKSBhbnltb3JlLgoJKHByb2Nlc3NFdmVudCk6IERvbid0IHByb2Nlc3MgUGFpbnRFdmVudHMgaGVyZS4gSXQncyBub3cgZG9uZSBpbgoJdGhlIHBlZXIncyBoYW5kbGVFdmVudCgpLgoJKHByb2Nlc3NQYWludEV2ZW50KTogUmVtb3ZlZC4KCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShwYWludCk6IE5vIG5lZWQgdG8gY2FsbCBzdXBlci5wYWludCgpLiBWaXNpdCBoZWF2eXdlaWdodAoJY2hpbGRyZW4gYXMgd2VsbC4KCSh1cGRhdGUpOiBEb24ndCBjbGVhciB0aGUgYmFja2dyb3VuZCBoZXJlLiAgSXQncyBkb25lIGluCglDb21wb25lbnQudXBkYXRlKCkuCgkodmlzaXRDaGlsZHJlbik6IEFkZGVkIGNoZWNrIHRvIG5vdCByZWN1cnNlIGludG8gQ29udGFpbmVycy4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyLmMKCShmaWx0ZXJfZXhwb3NlX2V2ZW50X2hhbmRsZXIpOiBOZXcgbWV0aG9kLiAgRmlsdGVyIHVud2FudGVkCglleHBvc2UgZXZlbnRzIHdoaWxlIHBhaW50aW5nIGhlYXZ5d2VpZ2h0IHBlZXJzLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXJfYWRkRXhwb3NlRmlsdGVyKToKCU5ldyBtZXRob2QuIENvbm5lY3QgZmlsdGVyIGFuZCBibG9jayBwcmVfZXZlbnRfaGFuZGxlci4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyX3JlbW92ZUV4cG9zZUZpbHRlcik6CglOZXcgbWV0aG9kLiBEaXNjb25uZWN0IGZpbHRlciBhbmQgdW5ibG9jayBwcmVfZXZlbnRfaGFuZGxlci4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDb21wb25lbnRQZWVyX2d0a1dpZGdldFF1ZXVlRHJhd0FyZWEpOgoJTmV3IG1ldGhvZC4gSW52YWxpZGF0ZSBhbmQgdXBkYXRlIGdpdmVuIGFyZWEuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRXZlbnRzLmMKCShwcmVfZXZlbnRfaGFuZGxlcik6IEFkZCBjaGVja3MgZm9yIHVud2FudGVkIGV4cG9zZSBldmVudHMuCgoyMDA0LTAxLTI2ICBEYXZpZCBKZWUgIDxkamVlQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKGZpbmRfYmdfY29sb3Jfd2lkZ2V0KTogRm9yIEd0a0J1dHRvbiwgcmV0dXJuIGl0cyBjaGlsZC4KCjIwMDQtMDEtMjYgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhIChtZW51QmFySGVpZ2h0KTogTWFyawoJcHJpdmF0ZS4KCShzZXRNZW51QmFyKTogR3JhYiBNZW51QmFyIGhlaWdodCBhbmQgY2hhbmdlIGluc2V0cy4KCShzZXRCb3VuZHMpOiBBY2NvdW50IGZvciBNZW51QmFyIGhlaWdodC4KCShwb3N0SW5zZXRzQ2hhbmdlZEV2ZW50KTogRGl0dG8uCgkocG9zdFNpemVBbGxvY2F0ZUV2ZW50KTogUmVtb3ZlLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKG1lbnViYXJfcmVzaXplX2NiKTogUmVtb3ZlCgkoc2V0TWVudUJhclBlZXIpOiBSZW1vdmUgY2FsbGJhY2suCgkoZ2V0TWVudUJhckhlaWdodCk6IFVzZSBzaXplIHJlcXVpc2l0aW9uIGluc3RlYWQgb2YKCWFsbG9jYXRpb24uCgoyMDA0LTAxLTI1ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9UZXh0QXJlYS5qYXZhOiBGaXggaW5kZW50YXRpb24uICBGbGVzaCBvdXQgamF2YWRvY3MuCgkoZ2V0TWluaW11bVNpemUgKGludCwgaW50KSk6IEZpeCBGSVhNRSAtLSByZXR1cm4gRGltZW5zaW9uICgwLDApCgl3aGVuIHBlZXIgaXMgbnVsbC4KCShzZXRDb2x1bW5zKTogUmVtb3ZlIEZJWE1FIC0tIHBlZXIgd2lsbCByZXRyaWV2ZSBudW1iZXIgb2YKCWNvbHVtbnMgYnkgY2FsbGluZyBnZXRDb2x1bW5zLgoJKHNldFJvd3MpOiBMaWtld2lzZSBmb3IgbnVtYmVyIG9mIHJvd3MuCgkobmV4dF90ZXh0X251bWJlcik6IE5ldyBmaWVsZC4KCShwYXJhbVN0cmluZyk6IEZpeCBwYXJhbSBzdHJpbmcuCgkoZ2VuZXJhdGVOYW1lKTogTmV3IG1ldGhvZC4KCShnZXRVbmlxdWVMb25nKTogTmV3IG1ldGhvZC4KCjIwMDQtMDEtMjUgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmEgKGNoZWNrSW1hZ2UpOiBJbmZvcm0KCWltYWdlIG9ic2VydmVyIG9mIGltYWdlIGxvYWRpbmcgc3RhdHVzLgoJKGdldEltYWdlIChTdHJpbmcpKTogU3RhcnQgaW1hZ2UgcHJvZHVjdGlvbi4KCShnZXRJbWFnZSAoVVJMKSk6IExpa2V3aXNlLgoKMjAwNC0wMS0yNSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbGFuZy9DbGFzcy5qYXZhOiBJbXBvcnRzIHJld29ya2VkLCByZWZvcm1hdGVkLgoJKENsYXNzKTogSmF2YWRvYyBhZGRlZC4KCShmb3JOYW1lKTogTGlrZXdpc2UuCgkoZ2V0Q2xhc3Nlcyk6IExpa2V3aXNlLgoJKGdldENsYXNzTG9hZGVyKTogTGlrZXdpc2UuCgkoZ2V0Q29tcG9uZW50VHlwZSk6IExpa2V3aXNlLgoJKGdldENvbnN0cnVjdG9yKTogTGlrZXdpc2UuCgkoZ2V0Q29uc3RydWN0b3JzKTogTGlrZXdpc2UuCgkoZ2V0RGVjbGFyZWRDb25zdHJ1Y3Rvcik6IExpa2V3aXNlLgoJKGdldERlY2xhcmVkQ2xhc3Nlcyk6IExpa2V3aXNlLgoJKGdldERlY2xhcmVkQ29uc3RydWN0b3JzKTogTGlrZXdpc2UuCgkoZ2V0RGVjbGFyZWRGaWVsZCk6IExpa2V3aXNlLgoJKGdldERlY2xhcmVkTWV0aG9kKTogTGlrZXdpc2UuCgkoZ2V0RGVjbGFyZWRNZXRob2RzKTogTGlrZXdpc2UuCgkoZ2V0RGVjbGFyaW5nQ2xhc3MpOiBMaWtld2lzZS4KCShnZXRGaWVsZCk6IExpa2V3aXNlLgoJKGdldEludGVyZmFjZXMpOiBMaWtld2lzZS4KCShnZXRNZXRob2QpOiBMaWtld2lzZS4KCShnZXRNZXRob2RzKTogTGlrZXdpc2UuCgkoZ2V0TW9kaWZpZXJzKTogTGlrZXdpc2UuCgkoZ2V0TmFtZSk6IExpa2V3aXNlLgoJKGdldFJlc291cmNlKTogTGlrZXdpc2UuCgkoZ2V0UmVzb3VyY2VBc1N0cmVhbSk6IExpa2V3aXNlLgoJKGdldFNpZ25lcnMpOiBMaWtld2lzZS4KCShzZXRTaWduZXJzKTogTGlrZXdpc2UuCgkoZ2V0U3VwZXJjbGFzcyk6IExpa2V3aXNlLgoJKGlzQXJyYXkpOiBMaWtld2lzZS4KCShpc0Fzc2lnbmFibGVGcm9tKTogTGlrZXdpc2UuCgkoaXNJbnN0YW5jZSk6IExpa2V3aXNlLgoJKGlzSW50ZXJmYWNlKTogTGlrZXdpc2UuCgkoaXNQcmltaXRpdmUpOiBMaWtld2lzZS4KCShuZXdJbnN0YW5jZSk6IExpa2V3aXNlLgoJKGdldFByb3RlY3Rpb25Eb21haW4pOiBMaWtld2lzZS4KCSh0b1N0cmluZyk6IExpa2V3aXNlLgoJKENsYXNzKTogTW92ZWQuCgkoaW5pdGlhbGl6ZUNsYXNzKTogTGlrZXdpc2UuCgkoZmluYWxpemUpOiBMaWtld2lzZS4KCjIwMDQtMDEtMjQgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvamFyL0Nvbm5lY3Rpb24uamF2YQoJKGhkckhhc2gpOiBSZW1vdmVkLgoJKGhkclZlYyk6IFJlbW92ZWQuCgkoZ290SGVhZGVycyk6IFJlbW92ZWQuCgkoZ2V0SGVhZGVyRmllbGQpOiBSZW1vdmVkLgoJKGdldEhlYWRlckZpZWxkcyk6IFJlbW92ZWQuCgkoZ2V0SGVhZGVyRmllbGRLZXkpOiBSZW1vdmVkLgoJKGdldEtleSk6IFJlbW92ZWQuCgkoZ2V0RmllbGQpOiBSZW1vdmVkLgoJKGdldEhlYWRlcnMpOiBSZW1vdmVkLgoKMjAwNC0wMS0yNCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIE1ha2VmaWxlLmFtOiBBZGRlZCBsaWJyYXJ5IHZlcnNpb24gdG8gZ3RrIHBlZXIgbGliLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTAxLTI0ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS91dGlsL3ppcC9JbmZsYXRlcklucHV0U3RyZWFtLmphdmE6IE1lcmdlZCBjbGFzcyBkb2N1bWVudGF0aW9uCgl3aXRoIGNsYXNzcGF0aC4KCjIwMDQtMDEtMjEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9wb3dlcnBjLXNpZ25hbC5oOiBBZGQgI2lmbmRlZiBfX3Bvd2VycGM2NF9fIGFyb3VuZCB0aGUKCWhlYWRlci4gIEZvciBfX3Bvd2VycGM2NF9fIHByb3ZpZGUgdGhlIGRlZmF1bHQtc2lnbmFsLmggZGVmaW5pdGlvbnMKCWZvciBub3cuCgkqIGluY2x1ZGUveDg2XzY0LXNpZ25hbC5oIFshX194ODZfNjRfX106IEluY2x1ZGUgamF2YS1zaWduYWwtYXV4LmgKCWluc3RlYWQgb2YgdGhlIGR1bW15IGRlZmluaXRpb25zLgoJKiBjb25maWd1cmUuaG9zdCAoeDg2XzY0LSopOiBSZW1vdmUgQ0hFQ0tSRUZTUEVDLCBhZGQgRElWSURFU1BFQy4KCShwb3dlcnBjNjQqLSopOiBSZW1vdmUgd2l0aF9saWJmZmlfZGVmYXVsdC4KCU9ubHkgYWRkIC1tbWluaW1hbC10b2MgZm9yIDY0LWJpdCBjb21waWxhdGlvbnMuCgkqIGNvbmZpZ3VyZS5pbjogVXNlIHBvd2VycGMtc2lnbmFsLmggb24gcG93ZXJwYzY0IGFzIHdlbGwuCgkoeDg2XzY0LSotbGludXgqKTogU2V0IFNJR05BTF9IQU5ETEVSX0FVWC4KCUxpbmsgU0lHTkFMX0hBTkRMRVJfQVVYIHRvIGluY2x1ZGUvamF2YS1zaWduYWwtYXV4LmguCgkqIGNvbmZpZ3VyZTogUmVidWlsdC4KCjIwMDQtMDEtMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uaW8vRmlsZUxvY2tJbXBsLmphdmE6IENvbXBpbGUgZml4ZXMuCgoyMDA0LTAxLTIzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9sYW5nL1ZNQ2xhc3NMb2FkZXIuamF2YTogUmV3b3JrZWQgaW1wb3J0cy4KCjIwMDQtMDEtMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdEFjdGlvbi5qYXZhOiBSZWZvcm1hdGVkLgoKMjAwNC0wMS0yMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvdGV4dC9Db2xsYXRpb25FbGVtZW50SXRlcmF0b3IuamF2YToKCShzZXRUZXh0KTogTmV3IG1ldGhvZC4KCjIwMDQtMDEtMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uaW8vRmlsZUxvY2tJbXBsLmphdmE6CglGaXhlZCBmaWxlbmFtZSBpbiBjb3B5cmlnaHQuCgkocmVsZWFzZWQpOiBSZW1vdmVkLgoJKGZpbmFsaXplKTogTmV3IG1ldGhvZC4KCSogZ251L2phdmEvbmlvL25hdEZpbGVMb2NrSW1wbC5jYwoJKHJlbGVhc2VJbXBsKTogSW1wbGVtZW50ZWQuCgkqIGphdmEvbmlvL2NoYW5uZWxzL0ZpbGVDaGFubmVsSW1wbC5qYXZhOgoJUmV3b3JrZWQgaW1wb3J0cy4KCShsb2NrKTogSW1wbGVtZW50ZWQuCgkobG9ja0ltcGwpOiBOZXcgbWV0aG9kLgoJKHRyeUxvY2spOiBJbXBsZW1lbnRlZC4KCSh0cnlMb2NrSW1wbCk6IE5ldyBtZXRob2QuCgkqIGphdmEvbmlvL2NoYW5uZWxzL25hdEZpbGVDaGFubmVsSW1wbC5jYwoJKGxvY2tJbXBsKTogTmV3IG1ldGhvZC4KCSh0cnlMb2NrSW1wbCk6IE5ldyBtZXRob2QuCgoyMDA0LTAxLTIzICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9pby9GaWxlRGVzY3JpcHRvci5qYXZhCgkobG9jayk6IE5ldyBtZXRob2QuCgkodHJ5TG9jayk6IE5ldyBtZXRob2QuCgkodW5sb2NrKTogTmV3IG1ldGhvZC4KCSogamF2YS9pby9uYXRGaWxlRGVzY3JpcHRvckVjb3MuY2MKCShsb2NrKTogTmV3IG1ldGhvZC4KCSh0cnlMb2NrKTogTmV3IG1ldGhvZC4KCSh1bmxvY2spOiBOZXcgbWV0aG9kLgoJKiBqYXZhL2lvL25hdEZpbGVEZXNjcmlwdG9yUG9zaXguY2MKCShsb2NrKTogTmV3IG1ldGhvZC4KCSh0cnlMb2NrKTogTmV3IG1ldGhvZC4KCSh1bmxvY2spOiBOZXcgbWV0aG9kLgoJKiBqYXZhL2lvL25hdEZpbGVEZXNjcmlwdG9yV2luMzIuY2MKCShsb2NrKTogTmV3IG1ldGhvZC4KCSh0cnlMb2NrKTogTmV3IG1ldGhvZC4KCSh1bmxvY2spOiBOZXcgbWV0aG9kLgoKMjAwNC0wMS0yMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvaW8vRmlsZURlc2NyaXB0b3IuamF2YQoJKHN5bmMpOiBNb3ZlZCBhcm91bmQsIGFkZGVkIGphdmFkb2MuCgkodmFsaWQpOiBMaWtld2lzZS4KCShvcGVuKTogTGlrZXdpc2UuCgkod3JpdGUpOiBMaWtld2lzZS4KCShjbG9zZSk6IExpa2V3aXNlLgoJKHNldExlbmd0aCk6IExpa2V3aXNlLgoJKHNlZWspOiBMaWtld2lzZS4KCShnZXRMZW5ndGgpOiBMaWtld2lzZS4KCShnZXRGaWxlUG9pbnRlcik6IExpa2V3aXNlLgoJKHJlYWQpOiBMaWtld2lzZS4KCShhdmFpbGFibGUpOiBMaWtld2lzZS4KCShmaW5hbGl6ZSk6IExpa2V3aXNlLgoKMjAwNC0wMS0yMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QWN0aW9uLmphdmE6IFJlZm9ybWF0ZWQuCgkoZ2V0UHJvcGVydHlDaGFuZ2VMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9BYnN0cmFjdENlbGxFZGl0b3IuamF2YTogUmVmb3JtYXRlZC4KCShnZXRDZWxsRWRpdG9yTGlzdGVuZXJzKTogTmV3IG1ldGhvZC4KCSogamF2YXgvc3dpbmcvRGVmYXVsdExpc3RTZWxlY3Rpb25Nb2RlbC5qYXZhCgkobGlzdGVuZXJMaXN0KTogTmV3IGZpZWxkLgoJKGxpc3RlbmVycyk6IFJlbW92ZWQuCgkoZ2V0X2xpc3RlbmVycyk6IFJlbW92ZWQuCgkoYWRkTGlzdFNlbGVjdGlvbkxpc3RlbmVyKTogUmV3cml0dGVuLgoJKHJlbW92ZUxpc3RTZWxlY3Rpb25MaXN0ZW5lcik6IFJld3JpdHRlbi4KCShnZXRMaXN0U2VsZWN0aW9uTGlzdGVuZXJzKTogTmV3IG1ldGhvZC4KCShnZXRMaXN0ZW5lcnMpOiBOZXcgbWV0aG9kLgoJKiBqYXZheC9zd2luZy9KQ29tYm9Cb3guamF2YTogSW1wb3J0cyByZXdvcmtlZC4KCShhZGRBY3Rpb25MaXN0ZW5lcik6IEltcGxlbWVudGVkLgoJKHJlbW92ZUFjdGlvbkxpc3RlbmVyKTogSW1wbGVtZW50ZWQuCgkoYWRkSXRlbUxpc3RlbmVyKTogSW1wbGVtZW50ZWQuCgkocmVtb3ZlSXRlbUxpc3RlbmVyKTogSW1wbGVtZW50ZWQuCgkoYWRkUG9wdXBNZW51TGlzdGVuZXIpOiBJbXBsZW1lbnRlZC4KCShyZW1vdmVQb3B1cE1lbnVMaXN0ZW5lcik6IEltcGxlbWVudGVkLgoJKGdldEFjdGlvbkxpc3RlbmVycyk6IE5ldyBtZXRob2QuCgkoZ2V0SXRlbUxpc3RlbmVycyk6IE5ldyBtZXRob2QuCgkoZ2V0UG9wdXBNZW51TGlzdGVuZXJzKTogTmV3IG1ldGhvZC4KCjIwMDQtMDEtMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvaHR0cC9Db25uZWN0aW9uLmphdmEKCShjb25uZWN0KTogRG9uJ3QgaW5pdGlhbGl6ZSBidWZmZXJlZE91dHB1dFN0cmVhbSBpZiBub3QgbmVlZGVkLgoJKHNlbmRSZXF1ZXN0KTogU2V0IHByb3BlcnR5IGZvciBjb250ZW50IGxlbmd0aCBpZiBjb250ZW50IGlzIHByZXNlbnQuCglXcml0ZSBjb250ZW50IG9ubHkgaWYgcHJlc2VudC4KCShnZXRPdXRwdXRTdHJlYW0pOiBDaGVjayBpZiBhbHJlYWR5IGNvbm5lY3RlZCwgZG9udCBjb25uZWN0LAoJaW5pdGFsaXplIGJ1ZmZlcmVkT3V0cHV0U3RyZWFtIGlmIG5lZWRlZC4KCjIwMDQtMDEtMjMgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL2lvL0ZpbGVEZXNjcmlwdG9yLmphdmEKCShpbiwgb3V0LCBlcnIpOiBBZGRlZCBqYXZhZG9jLgoJKHN0YXRpYyk6IE1lcmdlZCBsb2FkaW5nIGNvZGUuCgkoZmQsIHBvc2l0aW9uKTogTW92ZWQgYXJvdW5kLgoKMjAwNC0wMS0yMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGdudS9qYXZhL2F3dC9kb2MtZmlsZXMvQml0d2lzZVhPUkNvbXBvc2l0ZS0xLnBuZzoKCU5ldyBmaWxlLgoKMjAwNC0wMS0yMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvbGFuZy9DbGFzcy5qYXZhLAoJamF2YS9sYW5nL09iamVjdC5qYXZhLAoJamF2YS9sYW5nL1RocmVhZC5qYXZhOiBNZXJnZWQgY29weXJpZ2h0IHdpdGggY2xhc3NwYXRoLgoKMjAwNC0wMS0yMyAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvaW8vRmlsZURlc2NyaXB0b3IuamF2YTogTWVyZ2VkIGNvcHlyaWdodCB3aXRoIGNsYXNzcGF0aCB0bwoJc3RhcnQgbWVyZ2luZyB0aGlzIGNsYXNzLgoKMjAwNC0wMS0yMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xMzEwNzoKCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9wcjEzMTA3XzIueGZhaWw6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL3ByMTMxMDdfMy54ZmFpbDogTmV3IGZpbGUuCgkqIHRlc3RzdWl0ZS9saWJqYXZhLmxhbmcvcHIxMzEwN18zLmphdmE6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL3ByMTMxMDdfMy5vdXQ6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL3ByMTMxMDdfMi5qYXZhOiBOZXcgZmlsZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9wcjEzMTA3XzIub3V0OiBOZXcgZmlsZS4KCSogdGVzdHN1aXRlL2xpYmphdmEubGFuZy9wcjEzMTA3LmphdmE6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5sYW5nL3ByMTMxMDcub3V0OiBOZXcgZmlsZS4KCSogdmVyaWZ5LmNjIChqc3JfcHRycyk6IFJlbW92ZWQuCgkoZW50cnlfcG9pbnRzKTogTGlrZXdpc2UuCgkoc3RydWN0IHN1YnJfaW5mbyk6IExpa2V3aXNlLgoJKHN0cnVjdCBzdWJyX2VudHJ5X2luZm8pOiBMaWtld2lzZS4KCSh0eXBlX3ZhbDo6dW51c2VkX2J5X3N1YnJvdXRpbmVfdHlwZSk6IExpa2V3aXNlLgoJKHR5cGU6Om1lcmdlKTogRG9uJ3QgaGFuZGxlIHVudXNlZF9ieV9zdWJyb3V0aW5lX3R5cGUuCgkodHlwZTo6cHJpbnQpOiBMaWtld2lzZS4KCShzdGF0ZTo6ZmxhZ3MpOiBSZW1vdmVkLgoJKHN0YXRlOjpzdWJyb3V0aW5lKTogTGlrZXdpc2UuCgkoc3RhdGU6OnNlZW5fc3VicnMpOiBMaWtld2lzZS4KCShzdGF0ZTo6Tk9fU1RBQ0spOiBMaWtld2lzZS4KCShzdGF0ZTo6RkxBR19DSEFOR0VELCBzdGF0ZTo6RkxBR19VTlVTRUQpOiBMaWtld2lzZS4KCShzdGF0ZSk6IFVwZGF0ZWQgYWxsIG1ldGhvZHMuCgkoc3RhdGU6OmNsZWFuX3N1YnJzKTogUmVtb3ZlZC4KCShzdGF0ZTo6c3RhdGUpOiBSZW1vdmVkIGByZXRfc2VtYW50aWNzJyBmbGFnLgoJKHN0YXRlOjpjb3B5KTogTGlrZXdpc2UuCgkoc3RhdGU6OmFkZF9zdWJyKTogUmVtb3ZlZC4KCShzdGF0ZTo6ZW50ZXJfc3Vicm91dGluZSk6IExpa2V3aXNlLgoJKHR5cGU6OnNldF9yZXR1cm5fYWRkcmVzcyk6IE5ldyBtZXRob2QuCgkoaGFuZGxlX2pzcl9pbnNuKTogU2V0IHJldHVybiBhZGRyZXNzIG9uIHRoZSB0eXBlLiAgQWx3YXlzCglpbnZhbGlkYXRlIFBDIGFmdGVyIGNhbGwuCgkoY2hlY2tfbm9ucmVjdXJzaXZlX2NhbGwpOiBSZW1vdmVkLgoJKH5fSnZfQnl0ZWNvZGVWZXJpZmllcik6IFVwZGF0ZWQuCgkoYnJhbmNoX3ByZXBhc3MpOiBSZW1vdmVkIHNwZWNpYWwgaGFuZGxpbmcgb2YganNyLgoJKG5vdGVfYnJhbmNoX3RhcmdldCk6IExpa2V3aXNlLgoJKGdldF9zdWJyb3V0aW5lKTogUmVtb3ZlZC4KCShzdGF0ZTo6bWVyZ2UpOiBEb24ndCBtZXJnZSBzdWJyb3V0aW5lcyBhbmQgZG9uJ3QgaGFuZGxlCglOT19TVEFDSy4gIFJlbW92ZWQgcmV0X3NlbWFudGljcyBhbmQganNyX3NlbWFudGljcyBhcmd1bWVudHMuCgkoc3RhdGU6Om5vdGVfdmFyaWFibGUpOiBSZW1vdmVkLgoJKHN0YXRlOjppc191bm1lcmdlZF9yZXRfc3RhdGUpOiBMaWtld2lzZS4KCShzdGF0ZTo6cHJpbnQpOiBVcGRhdGVkLgoJKHNldF92YXJpYWJsZSk6IExpa2V3aXNlLgoJKG1lcmdlX2ludG8pOiBSZW5hbWVkIGZyb20gcHVzaF9qdW1wX21lcmdlLiAgUmVtb3ZlZCByZXRfc2VtYW50aWNzCglhbmQganNyX3NlbWFudGljcyBhcmd1bWVudHMuICBVcGRhdGVkIGZvciBuZXcgcmV2ZXJpZmljYXRpb24KCWxpc3QuCgkocG9wX2p1bXApOiBSZXdyb3RlLgoJKGNvbnN0cnVjdF9wcmltaXRpdmVfYXJyYXlfdHlwZSk6IFVwZGF0ZWQuCgkoc3RhdGU6Om5leHQpOiBSZW1vdmVkLgoJKElOVkFMSURfU1RBVEUpOiBOZXcgZGVmaW5lLgoJKHN0YXRlOjpJTlZBTElEKTogUmVtb3ZlZC4KCShzdGF0ZTo6Tk9fTkVYVCk6IE5ldyB2YWx1ZS4KCShzdGF0ZTo6cGMsIHN0YXRlOjpuZXh0KTogTmV3IGZpZWxkcy4KCShzdGF0ZTo6Z2V0X3BjKTogTmV3IG1ldGhvZC4KCShuZXh0X3ZlcmlmeV9wYyk6IFJlbW92ZWQuCgkobmV4dF92ZXJpZnlfc3RhdGUpOiBOZXcgZmllbGQuCgkodmVyaWZ5X2luc3RydWN0aW9uc18wKTogQWx3YXlzIGNoZWNrIGZvciBmYWxsaW5nIG9mZiBlbmQuCgkobGlua2VkKTogTmV3IHR5cGUuCgkobGlua2VkX3V0ZjgpOiBSZW1vdmVkLgoJKHN0YXRlcyk6IENoYW5nZWQgdHlwZS4KCSh0eXBlOjpzdGF0ZV9tZXJnZWFibGVfcCk6IE5ldyBtZXRob2QuCgkoc3RhdGU6OnN0YXRlX21lcmdlYWJsZV9wKTogTGlrZXdpc2UuCgkoaGFuZGxlX3JldF9pbnNuKTogUmVtb3ZlZCBtb3N0IGNvZGUuCgkoc3RhdGU6OnJldmVyaWZ5KTogTmV3IG1ldGhvZC4KCShhZGRfbmV3X3N0YXRlKTogTGlrZXdpc2UuCgkoc3RhdGU6OnNldF9wYyk6IExpa2V3aXNlLgoKMjAwNC0wMS0yMiAgSmVmZiBTdHVybSAgPGpzdHVybUBvbmUtcG9pbnQuY29tPgoKCVBSIGphdmEvMTM3MzMKCSogdGVzdHN1aXRlL2xpYmphdmEuY29tcGlsZS9QUjEzNzMzLmphdmE6IE5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvbGliamF2YS5jb21waWxlL1BSMTM3MzMueGZhaWw6IE5ldyBmaWxlLgoKMjAwNC0wMS0yMiAgQXJuYXVkIFZhbmR5Y2sgIDxhcm5hdWQudmFuZHlja0B1bGcuYWMuYmU+CiAgICAgICAgICAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy90YWJsZS9EZWZhdWx0VGFibGVDZWxsUmVuZGVyZXIuamF2YQoJKERlZmF1bHRUYWJsZUNlbGxSZW5kZXJlcik6IEFkZGVkIGphdmFkb2MgZm9yIHRoZSBjbGFzcyBhbmQgZm9yCgl0aGUgY29uc3RydWN0b3IsIEJvcmRlciBpbnN0YW5jZSwgY3JlYXRlIGFuIEVtcHR5Qm9yZGVyLgoJKFVJUmVzb3VyY2UpOiBSZW1vdmVkIHRoZSBjb21tZW50IGF0IHRoZSBlbmQgb2YgdGhlIGNsYXNzCgkoc2V0Rm9yZWdyb3VuZCk6IE5ldyBtZXRob2QuCgkoc2V0QmFja2dyb3VuZCk6IE5ldyBtZXRob2QuCgkodXBkYXRlVUkpOiBOZXcgbWV0aG9kLgoJKGdldFRhYmxlQ2VsbFJlbmRlcmVyQ29tcG9uZW50KTogUmV3cml0dGVuIHdpdGggdGhlIGhlbHAgb2YKCWR2aG9sdGVuIGFuZCBTdGVwaGFuZSBNZXNsaW4tV2ViZXIuCgkodmFsaWRhdGUpOiBOZXcgbWV0aG9kLgoJKHJlcGFpbnQpOiBOZXcgbWV0aG9kLgoJKGZpcmVQcm9wZXJ0eUNoYW5nZSk6IE5ldyBtZXRob2QuCgkoc2V0VmFsdWUpOiBOZXcgbWV0aG9kLgoKMjAwNC0wMS0yMiAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCShjb25uZWN0Sk9iamVjdCk6IFJlcGxhY2UgcHJpbnRmIGNhbGxzIHdpdGggZ19hc3NlcnQgc3RhdGVtZW50cy4KCU1vdmUgcHJvcGVydHktbm90aWZ5LWV2ZW50IHNpZ25hbCBjb25uZWN0aW9uIHRvIC4uLgoJKGNvbm5lY3RTaWduYWxzKTogQ29ubmVjdCBwcm9wZXJ0eS1ub3RpZnktZXZlbnQgc2lnbmFsLiAgSXRlcmF0ZQoJdGhyb3VnaCB0aGUgdmJveCdzIGNoaWxkcmVuIHRvIGZpbmQgbGF5b3V0LgoKMjAwNC0wMS0yMiAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HZGtDbGFzc3BhdGhGb250UGVlci5qYXZhOgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR2x5cGhWZWN0b3IuamF2YToKCVByZWRpY2F0ZSBzdGF0aWMgaW5pdGlhbGl6YXRpb24gb24gR3RrVG9vbGtpdC51c2VHcmFwaGljczJEKCkuCgkqIGphdmEvYXd0L0NvbXBvbmVudC5qYXZhIChwcm9jZXNzUGFpbnRFdmVudCk6IENvbnN1bWUgZXZlbnQuCgkqIGphdmF4L3N3aW5nL0Fic3RyYWN0QnV0dG9uLmphdmE6IFJlaW1wbGVtZW50LCBkb2N1bWVudC4KCSogamF2YXgvc3dpbmcvRGVmYXVsdEJ1dHRvbk1vZGVsLmphdmE6IFJlaW1wbGVtZW50LCBkb2N1bWVudC4KCSogamF2YXgvc3dpbmcvSkNvbXBvbmVudC5qYXZhIChwYWludCk6IFVzZSBkb3VibGUgYnVmZmVyLgoJKGxpc3RlbmVyTGlzdCk6IEVuYWJsZSBtZW1iZXIuCgkqIGphdmF4L3N3aW5nL1RvZ2dsZUJ1dHRvbk1vZGVsLmphdmE6IFJlbW92ZSBpbmNvcnJlY3QgY29uc3RydWN0b3IuCgkqIGphdmF4L3N3aW5nL0pUb2dnbGVCdXR0b24uamF2YQoJKEpUb2dnbGVCdXR0b24pOiBNb2RpZnkgbW9kZWwgY29uc3RydWN0b3IuCgkqIGphdmF4L3N3aW5nL1N3aW5nVXRpbGl0aWVzLmphdmEKCShsYXlvdXRDb21wb3VuZExhYmVsKTogQWRqdXN0IGFyaXRobWV0aWMuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNCdXR0b25VSS5qYXZhOiBSZWltcGxlbWVudCwgZG9jdW1lbnQuCgkqIGphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNHcmFwaGljc1V0aWxzLmphdmEKCShnZXRQcmVmZXJyZWRCdXR0b25TaXplKTogSW5jbHVkZSBtYXJnaW5zIGluIGNhbGN1bGF0aW9uLgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXJfY29ubmVjdFNpZ25hbHMpOgoJUmVjZWl2ZSB1cCBldmVudHMgZnJvbSBzdWJvcmRpbmF0ZSBsYXlvdXQgY29tcG9uZW50LgoKMjAwNC0wMS0yMSAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQ29tcG9uZW50LmphdmEgKHNob3cpOiBTZXQgdmlzaWJsZSB0byB0cnVlIGJlZm9yZQoJc2hvd2luZyB0aGUgcGVlci4KCjIwMDQtMDEtMjEgIEtpbSBIbyAgPGtob0ByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0ZyYW1lUGVlci5qYXZhIChwb3N0Q29uZmlndXJlRXZlbnQpOgoJRml4IGNvbW1lbnRzLgoJKHJlbW92ZU1lbnVCYXJQZWVyKTogTWFrZSBwYWNrYWdlIHByaXZhdGUuCgkoc2V0TWVudUJhclBlZXIpOiBNYWtlIHBhY2thZ2UgcHJpdmF0ZS4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCShtZW51YmFyX3Jlc2l6ZV9jYik6IE1hcmsgYXR0cmlidXRlcyB1bnVzZWQuCgkoZ2V0TWVudUJhckhlaWdodCk6IGRpdHRvLgoKMjAwNC0wMS0yMSAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCShMaWdodHdlaWdodERpc3BhdGNoZXIuaGFuZGxlRXZlbnQpOiBBZGQgYW4gZXh0cmEgY2hlY2sgdG8gYXZvaWQKCWRpc3BhdGNoaW5nIE1PVVNFX0VOVEVSRUQgZXZlbnQgdHdpY2UuIFRyYW5zbGF0ZSB0aGUgcG9pbnQgZm9yCgl0aGUgbW91c2UgZXZlbnQgdGFyZ2V0IGJlZm9yZSBkaXNwYXRjaGluZyB0aGUgZXZlbnQuCgoyMDA0LTAxLTIwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlLmFtIChsaWJfb3JnX3czY19kb21fbGFfTElCQURELAoJbGliX29yZ193M2NfZG9tX2xhX0xERkxBR1MpOiBOZXcuCgkobGliX29yZ194bWxfc2F4X2xhX0xJQkFERCwgbGliX29yZ194bWxfc2F4X2xhX0xERkxBR1MpOiBOZXcuCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoKMjAwNC0wMS0yMCAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YSAoc2V0Qm91bmRzKToKCUNhbGN1bGF0ZSBwcm9wZXIgb2Zmc2V0cyBmb3IgaGVhdnl3ZWlnaHQgY29tcG9uZW50cyBwYWNrZWQgaW4KCWxpZ2h0d2VpZ2h0IGNvbnRhaW5lcnMuCgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrVGV4dEZpZWxkUGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0RmllbGRQZWVyLmMKCShuYXRpdmUgY3JlYXRlKTogQWRkIHdpZHRoIHBhcmFtZXRlci4KCShjcmVhdGUpOiBDYWxjdWxhdGUgdGV4dCBlbnRyeSB3aWR0aCBiYXNlZCBvbiBjdXJyZW50IGZvbnQncwoJbWV0cmljcyBhbmQgbnVtYmVyIG9mIGNvbHVtbnMuICBTZXQgVGV4dEZpZWxkJ3MgZm9udCBpZiBub3QKCWFscmVhZHkgc2V0LiAgQ2FsbCBuYXRpdmUgY3JlYXRlLgoJKGd0a0VudHJ5R2V0Qm9yZGVyV2lkdGgpOiBOZXcgbmF0aXZlIG1ldGhvZC4KCShndGtFbnRyeUdldFNpemUpOiBSZW1vdmUgbWV0aG9kLgoJKGdldE1pbmltdW1TaXplKTogQ2FsbCBtaW5pbXVtU2l6ZS4KCShnZXRQcmVmZXJyZWRTaXplKTogQ2FsbCBwcmVmZXJyZWRTaXplLgoJKG1pbmltdW1TaXplKTogQ2FsY3VsYXRlIG1pbmltdW0gc2l6ZSBiYXNlZCBvbiBiYWNraW5nCglHdGtFbnRyeSdzIGJvcmRlcnMsIGZvbnQgbWV0cmljcyBhbmQgbnVtYmVyIG9mIGNvbHVtbnMuCgkocHJlZmVycmVkU2l6ZSk6IExpa2V3aXNlIGZvciBwcmVmZXJyZWQgc2l6ZS4KCShnZXRfYm9yZGVyX3dpZHRoKTogTmV3IHN0YXRpYyBmdW5jdGlvbi4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGcmFtZVBlZXIuamF2YSAoc2V0UmVzaXphYmxlKToKCU92ZXJyaWRlIEd0a1dpbmRvd1BlZXIncyBzZXRSZXNpemFibGUgbWV0aG9kIHRvIGFjY291bnQgZm9yIG1lbnUKCWJhciBoZWlnaHQgd2hlbiBzZXR0aW5nIHRoZSBmcmFtZSdzIHNpemUuCgoyMDA0LTAxLTE5ICBNYXR0aGlhcyBLbG9zZSAgPGRva29AZGViaWFuLm9yZz4KCgkqIGxpYnRvb2wtdmVyc2lvbjogSW5jcmVhc2VkIGBjdXJyZW50JyB0byA2LgoKMjAwNC0wMS0xOSAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1dpbmRvd1BlZXIuYwoJKGNvbm5lY3RKT2JqZWN0KTogSXRlcmF0ZSB0aHJvdWdoIHRoZSB2Ym94J3MgY2hpbGRyZW4gdG8gZmluZCBsYXlvdXQuCgoyMDA0LTAxLTE5ICBGZXJuYW5kbyBOYXNzZXIgIDxmbmFzc2VyQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9FdmVudFF1ZXVlLmphdmEgKGludm9rZUFuZFdhaXQpOiBVc2UgbGlzdC1hd2FyZQoJaXNEaXNwYXRjaFRocmVhZCBtZXRob2QgdG8gcmVwbGFjZSB3cm9uZyB0ZXN0IGNvbmRpdGlvbi4KCjIwMDQtMDEtMTkgIEZlcm5hbmRvIE5hc3NlciAgPGZuYXNzZXJAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0V2ZW50UXVldWUuamF2YSAocG9wKTogUHJldmVudCByYWNpbmcgY29uZGl0aW9uIHRvIGFkZAoJZXZlbnRzIHRvIHRoZSBxdWV1ZSBvdXQgb2Ygb3JkZXIgYnkgYWNxdWlyaW5nIGxvY2tzIGluIHRoZSBwcm9wZXIKCW9yZGVyIGFuZCBub3QgYnkgcmVsZWFzaW5nIG9uZSBiZWZvcmUgYWNxdWlyaW5nIHRoZSBvdGhlci4KCjIwMDQtMDEtMTkgIEZlcm5hbmRvIE5hc3NlciAgPGZuYXNzZXJAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9UZXN0QVdULmphdmEgKERpYWxvZ1dpbmRvdyk6IE1ha2UgdGV4dCBub3QKCXZpc2libGUgc28gdGhhdCBkaWFsb2cgY2FuIGJlIHJldXNlZC4KCjIwMDQtMDEtMTkgIEZlcm5hbmRvIE5hc3NlciAgPGZuYXNzZXJAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0V2ZW50UXVldWUuamF2YSAoZ2V0Q3VycmVudEV2ZW50KTogQ29uc2lkZXIgdGhhdCBzeXN0ZW0KCWV2ZW50cyBtYXkgYmUgaGFuZGxlZCBieSBhbnkgcXVldWUgaW4gdGhlIHN0YWNrLgoKMjAwNC0wMS0xOSAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRnJhbWVQZWVyLmphdmEgKGdldE1lbnVCYXJIZWlnaHQpOiBBZGRlZAoJTWVudUJhclBlZXIgcGFyYW1ldGVyLgoJKHJlbW92ZU1lbnVCYXJQZWVyKTogTmV3IG5hdGl2ZSBtZXRob2QuCgkoc2V0TWVudUJhcik6IENhbGwgcmVtb3ZlIGlmIG1lbnUgYmFyIGlzIG51bGwuIEFkanVzdCBpbnNldHMKCWFwcHJvcHJpYXRlbHkuCgkocG9zdFNpemVBbGxvY2F0ZUV2ZW50KTogTmV3IG1ldGhvZC4gQ2FsbGVkIHdoZW4gbWVudSBiYXIgc2l6ZSBpcwoJYWxsb2NhdGVkLiBBZGp1c3QgaW5zZXRzIGFuZCByZWRvIGxheW91dC4KCShHdGtGcmFtZVBlZXIpOiBTZXQgbWVudSBiYXIgZHVyaW5nIGZyYW1lIGNyZWF0aW9uLgoJKHBvc3RDb25maWd1cmVFdmVudCk6IEFkanVzdCBwb3NpdGlvbiBhbmQgc2l6ZSB0byBhY2NvbW9kYXRlCgltZW51IGJhci4KCSogamF2YS9hd3QvRnJhbWUuamF2YSAoc2V0TWVudUJhcik6IGFkZE5vdGlmeSB0byBjcmVhdGUgbWVudSBiYXIuCgkqIGphdmEvYXd0L01lbnUuamF2YSAoYWRkU2VwYXJhdG9yKTogVXNlIHBlZXIncyBhZGRTZXBhcmF0b3IuCgkoYWRkTm90aWZ5KTogQ3JlYXRlIHRoZSBwZWVyIGlmIGl0IGRvZXNuJ3QgZXhpc3QgYW5kIGNhbGwgYWRkTm90aWZ5Cglmb3IgdGhlIG1lbnUncyBpdGVtcy4KCSogamF2YS9hd3QvTWVudUJhci5qYXZhIChhZGROb3RpZnkpOiBDcmVhdGUgdGhpcyBtZW51IGJhcidzIG1lbnVzLgoJKiBqYXZhL2F3dC9NZW51SXRlbS5qYXZhIChhZGROb3RpZnkpOiBDcmVhdGUgdGhlIHBlZXIgaWYgaXQKCWRvZXNuJ3QgZXhpc3QuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jCgkocmVtb3ZlTWVudUJhclBlZXIpOiBOZXcgbWV0aG9kLiBSZW1vdmUgbWVudSBiYXIgb24gdGhlIGN1cnJlbnQKCWZyYW1lLgoJKHNldE1lbnVCYXJQZWVyKTogQWRkIHRoZSBtZW51IGJhciB0byB0aGUgY3VycmVudCBmcmFtZSBhbmQgdGhlCgljYWxsYmFjayBmb3Igc2l6ZS1hbGxvY2F0ZSBldmVudHMgb24gdGhlIG1lbnUgYmFyLgoJKGdldE1lbnVCYXJIZWlnaHQpOiBBZGQgbWVudSBiYXIgcGFyYW1ldGVyLgoJKG1lbnViYXJfcmVzaXplX2NiKTogTmV3IGNhbGxiYWNrIG1ldGhvZCBmb3IgcG9zdFNpemVBbGxvY2F0ZSBldmVudHMuCgoJQWxzbzogRml4IGluZGVudGF0aW9uIG9uIGxhc3QgQ2hhbmdlTG9nIGVudHJ5LgoKMjAwNC0wMS0xNiAgS2ltIEhvICA8a2hvQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRmlsZURpYWxvZ1BlZXIuamF2YQoJKGd0a1dpZGdldEdldERpbWVuc2lvbnMpOiBSZW1vdmUuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrV2luZG93UGVlci5jCgkoZ3RrV2lkZ2V0R2V0RGltZW5zaW9ucyk6IFJlbW92ZS4KCjIwMDQtMDEtMTYgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhOiBUeXBvIGFuZCBpbmRlbnRhdGlvbiBmaXhlcy4KCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYzogTW92ZWQgVk1DbGFzc0xvYWRlciBtZXRob2RzLi4uCgkqIGphdmEvbGFuZy9uYXRWTUNsYXNzTG9hZGVyLmNjOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIE1ha2VmaWxlLmluOiBSZWJ1aWx0LgoJKiBNYWtlZmlsZS5hbSAobmF0X3NvdXJjZV9maWxlcyk6IEFkZGVkIG5hdFZNQ2xhc3NMb2FkZXIuY2MuCgoyMDA0LTAxLTE2ICBGZXJuYW5kbyBOYXNzZXIgIDxmbmFzc2VyQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jIChwcmVfZXZlbnRfaGFuZGxlcik6CglEaXNjYXJkIEdES19FTlRFUl9OT1RJRlkgcmVsYXRlZCB0byB1bmdyYWJzLgoKMjAwNC0wMS0xNiAgRmVybmFuZG8gTmFzc2VyICA8Zm5hc3NlckByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvRXZlbnRRdWV1ZS5qYXZhIChwb3ApOiBQcmV2ZW50IGJyZWFraW5nIHRoZSBjaGFpbiBpZiBwb3AKCWlzIGNhbGxlZCBmb3IgYW4gaW50ZXJtZWRpYXRlIHF1ZXVlLgoKMjAwNC0wMS0xNiAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCSh3aW5kb3dfcHJvcGVydHlfY2hhbmdlZF9jYik6IFNldCBpZF9zZXQuCgoyMDA0LTAxLTE2ICBLaW0gSG8gIDxraG9AcmVkaGF0LmNvbT4KCiAgICAgICAgKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrQ29tcG9uZW50UGVlci5qYXZhIChHdGtDb21wb25lbnRQZWVyKTogSWYKCWl0IGlzIGEgRmlsZURpYWxvZyBhbmQgaGFzIGRpbWVuc2lvbnMgb2YgMCBieSAwLCB0aGVuIHRoZSBpbml0aWFsCglzaXplIGlzIHNldCB0byBzaXplIHJlcXVlc3QgcGx1cyBpbnNldHMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGaWxlRGlhbG9nUGVlci5qYXZhCgkoZ3RrV2lkZ2V0R2V0RGltZW5zaW9ucyk6IE92ZXJyaWRlIG1ldGhvZC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmMKCShndGtXaWRnZXRHZXREaW1lbnNpb25zKTogT3ZlcnJpZGUgbWV0aG9kLiBSZXR1cm5zIHNpemUgcmVxdWVzdCBwbHVzCglpbnNldHMuCgoyMDA0LTAxLTE2ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcC94ODYtNjQvbG9ja3MuaDogRG9uJ3QgdXNlIGluL291dCBtZW1vcnkgY29uc3RyYWludHMuCgkqIHN5c2RlcC9pMzg2L2xvY2tzLmg6IExpa2V3aXNlLgoKMjAwNC0wMS0xNiAgRmVybmFuZG8gTmFzc2VyICA8Zm5hc3NlckByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvRXZlbnREaXNwYXRjaFRocmVhZC5qYXZhIChydW4pOiBTdG9wIHJ1bm5pbmcgd2hlbgoJaW50ZXJydXB0ZWQuCgkqIGphdmEvYXd0L0V2ZW50UXVldWUuamF2YSAocG9wKTogU3RvcCBkaXNwYXRjaCB0aHJlYWQgd2hlbiBkb25lLgoJUmVzZXQgdGhlIHF1ZXVlIGFmdGVyIHRyYW5zZmVycmluZyBpdHMgY29udGVudHMuCgkocHVzaCk6IFN0YXJ0IGEgbmV3IGRpc3BhdGNoIHRocmVhZCBpZiBub25lIGlzIHJ1bm5pbmcuCgoyMDA0LTAxLTE2ICBPbGdhIFJvZGltaW5hIDxyb2RpbWluYUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YToKCShkb1BvbHlnb24pOiBzZXQgZmlsbCBydWxlIG9mIHBvbHlnb24gdG8KCVdJTkRfRVZFTl9PREQgYnkgZGVmYXVsdC4KCjIwMDQtMDEtMTUgIE9sZ2EgUm9kaW1pbmEgPHJvZGltaW5hQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR2RrR3JhcGhpY3MyRC5qYXZhOgoJSW1wbGVtZW50ZWQgcmVuZGVyaW5nIGhpbnRzIHJlbGF0ZWQgbWV0aG9kcy4KCShnZXREZWZhdWx0SGludHMpOiBOZXcgaGVscGVyIG1ldGhvZC4gUmV0dXJucwoJZGVmYXVsdCByZW5kZXJpbmcgaGludHMuCgkod2Fsa1BhdGgpOiBjaGFuZ2VkIHRvIG5vcm1hbGl6ZSBwYXRoIGlmCgl0aGUgS0VZX1NUUk9LRV9DT05UUk9MIGtleSBpcyBpbiAibm9ybWFsaXplIiBtb2RlLgoJKGRyYXczRFJlY3QpOiBjaGFuZ2VkIGNvb3JkaW5hdGVzIG9mIHJlY3RhbmdsZSBieSArMC41CglpZiBpbiAibm9ybWFsaXplIiBtb2RlLgoKMjAwNC0wMS0xNSAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuaW46IFJlYnVpbHQuCgkqIE1ha2VmaWxlLmFtIChnbnUvZ2NqL3J1bnRpbWUvU3RhY2tUcmFjZS5sbyk6IE5ldyBydWxlLgoJKCUubG86ICUuamF2YSkgRmlsdGVyIG91dCBTdGFja1RyYWNlLmxvLgoKMjAwNC0wMS0xNCAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIGluIEFDX1BSRVJFUSgyLjEzKQoJKiBsaWJsdGRsL2NvbmZpZ3VyZS5hYzogVXBkYXRlIHRvIEFDX1BSRVJFUSgyLjU3KS4gIERlbGV0ZQoJRklYTUUgY29tbWVudC4KCjIwMDQtMDEtMTQgIE5hdGhhbiBCcnlhbnQgIDxuYnJ5YW50QG9wdG9ubGluZS5uZXQ+CgkgICAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xMjAwMToKCSogZ251L2djai9ydW50aW1lL1ZNQ2xhc3NMb2FkZXIuamF2YSAoVk1DbGFzc0xvYWRlcik6IFBhc3MgZW1wdHkKCWFycmF5IHRvIHN1cGVyY2xhc3MuCgkoaW5pdCk6IENoYW5nZWQgaW50ZXJmYWNlOyBhZGQgVVJMcyBoZXJlLgoJKGluaXRpYWxpemUpOiBOZXcgc3RhdGljIG1ldGhvZC4KCSogcHJpbXMuY2MgKF9Kdl9DcmVhdGVKYXZhVk0pOiBJbml0aWFsaXplIENsYXNzTG9hZGVyIGhlcmUuLi4KCShfSnZfUnVuTWFpbik6IC4uLiBub3QgaGVyZS4KCjIwMDQtMDEtMTQgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3RleHQvTWVzc2FnZUZvcm1hdC5qYXZhOgoJQWRkZWQgZGVzY3JpcHRpb25zIHRvIGV4Y2VwdGlvbnMuCglUaGlzIGZpeGVzIFBSIGxpYmdjai8yNDI5LgoKMjAwNC0wMS0xMyAgRmVybmFuZG8gTmFzc2VyICA8Zm5hc3NlckByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvRXZlbnRRdWV1ZS5qYXZhIChpc0Rpc3BhdGNoVGhyZWFkKTogRG8gY2hlY2sgb24gdG9wIG9mIHN0YWNrLgoJKHB1c2gpOiBNYWtlIHN1cmUgcHVzaCBpcyBwZXJmb3JtZWQgYXQgdGhlIHRvcCBvZiB0aGUgdGhyZWFkIHN0YWNrLgoKMjAwNC0wMS0xMyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1RleHRBcmVhUGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtUZXh0QXJlYVBlZXIuYwoJKG5hdGl2ZQljcmVhdGUpOiBBZGQgd2lkdGggYW5kIGhlaWdodCBwYXJhbWV0ZXJzLiAgU2V0IHRleHQKCXZpZXcncyBzaXplIHJlcXVlc3QgYWNjb3JkaW5nIHRvIG5ldyBwYXJhbWV0ZXJzLgoJKGNyZWF0ZSk6IENhbGN1bGF0ZSB0ZXh0IHZpZXcgc2l6ZSBiYXNlZCBvbiBjdXJyZW50IGZvbnQncwoJbWV0cmljcyBhbmQgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuICBTZXQgVGV4dEFyZWEncyBmb250IGlmCglub3QgYWxyZWFkeSBzZXQuICBDYWxsIG5hdGl2ZSBjcmVhdGUuCgkoZ2V0TWluaW11bVNpemUpOiBDYWxsIG1pbmltdW1TaXplLgoJKGdldFByZWZlcnJlZFNpemUpOiBDYWxsIHByZWZlcnJlZFNpemUuCgkoZ2V0SFNjcm9sbGJhckhlaWdodCk6IE5ldyBtZXRob2QuCgkoZ2V0VlNjcm9sbGJhcldpZHRoKTogTmV3IG1ldGhvZC4KCShtaW5pbXVtU2l6ZSk6IENhbGN1bGF0ZSBtaW5pbXVtIHNpemUgYmFzZWQgb24gc2Nyb2xsYmFyCgl2aXNpYmlsaXR5LCBzY3JvbGxiYXIgc2l6ZXMsIGZvbnQgbWV0cmljcyBhbmQgbnVtYmVyIG9mIHJvd3MgYW5kCgljb2x1bW5zLgoJKHByZWZlcnJlZFNpemUpOiBMaWtld2lzZSBmb3IgcHJlZmVycmVkIHNpemUuCgkoZ3RrVGV4dEdldFNpemUpOiBSZW1vdmUgbWV0aG9kLgoKMjAwNC0wMS0xMyAgVGhvbWFzIEZpdHpzaW1tb25zICA8Zml0enNpbUByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0NvbXBvbmVudFBlZXIuamF2YQoJKGluaXRpYWxpemVJbnNldHMpOiBSZW1vdmUgbWV0aG9kLgoJKEd0a0NvbXBvbmVudFBlZXIpOiBJbml0aWFsaXplIGluc2V0cyBmaWVsZC4gIFJlbW92ZSBjYWxsIHRvCglpbml0aWFsaXplSW5zZXRzLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRGlhbG9nUGVlci5qYXZhIChpbml0aWFsaXplSW5zZXRzKToKCVJlbW92ZSBtZXRob2QuCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGcmFtZVBlZXIuamF2YSAoaW5pdGlhbGl6ZUluc2V0cyk6CglSZW1vdmUgbWV0aG9kLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrV2luZG93UGVlci5qYXZhLAoJam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtXaW5kb3dQZWVyLmM6CgkobGF0ZXN0SW5zZXRzKTogUmVtb3ZlIGZpZWxkLgoJKG5hdGl2ZSBjcmVhdGUpOiBBZGQgaW5zZXRzIHBhcmFtZXRlci4gIENhbGwKCXdpbmRvd19nZXRfZnJhbWVfZXh0ZW50cy4gIFNldCB0aGUgd2luZG93J3MgZGVmYXVsdCBzaXplIGFuZAoJc2l6ZSByZXF1ZXN0IGJhc2VkIG9uIGl0cyBmcmFtZSBleHRlbnRzLgoJKGNyZWF0ZSk6IEluaXRpYWxpemUgaW5zZXRzLgoJKHBvc3RJbnNldHNDaGFuZ2VkRXZlbnQpOiBOZXcgbWV0aG9kLgoJKHBvc3RDb25maWd1cmVFdmVudCk6IFJlbW92ZSBwYXJhbWV0ZXJzIHRvcCwgbGVmdCwgYm90dG9tLAoJcmlnaHQuICBSZW1vdmUgaW5zZXRzLXJlbGF0ZWQgbG9naWMuCgkoY29ubmVjdEpPYmplY3QpOiBIYW5kbGUgcHJvcGVydHktbm90aWZ5LWV2ZW50LgoJKHdpbmRvd19nZXRfZnJhbWVfZXh0ZW50cywgcmVxdWVzdF9mcmFtZV9leHRlbnRzLAoJcHJvcGVydHlfbm90aWZ5X3ByZWRpY2F0ZSwgd2luZG93X3Byb3BlcnR5X2NoYW5nZWRfY2IpOiBOZXcKCXN0YXRpYyBmdW5jdGlvbnMuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRXZlbnRzLmMKCShwcmVfZXZlbnRfaGFuZGxlcik6IFJlbW92ZSBpbnNldHMtcmVsYXRlZCBsb2dpYyBmb3IgY29uZmlndXJlCglldmVudHMuCgkqIGpuaS9ndGstcGVlci9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrTWFpblRocmVhZC5jIChndGtJbml0KToKCVVwZGF0ZSBwb3N0Q29uZmlndXJlRXZlbnQgc2lnbmF0dXJlLgoKMjAwNC0wMS0xMyAgRmVybmFuZG8gTmFzc2VyICA8Zm5hc3NlckByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL1Rlc3RBV1QuamF2YSAoRGlhbG9nV2luZG93KTogQWRkIFdpbmRvd0FkYXB0ZXIKCXRvIGhhbmRsZSBXaW5kb3cgIkNsb3NpbmciIGV2ZW50cy4KCjIwMDQtMDEtMTMgIERhdmlkIEplZSAgPGRqZWVAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb250YWluZXJQZWVyLmphdmEKCShzZXRCYWNrZ3JvdW5kKTogTmV3IG1ldGhvZC4gQ2hpbGRyZW4gd2l0aCBubyBleHBsaWNpdGx5LXNldAoJYmFja2dyb3VuZCB3aWxsIGJlIHJlcGFpbnRlZCB3aXRoIHRoZSBwYXJlbnQgY29udGFpbmVyJ3MgbmV3CgliYWNrZ3JvdW5kIGNvbG9yLgoKMjAwNC0wMS0xMyAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUuYW06IEFkZCBCaXR3aXNlWE9SQ29tcG9zaXRlLmphdmEuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCSogZ2NqL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTAxLTEyICBGZXJuYW5kbyBOYXNzZXIgIDxmbmFzc2VyQHJlZGhhdC5jb20+CgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvVGVzdEFXVC5qYXZhOiBGaXggdGVzdCBwcm9ncmFtIHNvIHRoYXQgaXQgZG9lcwoJbm90IHNob3cgbW9kYWwgZGlhbG9ncyB0d2ljZSBhbmQgc28gdGhhdCBpdCBhbGxvd3Mgc2hvd2luZyBhIG1vZGFsCglkaWFsb2cgZnJvbSBhbm90aGVyIG1vZGFsIGRpYWxvZy4KCjIwMDQtMDEtMTIgIEZlcm5hbmRvIE5hc3NlciAgPGZuYXNzZXJAcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0RpYWxvZy5qYXZhIChzaG93KTogRW5hYmxlIGJsb2NraW5nIGZvciBhbGwgbW9kYWwgZGlhbG9ncwoJYW5kIHJ1biBzZWNvbmRhcnkgZGlzcGF0Y2ggdGhyZWFkIHRvIHByb2Nlc3MgZXZlbnQgcXVldWUgd2hpbGUgdGhpcwoJdGhyZWFkIGlzIGJsb2NrZWQuCgoyMDA0LTAxLTEyICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogZ251L2phdmEvYXd0L2d0ay9HZGtHcmFwaGljczJELmphdmEKCShzdGF0aWMpOiBDaGVjayBHdGtUb29sa2l0IGJlZm9yZSBpbml0aWFsaXppbmcgc3RhdGljIHN0YXRlLgoJKEdyYXBoaWNzMkQpOiBEb24ndCBjb25zdHJ1Y3QgdHJhbnNmb3JtIHdpdGggMC41IHVuaXQgb2Zmc2V0LgoKMjAwMy0xMS0wNiAgU2FzY2hhIEJyYXdlciAgPGJyYXdlckBkYW5kZWxpcy5jaD4KCgkqIGdudS9qYXZhL2F3dC9CaXR3aXNlWE9SQ29tcG9zaXRlLmphdmE6IEFkZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0dka0dyYXBoaWNzMkQuamF2YQoJKHNldFhPUk1vZGUpOiBTd2l0Y2ggdG8gZ251LmphdmEuYXd0LkJpdHdpc2VYT1JDb21wb3NpdGUuCgkoQml0d2lzZVhPUkNvbXBvc2l0ZSk6IFJlbW92ZSBpbm5lciBjbGFzcy4KCjIwMDQtMDEtMTEgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9sYW5nL3JlZmxlY3QvVHlwZVNpZ25hdHVyZS5qYXZhCgkoZ2V0RW5jb2RpbmdPZkNsYXNzKTogRG9jdW1lbnRhdGlvbiBmaXhlZC4KCShnZXRDbGFzc0ZvckVuY29kaW5nKTogR2l2ZSBjbGFzcyBsb2FkZXIgdG8gQ2xhc3MuZm9yTmFtZSgpLgoJRG9jdW1lbnRhdGlvbiBmaXhlZC4KCjIwMDQtMDEtMTEgIFNhc2NoYSBCcmF3ZXIgIDxicmF3ZXJAZGFuZGVsaXMuY2g+CgoJKiBqYXZheC9zd2luZy91bmRvL0NvbXBvdW5kRWRpdC5qYXZhIChzZXJpYWxWZXJzaW9uVUlEKTogQWRkZWQuCgoyMDA0LTAxLTExICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvdW5kby9TdGF0ZUVkaXRhYmxlLmphdmEKCShSQ1NJRCk6IFJlbW92ZWQgcmVkdW5kYW50IG1vZGlmaWVycy4KCjIwMDQtMDEtMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvRW51bVN5bnRheC5qYXZhCgkoZ2V0U3RyaW5nVGFibGUpOiBNYWRlIHByb3RlY3RlZC4KCShnZXRFbnVtVmFsdWVUYWJsZSk6IExpa2V3aXNlLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iS09jdGV0c1Byb2Nlc3NlZC5qYXZhCgkoSm9iS09jdGV0c1Byb2Nlc3NlZCk6IERvbid0IGltcGxlbWVudCBQcmludFJlcXVlc3RBdHRyaWJ1dGUuCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JNZWRpYVNoZWV0c0NvbXBsZXRlZC5qYXZhCgkoSm9iTWVkaWFTaGVldHNDb21wbGV0ZWQpOiBNYWRlIGNsYXNzIGZpbmFsLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvT3V0cHV0RGV2aWNlQXNzaWduZWQuamF2YQoJKGdldE5hbWUpOiBGaXhlZCB0eXBvLgoJKiBqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUmVxdWVzdGluZ1VzZXJOYW1lLmphdmEKCShzZXJpYWxWZXJzaW9uVUlEKTogRml4ZWQgdmFsdWUuCgoyMDA0LTAxLTEwICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0J1dHRvblVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljQ2hlY2tCb3hVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY0xpc3RVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY09wdGlvblBhbmVVSS5qYXZhLAoJamF2YXgvc3dpbmcvcGxhZi9iYXNpYy9CYXNpY1BhbmVsVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNSYWRpb0J1dHRvblVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljU2Nyb2xsUGFuZVVJLmphdmEsCglqYXZheC9zd2luZy9wbGFmL2Jhc2ljL0Jhc2ljVG9nZ2xlQnV0dG9uVUkuamF2YSwKCWphdmF4L3N3aW5nL3BsYWYvYmFzaWMvQmFzaWNWaWV3cG9ydFVJLmphdmE6CglGaXhlZCBpbXBvcnQgc3RhdGVtZW50cy4KCjIwMDQtMDEtMTAgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9hd3QvaW1hZ2UvSW1hZ2VEZWNvZGVyLmphdmEKCShwcm9kdWNlKTogTWFkZSBwdWJsaWMuCgkqIGdudS9qYXZhL2F3dC9wZWVyL0dMaWdodHdlaWdodFBlZXIuamF2YSwKCWdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtUb29sa2l0LmphdmE6CglSZWZvcm1hdGVkLgoKMjAwNC0wMS0xMCAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3N3aW5nL0pSYWRpb0J1dHRvbk1lbnVJdGVtLmphdmEsCglqYXZheC9zd2luZy9KU2VwYXJhdG9yLmphdmEsCglqYXZheC9zd2luZy9KU3BsaXRQYW5lLmphdmEsCglqYXZheC9zd2luZy9KVGV4dFBhbmUuamF2YSwKCWphdmF4L3N3aW5nL0pUb29sQmFyLmphdmEsCglqYXZheC9zd2luZy9MaXN0Q2VsbFJlbmRlcmVyLmphdmEsCglqYXZheC9zd2luZy9MaXN0TW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL01lbnVFbGVtZW50LmphdmEsCglqYXZheC9zd2luZy9PdmVybGF5TGF5b3V0LmphdmEsCglqYXZheC9zd2luZy9Qcm9ncmVzc01vbml0b3IuamF2YSwKCWphdmF4L3N3aW5nL1Byb2dyZXNzTW9uaXRvcklucHV0U3RyZWFtLmphdmEsCglqYXZheC9zd2luZy9SZW5kZXJlci5qYXZhLAoJamF2YXgvc3dpbmcvUm9vdFBhbmVDb250YWluZXIuamF2YSwKCWphdmF4L3N3aW5nL1Njcm9sbGFibGUuamF2YSwKCWphdmF4L3N3aW5nL1NpbmdsZVNlbGVjdGlvbk1vZGVsLmphdmEsCglqYXZheC9zd2luZy9Ub29sVGlwTWFuYWdlci5qYXZhLAoJamF2YXgvc3dpbmcvVmlld3BvcnRMYXlvdXQuamF2YSwKCWphdmF4L3N3aW5nL2V2ZW50L0RvY3VtZW50RXZlbnQuamF2YSwKCWphdmF4L3N3aW5nL2V2ZW50L1N3aW5nUHJvcGVydHlDaGFuZ2VTdXBwb3J0LmphdmEsCglqYXZheC9zd2luZy9ldmVudC9UcmVlU2VsZWN0aW9uRXZlbnQuamF2YSwKCWphdmF4L3N3aW5nL2V2ZW50L1VuZG9hYmxlRWRpdEV2ZW50LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0Fic3RyYWN0RG9jdW1lbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvQXR0cmlidXRlU2V0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0NhcmV0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0NvbXBvbmVudFZpZXcuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRGVmYXVsdENhcmV0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0RlZmF1bHRFZGl0b3JLaXQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRG9jdW1lbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvRWRpdG9yS2l0LmphdmEsCglqYXZheC9zd2luZy90ZXh0L0dhcENvbnRlbnQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvS2V5bWFwLmphdmEsCglqYXZheC9zd2luZy90ZXh0L011dGFibGVBdHRyaWJ1dGVTZXQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvUGxhaW5FZGl0b3JLaXQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvU2VnbWVudC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9TdHlsZS5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9TdHlsZWREb2N1bWVudC5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9TdHlsZWRFZGl0b3JLaXQuamF2YSwKCWphdmF4L3N3aW5nL3RleHQvVGV4dEFjdGlvbi5qYXZhLAoJamF2YXgvc3dpbmcvdGV4dC9WaWV3LmphdmE6IEZpeGVkIGltcG9ydCBzdGF0ZW1lbnRzLgoKMjAwNC0wMS0wOCAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmF4L3N3aW5nL0pMYXllcmVkUGFuZS5qYXZhOiBSZXdyaXRlIHRvIGFjY29tb2RhdGUKCWRqZWVAcmVkaGF0LmNvbSdzIHJlY2VudCBpbnZlcnNlIG9yZGVyaW5nIG9mIENvbnRhaW5lciBlbGVtZW50cy4KCjIwMDQtMDEtMDkgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9sYW5nL0FycmF5SGVscGVyLmphdmEKCShlcXVhbHNBcnJheSk6IFJlbW92ZWQuCgoyMDA0LTAxLTA5ICBBbmRyZXcgSGFsZXkgIDxhcGhAcmVkaGF0LmNvbT4KCgkqIGphdmEvbGFuZy9uYXRDbGFzc0xvYWRlci5jYyAoX0p2X1ByZXBhcmVDb21waWxlZENsYXNzKTogUmVzb2x2ZQoJYSBVdGY4Q29uc3QgZmllbGQgYmVmb3JlIGxvb2tpbmcgYXQgaXRzIGNsYXNzLgoKMjAwNC0wMS0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Eb2N1bWVudE5hbWUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JIb2xkVW50aWwuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JNZXNzYWdlRnJvbU9wZXJhdG9yLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTmFtZS5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYk9yaWdpbmF0aW5nVXNlck5hbWUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9PdXRwdXREZXZpY2VBc3NpZ25lZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJJbmZvLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlckxvY2F0aW9uLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlck1ha2VBbmRNb2RlbC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL1ByaW50ZXJNZXNzYWdlRnJvbU9wZXJhdG9yLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvUHJpbnRlck5hbWUuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9SZXF1ZXN0aW5nVXNlck5hbWUuamF2YTogTmV3IGZpbGVzLgoJKiBNYWtlZmlsZS5hbSAoamF2YXhfc291cmNlX2ZpbGVzKTogQWRkZWQgbmV3IGZpbGVzLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDA0LTAxLTA5ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YXgvc3dpbmcvQWJzdHJhY3RBY3Rpb24uamF2YSwKCWphdmF4L3N3aW5nL0Fic3RyYWN0U2V0LmphdmEsCglqYXZheC9zd2luZy9BY3Rpb24uamF2YSwKCWphdmF4L3N3aW5nL0FjdGlvbk1hcC5qYXZhLAoJamF2YXgvc3dpbmcvQm91bmRlZFJhbmdlTW9kZWwuamF2YSwKCWphdmF4L3N3aW5nL0J1dHRvbk1vZGVsLmphdmEsCglqYXZheC9zd2luZy9DZWxsRWRpdG9yLmphdmEsCglqYXZheC9zd2luZy9DZWxsUmVuZGVyZXJQYW5lLmphdmEsCglqYXZheC9zd2luZy9Db21ib0JveEVkaXRvci5qYXZhLAoJamF2YXgvc3dpbmcvRGVidWdHcmFwaGljcy5qYXZhLAoJamF2YXgvc3dpbmcvRGVmYXVsdENlbGxFZGl0b3IuamF2YSwKCWphdmF4L3N3aW5nL0RlZmF1bHRDZWxsUmVuZGVyZXIuamF2YSwKCWphdmF4L3N3aW5nL0RlZmF1bHRDb21ib0JveE1vZGVsLmphdmEsCglqYXZheC9zd2luZy9EZWZhdWx0RGVza3RvcE1hbmFnZXIuamF2YSwKCWphdmF4L3N3aW5nL0RlZmF1bHRGb2N1c01hbmFnZXIuamF2YSwKCWphdmF4L3N3aW5nL0RlZmF1bHRMaXN0Q2VsbFJlbmRlcmVyLmphdmEsCglqYXZheC9zd2luZy9JY29uLmphdmEsCglqYXZheC9zd2luZy9KQnV0dG9uLmphdmEsCglqYXZheC9zd2luZy9KQ2hlY2tCb3hNZW51SXRlbS5qYXZhLAoJamF2YXgvc3dpbmcvSkRlc2t0b3BQYW5lLmphdmEsCglqYXZheC9zd2luZy9KRWRpdG9yUGFuZS5qYXZhLAoJamF2YXgvc3dpbmcvSk1lbnUuamF2YSwKCWphdmF4L3N3aW5nL0pQYW5lbC5qYXZhLAoJamF2YXgvc3dpbmcvSlBhc3N3b3JkRmllbGQuamF2YSwKCWphdmF4L3N3aW5nL0pQb3B1cE1lbnUuamF2YSwKCWphdmF4L3N3aW5nL0pQcm9ncmVzc0Jhci5qYXZhOiBSZXdvcmtlZCBpbXBvcnRzLgoKMjAwNC0wMS0wOSAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmEvYXd0L2dlb20vUGF0aEl0ZXJhdG9yLmphdmEKCShXSU5EX0VWRU5fT0REKTogUmVtb3ZlZCByZWR1bmRhbnQgbW9kaWZpZXJzLgoJKFdJTkRfTk9OX1pFUk8pOiBMaWtld2lzZS4KCShTRUdfTU9WRVRPKTogTGlrZXdpc2UuCgkoU0VHX0xJTkVUTyk6IExpa2V3aXNlLgoJKFNFR19RVUFEVE8pOiBMaWtld2lzZS4KCShTRUdfQ1VCSUNUTyk6IExpa2V3aXNlLgoJKFNFR19DTE9TRSk6IExpa2V3aXNlLgoJKiBqYXZhL2F3dC9pbWFnZS9TaW5nbGVQaXhlbFBhY2tlZFNhbXBsZU1vZGVsLmphdmE6CglSZW1vdmVkIHJlZHVuZGFudCBzZW1pY29sb24uCgkqIGphdmEvaW8vT2JqZWN0SW5wdXRTdHJlYW0uamF2YQoJKGlucHV0R2V0T2JqZWN0U3RyZWFtQ2xhc3Nlcyk6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlICJyZXRfdmFsIi4KCSogamF2YS91dGlsL2xvZ2dpbmcvRmlsdGVyLmphdmEKCShpc0xvZ2dhYmxlKTogUmVtb3ZlZCByZWR1bmRhbnQgbW9kaWZpZXIuCgkqIGphdmEvdXRpbC9sb2dnaW5nL0xvZ01hbmFnZXIuamF2YToKCVJlbW92ZWQgcmVkdW5kYW50IHNlbWljb2xvbi4KCSogamF2YS91dGlsL2xvZ2dpbmcvWE1MRm9ybWF0dGVyLmphdmEKCShmb3JtYXQpOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZSAia2V5Ii4KCjIwMDQtMDEtMDggIEZlcm5hbmRvIE5hc3NlciAgPGZuYXNzZXJAcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtGaWxlRGlhbG9nUGVlci5qYXZhIChuYXRpdmVTZXRGaWxlKToKCU5ldyBuYW1lIGZvciB0aGUgZm9ybWVyIHNldEZpbGUgbmF0aXZlIG1ldGhvZC4KCShzZXRGaWxlKTogTmV3IG1ldGhvZC4KCShzZXREaXJlY3RvcnkpOiBJbXBsZW1lbnRlZC4KCShjb25uZWN0U2lnbmFscyk6IE5ldyBuYXRpdmUgbWV0aG9kLgoJKHNldEZpbGVuYW1lRmlsdGVyKTogSW1wcm92ZSBjb21tZW50LgoJKGdldEdyYXBoaWNzKTogQ29tbWVudC4KCShndGtIaWRlRmlsZURpYWxvZyk6IE5ldyBtZXRob2QuCgkoZ3RrRGlzcG9zZUZpbGVEaWFsb2cpOiBOZXcgbWV0aG9kLgoJKGd0a1NldEZpbGVuYW1lKTogTmV3IG1ldGhvZC4KCSogamF2YS9hd3QvRGlhbG9nLmphdmEgKHNob3cpOiBCbG9jayBvbiBtb2RhbCBkaWFsb2dzLCBidXQgb25seQoJZm9yIEZpbGVEaWFsb2cgZm9yIG5vdy4KCShoaWRlKTogTmV3IG1ldGhvZC4KCShkaXNwb3NlKTogTmV3IG1ldGhvZC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlci5jCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrRmlsZURpYWxvZ19jcmVhdGUpOiBSZXBsYWNlCglkZXByZWNhdGVkIGNyZWF0aW9uIGZ1bmN0aW9ucy4gIE1ha2UgZGlhbG9nIG1vZGFsLiAgQWRkIGl0IHRvIHRoZQoJd2luZG93IGdyb3VwLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dfY29ubmVjdFNpZ25hbHMpOiBOZXcKCWZ1bmN0aW9uLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0ZpbGVEaWFsb2dQZWVyX2d0a0ZpbGVTZWxlY3Rpb25TZXRGaWxlbmFtZSk6CglSZW5hbWUgdG8uLi4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtGaWxlRGlhbG9nUGVlcl9uYXRpdmVTZXRGaWxlKTogTmV3CgluYW1lLgoJKHdpbmRvd19jbG9zZWQpOiBOZXcgZnVuY3Rpb24uCgkob2tfY2xpY2tlZCk6IE5ldyBmdW5jdGlvbi4KCShjYW5jZWxfY2xpY2tlZCk6IE5ldyBmdW5jdGlvbi4KCjIwMDQtMDEtMDggIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZheC9zd2luZy9KTGF5ZXJlZFBhbmUuamF2YTogUmV2ZXJ0IGNoYW5nZXMgdG8gc3RhbmRhcmQKCWJvaWxlcnBsYXRlLCByZXdvcmtlZCBpbXBvcnRzLgoKMjAwNC0wMS0wNyAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29tPgoKCVBSIGxpYmdjai8xMzQzOToKCSogdmVyaWZ5LmNjIChzdGF0ZTo6bWVyZ2UpOiBDb3B5IGNoYW5nZWQgbG9jYWxzIG91dCBvZiBzdWJyb3V0aW5lCglpbiBOT19TVEFDSyBjYXNlLgoJKHN0YXRlOjpGTEFHX0NIQU5HRUQpOiBOZXcgY29uc3QuCgkoc3RhdGU6OkZMQUdfVU5VU0VEKTogTGlrZXdpc2UuCgkoc3RhdGU6OmxvY2FsX2NoYW5nZWQpOiBSZW1vdmVkLiAgVXBkYXRlZCBhbGwgdXNlcnMuCgkoc3RhdGU6OmZsYWdzKTogTmV3IGZpZWxkLgoJKHN0YXRlOjptZXJnZSk6IEFkZGVkIGpzcl9zZW1hbnRpY3MgYXJndW1lbnQsIG1vcmUgbG9naWMuCgkocHVzaF9qdW1wX21lcmdlKTogQWRkZWQganNyX3NlbWFudGljcyBhcmd1bWVudC4KCShoYW5kbGVfanNyX2luc24pOiBTZXQganNyX3NlbWFudGljcyBvbiBwdXNoX2p1bXBfbWVyZ2Ugd2hlbgoJbWVyZ2luZyB0aHJvdWdoIHRoZSBqc3IgaW5zdHJ1Y3Rpb24uCgoyMDA0LTAxLTA3ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL01ha2VEZWZhdWx0TWltZVR5cGVzLmphdmE6IFVzZSBcbiwgbm90CgliYWNrc2xhc2gtbmV3bGluZS4KCjIwMDQtMDEtMDcgIEdyYXlkb24gSG9hcmUgIDxncmF5ZG9uQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9Db250YWluZXIuamF2YSAoTGlnaHR3ZWlnaHREaXNwYXRjaGVyKTogSW1wbGVtZW50LgoJKHZpc2l0Q2hpbGQpOiBSZXVzZSBncmFwaGljcyBvYmplY3QuCgkoZGlzcGF0Y2hFdmVudEltcGwpOiBPcHRpb25hbGx5IGRpc3BhdGNoIHRvIGxpZ2h0d2VpZ2h0LgoJKGFkZE5vdGlmeUNvbnRhaW5lckNoaWxkcmVuKTogQnVpbGQgTGlnaHR3ZWlnaHREaXNwYXRjaGVyLgoKMjAwNC0wMS0wNyAgRGF2aWQgSmVlICA8ZGplZUByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvQ29udGFpbmVyLmphdmEKCSh1cGRhdGUpOiBDbGVhciBvbmx5IHRoZSBjbGlwcGVkIHJlZ2lvbiwgaW5zdGVhZCBvZiBjbGVhcmluZyB0aGUKCWVudGlyZSBDb250YWluZXIuCgkodmlzaXRDaGlsZHJlbik6IFZpc2l0IGNoaWxkcmVuIGluIGRlc2NlbmRpbmcgb3JkZXIuCgoyMDA0LTAxLTA3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9sYW5nL3JlZmxlY3QvQXJyYXkuamF2YTogTWVyZ2VkIGRvY3VtZW50YXRpb24gd2l0aCBjbGFzc3BhdGguCgoyMDA0LTAxLTA3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS90ZXh0L0NvbGxhdGlvbkVsZW1lbnRJdGVyYXRvci5qYXZhCgkodGV4dEluZGV4KTogUmVuYW1lZCBmcm9tIGluZGV4LgoJKiBqYXZhL3RleHQvQ29sbGF0aW9uS2V5LmphdmEKCShjb2xsYXRvcik6IE5ldyBtZW1iZXIuCgkoQ29sbGF0aW9uS2V5KTogTmV3IGFyZ3VtZW50IGZvciBwYXJlbnQgY29sbGF0b3IuCgkoZXF1YWxzKTogQ2hlY2sgZm9yIHNhbWUgY29sbGF0b3IsIHNvdXJjZSBzdHJpbmcgYW5kIGtleSBhcnJheS4KCSogamF2YS90ZXh0L1J1bGVCYXNlZENvbGxhdG9yLmphdmE6CglSZWZvcm1hdGVkLgoJKFJ1bGVCYXNlZENvbGxhdG9yKTogRG9uJ3QgcmUtaW5pdGlhbGl6ZSBmcmVuY2hBY2NlbnRzIHdpdGggZGVmYXVsdAoJdmFsdWUuCgkoZ2V0Q29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yKTogUmV3cml0dGVuLgoJKGdldENvbGxhdGlvbktleSk6IEFkZGVkIG5ldyBhcmd1bWVudCB0byBDb2xsYXRpb25LZXkgY29uc3RydWN0b3IuCgoyMDA0LTAxLTA3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogZ251L2phdmEvbmlvL0RhdGFncmFtQ2hhbm5lbEltcGwuamF2YQoJKGJsb2NraW5nKTogUmVtb3ZlZC4KCShEYXRhZ3JhbUNoYW5uZWxJbXBsKTogQ2FsbCBjb25maWd1cmVCbG9ja2luZygpLgoJKGltcGxDb25maWd1cmVCbG9ja2luZyk6IERvbnQgaW5pdGlhbGl6ZSBibG9ja2luZy4KCSogZ251L2phdmEvbmlvL1NlcnZlclNvY2tldENoYW5uZWxJbXBsLmphdmEKCShibG9ja2luZyk6IFJlbW92ZWQuCgkoU2VydmVyU29ja2V0Q2hhbm5lbEltcGwpOiBDYWxsIGNvbmZpZ3VyZUJsb2NraW5nKCkuCgkoaW1wbENvbmZpZ3VyZUJsb2NraW5nKTogRG9udCBpbml0aWFsaXplIGJsb2NraW5nLgoJKiBnbnUvamF2YS9uaW8vU29ja2V0Q2hhbm5lbEltcGwuamF2YQoJKGJsb2NraW5nKTogUmVtb3ZlZC4KCShTb2NrZXRDaGFubmVsSW1wbCk6IENhbGwgY29uZmlndXJlQmxvY2tpbmcoKS4KCShpbXBsQ29uZmlndXJlQmxvY2tpbmcpOiBEb250IGluaXRpYWxpemUgYmxvY2tpbmcuCgkoY29ubmVjdCk6IFVzZSBpc0Jsb2NraW5nKCkuCgkqIGphdmEvbmlvL2NoYW5uZWxzL3NwaS9BYnN0cmFjdFNlbGVjdGFibGVDaGFubmVsLmphdmEKCShjb25maWd1cmVCbG9ja2luZyk6IFVzZSBibG9ja2luZ0xvY2soKSBpbnN0ZWFkIG9mIExPQ0suCglTZXQgYmxvY2tpbmcgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IGNhbGxlZCBpbXBsQ29uZmlndXJlQmxvY2tpbmcoKS4KCShyZWdpc3Rlcik6IFVzZSBibG9ja2luZ0xvY2soKSBpbnN0ZWFkIG9mIExPQ0suCgoyMDA0LTAxLTA3ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9uZXQvU2VydmVyU29ja2V0LmphdmEgKGlzQm91bmQpOiBGaXhlZCBkb2N1bWVudGF0aW9uLgoKMjAwNC0wMS0wNyAgU2FzY2hhIEJyYXdlciAgPGJyYXdlckBkYW5kZWxpcy5jaD4KCgkqIGphdmF4L3N3aW5nL0RlZmF1bHRCb3VuZGVkUmFuZ2VNb2RlbC5qYXZhOiBEb2N1bWVudGVkIEFQSS4KCShjaGFuZ2VFdmVudCk6IENyZWF0ZSBldmVudCBvYmplY3Qgb24gZGVtYW5kLgoJKERlZmF1bHRCb3VuZGVkUmFuZ2VNb2RlbCwgdG9TdHJpbmcsIHNldFZhbHVlLCBzZXRFeHRlbnQsCglzZXRNaW5pbXVtLCBzZXRNYXhpbXVtLCBzZXRWYWx1ZUlzQWRqdXN0aW5nLCBzZXRSYW5nZVByb3BlcnRpZXMsCglmaXJlU3RhdGVDaGFuZ2VkKTogUmUtd3JpdHRlbi4KCSogamF2YXgvc3dpbmcvZXZlbnQvRXZlbnRMaXN0ZW5lckxpc3QuamF2YTogUmVmb3JtYXR0ZWQsIGRvY3VtZW50Cgl0eXBpY2FsIHVzYWdlLgoJKHRvU3RyaW5nKTogSW1wbGVtZW50ZWQuCgkoZ2V0TGlzdGVuZXJzKTogUmUtd3JpdHRlbi4KCShyZW1vdmUpOiBSZS13cml0dGVuLgoJKGFkZCk6IFJlLXdyaXR0ZW4uCgkoTk9fTElTVEVORVJTKTogTmV3IHNpbmdsZXRvbiBmaWVsZC4KCShsaXN0ZW5lckxpc3QpOiBEZWNsYXJlIGFzIHRyYW5zaWVudDsgZG9jdW1lbnQuCgkoc2VyaWFsVmVyc2lvblVJRCk6IERvY3VtZW50LgoJKGdldExpc3RlbmVyQ291bnQoQ2xhc3MpKTogTW9yZSBlZmZpY2llbnQgaW1wbGVtZW50YXRpb24sCglhbHNvIGFjY2VwdHMgbnVsbCBhcmd1bWVudC4gIEltcHJvdmUgSmF2YWRvYy4KCShnZXRMaXN0ZW5lckNvdW50KCkpOiBSZW1vdmUgdW5uZWNlc3NhcnkgY2FzdDsgZG9jZml4LgoJKiBqYXZheC9zd2luZy91bmRvL1VuZG9hYmxlRWRpdFN1cHBvcnQuamF2YToKCVJlLWZvcm1hdCwgZG9jdW1lbnQuCgkoVW5kb2FibGVFZGl0U3VwcG9ydCk6IFNldCByZWFsU291cmNlIGZpZWxkLiBJbXByb3ZlIGRvY3VtZW50YXRpb24uCgkoX3Bvc3RFZGl0KTogSXRlcmF0ZSBvdmVyIGNsb25lZCBsaXN0ZW5lciB2ZWN0b3IuCgkodG9TdHJpbmcpOiBEb24ndCBlbWl0IHJlYWxTb3VyY2UuCgkoYmVnaW5VcGRhdGUsIGVuZFVwZGF0ZSk6IFN1cHBvcnQgbmVzdGVkIHVwZGF0ZXMuCgkocG9zdEVkaXQpOiBVc2UgY29tcG91bmQgZWRpdCBpZiBwcmVzZW50LgoKMjAwNC0wMS0wNiAgR3JheWRvbiBIb2FyZSAgPGdyYXlkb25AcmVkaGF0LmNvbT4KCgkqIGphdmEvYXd0L0NvbnRhaW5lci5qYXZhIChzd2FwQ29tcG9uZW50cyk6IEFkZCBmb3Jnb3R0ZW4KCWZ1bmN0aW9uLCByZXF1aXJlZCBmb3IgSkxheWVyZWRQYW5lIGNoYW5nZS4KCjIwMDQtMDEtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL3RleHQvQ29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yLmphdmE6IFJlZm9ybWF0ZWQuCgkoQ29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yKTogQ2hhbmdlZCBvcmRlciBvZiBhcmd1bWVudHMuCgkqIGphdmEvdGV4dC9SdWxlQmFzZWRDb2xsYXRvci5qYXZhCgkoUnVsZUJhc2VkQ29sbGF0b3IpOiBNZXJnZWQgY2xhc3MgZG9jdW1lbnRhdGlvbi4KCShDb2xsYXRpb25FbGVtZW50KTogQWRkZWQgZG9jdW1lbnRhdGlvbi4KCShjb21wYXJlKTogUmVmb3JtYXRlZCwgcmVuYW1lZCBhcmd1bWVudHMuCgkoZXF1YWxzKTogTGlrZXdpc2UuCgkoZ2V0Q29sbGF0aW9uRWxlbWVudEl0ZXJhdG9yKTogTGlrZXdpc2UuCgkoZ2V0Q29sbGF0aW9uS2V5KTogTGlrZXdpc2UuCgoyMDA0LTAxLTA2ICBHcmF5ZG9uIEhvYXJlICA8Z3JheWRvbkByZWRoYXQuY29tPgoKCSogamF2YXgvc3dpbmcvSkxheWVyZWRQYW5lLmphdmE6IEZpeCBzZW1hbnRpY3MsIGFkZCBqYXZhZG9jcy4KCjIwMDQtMDEtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBnbnUvamF2YS9uZXQvcHJvdG9jb2wvZmlsZS9Db25uZWN0aW9uLmphdmE6CglSZWZvcm1hdGVkIGNvcHlyaWdodC4KCShoZHJIYXNoKTogUmVtb3ZlZC4KCShoZHJWZWMpOiBSZW1vdmVkLgoJKGdvdEhlYWRlcnMpOiBSZW1vdmVkLgoJKGdldEhlYWRlckZpZWxkKTogUmVtb3ZlZC4KCShnZXRIZWFkZXJGaWVsZCk6IFJlbW92ZWQuCgkoZ2V0SGVhZGVyRmllbGRLZXkpOiBSZW1vdmVkLgoJKGdldEtleSk6IFJlbW92ZWQuCgkoZ2V0RmllbGQpOiBSZW1vdmVkLgoJKGdldEhlYWRlcnMpOiBSZW1vdmVkLgoKMjAwNC0wMS0wNiAgTWljaGFlbCBLb2NoICA8a29ucXVlcm9yQGdteC5kZT4KCgkqIGphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9EYXRlVGltZUF0Q29tcGxldGVkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvRGF0ZVRpbWVBdENyZWF0aW9uLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvRGF0ZVRpbWVBdFByb2Nlc3NpbmcuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JJbXByZXNzaW9uc0NvbXBsZXRlZC5qYXZhLAoJamF2YXgvcHJpbnQvYXR0cmlidXRlL3N0YW5kYXJkL0pvYktPY3RldHMuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JLT2N0ZXRzUHJvY2Vzc2VkLmphdmEsCglqYXZheC9wcmludC9hdHRyaWJ1dGUvc3RhbmRhcmQvSm9iTWVkaWFTaGVldHNDb21wbGV0ZWQuamF2YSwKCWphdmF4L3ByaW50L2F0dHJpYnV0ZS9zdGFuZGFyZC9Kb2JQcmlvcml0eVN1cHBvcnRlZC5qYXZhOiBOZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmFtIChqYXZheF9zb3VyY2VfZmlsZXMpOiBBZGRlZCBuZXcgZmlsZXMuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDQtMDEtMDYgIE1pY2hhZWwgS29jaCAgPGtvbnF1ZXJvckBnbXguZGU+CgoJKiBqYXZhL25ldC9VUkxDb25uZWN0aW9uLmphdmEKCShjb250ZW50SGFuZGxlcik6IFJlbW92ZWQuCgkobG9jYWxlKTogUmVtb3ZlZC4KCShnZXRIZWFkZXJGaWVsZHMpOiBSZXR1cm4gYW4gZW1wdHkgbWFwIGluc3RlYWQgb2YgbnVsbC4KCShnZXRDb250ZW50KTogQ29ubmVjdCBpZiBuZWVkZWQsIHJlbmFtZWQgImNUeXBlIiB0byAidHlwZSIgYW5kCgkiY29udGVudEhhbmRsZXIiIHRvICJjaCIgYW5kIG1hZGUgaXQgYSBsb2NhbCB2YXJpYWJsZS4KCShnZXRQZXJtaXNzaW9uKTogRG9uJ3QgdXNlIHBhY2thZ2UgaW4gY2xhc3MgbmFtZS4KCShzZXREZWZhdWx0UmVxdWVzdFByb3BlcnR5KTogRml4ZWQgdHlwbyBpbiBkb2N1bWVudGF0aW9uLgoJKGluaXRpYWxpemVEYXRlRm9ybWF0cyk6IE1hZGUgbG9jYWxlIGEgbG9jYWwgdmFyaWFibGUuCgoyMDA0LTAxLTA2ICBNaWNoYWVsIEtvY2ggIDxrb25xdWVyb3JAZ214LmRlPgoKCSogamF2YS9sYW5nL1BhY2thZ2UuamF2YQoJKGdldFBhY2thZ2UpOiBHZXQgdGhlIGN1cnJlbnQgY2xhc3MgbG9hZGVyIGRpcmVjdGx5LgoJKiBqYXZhL2xhbmcvU2VjdXJpdHlNYW5hZ2VyLmphdmEKCShjdXJyZW50TG9hZGVkQ2xhc3MpOiBEb250IGl0ZXJhdGUgb3ZlciBjbGFzcyBjb250ZXh0cy4KCShjbGFzc0xvYWRlckRlcHRoKTogRG9uJ3QgY2hlY2sgY2xhc3MgbG9hZGVycyBpZiBldmVyeXRoaW5nIGlzIGFsbG93ZWQuCgoyMDA0LTAxLTA1ICBUaG9tYXMgRml0enNpbW1vbnMgIDxmaXR6c2ltQHJlZGhhdC5jb20+CgoJKiBqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0V2ZW50cy5jCgkocHJlX2V2ZW50X2hhbmRsZXIpOiBTZXQgYWxsIGluc2V0cyB0byAwIHdoZW4gYSBDb25maWd1cmUgZXZlbnQKCWlzIHJlY2VpdmVkIGZvciBhIEd0a1BsdWcuCgkqIGdudS9qYXZhL2F3dC9FbWJlZGRlZFdpbmRvdy5qYXZhICh3aW5kb3dfaWQpOiBSZW5hbWUgaGFuZGxlLgoJTWFrZSBoYW5kbGUgbG9uZywgbm90IGludC4KCShFbWJlZGRlZFdpbmRvdygpKTogTmV3IGNvbnN0cnVjdG9yLgoJKEVtYmVkZGVkV2luZG93KGludCkpOiBSZW5hbWUgd2luZG93X2lkIHRvIGhhbmRsZS4gIE1ha2UgaGFuZGxlCglsb25nLCBub3QgaW50LgoJKHNldEhhbmRsZSk6IE5ldyBtZXRob2QuCgkoZ2V0SGFuZGxlKTogUmV0dXJuIGxvbmcsIG5vdCBpbnQuCgkqIGdudS9qYXZhL2F3dC9wZWVyL0VtYmVkZGVkV2luZG93UGVlci5qYXZhIChlbWJlZCk6IE5ldyBtZXRob2QKCWRlY2xhcmF0aW9uLgoJKiBnbnUvamF2YS9hd3QvcGVlci9ndGsvR3RrRW1iZWRkZWRXaW5kb3dQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0VtYmVkZGVkV2luZG93UGVlci5jOgoJKGNyZWF0ZShsb25nKSk6IFRha2UgbG9uZyBwYXJhbWV0ZXIsIG5vdCBpbnQuICBDYXN0IGd0a19wbHVnX25ldwoJYXJndW1lbnQgdG8gR2RrTmF0aXZlV2luZG93LgoJKGNvbnN0cnVjdCk6IE5ldyBtZXRob2QuCgkoZW1iZWQpOiBOZXcgbWV0aG9kLgoKCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a1Njcm9sbFBhbmVQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a1Njcm9sbFBhbmVQZWVyLmMKCShjcmVhdGUoaW50LCBpbnQpKTogTmV3IG1ldGhvZC4KCShjcmVhdGUpOiBDYWxsIG5ldyBjcmVhdGUgbWV0aG9kLgoJKGd0a1Njcm9sbGVkV2luZG93TmV3LCBndGtTY3JvbGxlZFdpbmRvd1NldFNpemUpOiBSZW1vdmUKCW1ldGhvZHMuCgkoY2hpbGRSZXNpemVkKTogUmVtb3ZlIG5hdGl2ZSBpbXBsZW1lbnRhdGlvbi4gIEltcGxlbWVudCBpbgoJSmF2YS4KCShnZXRIU2Nyb2xsYmFySGVpZ2h0LCBnZXRWU2Nyb2xsYmFyV2lkdGgpOiBDYWxsCglndGtfd2lkZ2V0X3NpemVfcmVxdWVzdCB0byBnZXQgc2Nyb2xsYmFyIGRpbWVuc2lvbnMuCgkqIGphdmEvYXd0L1Njcm9sbFBhbmUuamF2YSAoZ2V0Vmlld3BvcnRTaXplKTogUmVpbXBsZW1lbnQuICBPbmx5CgljYWxsIGdldFZTY3JvbGxiYXJXaWR0aCBhbmQgZ2V0SFNjcm9sbGJhckhlaWdodCB3aGVuIHZlcnRpY2FsCglhbmQgaG9yaXpvbnRhbCBzY3JvbGxiYXJzIHJlc3BlY3RpdmVseSBhcmUgbmVlZGVkLgoJKGRvTGF5b3V0KTogRW5sYXJnZSBjaGlsZCBpZiBpdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHZpZXdwb3J0LgoKMjAwNC0wMS0wNSAgRmVybmFuZG8gTmFzc2VyICA8Zm5hc3NlckByZWRoYXQuY29tPgoKCSogamF2YS9hd3QvRGlhbG9nLmphdmEgKGNvbnN0cnVjdG9yKTogQWNjZXB0IG51bGwgdGl0bGUgYXMgcGVyIHNwZWMuCgkqIGphdmEvYXd0L0ZpbGVEaWFsb2cuamF2YSAoY29uc3RydWN0b3IpOiBUaHJvdyBleGNlcHRpb24gb24gaW52YWxpZAoJYXJndW1lbnQgYXMgcGVyIHNwZWMuCgoyMDA0LTAxLTA1ICBGZXJuYW5kbyBOYXNzZXIgIDxmbmFzc2VyQHJlZGhhdC5jb20+CgoJKiBqYXZhL2F3dC9DaG9pY2UuamF2YSAoYWRkKTogTGVhdmUgcG9zdGluZyBvZiBJdGVtRXZlbnRzIHRvIHBlZXIuCgkoaW5zZXJ0KTogRGl0dG8uCgkocmVtb3ZlKTogRGl0dG8uICBBbHNvLCBDaGVjayBmb3IgdmFsaWQgYXJndW1lbnQuCgkocmVtb3ZlQWxsKTogVXNlIHBlZXIgaW50ZXJmYWNlIG1ldGhvZC4KCSogZ251L2phdmEvYXd0L3BlZXIvZ3RrL0d0a0Nob2ljZVBlZXIuamF2YSAobmF0aXZlQWRkKTogTmV3IG5hbWUgZm9yCgluYXRpdmUgYWRkIGZ1bmN0aW9uLgoJKG5hdGl2ZVJlbW92ZSk6IE5ldyBuYW1lIGZvciBuYXRpdmUgcmVtb3ZlIGZ1bmN0aW9uLgoJKGdldEhpc3RvcnkpOiBOZXcgbmF0aXZlIGZ1bmN0aW9uLgoJKGNvbnN0cnVjdG9yKTogR2VuZXJhdGUgSXRlbUV2ZW50LgoJKGFkZCk6IERpdHRvLCBpZiBzZWxlY3Rpb24gaXMgY2hhbmdlZC4KCShyZW1vdmUpOiBEaXR0bywgZGl0dG8uCgkocmVtb3ZlQWxsKTogQWRkIGltcGxlbWVudGF0aW9uLgoJKGhhbmRsZUV2ZW50KTogUmVtb3ZlLiAgRGVhZCBjb2RlLgoJKGNob2ljZVBvc3RJdGVtRXZlbnQpOiBBZGQgY29tbWVudC4KCSogam5pL2d0ay1wZWVyL2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyLmMKCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyX2FwcGVuZCk6IEFkZCBjb21tZW50cy4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyX2FkZCk6IFJlbmFtZSB0by4uLgoJKEphdmFfZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0Nob2ljZVBlZXJfbmF0aXZlQWRkKTogTmV3IG5hbWUuICBBZGQKCWNvbW1lbnRzIGFuZCBmaXggY29uZGl0aW9uIHRvIGNoYW5nZSBzZWxlY3Rpb24uCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hvaWNlUGVlcl9yZW1vdmUpOiBSZW5hbWUgdG8uLi4KCShKYXZhX2dudV9qYXZhX2F3dF9wZWVyX2d0a19HdGtDaG9pY2VQZWVyX25hdGl2ZVJlbW92ZSk6IE5ldyBuYW1lLiAgQWRkCglyZW1vdmUgYWxsIGNhcGFiaWxpdHkuCgkoSmF2YV9nbnVfamF2YV9hd3RfcGVlcl9ndGtfR3RrQ2hvaWNlUGVlcl9nZXRIaXN0b3J5KTogTmV3IGZ1bmN0aW9uLgoJKGl0ZW1fYWN0aXZhdGUpOiBBZGQgY2FzdCB0byByZW1vdmUgY29tcGlsZXIgd2FybmluZy4KCjIwMDQtMDEtMDUgIFRob21hcyBGaXR6c2ltbW9ucyAgPGZpdHpzaW1AcmVkaGF0LmNvbT4KCgkqIGdudS9qYXZhL2F3dC9wZWVyL2d0ay9HdGtDb21wb25lbnRQZWVyLmphdmEsCglqbmkvZ3RrLXBlZXIvZ251X2phdmFfYXd0X3BlZXJfZ3RrX0d0a0NvbXBvbmVudFBlZXIuYwoJKGdldFByZWZlcnJlZFNpemUpOiBDYWxsIHByZWZlcnJlZFNpemUuCgkocHJlZmVycmVkU2l6ZSk6IENhbGwgZ3RrV2lkZ2V0R2V0UHJlZmVycmVkRGltZW5zaW9ucy4KCShnZXRNaW5pbXVtU2l6ZSk6IENhbGwgbWluaW11bVNpemUuCgkobWluaW11bVNpemUpOiBDYWxsIGd0a1dpZGdldEdldFByZWZlcnJlZERpbWVuc2lvbnMuCgkoZ3RrV2lkZ2V0R2V0RGltZW5zaW9ucyk6IFJldHVybiB0aGUgcGVlciB3aWRnZXQncyBjdXJyZW50IHNpemUKCXJlcXVlc3QuCgkoZ3RrV2lkZ2V0R2V0UHJlZmVycmVkRGltZW5zaW9ucyk6IFJldHVybiB0aGUgcGVlciB3aWRnZXQncwoJbmF0dXJhbCBzaXplIHJlcXVlc3QuCgoyMDA0LTAxLTA1ICBTYXNjaGEgQnJhd2VyICA8YnJhd2VyQGRhbmRlbGlzLmNoPgoKCVRoYW5rcyB0byBCcmlhbiBHb3VnaCA8YmpnQG5ldHdvcmstdGhlb3J5LmNvbT4KCSogamF2YS9hd3QvZ2VvbS9DdWJpY0N1cnZlMkQuamF2YSAoc29sdmVDdWJpYyk6IEltcGxlbWVudGVkLgoJKiBqYXZhL2F3dC9nZW9tL1F1YWRDdXJ2ZTJELmphdmEgKHNvbHZlUXVhZHJhdGljKTogUmUtd3JpdHRlbi4KCjIwMDQtMDEtMDQgIE1hdHRoaWFzIEtsb3NlICA8ZG9rb0BkZWJpYW4ub3JnPgoKCSogYWNsb2NhbC5tNDogUmVidWlsdCB1c2luZyAiYWNsb2NhbCAtSSAuIi4KCSogY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwNC0wMS0wMyAgUGVyIEJvdGhuZXIgIDxwZXJAYm90aG5lci5jb20+CgoJKiBqYXZhL3V0aWwvRGF0ZS5qYXZhIChwYXJzZSk6ICBGaXggYSBudW1iZXIgb2YgcHJvYmxlbXMuCgkoc2tpcFBhcmVucyk6ICBSZW1vdmUgbm8tbG9uZ2VyLW5lZWRlZCBtZXRob2QuCg==