IwojICAgUGFydHMgb2YgdGhlIGRldmVsb3BtZW50IGVmZm9ydCBmb3IgdGhpcyBwcm9qZWN0IGhhdmUgYmVlbgojICAgc3BvbnNvcmVkIGJ5IFNJRU1FTlMgQUcsIEF1c3RyaWEuIFRoYW5rcyB0byBTSUVNRU5TIGZvcgojICAgc3VwcG9ydGluZyBhbiBPcGVuIFNvdXJjZSBwcm9qZWN0IQojCiMKIyAgIFRoaXMgaXMgYXQgbGVhc3QgYSBwYXJ0aWFsIGNyZWRpdHMtZmlsZSBvZiBpbmRpdmlkdWFsIHBlb3BsZSB0aGF0CiMgICBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoZSBVLUJvb3QgcHJvamVjdC4gSXQgaXMgc29ydGVkIGJ5IG5hbWUgYW5kCiMgICBmb3JtYXR0ZWQgdG8gYWxsb3cgZWFzeSBncmVwcGluZyBhbmQgYmVhdXRpZmljYXRpb24gYnkgc2NyaXB0cy4KIyAgIFRoZSBmaWVsZHMgYXJlOiBuYW1lIChOKSwgZW1haWwgKEUpLCB3ZWItYWRkcmVzcyAoVyksIFBHUCBrZXkgSUQKIyAgIGFuZCBmaW5nZXJwcmludCAoUCksIGRlc2NyaXB0aW9uIChEKSwgYW5kIHNuYWlsLW1haWwgYWRkcmVzcyAoUykuCiMgICBUaGFua3MsCiMKIyAgICAgICAgICAgICAgICAgICAgICAgV29sZmdhbmcgRGVuawojLS0tLS0tLS0tLQoKTjogRHIuIEJydW5vIEFjaGF1ZXIKRTogYnJ1bm9AZXhldC1hZy5kZQpEOiBTdXBwb3J0IGZvciBOZXRCU0QgKGJvdGggYXMgaG9zdCBhbmQgdGFyZ2V0IHN5c3RlbSkKCk46IEd1aWxsYXVtZSBBbGV4YW5kcmUKRTogZ3VpbGxhdW1lLmFsZXhhbmRyZUBnZXNwYWMuY2gKRDogQWRkIFBDSVBQQzYgY29uZmlndXJhdGlvbgoKTjogU3dlbiBBbmRlcnNvbgpFOiBzYW5kQHBlcHBlcmNvbi5kZQpEOiBFUklDIFN1cHBvcnQKCk46IFBhbnRlbGlzIEFudG9uaW91CkU6IHBhbnRvQGludHJhY29tLmdyCkQ6IE5FVFZJQSAmIE5FVFBIT05FIGJvYXJkIHN1cHBvcnQsIEFSVE9TIHN1cHBvcnQuCkQ6IFN1cHBvcnQgZm9yIFNpbGljb24gVHVybmtleSBlWHByZXNzIFhUYwoKTjogUGllcnJlIEF1YmVydApFOiA8cC5hdWJlcnRAc3RhdWJsaS5jb20+CkQ6IFN1cHBvcnQgZm9yIFJQWENsYXNzaWMgYm9hcmQKCk46IFl1bGkgQmFyY29oZW4KRTogeXVsaUBhcmFiZWxsYXN3LmNvbQpEOiBVbmlmaWVkIHN1cHBvcnQgZm9yIE1vdG9yb2xhIE1QQzgyNnhBRFMvTVBDODI3MkFEUy9QUTJGQURTIGJvYXJkcy4KRDogU3VwcG9ydCBmb3IgWmVwaHlyIEVuZ2luZWVyaW5nIFpQQy4xOTAwIGJvYXJkLgpEOiBTdXBwb3J0IGZvciBJbnRlcnBoYXNlIGlTUEFOIGJvYXJkcy4KRDogU3VwcG9ydCBmb3IgQW5hbG9ndWUmTWljcm8gQWRkZXIgYm9hcmRzLgpEOiBTdXBwb3J0IGZvciBBbmFsb2d1ZSZNaWNybyBSYXR0bGVyIGJvYXJkcy4KVzogaHR0cDovL3d3dy5hcmFiZWxsYXN3LmNvbQoKTjogSmVycnkgdmFuIEJhcmVuCkU6IDx2YW5iYXJlbkBjaWRlYXMuY29tPgpEOiBCZWRCdWcgcG9ydCB0byA2MDNlIGNvcmUgKE1QQzgyeHgpLiBDb2RlIGZvciBlbmhhbmNlZCBtZW1vcnkgdGVzdC4KCk46IFBhdmVsIEJhcnR1c2VrCkU6IDxwYmFAc3lzZ28uY29tPgpEOiBSZWlzZXJmcyBzdXBwb3J0Clc6IGh0dHA6Ly93d3cuZWxpbm9zLmNvbQoKTjogQW5kcmUgQmVhdWRpbgpFOiA8YW5kcmUuYmVhdWRpbkBjb2x1YnJpcy5jb20+CkQ6IFBDTUNJQSwgRXRoZXJuZXQsIFRGVFAKCk46IEpvbiBCZW5lZGlrdHNzb24KRTogam9uYkBtYXJlbC5pcwpEOiBTdXBwb3J0IGZvciBNYXJlbCBWMzcgYm9hcmQKCk46IFJhcGhhZWwgQm9zc2VrCkU6IHJhcGhhZWwuYm9zc2VrQHNvbHV0aW9uczRsaW51eC5kZQpEOiA4eHhyb20tMC4zLjAKCk46IENsaWZmIEJyYWtlCkU6IGNsaWZmLmJyYWtlQGdtYWlsLmNvbQpEOiBQb3J0IHRvIFZpYnJlbiBQWEEyNTUgSURQIHBsYXRmb3JtClc6IGh0dHA6Ly93d3cudmlicmVuLmNvbQpXOiBodHRwOi8vYmVjLXN5c3RlbXMuY29tCgpOOiBSaWNrIEJyb25zb24KRTogcmlja0BlZm4ub3JnCkQ6IEF0bWVsIEFUOTFSTTkyMDBESyBhbmQgTkFORCBzdXBwb3J0CgpOOiBEYXZpZCBCcm93bgpFOiBEQnJvd24wM0BoYXJyaXMuY29tCkQ6IEV4dGVuc2lvbnMgdG8gOHh4cm9tLTAuMy4wCgpOOiBPbGl2ZXIgQnJvd24KRTogb2Jyb3duQGFkdmVudG5ldHdvcmtzLmNvbQpEOiBQb3J0IHRvIHRoZSBndzgyNjAgYm9hcmQKCk46IEN1cnQgQnJ1bmUKRTogY3VydEBjdWN5LmNvbQpEOiBBZGRlZCBzdXBwb3J0IGZvciBTYW1zdW5nIFMzQzQ1MTBCIENQVSAoQVJNN3RkbWkgYmFzZWQgU29DKQpEOiBBZGRlZCBzdXBwb3J0IGZvciBFU1BELUluYy4gRVZCNDUxMCBCb2FyZApXOiBodHRwOi8vd3d3LmN1Y3kuY29tCgpOOiBKb25hdGhhbiBEZSBCcnV5bmUKRTogam9uYXRoYW4uZGVicnV5bmVAc2llbWVucy5hdGVhLmJlCkQ6IFBvcnQgdG8gU2llbWVucyBJQUQyMTAgYm9hcmQKCk46IEtlbiBDaG91CkU6IGtjaG91QGllZWUub3JnCkQ6IFN1cHBvcnQgZm9yIEEzMDAwIFNCQyBib2FyZAoKTjogQ29ubiBDbGFyawpFOiBjbGFya0Blc3RlZW0uY29tCkQ6IEVTVEVFTTE5MkUgc3VwcG9ydAoKTjogTWFnbnVzIERhbW0KRTogZGFtbUBvcGVuc291cmNlLnNlCkQ6IDh4eHJvbQoKTjogR2VvcmdlIEcuIERhdmlzCkU6IGdkYXZpc0BtdmlzdGEuY29tCkQ6IEJvYXJkIHBvcnRzIGZvciBBRFMgR3JhcGhpY3NDbGllbnQrIGFuZCBJbnRlbCBBc3NhYmV0CgpOOiBBcnVuIERoYXJhbmthcgpFOiBBRGhhcmFua2FyQEFUVEJJLkNvbQpEOiB0aHJlYWRzIC8gc2NoZWR1bGVyIGV4YW1wbGUgY29kZQoKTjogS+FyaSBEYXbt8HNzb24KRToga2RAZmxhZ2EuaXMKRDogRkxBR0EgRE0gU3VwcG9ydAoKTjogV29sZmdhbmcgRGVuawpFOiB3ZEBkZW54LmRlCkQ6IFUtQm9vdCBpbml0aWFsIHZlcnNpb24sIGNvbnRpbnVpbmcgbWFpbnRlbmFuY2UsIEFSTUJvb3QgbWVyZ2UKVzogaHR0cDovL3d3dy5kZW54LmRlCgpOOiBEYW4gQS4gRGlja2V5CkU6IGRkaWNrZXlAY2hhcnRlci5uZXQKRDogRkFEUyBTdXBwb3J0CgpOOiBKYW1lcyBGLiBEb3VnaGVydHkKRTogamZkQEdpZ2FiaXROZXR3b3Jrcy5DT00KRDogUG9ydCB0byB0aGUgTU9VU1NFIGJvYXJkCgpOOiBEYXZlIEVsbGlzCkU6IERHRUBzaXhuZXRpby5jb20KRDogRUVQUk9NIFNwZWVkdXAsIFNYTkk4NTVUIHBvcnQKCk46IFRob21hcyBFbHN0ZQpFOiBpbmZvQGVsc3RlLm9yZwpEOiBQb3J0IGZvciB0aGUgTW9kTkVUNTAgQm9hcmQsIE5FVCs1MCBDUFUgUG9ydApXOiBodHRwOi8vd3d3LmltbXMuZGUKCk46IERhbmllbCBFbmdzdHL2bQpFOiBkYW5pZWxAb21pY3Jvbi5zZQpEOiB4ODYgcG9ydCwgU3VwcG9ydCBmb3Igc2M1MjBfY2RwIGJvYXJkCgpOOiBEci4gV29sZmdhbmcgR3JhbmRlZ2dlcgpFOiB3Z0BkZW54LmRlCkQ6IFN1cHBvcnQgZm9yIEludGVycGhhc2UgNDUzOSBUMS9FMS9KMSBQTUMsIFBONjIsIENDTSwgU0NNIGJvYXJkcwpXOiB3d3cuZGVueC5kZQoKTjogUGV0ZXIgRmlndWxpCkU6IHBlcG9zaEBldGMuc2sKRDogU3VwcG9ydCBmb3IgV0VQIEVQMjUwIChQWEEpIGJvYXJkCgpOOiBUaG9tYXMgRnJpZWRlbgpFOiBUaG9tYXNGQGh5cGVyaW9uLWVudGVydGFpbm1lbnQuY29tCkQ6IFN1cHBvcnQgZm9yIEFtaWdhT25lCgpOOiBGcmFuayBHb3R0c2NobGluZwpFOiBmZ290dHNjaGxpbmdAZWx0ZWMuZGUKRDogU3VwcG9ydCBmb3IgRUxURUMgTUhQQy9CQUI3eHgvRUxQUEMgYm9hcmRzLCBjZmItY29uc29sZSwgaTgwNDIsIFNNSSBMeW54RU0KVzogd3d3LmVsdGVjLmRlCgpOOiBNYXJpdXMgR3JvZWdlcgpFOiBtZ3JvZWdlckBzeXNnby5kZQpEOiBNQlggU3VwcG9ydCwgYm9hcmQgc3BlY2lmaWMgZnVuY3Rpb24gaW50ZXJmYWNlLCBFU1QgU0JDODI2MCBzdXBwb3J0OyBpbml0aWFsIHN1cHBvcnQgZm9yIFN0cm9uZ0FSTSAoTEFSVCksIEFSTTcyMFRETUkgKGltcGxlbWVudGEgQTcpClc6IHd3dy5lbGlub3MuY29tCgpOOiBLaXJrIEhhZGVybGllCkU6IGtoYWRlcmxpZUB2aXZpZGltYWdlLmNvbQpEOiBBZGRlZCBURlRQIHRvIDh4eHJvbSAoLT4gMC4zLjEpCgpOOiBDaHJpcyBIYWxsaW5hbgpFOiBjbGhAbmV0MXBsdXMuY29tCkQ6IERIQ1AgU3VwcG9ydAoKTjogQW5uZS1Tb3BoaWUgSGFybm9pcwpFOiBBbm5lLVNvcGhpZS5IYXJub2lzQG5leHRyZWFtLmZyCkQ6IFBvcnQgdG8gV2FsbnV0NDA1IGJvYXJkCgpOOiBBbmRyZWFzIEhlcHBlbApFOiBhaGVwcGVsQHN5c2dvLmRlCkQ6IENQVSBTdXBwb3J0IGZvciBNUEMgNzV4OyBib2FyZCBzdXBwb3J0IGZvciBFbHRlYyBCQUI3NTAgW29ic29sZXRlIV0KCk46IEF1Z3VzdCBIb2VyYWVuZGwKRTogYXVndXN0LmhvZXJhbmRsQGdteC5hdApEOiBTdXBwb3J0IGZvciB0aGUgbG9nb2RsIGJvYXJkIChQWEEyeHgpCgpOOiBKb3NoIEh1YmVyCkU6IGh1YmVyQGFsdW0ud3BpLmVkdQpEOiBQb3J0IHRvIHRoZSBHYWxpbGVvIEV2YWx1YXRpb24gQm9hcmQsIGFuZCB0aGUgTVBDNzR4eCBjcHUgc2VyaWVzLgpXOiBodHRwOi8vd3d3Lm1jbHguY29tLwoKSDogU3R1YXJ0IEh1Z2hlcwpFOiBzdHVhcnRoQGxpbmVvLmNvbQpEOiBQb3J0IHRvIE1QQzgyNjBBRFMgYm9hcmQKCkg6IFJpY2ggSXJlbGFuZApFOiByLmlyZWxhbmRAY29tcHV0ZXIub3JnCkQ6IEZQR0EgZGV2aWNlIGNvbmZpZ3VyYXRpb24gZHJpdmVyCgpOOiBHYXJ5IEplbm5lam9obgpFOiBnYXJ5akBqZW5uZWpvaG4ub3JnLCBnakBkZW54LmRlCkQ6IFN1cHBvcnQgZm9yIFNhbXN1bmcgQVJNOTIwVCBTM0MyNDAwWCwgQVJNOTIwVCAiVFJBQiIKVzogd3d3LmRlbnguZGUKCk46IE11cnJheSBKZW5zZW4KRTogTXVycmF5LkplbnNlbkBjc2lyby5hdQpEOiBJbml0aWFsIDgyNjAgc3VwcG9ydDsgR0RCIHN1cHBvcnQKRDogUG9ydCB0byBDb2dlbnQrSHltb2QgYm9hcmRzOyBIeW1vZCBCb2FyZCBEYXRhYmFzZQoKTjogWW9vLiBKb25naG9vbgpFOiB5b290aEBpcG9uZS5jby5rcgpEOiBBZGRlZCBwb3J0IHRvIHRoZSBSUFhsaXRlIGJvYXJkCgpOOiBNYXJrIEpvbmFzCkU6IG1hcmsuam9uYXNAZnJlZXNjYWxlLmNvbQpEOiBTdXBwb3J0IGZvciBGcmVlc2NhbGUgVG90YWw1MjAwIHBsYXRmb3JtClc6IGh0dHA6Ly93d3cubW9iaWxlZ3QuY29tLwoKTjogU2FtIFNvbmcKRTogc2Ftc29uZ3NodUB5YWhvby5jb20uY24KRDogUG9ydCB0byB0aGUgUlBYbGl0ZV9EVyBib2FyZAoKTjogQnJhZCBLZW1wCkU6IEJyYWQuS2VtcEBzZXJhbm9hLmNvbQpEOiBQb3J0IHRvIFdpbmRyaXZlciBwcG1jODI2MCBib2FyZAoKTjogU2FuZ21vb24gS2ltCkU6IGRvZ29pbEBldGluc3lzLmNvbQpEOiBTdXBwb3J0IGZvciBkZWJyaXMgYm9hcmQKCk46IEZyZWRlcmljayBXLiBLbGF0dApFOiBmcmVkLmtsYXR0QHdpbmRyaXZlci5jb20KRDogU3VwcG9ydCBmb3IgV2luZCBSaXZlciBTQkM4NTQwL1NCQzg1NjAgYm9hcmRzCgpOOiBUaG9tYXMgS29lbGxlcgpFOiB0a29lbGxlckBnbXgubmV0CkQ6IFBvcnQgdG8gTW90b3JvbGEgU2FuZHBvaW50IDMgKE1QQzgyNDApCgpOOiBSYWdodSBLcmlzaG5hcHJhc2FkCkU6IFJhZ2h1LktyaXNobmFwcmFzYWRAZmNpLmNvbQpEOiBTdXBwb3J0IGZvciBBZGRlci1JSSBNUEM4NTJUIGV2YWx1YXRpb24gYm9hcmQKVzogaHR0cDovL3d3dy5mb3JjZWNvbXB1dGVycy5jb20KCk46IEJlcm5oYXJkIEt1aG4KRTogYmt1aG5AbWV0cm93ZXJrcy5jb20KRCBTdXBwb3J0IGZvciBDb2xkZmlyZSBDUFU7IFN1cHBvcnQgZm9yIE1vdG9yb2xhIE01MjcyQzMgYW5kIE01MjgyRVZCIGJvYXJkcwoKTjogUHJha2FzaCBLdW1hcgpFOiBwcmFrYXNoQGVtYmVkeC5jb20KRCAgU3VwcG9ydCBmb3IgSW50cmluc3ljIENFUkYgUFhBMjUwIGJvYXJkLgoKTjogVGhvbWFzIExhbmdlCkU6IHRob21hc0Bjb3JlbGF0dXMuc2UKRDogU3VwcG9ydCBmb3IgR1RIIGFuZCBkYmF1MXgwMCBib2FyZHM7IGxvdHMgb2YgUENNQ0lBIGZpeGVzCgpOOiBNYXJjIExlZW1hbgpFOiBtYXJjLmxlZW1hbkBiYXJjby5jb20KRDogU3VwcG9ydCBmb3IgQmFyY28gU3RyZWFtaW5nIFZpZGVvIENhcmQgKFNWQykgYW5kIFNhbXBsZSBDb21wcmVzcyBOZXR3b3JrIChTQ04pClc6IHd3dy5iYXJjby5jb20KCk46IFRoZSBMRU9YIHRlYW0KRTogdGVhbUBsZW94Lm9yZwpEOiBTdXBwb3J0IGZvciBMRU9YIGJvYXJkcywgRFMxNjR4IFJUQwpXOiBodHRwOi8vd3d3Lmxlb3gub3JnCgpOOiBMZWlmIExpbmRob2xtCkU6IGxlaWYubGluZGhvbG1AaTNtaWNyby5jb20KRDogU3VwcG9ydCBmb3IgQU1EIGRiYXUxNTUwIGJvYXJkLgoKTjogU3RlcGhhbiBMaW56CkU6IGxpbnpAbGktcHJvLm5ldApEOiBTdXBwb3J0IGZvciBOaW9zIFN0cmF0aXggRGV2ZWxvcG1lbnQgS2l0IChESy0xUzEwKQpEOiBTdXBwb3J0IGZvciBTU1YgQUROUC9FU0MxIChOaW9zIEN5Y2xvbmUpClc6IGh0dHA6Ly93d3cubGktcHJvLm5ldAoKTjogUmF5bW9uZCBMbwpFOiBsb0Byb3V0ZWZyZWUuY29tCkQ6IFN1cHBvcnQgZm9yIERPUyBwYXJ0aXRpb25zCgpOOiBEYW4gTWFsZWsKRTogZGFuQGVtYmVkZGVkYWxsZXkuY29tCkQ6IEZBRFNST00sIHRoZSBncmFuZGZhdGhlciBvZiBhbGwgb2YgdGhpcwpEOiBTdXBwb3J0IGZvciBTaWxpY29uIFR1cm5rZXkgZVhwcmVzcyBYVGMKCk46IEFuZHJlYSAibGxhbmRyZSIgTWFyc29uCkU6IGFuZHJlYS5tYXJzb25AZGF2ZS10ZWNoLml0CkQ6IFBvcnQgdG8gUFBDaGFtZWxlb25FVkIgYm9hcmQKVzogd3d3LmRhdmUtdGVjaC5pdAoKTjogUmVpbmhhcmQgTWV5ZXIKRTogci5tZXllckBlbWstZWxla3Ryb25pay5kZQpEOiBQb3J0IHRvIEVNSyBUT1A4NjAgTW9kdWxlCgpOOiBKYXkgTW9ua21hbgpFOiBqdG1Ac21vb3Roc21vb3RoaWUuY29tCkQ6IEVTVCBTQkM4MjYwIHN1cHBvcnQKCk46IEZyYW5rIE1vcmF1ZgpFOiBmcmFuay5tb3JhdWZAc2FsemJyZW5uZXIuY29tCkQ6IFN1cHBvcnQgZm9yIEVtYmVkZGVkIFBsYW5ldCBSUFggU3VwZXIgQm9hcmQKCk46IERhdmlkIE38bGxlcgpFOiBkLm11ZWxsZXJAZWxzb2Z0LmNoCkQ6IFN1cHBvcnQgZm9yIFNhbXN1bmcgQVJNOTIwVCBTTURLMjQxMCBldmFsIGJvYXJkCgpOOiBTY290dCBNY051dHQKRTogc21jbnV0dEBwc3llbnQuY29tCkQ6IFN1cHBvcnQgZm9yIEFsdGVyYSBOaW9zLTMyIENQVQpEOiBTdXBwb3J0IGZvciBBbHRlcmEgTmlvcy1JSSBDUFUKRDogU3VwcG9ydCBmb3IgTmlvcyBDeWNsb25lIERldmVsb3BtZW50IEtpdCAoREstMUMyMCkKVzogaHR0cDovL3d3dy5wc3llbnQuY29tCgpOOiBSb2xmIE9mZmVybWFubnMKRTogcm9mQHN5c2dvLmRlCkQ6IEluaXRpYWwgc3VwcG9ydCBmb3IgU1NWLUROUDExMTAsIFNNQzkxMTExIGRyaXZlcgpXOiB3d3cuZWxpbm9zLmNvbQoKTjogVG9sdW5heSBPcmt1bgpFOiB0b3JrdW5AbmV4dGlvLmNvbQpEOiBTdXBwb3J0IGZvciBDb2dlbnQgQ1NCMjcyICYgQ1NCNDcyIGJvYXJkcwoKTjogS2VpdGggT3V0d2F0ZXIKRToga2VpdGhfb3V0d2F0ZXJAbXZpcy5jb20KRDogU3VwcG9ydCBmb3IgZ2VuZXJpYy9jdXN0b20gTVBDODYwVCBib2FyZHMgKEdFTjg2MFQsIEdFTjg2MFRfU0MpCgpOOiBGcmFuayBQYW5ubwpFOiBmcGFubm9AZGVscGhpbnRlY2guY29tCkQ6IFN1cHBvcnQgZm9yIEVtYmVkZGVkIFBsYW5ldCBFUDgyNjAgQm9hcmQKCk46IERlbmlzIFBldGVyCkU6IGQucGV0ZXJAbXBsLmNoCkQ6IFN1cHBvcnQgZm9yIDR4eCBTQ1NJLCBmbG9wcHksIENEUk9NLCBDVDY5MDAwIHZpZGVvLCAuLi4KRDogU3VwcG9ydCBmb3IgUElQNDA1IGJvYXJkCkQ6IFN1cHBvcnQgZm9yIE1JUDQwNSBib2FyZAoKTjogRGF2ZSBQZXZlcmxleQpFOiBkcGV2ZXJsZXlAbXBjLWRhdGEuY28udWsKVzogaHR0cDovL3d3dy5tcGMtZGF0YS5jby51awpEOiBPTUFQNzMwIFAyIGJvYXJkIHN1cHBvcnQKCk46IEJpbGwgUGl0dHMKRTogd2xwQG1pbmRzcHJpbmcuY29tCkQ6IEJlZEJ1ZyBlbWJlZGRlZCBkZWJ1Z2dlciBjb2RlCgpOOiBEYW5pZWwgUG9pcm90CkU6IGRhbi5wb2lyb3RAd2luZHJpdmVyLmNvbQpEOiBTdXBwb3J0IGZvciB0aGUgV2luZCBSaXZlciBzYmM0MDUsIHNiYzgyNDAgYm9hcmQKVzogaHR0cDovL3d3dy53aW5kcml2ZXIuY29tCgpOOiBTdGVmYW4gUm9lc2UKRTogc3RlZmFuLnJvZXNlQGVzZC1lbGVjdHJvbmljcy5jb20KRDogQU1DQyBQUEM0MDEvNDAzLzQwNUdQIFN1cHBvcnQ7IFdpbmRvd3MgZW52aXJvbm1lbnQgc3VwcG9ydAoKTjogRXJ3aW4gUm9sCkU6IGVyd2luQG11ZmZpbi5vcmcKRDogYm9vdCBzdXBwb3J0IGZvciBSVEVNUwoKTjogUGF1bCBSdWhsYW5kCkU6IHBydWhsYW5kQHJvY2hlc3Rlci5yci5jb20KRDogUG9ydCB0byBMb2dpYyBab29tIExIN0E0MHggU0RLIGJvYXJkKHMpCgpOOiBOZWlsIFJ1c3NlbGwKRTogY2FyZXRAYy1zaWRlLmNvbQpEOiBBdXRob3Igb2YgTGlNb24tMS40LjIsIHdoaWNoIGNvbnRyaWJ1dGVkIHNvbWUgaWRlYXMKCk46IFRyYXZpcyBCLiBTYXd5ZXIKRTogdHJhdmlzLnNhd3llckBzYW5kYnVyc3QuY29tCkQ6IFN1cHBvcnQgZm9yIEFNQ0MgUFBDNDQwR1gsIFhFUyBYUGVkaXRlMTAwMCA0NDBHWCBQclBNQyBib2FyZC4gIEFNQ0MgNDQwZ3ggUmVmIFBsYXRmb3JtIChPY290ZWEpCgpOOiBQYW9sbyBTY2FmZmFyZGkKRTogYXJzZW5pb0B0aW4uaXQKRDogRkFEUzgyMyBjb25maWd1cmF0aW9uLCBNUEM4MjMgdmlkZW8gc3VwcG9ydCwgSTJDLCB3aXJlbGVzcyBrZXlib2FyZCwgbG90cyBtb3JlCgpOOiBSb2JlcnQgU2Nod2ViZWwKRTogci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZQpEOiBTdXBwb3J0IGZvciBjc2IyMjYsIGxvZ29kbCBhbmQgaW5ub2tvbSBib2FyZHMgKFBYQTJ4eCkKCk46IEFydCBTaGlwa293c2tpCkU6IGFydEB2aWRlb24tY2VudHJhbC5jb20KRDogU3VwcG9ydCBmb3IgTmV0U2lsaWNvbiBOUzc1MjAKCk46IFlhc3VzaGkgU2hvamkKRTogeWFzaGlAYXRtYXJrLXRlY2huby5jb20KRDogU3VwcG9ydCBmb3IgWGlsaW54IE1pY3JvQmxhemUsIGZvciBBdG1hcmsgVGVjaG5vIFNVWkFLVSBGUEdBIGJvYXJkCgpOOiBLdXJ0IFN0cmVtZXJjaApFOiBrdXJ0QGV4eXMuYmUKRDogU3VwcG9ydCBmb3IgRXh5cyBYU0VuZ2luZSBib2FyZAoKTjogQW5kcmVhIFNjaWFuCkU6IGFuZHJlYS5zY2lhbkBkYXZlLXRlY2guaXQKRDogUG9ydCB0byBCMiBib2FyZApXOiB3d3cuZGF2ZS10ZWNoLml0CgpOOiBSb2IgVGF5bG9yCkU6IHJvYnRAZmx5aW5ncGlnLmNvbQpEOiBQb3J0IHRvIE1CWDg2MFQgYW5kIFNhbmRwb2ludDgyNDAKCk46IEVyaWsgVGhlaXNlbgpFOiBldGhlaXNlbkBtaW5kc3ByaW5nLmNvbQpEOiBNQlg4eHggYW5kIG1hbnkgb3RoZXIgcGF0Y2hlcwoKTjogSmltIFRob21wc29uCkU6IGppbUBtdXNlbmtpLmNvbQpEOiBTdXBwb3J0IGZvciBNVVNFTktJIGJvYXJkCgpOOiBSdW5lIFRvcmdlcnNlbgpFOiA8cnVuZXRAaW5ub3ZzeXMuY29tPgpEOiBTdXBwb3J0IGZvciBNb3Rvcm9sYSBNUEM4MjY2QURTIGJvYXJkCgpOOiBHcmVnIFVuZ2VyZXIKRTogZ3JlZy51bmdlcmVyQG9wZW5nZWFyLmNvbQpEOiBTdXBwb3J0IGZvciBrczg2OTUgQ1BVLCBhbmQgT3BlbkdlYXIgY21YWFhYIGJvYXJkcwoKTjogRGF2aWQgVXBkZWdyYWZmCkU6IGRhdmVAY3JheS5jb20KRDogUG9ydCB0byBDcmF5IEwxIGJvYXJkOyBESENQIHZlbmRvciBleHRlbnNpb25zCgpOOiBDaHJpc3RpYW4gVmVqbGJvCkU6IGNocmlzdGlhbi52ZWpsYm9AdGVsbGFicy5jb20KRDogRkFEUzg2MFQgZXRoZXJuZXQgc3VwcG9ydAoKTjogUm9iZXJ0IFdoYWxleQpFOiByd2hhbGV5QGFwcGxpZWRkYXRhLm5ldApEOiBQb3J0IHRvIEFSTSBQWEEyN3ggYWRzdml4IFNCQwoKTjogTWFydGluIFdpbmlzdG9lcmZlcgpFOiBtYXJ0aW53aW5pc3RvZXJmZXJAZ214LmNoCkQ6IFBvcnQgdG8gTVBDNTU1LzU1NiBtaWNyb2NvbnRyb2xsZXJzIGFuZCBzdXBwb3J0IGZvciBjbWkgYm9hcmQKCk46IE1pbmctTGVuIFd1CkU6IG1pbmdsZW5fd3VAdGVjaHdhcmUuY29tLnR3CkQ6IE1vdG9yb2xhIE1YMUFEUyBib2FyZCBzdXBwb3J0Clc6IGh0dHA6Ly93d3cudGVjaHdhcmUuY29tLnR3LwoKTjogWGlhbmdodWEgWGlhbwpFOiB4LnhpYW9AbW90b3JvbGEuY29tCkQ6IFN1cHBvcnQgZm9yIE1vdG9yb2xhIDg1eHgoUG93ZXJRVUlDQyBJSUkpIGNoaXAsIE1QQzg1NDBBRFMgYW5kIE1QQzg1NjBBRFMgYm9hcmRzLgoKTjogSm9obiBaaGFuCkU6IHpoYW56QHNpbm92ZWUuY29tCkQ6IFN1cHBvcnQgZm9yIFNpbm9WZWUgTWljcm9zeXN0ZW1zIFNDOHh4IFNCQwoKTjogQWxleCBadWVwa2UKRTogYXp1QHN5c2dvLmRlCkQ6IE92ZXJhbGwgaW1wcm92ZW1lbnRzIG9uIFN0cm9uZ0FSTSwgQVJNNzIwVERNSTsgU3VwcG9ydCBmb3IgVHV4c2NyZWVuOyBpbml0aWFsIFBDTUNJQSBzdXBwb3J0IGZvciBBUk0KVzogd3d3LmVsaW5vcy5jb20KCk46IEphbWVzIE1hY0F1bGF5CkU6IGphbWVzLm1hY2F1bGF5QGFtaXJpeC5jb20KRDogU3VwcHBvcnQgZm9yIEFtaXJpeCBBUDEwMDAKVzogd3d3LmFtaXJpeC5jb20K