JWdsb2JhbCBWRVJTSU9OICBAUEFDS0FHRV9WRVJTSU9OQAolZ2xvYmFsIFBhdGNobGV2ZWwgIEBQQUNLQUdFX1JFTEVBU0VACgoKTmFtZTogICAgICAgICAgIEBQQUNLQUdFX05BTUVAClZlcnNpb246ICAgICAgICAle1ZFUlNJT059ClJlbGVhc2U6ICAgICAgICAle1BhdGNobGV2ZWx9ClN1bW1hcnk6ICAgICAgICBVc2UgSW1hZ2VNYWdpY2sgdG8gY29udmVydCwgZWRpdCwgb3IgY29tcG9zZSBiaXRtYXAgaW1hZ2VzIGluIGEgdmFyaWV0eSBvZiBmb3JtYXRzLiAgSW4gYWRkaXRpb24gcmVzaXplLCByb3RhdGUsIHNoZWFyLCBkaXN0b3J0IGFuZCB0cmFuc2Zvcm0gaW1hZ2VzLgpHcm91cDogICAgICAgICAgQXBwbGljYXRpb25zL011bHRpbWVkaWEKTGljZW5zZTogICAgICAgIGh0dHA6Ly93d3cuaW1hZ2VtYWdpY2sub3JnL3NjcmlwdC9saWNlbnNlLnBocApVcmw6ICAgICAgICAgICAgaHR0cDovL3d3dy5pbWFnZW1hZ2ljay5vcmcvClNvdXJjZTA6ICAgICAgICBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZy9kb3dubG9hZC8le25hbWV9LyV7bmFtZX0tJXtWRVJTSU9OfS0le1BhdGNobGV2ZWx9LnRhci5iejIKClJlcXVpcmVzOiAgICAgICAle25hbWV9LWxpYnMgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KCkJ1aWxkUm9vdDogICAgICAle190bXBwYXRofS8le25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9IC1uKQpCdWlsZFJlcXVpcmVzOiAgYnppcDItZGV2ZWwsIGZyZWV0eXBlLWRldmVsLCBsaWJqcGVnLWRldmVsLCBsaWJwbmctZGV2ZWwKQnVpbGRSZXF1aXJlczogIGxpYnRpZmYtZGV2ZWwsIGdpZmxpYi1kZXZlbCwgemxpYi1kZXZlbCwgcGVybC1kZXZlbCA+PSA1LjguMQpCdWlsZFJlcXVpcmVzOiAgZ2hvc3RzY3JpcHQtZGV2ZWwsIGRqdnVsaWJyZS1kZXZlbApCdWlsZFJlcXVpcmVzOiAgbGlid21mLWRldmVsLCBqYXNwZXItZGV2ZWwsIGxpYnRvb2wtbHRkbC1kZXZlbApCdWlsZFJlcXVpcmVzOiAgbGliWDExLWRldmVsLCBsaWJYZXh0LWRldmVsLCBsaWJYdC1kZXZlbApCdWlsZFJlcXVpcmVzOiAgbGNtczItZGV2ZWwsIGxpYnhtbDItZGV2ZWwsIGxpYnJzdmcyLWRldmVsLCBPcGVuRVhSLWRldmVsCkJ1aWxkUmVxdWlyZXM6ICBmZnR3LWRldmVsLCBPcGVuRVhSLWRldmVsLCBsaWJ3ZWJwLWRldmVsCgolZGVzY3JpcHRpb24KSW1hZ2VNYWdpY2sgaXMgYSBzb2Z0d2FyZSBzdWl0ZSB0byBjcmVhdGUsIGVkaXQsIGFuZCBjb21wb3NlIGJpdG1hcCBpbWFnZXMuIEl0CmNhbiByZWFkLCBjb252ZXJ0IGFuZCB3cml0ZSBpbWFnZXMgaW4gYSB2YXJpZXR5IG9mIGZvcm1hdHMgKGFib3V0IDEwMCkKaW5jbHVkaW5nIERQWCwgR0lGLCBKUEVHLCBKUEVHLTIwMDAsIFBERiwgUGhvdG9DRCwgUE5HLCBQb3N0c2NyaXB0LCBTVkcsCmFuZCBUSUZGLiBVc2UgSW1hZ2VNYWdpY2sgdG8gdHJhbnNsYXRlLCBmbGlwLCBtaXJyb3IsIHJvdGF0ZSwgc2NhbGUsIHNoZWFyCmFuZCB0cmFuc2Zvcm0gaW1hZ2VzLCBhZGp1c3QgaW1hZ2UgY29sb3JzLCBhcHBseSB2YXJpb3VzIHNwZWNpYWwgZWZmZWN0cywKb3IgZHJhdyB0ZXh0LCBsaW5lcywgcG9seWdvbnMsIGVsbGlwc2VzIGFuZCBC6XppZXIgY3VydmVzLgoKVGhlIGZ1bmN0aW9uYWxpdHkgb2YgSW1hZ2VNYWdpY2sgaXMgdHlwaWNhbGx5IHV0aWxpemVkIGZyb20gdGhlIGNvbW1hbmQgbGluZQpvciB5b3UgY2FuIHVzZSB0aGUgZmVhdHVyZXMgZnJvbSBwcm9ncmFtcyB3cml0dGVuIGluIHlvdXIgZmF2b3JpdGUgcHJvZ3JhbW1pbmcKbGFuZ3VhZ2UuIENob29zZSBmcm9tIHRoZXNlIGludGVyZmFjZXM6IEcyRiAoQWRhKSwgTWFnaWNrQ29yZSAoQyksIE1hZ2lja1dhbmQKKEMpLCBDaE1hZ2ljayAoQ2gpLCBNYWdpY2srKyAoQysrKSwgSk1hZ2ljayAoSmF2YSksIEwtTWFnaWNrIChMaXNwKSwgbk1hZ2ljawooTmVrby9oYVhlKSwgUGFzY2FsTWFnaWNrIChQYXNjYWwpLCBQZXJsTWFnaWNrIChQZXJsKSwgTWFnaWNrV2FuZCBmb3IgUEhQCihQSFApLCBQeXRob25NYWdpY2sgKFB5dGhvbiksIFJNYWdpY2sgKFJ1YnkpLCBvciBUY2xNYWdpY2sgKFRjbC9USykuIFdpdGggYQpsYW5ndWFnZSBpbnRlcmZhY2UsIHVzZSBJbWFnZU1hZ2ljayB0byBtb2RpZnkgb3IgY3JlYXRlIGltYWdlcyBhdXRvbWFnaWNhbGx5CmFuZCBkeW5hbWljYWxseS4KCkltYWdlTWFnaWNrIGlzIGZyZWUgc29mdHdhcmUgZGVsaXZlcmVkIGFzIGEgcmVhZHktdG8tcnVuIGJpbmFyeSBkaXN0cmlidXRpb24Kb3IgYXMgc291cmNlIGNvZGUgdGhhdCB5b3UgbWF5IGZyZWVseSB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgaW4KYm90aCBvcGVuIGFuZCBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbnMuIEl0IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIGFuIEFwYWNoZQoyLjAtc3R5bGUgbGljZW5zZSwgYXBwcm92ZWQgYnkgdGhlIE9TSS4KClRoZSBJbWFnZU1hZ2ljayBkZXZlbG9wbWVudCBwcm9jZXNzIGVuc3VyZXMgYSBzdGFibGUgQVBJIGFuZCBBQkkuIEJlZm9yZQplYWNoIEltYWdlTWFnaWNrIHJlbGVhc2UsIHdlIHBlcmZvcm0gYSBjb21wcmVoZW5zaXZlIHNlY3VyaXR5IGFzc2Vzc21lbnQgdGhhdAppbmNsdWRlcyBtZW1vcnkgYW5kIHRocmVhZCBlcnJvciBkZXRlY3Rpb24gdG8gaGVscCBwcmV2ZW50IGV4cGxvaXRzLkltYWdlTWFnaWNrCmlzIGZyZWUgc29mdHdhcmUgZGVsaXZlcmVkIGFzIGEgcmVhZHktdG8tcnVuIGJpbmFyeSBkaXN0cmlidXRpb24gb3IgYXMgc291cmNlCmNvZGUgdGhhdCB5b3UgbWF5IGZyZWVseSB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgaW4gYm90aCBvcGVuIGFuZApwcm9wcmlldGFyeSBhcHBsaWNhdGlvbnMuIEl0IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIGFuIEFwYWNoZSAyLjAtc3R5bGUgbGljZW5zZSwKYXBwcm92ZWQgYnkgdGhlIE9TSS4KCgolcGFja2FnZSBkZXZlbApTdW1tYXJ5OiBMaWJyYXJ5IGxpbmtzIGFuZCBoZWFkZXIgZmlsZXMgZm9yIEltYWdlTWFnaWNrIGFwcGxpY2F0aW9uIGRldmVsb3BtZW50Ckdyb3VwOiBEZXZlbG9wbWVudC9MaWJyYXJpZXMKUmVxdWlyZXM6ICV7bmFtZX0gPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KUmVxdWlyZXM6IGxpYlgxMS1kZXZlbCwgbGliWGV4dC1kZXZlbCwgbGliWHQtZGV2ZWwsIGdob3N0c2NyaXB0LWRldmVsClJlcXVpcmVzOiBiemlwMi1kZXZlbCwgZnJlZXR5cGUtZGV2ZWwsIGxpYnRpZmYtZGV2ZWwsIGxpYmpwZWctZGV2ZWwsIGxjbXMyLWRldmVsClJlcXVpcmVzOiBsaWJ3ZWJwLWRldmVsLCBPcGVuRVhSLWRldmVsLCBqYXNwZXItZGV2ZWwsIHBrZ2NvbmZpZwpSZXF1aXJlczogJXtuYW1lfS1saWJzID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CgolZGVzY3JpcHRpb24gZGV2ZWwKSW1hZ2VNYWdpY2stZGV2ZWwgY29udGFpbnMgdGhlIGxpYnJhcnkgbGlua3MgYW5kIGhlYWRlciBmaWxlcyB5b3UnbGwKbmVlZCB0byBkZXZlbG9wIEltYWdlTWFnaWNrIGFwcGxpY2F0aW9ucy4gSW1hZ2VNYWdpY2sgaXMgYW4gaW1hZ2UKbWFuaXB1bGF0aW9uIHByb2dyYW0uCgpJZiB5b3Ugd2FudCB0byBjcmVhdGUgYXBwbGljYXRpb25zIHRoYXQgd2lsbCB1c2UgSW1hZ2VNYWdpY2sgY29kZSBvcgpBUElzLCB5b3UgbmVlZCB0byBpbnN0YWxsIEltYWdlTWFnaWNrLWRldmVsIGFzIHdlbGwgYXMgSW1hZ2VNYWdpY2suCllvdSBkbyBub3QgbmVlZCB0byBpbnN0YWxsIGl0IGlmIHlvdSBqdXN0IHdhbnQgdG8gdXNlIEltYWdlTWFnaWNrLApob3dldmVyLgoKJXBhY2thZ2UgbGlicwpTdW1tYXJ5OiBJbWFnZU1hZ2ljayBsaWJyYXJpZXMgdG8gbGluayB3aXRoCkdyb3VwOiBBcHBsaWNhdGlvbnMvTXVsdGltZWRpYQoKJWRlc2NyaXB0aW9uIGxpYnMKVGhpcyBwYWNrYWdlcyBjb250YWlucyBhIHNoYXJlZCBsaWJyYXJpZXMgdG8gdXNlIHdpdGhpbiBvdGhlciBhcHBsaWNhdGlvbnMuCgolcGFja2FnZSBkanZ1ClN1bW1hcnk6IERqVnUgcGx1Z2luIGZvciBJbWFnZU1hZ2ljawpHcm91cDogQXBwbGljYXRpb25zL011bHRpbWVkaWEKUmVxdWlyZXM6ICV7bmFtZX0gPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KCiVkZXNjcmlwdGlvbiBkanZ1ClRoaXMgcGFja2FnZXMgY29udGFpbnMgYSBwbHVnaW4gZm9yIEltYWdlTWFnaWNrIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvCnNhdmUgYW5kIGxvYWQgRGp2VSBmaWxlcyBmcm9tIEltYWdlTWFnaWNrIGFuZCBsaWJNYWdpY2tDb3JlIHVzaW5nIGFwcGxpY2F0aW9ucy4KCgolcGFja2FnZSBkb2MKU3VtbWFyeTogSW1hZ2VNYWdpY2sgSFRNTCBkb2N1bWVudGF0aW9uCkdyb3VwOiBEb2N1bWVudGF0aW9uCgolZGVzY3JpcHRpb24gZG9jCkltYWdlTWFnaWNrIGRvY3VtZW50YXRpb24sIHRoaXMgcGFja2FnZSBjb250YWlucyB1c2FnZSAoZm9yIHRoZQpjb21tYW5kbGluZSB0b29scykgYW5kIEFQSSAoZm9yIHRoZSBsaWJyYXJpZXMpIGRvY3VtZW50YXRpb24gaW4gSFRNTCBmb3JtYXQuCk5vdGUgdGhpcyBkb2N1bWVudGF0aW9uIGNhbiBhbHNvIGJlIGZvdW5kIG9uIHRoZSBJbWFnZU1hZ2ljayB3ZWJzaXRlOgpodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZy8uCgoKJXBhY2thZ2UgcGVybApTdW1tYXJ5OiBJbWFnZU1hZ2ljayBwZXJsIGJpbmRpbmdzCkdyb3VwOiBTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzClJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9ClJlcXVpcmVzOiBwZXJsKDpNT0RVTEVfQ09NUEFUXyUoZXZhbCAiYCV7X19wZXJsfSAtVjp2ZXJzaW9uYCI7IGVjaG8gJHZlcnNpb24pKQoKCiVkZXNjcmlwdGlvbiBwZXJsClBlcmwgYmluZGluZ3MgdG8gSW1hZ2VNYWdpY2suCgpJbnN0YWxsIEltYWdlTWFnaWNrLXBlcmwgaWYgeW91IHdhbnQgdG8gdXNlIGFueSBwZXJsIHNjcmlwdHMgdGhhdCB1c2UKSW1hZ2VNYWdpY2suCgoKJXBhY2thZ2UgYysrClN1bW1hcnk6IEltYWdlTWFnaWNrIE1hZ2ljaysrIGxpYnJhcnkgKEMrKyBiaW5kaW5ncykKR3JvdXA6IFN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKUmVxdWlyZXM6ICV7bmFtZX0gPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KCiVkZXNjcmlwdGlvbiBjKysKVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBNYWdpY2srKyBsaWJyYXJ5LCBhIEMrKyBiaW5kaW5nIHRvIHRoZSBJbWFnZU1hZ2ljawpncmFwaGljcyBtYW5pcHVsYXRpb24gbGlicmFyeS4KCkluc3RhbGwgSW1hZ2VNYWdpY2stYysrIGlmIHlvdSB3YW50IHRvIHVzZSBhbnkgYXBwbGljYXRpb25zIHRoYXQgdXNlIE1hZ2ljaysrLgoKCiVwYWNrYWdlIGMrKy1kZXZlbApTdW1tYXJ5OiBDKysgYmluZGluZ3MgZm9yIHRoZSBJbWFnZU1hZ2ljayBsaWJyYXJ5Ckdyb3VwOiBEZXZlbG9wbWVudC9MaWJyYXJpZXMKUmVxdWlyZXM6ICV7bmFtZX0tYysrID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9ClJlcXVpcmVzOiAle25hbWV9LWRldmVsID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CgolZGVzY3JpcHRpb24gYysrLWRldmVsCkltYWdlTWFnaWNrLWRldmVsIGNvbnRhaW5zIHRoZSBzdGF0aWMgbGlicmFyaWVzIGFuZCBoZWFkZXIgZmlsZXMgeW91J2xsCm5lZWQgdG8gZGV2ZWxvcCBJbWFnZU1hZ2ljayBhcHBsaWNhdGlvbnMgdXNpbmcgdGhlIE1hZ2ljaysrIEMrKyBiaW5kaW5ncy4KSW1hZ2VNYWdpY2sgaXMgYW4gaW1hZ2UgbWFuaXB1bGF0aW9uIHByb2dyYW0uCgpJZiB5b3Ugd2FudCB0byBjcmVhdGUgYXBwbGljYXRpb25zIHRoYXQgd2lsbCB1c2UgTWFnaWNrKysgY29kZQpvciBBUElzLCB5b3UnbGwgbmVlZCB0byBpbnN0YWxsIEltYWdlTWFnaWNrLWMrKy1kZXZlbCwgSW1hZ2VNYWdpY2stZGV2ZWwgYW5kCkltYWdlTWFnaWNrLgoKWW91IGRvbid0IG5lZWQgdG8gaW5zdGFsbCBpdCBpZiB5b3UganVzdCB3YW50IHRvIHVzZSBJbWFnZU1hZ2ljaywgb3IgaWYgeW91CndhbnQgdG8gZGV2ZWxvcC9jb21waWxlIGFwcGxpY2F0aW9ucyB1c2luZyB0aGUgSW1hZ2VNYWdpY2sgQyBpbnRlcmZhY2UsCmhvd2V2ZXIuCgoKJXByZXAKJXNldHVwIC1xIC1uICV7bmFtZX0tJXtWRVJTSU9OfS0le1BhdGNobGV2ZWx9CnNlZCAtaSAncy9saWJsdGRsLmxhL2xpYmx0ZGwuc28vZycgY29uZmlndXJlCmljb252IC1mIElTTy04ODU5LTEgLXQgVVRGLTggUkVBRE1FLnR4dCA+IFJFQURNRS50eHQudG1wCnRvdWNoIC1yIFJFQURNRS50eHQgUkVBRE1FLnR4dC50bXAKbXYgUkVBRE1FLnR4dC50bXAgUkVBRE1FLnR4dAojIGZvciAlJWRvYwpta2RpciBNYWdpY2srKy9leGFtcGxlcwpjcCAtcCBNYWdpY2srKy9kZW1vLyouY3BwIE1hZ2ljaysrL2RlbW8vKi5taWZmIE1hZ2ljaysrL2V4YW1wbGVzCgolYnVpbGQKJWNvbmZpZ3VyZSAtLWVuYWJsZS1zaGFyZWQgXAogICAgICAgIC0tZGlzYWJsZS1zdGF0aWMgXAogICAgICAgIC0td2l0aC1tb2R1bGVzIFwKICAgICAgICAtLXdpdGgtcGVybCBcCiAgICAgICAgLS13aXRoLXggXAogICAgICAgIC0td2l0aC10aHJlYWRzIFwKICAgICAgICAtLXdpdGgtbWFnaWNrX3BsdXNfcGx1cyBcCiAgICAgICAgLS13aXRoLWdzbGliIFwKICAgICAgICAtLXdpdGgtd21mIFwKICAgICAgICAtLXdpdGgtbGNtczIgXAogICAgICAgIC0td2l0aC13ZWJwIFwKICAgICAgICAtLXdpdGgtb3BlbmV4ciBcCiAgICAgICAgLS13aXRoLXJzdmcgXAogICAgICAgIC0td2l0aC14bWwgXAogICAgICAgIC0td2l0aC1wZXJsLW9wdGlvbnM9IklOU1RBTExESVJTPXZlbmRvciAlez9wZXJsX3ByZWZpeH0gQ0M9JyVfX2NjIC1MJFBXRC9tYWdpY2svLmxpYnMnIExERExGTEFHUz0nLXNoYXJlZCAtTCRQV0QvTWFnaWNrQ29yZS8ubGlicyciIFwKICAgICAgICAtLXdpdGhvdXQtZHBzIAoKIyBEaXNhYmxlIHJwYXRoCnNlZCAtaSAnc3xeaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0uKnxoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSIifGcnIGxpYnRvb2wKc2VkIC1pICdzfF5ydW5wYXRoX3Zhcj1MRF9SVU5fUEFUSHxydW5wYXRoX3Zhcj1ESUVfUlBBVEhfRElFfGcnIGxpYnRvb2wKIyBEbyAqTk9UKiB1c2UgJSV7P19zbXBfbWZsYWdzfSwgdGhpcyBjYXVzZXMgUGVybE1hZ2ljayB0byBiZSBzaWxlbnRseSBtaXNidWlsZAptYWtlCgoKJWluc3RhbGwKcm0gLXJmICV7YnVpbGRyb290fQoKbWFrZSAlez9fc21wX21mbGFnc30gaW5zdGFsbCBERVNURElSPSV7YnVpbGRyb290fSBJTlNUQUxMPSJpbnN0YWxsIC1wIgpjcCAtYSB3d3cvc291cmNlICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9L2RvYy8le25hbWV9LSV7VkVSU0lPTn0Kcm0gJXtidWlsZHJvb3R9JXtfbGliZGlyfS8qLmxhCgojIGZpeCB3ZWlyZCBwZXJsIE1hZ2ljay5zbyBwZXJtaXNzaW9ucwpjaG1vZCA3NTUgJXtidWlsZHJvb3R9JXtwZXJsX3ZlbmRvcmFyY2h9L2F1dG8vSW1hZ2UvTWFnaWNrLyovKi5zbwoKIyBwZXJsbWFnaWNrOiBmaXggcGVybCBwYXRoIG9mIGRlbW8gZmlsZXMKJXtfX3Blcmx9IC1NRXh0VXRpbHM6Ok1ha2VNYWtlciAtZSAnTVktPmZpeGluKEBBUkdWKScgUGVybE1hZ2ljay9kZW1vLyoucGwKCiMgcGVybG1hZ2ljazogY2xlYW51cCB2YXJpb3VzIHBlcmwgdGVtcGZpbGVzIGZyb20gdGhlIGJ1aWxkIHdoaWNoIGdldCBpbnN0YWxsZWQKZmluZCAle2J1aWxkcm9vdH0gLW5hbWUgIiouYnMiIHx4YXJncyBybSAtZgpmaW5kICV7YnVpbGRyb290fSAtbmFtZSAiLnBhY2tsaXN0IiB8eGFyZ3Mgcm0gLWYKZmluZCAle2J1aWxkcm9vdH0gLW5hbWUgInBlcmxsb2NhbC5wb2QiIHx4YXJncyBybSAtZgoKIyBwZXJsbWFnaWNrOiBidWlsZCBmaWxlcyBsaXN0CmVjaG8gIiVkZWZhdHRyKC0scm9vdCxyb290LC0pIiA+IHBlcmwtcGtnLWZpbGVzCmZpbmQgJXtidWlsZHJvb3R9LyV7X2xpYmRpcn0vcGVybCogLXR5cGUgZiAtcHJpbnQgXAogICAgICAgIHwgc2VkICJzQF4le2J1aWxkcm9vdH1AQGciID4gcGVybC1wa2ctZmlsZXMgCmZpbmQgJXtidWlsZHJvb3R9JXtwZXJsX3ZlbmRvcmFyY2h9IC10eXBlIGQgLXByaW50IFwKICAgICAgICB8IHNlZCAic0BeJXtidWlsZHJvb3R9QCVkaXIgQGciIFwKICAgICAgICB8IGdyZXAgLXYgJ14lZGlyICV7cGVybF92ZW5kb3JhcmNofSQnIFwKICAgICAgICB8IGdyZXAgLXYgJy9hdXRvJCcgPj4gcGVybC1wa2ctZmlsZXMgCmlmIFsgLXogcGVybC1wa2ctZmlsZXMgXSA7IHRoZW4KICAgIGVjaG8gIkVSUk9SOiBFTVBUWSBGSUxFIExJU1QiCiAgICBleGl0IC0xCmZpCgolY2hlY2sKZXhwb3J0IExEX0xJQlJBUllfUEFUSD0le2J1aWxkcm9vdH0vJXtfbGliZGlyfQptYWtlICV7P19zbXBfbWZsYWdzfSBjaGVjawoKJWNsZWFuCnJtIC1yZiAle2J1aWxkcm9vdH0KCiVwb3N0IGxpYnMgLXAgL3NiaW4vbGRjb25maWcKCiVwb3N0IGMrKyAtcCAvc2Jpbi9sZGNvbmZpZwoKJXBvc3R1biBsaWJzIC1wIC9zYmluL2xkY29uZmlnCgolcG9zdHVuIGMrKyAtcCAvc2Jpbi9sZGNvbmZpZwoKJWZpbGVzCiVkb2MgUkVBRE1FLnR4dCBMSUNFTlNFIE5PVElDRSBBVVRIT1JTLnR4dCBORVdTLnR4dCBDaGFuZ2VMb2cgUGxhdGZvcm1zLnR4dAole19iaW5kaXJ9L1thLXpdKgole19tYW5kaXJ9L21hblsxNDVdL1thLXpdKgole19tYW5kaXJ9L21hbjEvJXtuYW1lfS4qCgolZmlsZXMgbGlicwolZGVmYXR0cigtLHJvb3Qscm9vdCwtKQolZG9jIExJQ0VOU0UgTk9USUNFIEFVVEhPUlMudHh0IFF1aWNrU3RhcnQudHh0CiV7X2xpYmRpcn0vbGliTWFnaWNrQ29yZS03LlExNi5zby4qCiV7X2xpYmRpcn0vbGliTWFnaWNrV2FuZC03LlExNi5zby4qCiV7X2xpYmRpcn0vJXtuYW1lfS0le1ZFUlNJT059CiV7X2RhdGFkaXJ9LyV7bmFtZX0tNwolZXhjbHVkZSAle19saWJkaXJ9LyV7bmFtZX0tJXtWRVJTSU9OfS9tb2R1bGVzLVExNi9jb2RlcnMvZGp2dS4qCiV7X3N5c2NvbmZkaXJ9LyV7bmFtZX0tNwoKJWZpbGVzIGRldmVsCiVkZWZhdHRyKC0scm9vdCxyb290LC0pCiV7X2JpbmRpcn0vTWFnaWNrQ29yZS1jb25maWcKJXtfYmluZGlyfS9NYWdpY2stY29uZmlnCiV7X2JpbmRpcn0vTWFnaWNrV2FuZC1jb25maWcKJXtfYmluZGlyfS9XYW5kLWNvbmZpZwole19saWJkaXJ9L2xpYk1hZ2lja0NvcmUtNy5RMTYuc28KJXtfbGliZGlyfS9saWJNYWdpY2tXYW5kLTcuUTE2LnNvCiV7X2xpYmRpcn0vcGtnY29uZmlnL01hZ2lja0NvcmUucGMKJXtfbGliZGlyfS9wa2djb25maWcvTWFnaWNrQ29yZS03LlExNi5wYwole19saWJkaXJ9L3BrZ2NvbmZpZy9JbWFnZU1hZ2ljay5wYwole19saWJkaXJ9L3BrZ2NvbmZpZy9JbWFnZU1hZ2ljay03LlExNi5wYwole19saWJkaXJ9L3BrZ2NvbmZpZy9NYWdpY2tXYW5kLnBjCiV7X2xpYmRpcn0vcGtnY29uZmlnL01hZ2lja1dhbmQtNy5RMTYucGMKJWRpciAle19pbmNsdWRlZGlyfS8le25hbWV9LTYKJXtfaW5jbHVkZWRpcn0vJXtuYW1lfS03L01hZ2lja0NvcmUKJXtfaW5jbHVkZWRpcn0vJXtuYW1lfS03L01hZ2lja1dhbmQKJXtfbWFuZGlyfS9tYW4xL01hZ2lja0NvcmUtY29uZmlnLioKJXtfbWFuZGlyfS9tYW4xL01hZ2lja1dhbmQtY29uZmlnLioKCiVmaWxlcyBkanZ1CiVkZWZhdHRyKC0scm9vdCxyb290LC0pCiV7X2xpYmRpcn0vJXtuYW1lfS0le1ZFUlNJT059L21vZHVsZXMtUTE2L2NvZGVycy9kanZ1LioKCiVmaWxlcyBkb2MKJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKJWRvYyAle19kYXRhZGlyfS9kb2MvJXtuYW1lfS03CiVkb2MgJXtfZGF0YWRpcn0vZG9jLyV7bmFtZX0tJXtWRVJTSU9OfQolZG9jIExJQ0VOU0UKCiVmaWxlcyBjKysKJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKJWRvYyBNYWdpY2srKy9BVVRIT1JTIE1hZ2ljaysrL0NoYW5nZUxvZyBNYWdpY2srKy9ORVdTIE1hZ2ljaysrL1JFQURNRQolZG9jIHd3dy9NYWdpY2srKy9DT1BZSU5HCiV7X2xpYmRpcn0vbGliTWFnaWNrKystNy5RMTYuc28uKgoKJWZpbGVzIGMrKy1kZXZlbAolZGVmYXR0cigtLHJvb3Qscm9vdCwtKQolZG9jIE1hZ2ljaysrL2V4YW1wbGVzCiV7X2JpbmRpcn0vTWFnaWNrKystY29uZmlnCiV7X2luY2x1ZGVkaXJ9LyV7bmFtZX0tNy9NYWdpY2srKwole19pbmNsdWRlZGlyfS8le25hbWV9LTcvTWFnaWNrKysuaAole19saWJkaXJ9L2xpYk1hZ2ljaysrLTcuUTE2LnNvCiV7X2xpYmRpcn0vcGtnY29uZmlnL01hZ2ljaysrLnBjCiV7X2xpYmRpcn0vcGtnY29uZmlnL01hZ2ljaysrLTcuUTE2LnBjCiV7X2xpYmRpcn0vcGtnY29uZmlnL0ltYWdlTWFnaWNrKysucGMKJXtfbGliZGlyfS9wa2djb25maWcvSW1hZ2VNYWdpY2srKy03LlExNi5wYwole19tYW5kaXJ9L21hbjEvTWFnaWNrKystY29uZmlnLioKCiVmaWxlcyBwZXJsIC1mIHBlcmwtcGtnLWZpbGVzCiVkZWZhdHRyKC0scm9vdCxyb290LC0pCiV7X21hbmRpcn0vbWFuMy8qCiVkb2MgUGVybE1hZ2ljay9kZW1vLyBQZXJsTWFnaWNrL0NoYW5nZWxvZyBQZXJsTWFnaWNrL1JFQURNRS50eHQKCiVjaGFuZ2Vsb2cKKiBTdW4gTWF5IDAxIDIwMDUgQ3Jpc3R5IDxjcmlzdHlAbXlzdGljLmVzLmR1cG9udC5jb20+IDEuMC0wCi0gIFBvcnQgb2YgUmVkaGF0J3MgUlBNIHNjcmlwdCB0byBzdXBwb3J0IEltYWdlTWFnaWNrLgo=