ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Nhcy52aW0gYi9ydW50aW1lL3N5bnRheC9zYXMudmltCmluZGV4IDkwZDQxMWQuLjgyZmZlNjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Nhcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc2FzLnZpbQpAQCAtMSwyNjIgKzEsMjU5IEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJU0FTCi0iIE1haW50YWluZXI6CUphbWVzIEtpZGQgPGphbWVzLmtpZGRAY292YW5jZS5jb20+Ci0iIExhc3QgQ2hhbmdlOiAgMjAxMiBBcHIgMjAKLSIgICAgICAgICAgICAgICBDb3JyZWN0ZWQgYnVnIGNhdXNpbmcgc29tZSBrZXl3b3JkcyB0byBhcHBlYXIgYXMgc3RyaW5ncyBpbnN0ZWFkCi0iICAgICAgICAgICAgICAgMTggSnVsIDIwMDggYnkgUGF1bG8gVGFuaW1vdG8gPHB0YW5pbW90b0BnbWFpbC5jb20+Ci0iICAgICAgICAgICAgICAgRml4ZWQgY29tbWVudHMgd2l0aCAqIHRha2luZyBtdWx0aXBsZSBsaW5lcy4KLSIgICAgICAgICAgICAgICBGaXhlZCBoaWdobGlnaHRpbmcgb2YgbWFjcm8ga2V5d29yZHMuCi0iICAgICAgICAgICAgICAgQWRkZWQgd29yZHMgdG8gY2FzZXMgdGhhdCBkaWRuJ3QgZml0IGFueXdoZXJlLgotIiAgICAgICAgICAgICAJMDIgSnVuIDIwMDMKLSIJCUFkZGVkIGhpZ2hsaWdodGluZyBmb3IgYWRkaXRpb25hbCBrZXl3b3JkcyBhbmQgc3VjaDsKLSIJCUF0dGVtcHRlZCB0byBtYXRjaCBTQVMgZGVmYXVsdCBzeW50YXggY29sb3JzOwotIgkJQ2hhbmdlZCBzeW5jaW5nIHNvIGl0IGRvZXNuJ3QgbG9zZSBjb2xvcnMgb24gbGFyZ2UgYmxvY2tzOwotIgkJTXVjaCB0aGFua3MgdG8gQm9iIEhlY2tlbCBmb3Iga25vd2xlZGdlYWJsZSB0d2Vha2luZy4KLSIgIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKLSAgIGZpbmlzaAorIiBMYW5ndWFnZTogICAgIFNBUworIiBNYWludGFpbmVyOiAgIFpoZW4tSHVhbiBIdSA8d2lsZGtlbnlAZ21haWwuY29tPgorIiBPcmlnaW5hbCBNYWludGFpbmVyOiBKYW1lcyBLaWRkIDxqYW1lcy5raWRkQGNvdmFuY2UuY29tPgorIiBWZXJzaW9uOiAgICAgIDMuMC4wCisiIExhc3QgQ2hhbmdlOiAgTWFyIDEwLCAyMDE3CisiCisiIDIwMTcgTWFyIDcKKyIKKyIgVXBncmFkZSB2ZXJzaW9uIG51bWJlciB0byAzLjAuIEltcHJvdmVtZW50cyBpbmNsdWRlOgorIiAtIEltcHJvdmUgc3luYyBzcGVlZAorIiAtIExhcmdlbHkgZW5oYW5jZSBwcmVjaXNpb24KKyIgLSBVcGRhdGUga2V5d29yZHMgaW4gdGhlIGxhdGVzdCBTQVMgKGFzIG9mIE1hciAyMDE3KQorIiAtIEFkZCBzeW50YXhlcyBmb3IgZGF0ZS90aW1lIGNvbnN0YW50cworIiAtIEFkZCBzeW50YXggZm9yIGRhdGEgbGluZXMKKyIgLSBBZGQgKGJhY2spIHN5bnRheCBmb3IgVE9ETyBpbiBjb21tZW50cworIgorIiAyMDE3IEZlYiA5CisiCisiIEFkZCBzeW50YXggZm9sZGluZyAKKyIKKyIgMjAxNiBPY3QgMTAKKyIKKyIgQWRkIGhpZ2hsaWdodGluZyBmb3IgZnVuY3Rpb25zCisiCisiIDIwMTYgU2VwIDE0CisiCisiIENoYW5nZSB0aGUgaW1wbGVtZW50YXRpb24gb2Ygc3ludGF4aW5nCisiIG1hY3JvIGZ1bmN0aW9uIG5hbWVzIHNvIHRoYXQgbWFjcm8gcGFyYW1ldGVycyBzYW1lCisiIGFzIFNBUyBrZXl3b3JkcyB3b24ndCBiZSBoaWdobGlnaHRlZAorIiAoVGhhbmsgSm91ZyBSYXcgZm9yIHRoZSBzdWdnZXN0aW9uKQorIiBBZGQgc2VjdGlvbiBoaWdobGlnaHRpbmc6CisiIC0gVXNlIC8qKiBhbmQgKiovIHRvIGRlZmluZSBhIHNlY3Rpb24KKyIgLSBJdCBmdW5jdGlvbnMgdGhlIHNhbWUgYXMgYSBjb21tZW50IGJ1dAorIiAgIHdpdGggZGlmZmVyZW50IGhpZ2hsaWdodGluZworIgorIiAyMDE2IEp1biAxNAorIgorIiBNYWpvciBjaGFuZ2VzIHNvIHVwZ3JhZGUgdmVyc2lvbiBudW1iZXIgdG8gMi4wCisiIE92ZXJoYXVsIHRoZSBlbnRpcmUgc2NyaXB0IChhZ2FpbikuIEltcHJvdmVtZW50cyBpbmNsdWRlOgorIiAtIEhpZ2hlciBwcmVjaXNpb24KKyIgLSBGYXN0ZXIgc3luY2hyb25pemF0aW9uCisiIC0gU2VwYXJhdGUgY29sb3IgZm9yIGNvbnRyb2wgc3RhdGVtZW50cworIiAtIEhpZ2hsaWdodCBoYXNoIGFuZCBqYXZhIG9iamVjdHMKKyIgLSBIaWdobGlnaHQgbWFjcm8gdmFyaWFibGVzIGluIGRvdWJsZSBxdW90ZWQgc3RyaW5ncworIiAtIFVwZGF0ZSBhbGwgc3ludGF4ZXMgYmFzZWQgb24gU0FTIDkuNAorIiAtIEFkZCBjb21wbGV0ZSBTQVMvR1JBUEggYW5kIFNBUy9TVEFUIHByb2NlZHVyZSBzeW50YXhlcworIiAtIEFkZCBQcm9jIFRFTVBMQVRFIGFuZCBHVEwgc3ludGF4ZXMKKyIgLSBBZGQgY29tcGxldGUgRFMyIHN5bnRheGVzCisiIC0gQWRkIGJhc2ljIElNTCBzeW50YXhlcworIiAtIE1hbnkgb3RoZXIgaW1wcm92ZW1lbnRzIGFuZCBidWcgZml4ZXMKKyIgRHJvcCBzdXBwb3J0IGZvciBWSU0gdmVyc2lvbiA8IDYwMAorCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygnYjpjdXJyZW50X3N5bnRheCcpCisgIGZpbmlzaAogZW5kaWYKIAorbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCiBzeW4gY2FzZSBpZ25vcmUKIAotc3luIHJlZ2lvbiBzYXNTdHJpbmcJc3RhcnQ9KyIrICBza2lwPStcXFxcXHxcXCIrICBlbmQ9KyIrCi1zeW4gcmVnaW9uIHNhc1N0cmluZwlzdGFydD0rJysgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rJysKKyIgQmFzaWMgU0FTIHN5bnRheGVzCitzeW4ga2V5d29yZCBzYXNPcGVyYXRvciBhbmQgZXEgZ2UgZ3QgaW4gbGUgbHQgbmUgbm90IG9mIG9yCitzeW4ga2V5d29yZCBzYXNSZXNlcnZlZCBfYWxsXyBfYXV0b21hdGljXyBfY2hhcl8gX2NoYXJhY3Rlcl8gX2RhdGFfIF9pbmZpbGVfIF9sYXN0XyBfbl8gX25hbWVfIF9udWxsXyBfbnVtXyBfbnVtZXJpY18gX3RlbXBvcmFyeV8gX3VzZXJfIF93ZWJvdXRfCisiIFN0cmluZ3MKK3N5biByZWdpb24gc2FzU3RyaW5nIHN0YXJ0PSsnKyBza2lwPSsnJysgZW5kPSsnKyBjb250YWlucz1AU3BlbGwKK3N5biByZWdpb24gc2FzU3RyaW5nIHN0YXJ0PSsiKyBza2lwPSsiIisgZW5kPSsiKyBjb250YWlucz1zYXNNYWNyb1ZhcmlhYmxlLEBTcGVsbAorIiBDb25zdGFudHMKK3N5biBtYXRjaCBzYXNOdW1iZXIgL1x2PFxkKyUoXC5cZCspPSUoPnxlW1wtK109XGQrPikvIGRpc3BsYXkKK3N5biBtYXRjaCBzYXNEYXRlVGltZSAvXHYoWyciXSlcZHsyfSUoamFufGZlYnxtYXJ8YXByfG1heXxqdW58anVsfGF1Z3xzZXB8b2N0fG5vdnxkZWMpXGR7Mn0lKFxkezJ9KT06XGR7Mn06XGR7Mn0lKDpcZHsyfSk9JShhbXxwbSlcMWR0Pi8gZGlzcGxheQorc3luIG1hdGNoIHNhc0RhdGVUaW1lIC9cdihbJyJdKVxkezJ9JShqYW58ZmVifG1hcnxhcHJ8bWF5fGp1bnxqdWx8YXVnfHNlcHxvY3R8bm92fGRlYylcZHsyfSUoXGR7Mn0pPVwxZD4vIGRpc3BsYXkKK3N5biBtYXRjaCBzYXNEYXRlVGltZSAvXHYoWyciXSlcZHsyfTpcZHsyfSUoOlxkezJ9KT0lKGFtfHBtKVwxdD4vIGRpc3BsYXkKKyIgQ29tbWVudHMKK3N5biBrZXl3b3JkIHNhc1RvZG8gdG9kbyB0YmQgZml4bWUgY29udGFpbmVkCitzeW4gcmVnaW9uIHNhc0NvbW1lbnQgc3RhcnQ9Jy9cKicgZW5kPSdcKi8nIGNvbnRhaW5zPXNhc1RvZG8KK3N5biByZWdpb24gc2FzQ29tbWVudCBzdGFydD0nXHYlKF58OylccypcenNcJT1cKicgZW5kPSc7J21lPXMtMSBjb250YWlucz1zYXNUb2RvCitzeW4gcmVnaW9uIHNhc1NlY3RMYmwgbWF0Y2hncm91cD1zYXNTZWN0TGJsRW5kcyBzdGFydD0nL1wqXCpccyonIGVuZD0nXHMqXCpcKi8nIGNvbmNlYWxlbmRzCisiIE1hY3Jvcworc3luIG1hdGNoIHNhc01hY3JvVmFyaWFibGUgJ1x2XCYrXHcrJShcLlx3Kyk9JyBkaXNwbGF5CitzeW4gbWF0Y2ggc2FzTWFjcm9SZXNlcnZlZCAnXHZcJSUoYWJvcnR8Ynl8Y29weXxkaXNwbGF5fGRvfGVsc2V8ZW5kfGdsb2JhbHxnb3RvfGlmfGluY2x1ZGV8aW5wdXR8bGV0fGxpc3R8bG9jYWx8bWFjcm98bWVuZHxwdXR8cmV0dXJufHJ1bnxzeW1kZWx8c3lzY2FsbHxzeXNleGVjfHN5c2xwdXR8c3lzcnB1dHx0aGVufHRvfHVudGlsfHdpbmRvd3x3aGlsZSk+JyBkaXNwbGF5CitzeW4gcmVnaW9uIHNhc01hY3JvRnVuY3Rpb24gbWF0Y2hncm91cD1zYXNNYWNyb0Z1bmN0aW9uTmFtZSBzdGFydD0nXHZcJVx3K1x6ZVwoJyBlbmQ9JyknaGU9cy0xIGNvbnRhaW5zPUBzYXNCYXNpY1N5bnRheCxzYXNNYWNyb0Z1bmN0aW9uCitzeW4gcmVnaW9uIHNhc01hY3JvRnVuY3Rpb24gbWF0Y2hncm91cD1zYXNNYWNyb0Z1bmN0aW9uTmFtZSBzdGFydD0nXHZcJXE9c3lzZnVuY1x6ZVwoJyBlbmQ9JyknaGU9cy0xIGNvbnRhaW5zPUBzYXNCYXNpY1N5bnRheCxzYXNNYWNyb0Z1bmN0aW9uLHNhc0RhdGFTdGVwRnVuY3Rpb24KKyIgU3ludGF4IGNsdXN0ZXIgZm9yIGJhc2ljIFNBUyBzeW50YXhlcworc3luIGNsdXN0ZXIgc2FzQmFzaWNTeW50YXggY29udGFpbnM9c2FzT3BlcmF0b3Isc2FzUmVzZXJ2ZWQsc2FzTnVtYmVyLHNhc0RhdGVUaW1lLHNhc1N0cmluZyxzYXNDb21tZW50LHNhc01hY3JvUmVzZXJ2ZWQsc2FzTWFjcm9GdW5jdGlvbixzYXNNYWNyb1ZhcmlhYmxlLHNhc1NlY3RMYmwKIAotIiBXYW50IHJlZ2lvbiBmcm9tICdjYXJkczsnIHRvICc7JyB0byBiZSBjYXB0dXJlZCAoQm9iIEhlY2tlbCkKLXN5biByZWdpb24gc2FzQ2FyZHMJc3RhcnQ9Il5ccypDQVJEUy4qIiBlbmQ9Il5ccyo7XHMqJCIKLXN5biByZWdpb24gc2FzQ2FyZHMJc3RhcnQ9Il5ccypEQVRBTElORVMuKiIgZW5kPSJeXHMqO1xzKiQiCisiIEZvcm1hdHMKK3N5biBtYXRjaCBzYXNGb3JtYXQgJ1x2XCRcdytcLicgZGlzcGxheSBjb250YWluZWQKK3N5biBtYXRjaCBzYXNGb3JtYXQgJ1x2PFx3K1wuJShcZCs+KT0nIGRpc3BsYXkgY29udGFpbmVkCitzeW4gcmVnaW9uIHNhc0Zvcm1hdENvbnRleHQgc3RhcnQ9Jy4nIGVuZD0nOydtZT1zLTEgY29udGFpbmVkIGNvbnRhaW5zPUBzYXNCYXNpY1N5bnRheCxzYXNGb3JtYXQKIAotc3luIG1hdGNoIHNhc051bWJlcgkiLVw9XDxcZCpcLlw9WzAtOV9dXD4iCisiIERlZmluZSBnbG9iYWwgc3RhdGVtZW50cyB0aGF0IGNhbiBiZSBhY2Nlc3NlZCBvdXQgb2YgZGF0YSBzdGVwIG9yIHByb2NlZHVyZXMKK3N5biBrZXl3b3JkIHNhc0dsb2JhbFN0YXRlbWVudEtleXdvcmQgY2F0bmFtZSBkbSBlbmRzYXMgZmlsZW5hbWUgZm9vdG5vdGUgZm9vdG5vdGUxIGZvb3Rub3RlMiBmb290bm90ZTMgZm9vdG5vdGU0IGZvb3Rub3RlNSBmb290bm90ZTYgZm9vdG5vdGU3IGZvb3Rub3RlOCBmb290bm90ZTkgZm9vdG5vdGUxMCBtaXNzaW5nIGxpYm5hbWUgbG9jayBvZHMgb3B0aW9ucyBwYWdlIHF1aXQgcmVzZXRsaW5lIHJ1biBzYXNmaWxlIHNraXAgc3lzZWNobyB0aXRsZSB0aXRsZTEgdGl0bGUyIHRpdGxlMyB0aXRsZTQgdGl0bGU1IHRpdGxlNiB0aXRsZTcgdGl0bGU4IHRpdGxlOSB0aXRsZTEwIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc2FzR2xvYmFsU3RhdGVtZW50T0RTS2V5d29yZCBjaHRtbCBjc3ZhbGwgZG9jYm9vayBkb2N1bWVudCBlc2NhcGVjaGFyIGVwdWIgZXB1YjIgZXB1YjMgZXhjbHVkZSBleGNlbCBncmFwaGljcyBodG1sIGh0bWwzIGh0bWw1IGh0bWxjc3MgaW1vZGUgbGlzdGluZyBtYXJrdXAgb3V0cHV0IHBhY2thZ2UgcGF0aCBwY2wgcGRmIHByZWZlcmVuY2VzIHBodG1sIHBvd2VycG9pbnQgcHJpbnRlciBwcm9jbGFiZWwgcHJvY3RpdGxlIHBzIHJlc3VsdHMgcnRmIHNlbGVjdCBzaG93IHRhZ3NldHMgdHJhY2UgdXNlZ29wdCB2ZXJpZnkgd21sIGNvbnRhaW5lZAorc3luIG1hdGNoIHNhc0dsb2JhbFN0YXRlbWVudCAnXHYlKF58OylccypcenNcaFx3Kj4nIGRpc3BsYXkgdHJhbnNwYXJlbnQgY29udGFpbnM9c2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZAorc3luIG1hdGNoIHNhc0dsb2JhbFN0YXRlbWVudCAnXHYlKF58OylccypcenNvZHM+JyBkaXNwbGF5IHRyYW5zcGFyZW50IGNvbnRhaW5zPXNhc0dsb2JhbFN0YXRlbWVudEtleXdvcmQgbmV4dGdyb3VwPXNhc0dsb2JhbFN0YXRlbWVudE9EU0tleXdvcmQgc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkKIAotIiBCbG9jayBjb21tZW50Ci1zeW4gcmVnaW9uIHNhc0NvbW1lbnQJc3RhcnQ9Ii9cKiIgIGVuZD0iXCovIiBjb250YWlucz1zYXNUb2RvCisiIERhdGEgc3RlcCBzdGF0ZW1lbnRzLCA5LjQKK3N5biBrZXl3b3JkIHNhc0RhdGFTdGVwRnVuY3Rpb25OYW1lIGFicyBhZGRyIGFkZHJsb25nIGFpcnkgYWxsY29tYiBhbGxwZXJtIGFueWFsbnVtIGFueWFscGhhIGFueWNudHJsIGFueWRpZ2l0IGFueWZpcnN0IGFueWdyYXBoIGFueWxvd2VyIGFueW5hbWUgYW55cHJpbnQgYW55cHVuY3QgYW55c3BhY2UgYW55dXBwZXIgYW55eGRpZ2l0IGFyY29zIGFyY29zaCBhcnNpbiBhcnNpbmggYXJ0YW5oIGF0YW4gYXRhbjIgYXR0cmMgYXR0cm4gYmFuZCBiZXRhIGJldGFpbnYgYmxhY2tjbHByYyBibGFja3B0cHJjIGJsa3NoY2xwcmMgYmxrc2hwdHByYyBibHNoaWZ0IGJub3QgYm9yIGJyc2hpZnQgYnhvciBieXRlIGNhdCBjYXRxIGNhdHMgY2F0dCBjYXR4IGNkZiBjZWlsIGNlaWx6IGNleGlzdCBjaGFyIGNob29zZWMgY2hvb3NlbiBjaW52IGNsb3NlIGNtaXNzIGNub25jdCBjb2FsZXNjZSBjb2FsZXNjZWMgY29sbGF0ZSBjb21iIGNvbXBhcmUgY29tcGJsIGNvbXBmdXp6IGNvbXBnZWQgY29tcGxldiBjb21wb3VuZCBjb21wcmVzcyBjb25zdGFudCBjb252eCBjb252eHAgY29zIGNvc2ggY290IGNvdW50IGNvdW50YyBjb3VudHcgY3NjIGNzcyBjdW1pcG10IGN1bXByaW5jIGN1cm9icyBjdiBkYWNjZGIgZGFjY2Ric2wgZGFjY3NsIGRhY2NzeWQgZGFjY3RhYiBkYWlyeSBkYXRkaWYgZGF0ZSBkYXRlanVsIGRhdGVwYXJ0IGRhdGV0aW1lIGRheSBkY2xvc2UgZGNyZWF0ZSBkZXBkYiBkZXBkYnNsIGRlcHNsIGRlcHN5ZCBkZXB0YWIgZGVxdW90ZSBkZXZpYW5jZSBkaG1zIGRpZiBkaWdhbW1hIGRpbSBkaW5mbyBkaXZpZGUgZG51bSBkb3BlbiBkb3B0bmFtZSBkb3B0bnVtIGRvc3VibCBkcmVhZCBkcm9wbm90ZSBkc25hbWUgZHNuY2F0bGdkIGR1ciBkdXJwIGVmZnJhdGUgZW52bGVuIGVyZiBlcmZjIGV1Y2xpZCBleGlzdCBleHAgZmFjdCBmYXBwZW5kIGZjbG9zZSBmY29sIGZjb3B5IGZkZWxldGUgZmV0Y2ggZmV0Y2hvYnMgZmV4aXN0IGZnZXQgZmlsZWV4aXN0IGZpbGVuYW1lIGZpbGVyZWYgZmluYW5jZSBmaW5kIGZpbmRjIGZpbmR3IGZpbmZvIGZpbnYgZmlwbmFtZSBmaXBuYW1lbCBmaXBzdGF0ZSBmaXJzdCBmbG9vciBmbG9vcnogZm10aW5mbyBmbm9uY3QgZm5vdGUgZm9wZW4gZm9wdG5hbWUgZm9wdG51bSBmcG9pbnQgZnBvcyBmcHV0IGZyZWFkIGZyZXdpbmQgZnJsZW4gZnNlcCBmdXp6IGZ3cml0ZSBnYW1pbnYgZ2FtbWEgZ2Fya2hjbHByYyBnYXJraHB0cHJjIGdjZCBnZW9kaXN0IGdlb21lYW4gZ2VvbWVhbnogZ2V0b3B0aW9uIGdldHZhcmMgZ2V0dmFybiBncmF5Y29kZSBoYXJtZWFuIGhhcm1lYW56IGhib3VuZCBobXMgaG9saWRheSBob2xpZGF5Y2sgaG9saWRheWNvdW50IGhvbGlkYXluYW1lIGhvbGlkYXlueCBob2xpZGF5bnkgaG9saWRheXRlc3QgaG91ciBodG1sZGVjb2RlIGh0bWxlbmNvZGUgaWJlc3NlbCBpZmMgaWZuIGluZGV4IGluZGV4YyBpbmRleHcgaW5wdXQgaW5wdXRjIGlucHV0biBpbnQgaW50Y2luZGV4IGludGNrIGludGN5Y2xlIGludGZpdCBpbnRmbXQgaW50Z2V0IGludGluZGV4IGludG54IGludHJyIGludHNlYXMgaW50c2hpZnQgaW50dGVzdCBpbnR6IGlvcmNtc2cgaXBtdCBpcXIgaXJyIGpiZXNzZWwganVsZGF0ZSBqdWxkYXRlNyBrdXJ0b3NpcyBsYWcgbGFyZ2VzdCBsYm91bmQgbGNtIGxjb21iIGxlZnQgbGVuZ3RoIGxlbmd0aGMgbGVuZ3RobSBsZW5ndGhuIGxleGNvbWIgbGV4Y29tYmkgbGV4cGVyayBsZXhwZXJtIGxmYWN0IGxnYW1tYSBsaWJuYW1lIGxpYnJlZiBsb2cgbG9nMXB4IGxvZzEwIGxvZzIgbG9nYmV0YSBsb2djZGYgbG9naXN0aWMgbG9ncGRmIGxvZ3NkZiBsb3djYXNlIGxwZXJtIGxwbm9ybSBtYWQgbWFyZ3JjbHByYyBtYXJncnB0cHJjIG1heCBtZDUgbWR5IG1lYW4gbWVkaWFuIG1pbiBtaW51dGUgbWlzc2luZyBtb2QgbW9kZXhpc3QgbW9kdWxlIG1vZHVsZWMgbW9kdWxlbiBtb2R6IG1vbnRoIG1vcGVuIG1vcnQgbXNwbGludCBtdmFsaWQgY29udGFpbmVkCitzeW4ga2V5d29yZCBzYXNEYXRhU3RlcEZ1bmN0aW9uTmFtZSBuIG5ldHB2IG5saXRlcmFsIG5taXNzIG5vbXJhdGUgbm9ybWFsIG5vdGFsbnVtIG5vdGFscGhhIG5vdGNudHJsIG5vdGRpZ2l0IG5vdGUgbm90Zmlyc3Qgbm90Z3JhcGggbm90bG93ZXIgbm90bmFtZSBub3RwcmludCBub3RwdW5jdCBub3RzcGFjZSBub3R1cHBlciBub3R4ZGlnaXQgbnB2IG52YWxpZCBud2tkb20gb3BlbiBvcmRpbmFsIHBhdGhuYW1lIHBjdGwgcGRmIHBlZWsgcGVla2MgcGVla2Nsb25nIHBlZWtsb25nIHBlcm0gcG10IHBvaW50IHBvaXNzb24gcHBtdCBwcm9iYmV0YSBwcm9iYm5tbCBwcm9iYm5ybSBwcm9iY2hpIHByb2JmIHByb2JnYW0gcHJvYmh5cHIgcHJvYml0IHByb2JtYyBwcm9ibmVnYiBwcm9ibm9ybSBwcm9idCBwcm9wY2FzZSBwcnhjaGFuZ2UgcHJ4bWF0Y2ggcHJ4cGFyZW4gcHJ4cGFyc2UgcHJ4cG9zbiBwdHJsb25nYWRkIHB1dCBwdXRjIHB1dG4gcHZwIHF0ciBxdWFudGlsZSBxdW90ZSByYW5iaW4gcmFuY2F1IHJhbmQgcmFuZXhwIHJhbmdhbSByYW5nZSByYW5rIHJhbm5vciByYW5wb2kgcmFudGJsIHJhbnRyaSByYW51bmkgcmVuYW1lIHJlcGVhdCByZXNvbHZlIHJldmVyc2UgcmV3aW5kIHJpZ2h0IHJtcyByb3VuZCByb3VuZGUgcm91bmR6IHNhdmluZyBzYXZpbmdzIHNjYW4gc2RmIHNlYyBzZWNvbmQgc2hhMjU2IHNoYTI1NmhleCBzaGEyNTZobWFjaGV4IHNpZ24gc2luIHNpbmggc2tld25lc3Mgc2xlZXAgc21hbGxlc3Qgc29hcHdlYiBzb2Fwd2VibWV0YSBzb2Fwd2lwc2VydmljZSBzb2Fwd2lwc3JzIHNvYXB3cyBzb2Fwd3NtZXRhIHNvdW5kZXggc3BlZGlzIHNxcnQgc3F1YW50aWxlIHN0ZCBzdGRlcnIgc3RmaXBzIHN0bmFtZSBzdG5hbWVsIHN0cmlwIHN1YnBhZCBzdWJzdHIgc3Vic3RybiBzdW0gc3VtYWJzIHN5bWV4aXN0IHN5bWdldCBzeW1nbG9ibCBzeW1sb2NhbCBzeXNleGlzdCBzeXNnZXQgc3lzbXNnIHN5c3Bhcm0gc3lzcHJvY2Vzc2lkIHN5c3Byb2Nlc3NuYW1lIHN5c3Byb2Qgc3lzcmMgc3lzdGVtIHRhbiB0YW5oIHRpbWUgdGltZXBhcnQgdGltZXZhbHVlIHRpbnYgdG5vbmN0IHRvZGF5IHRyYW5zbGF0ZSB0cmFuc3RybiB0cmFud3JkIHRyaWdhbW1hIHRyaW0gdHJpbW4gdHJ1bmMgdHNvIHR5cGVvZiB0em9uZWlkIHR6b25lbmFtZSB0em9uZW9mZiB0em9uZXMydSB0em9uZXUycyB1bmlmb3JtIHVwY2FzZSB1cmxkZWNvZGUgdXJsZW5jb2RlIHVzcyB1dWlkZ2VuIHZhciB2YXJmbXQgdmFyaW5mbXQgdmFybGFiZWwgdmFybGVuIHZhcm5hbWUgdmFybnVtIHZhcnJheSB2YXJyYXl4IHZhcnR5cGUgdmVyaWZ5IHZmb3JtYXQgdmZvcm1hdGQgdmZvcm1hdGR4IHZmb3JtYXRuIHZmb3JtYXRueCB2Zm9ybWF0dyB2Zm9ybWF0d3ggdmZvcm1hdHggdmluYXJyYXkgdmluYXJyYXl4IHZpbmZvcm1hdCB2aW5mb3JtYXRkIHZpbmZvcm1hdGR4IHZpbmZvcm1hdG4gdmluZm9ybWF0bnggdmluZm9ybWF0dyB2aW5mb3JtYXR3eCB2aW5mb3JtYXR4IHZsYWJlbCB2bGFiZWx4IHZsZW5ndGggdmxlbmd0aHggdm5hbWUgdm5hbWV4IHZ0eXBlIHZ0eXBleCB2dmFsdWUgdnZhbHVleCB3ZWVrIHdlZWtkYXkgd2hpY2hjIHdoaWNobiB3dG8geWVhciB5aWVsZHAgeXJkaWYgeXlxIHppcGNpdHkgemlwY2l0eWRpc3RhbmNlIHppcGZpcHMgemlwbmFtZSB6aXBuYW1lbCB6aXBzdGF0ZSBjb250YWluZWQKK3N5biBrZXl3b3JkIHNhc0RhdGFTdGVwQ2FsbFJvdXRpbmVOYW1lIGFsbGNvbWIgYWxsY29tYmkgYWxscGVybSBjYXRzIGNhdHQgY2F0eCBjb21wY29zdCBleGVjdXRlIGdyYXljb2RlIGlzODYwMV9jb252ZXJ0IGxhYmVsIGxleGNvbWIgbGV4Y29tYmkgbGV4cGVyayBsZXhwZXJtIGxvZ2lzdGljIG1pc3NpbmcgbW9kdWxlIHBva2UgcG9rZWxvbmcgcHJ4Y2hhbmdlIHByeGRlYnVnIHByeGZyZWUgcHJ4bmV4dCBwcnhwb3NuIHByeHN1YnN0ciByYW5iaW4gcmFuY2F1IHJhbmNvbWIgcmFuZXhwIHJhbmdhbSByYW5ub3IgcmFucGVyayByYW5wZXJtIHJhbnBvaSByYW50YmwgcmFudHJpIHJhbnVuaSBzY2FuIHNldCBzbGVlcCBzb2Z0bWF4IHNvcnRjIHNvcnRuIHN0ZGl6ZSBzdHJlYW1pbml0IHN5bXB1dCBzeW1wdXR4IHN5c3RlbSB0YW5oIHRzbyB2bmFtZSB2bmV4dCB3dG8gY29udGFpbmVkCitzeW4gcmVnaW9uIHNhc0RhdGFTdGVwRnVuY3Rpb25Db250ZXh0IHN0YXJ0PScoJyBlbmQ9JyknIGNvbnRhaW5lZCBjb250YWlucz1Ac2FzQmFzaWNTeW50YXgsc2FzRGF0YVN0ZXBGdW5jdGlvbgorc3luIHJlZ2lvbiBzYXNEYXRhU3RlcEZ1bmN0aW9uRm9ybWF0Q29udGV4dCBzdGFydD0nKCcgZW5kPScpJyBjb250YWluZWQgY29udGFpbnM9QHNhc0Jhc2ljU3ludGF4LHNhc0RhdGFTdGVwRnVuY3Rpb24sc2FzRm9ybWF0CitzeW4gbWF0Y2ggc2FzRGF0YVN0ZXBGdW5jdGlvbiAnXHY8XHcrXHplXCgnIGNvbnRhaW5lZCBjb250YWlucz1zYXNEYXRhU3RlcEZ1bmN0aW9uTmFtZSxzYXNEYXRhU3RlcENhbGxSb3V0aW5lTmFtZSBuZXh0Z3JvdXA9c2FzRGF0YVN0ZXBGdW5jdGlvbkNvbnRleHQKK3N5biBtYXRjaCBzYXNEYXRhU3RlcEZ1bmN0aW9uICdcdiUoaW5wdXR8cHV0KVx6ZVwoJyBjb250YWluZWQgY29udGFpbnM9c2FzRGF0YVN0ZXBGdW5jdGlvbk5hbWUgbmV4dGdyb3VwPXNhc0RhdGFTdGVwRnVuY3Rpb25Gb3JtYXRDb250ZXh0CitzeW4ga2V5d29yZCBzYXNEYXRhU3RlcEhhc2hNZXRob2ROYW1lIGFkZCBjaGVjayBjbGVhciBkZWZpbmVkYXRhIGRlZmluZWRvbmUgZGVmaW5la2V5IGRlbGV0ZSBkb19vdmVyIGVxdWFscyBmaW5kIGZpbmRfbmV4dCBmaW5kX3ByZXYgZmlyc3QgaGFzX25leHQgaGFzX3ByZXYgbGFzdCBuZXh0IG91dHB1dCBwcmV2IHJlZiByZW1vdmUgcmVtb3ZlZHVwIHJlcGxhY2UgcmVwbGFjZWR1cCByZXNldF9kdXAgc2V0Y3VyIHN1bSBzdW1kdXAgY29udGFpbmVkCitzeW4gcmVnaW9uIHNhc0RhdGFTdGVwSGFzaE1ldGhvZENvbnRleHQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbmVkIGNvbnRhaW5zPUBzYXNCYXNpY1N5bnRheCxzYXNEYXRhU3RlcEZ1bmN0aW9uCitzeW4gbWF0Y2ggc2FzRGF0YVN0ZXBIYXNoTWV0aG9kICdcdlwuXHcrXHplXCgnIGNvbnRhaW5lZCBjb250YWlucz1zYXNEYXRhU3RlcEhhc2hNZXRob2ROYW1lIG5leHRncm91cD1zYXNEYXRhU3RlcEhhc2hNZXRob2RDb250ZXh0CitzeW4ga2V5d29yZCBzYXNEYXRhU3RlcEhhc2hBdHRyaWJ1dGVOYW1lIGl0ZW1fc2l6ZSBudW1faXRlbXMgY29udGFpbmVkCitzeW4gbWF0Y2ggc2FzRGF0YVN0ZXBIYXNoQXR0cmlidXRlICdcdlwuXHcrPlx6ZVxfW14oXScgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzRGF0YVN0ZXBIYXNoQXR0cmlidXRlTmFtZQorc3luIGtleXdvcmQgc2FzRGF0YVN0ZXBDb250cm9sIGNvbnRpbnVlIGRvIGVuZCBnbyBnb3RvIGlmIGxlYXZlIGxpbmsgb3RoZXJ3aXNlIG92ZXIgcmV0dXJuIHNlbGVjdCB0byB1bnRpbCB3aGVuIHdoaWxlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc2FzRGF0YVN0ZXBDb250cm9sIGVsc2UgdGhlbiBjb250YWluZWQgbmV4dGdyb3VwPXNhc0RhdGFTdGVwU3RhdGVtZW50S2V5d29yZCBza2lwd2hpdGUgc2tpcG5sIHNraXBlbXB0eQorc3luIGtleXdvcmQgc2FzRGF0YVN0ZXBIYXNoT3BlcmF0b3IgX25ld18gY29udGFpbmVkCitzeW4ga2V5d29yZCBzYXNEYXRhU3RlcFN0YXRlbWVudEtleXdvcmQgYWJvcnQgYXJyYXkgYXR0cmliIGJ5IGNhbGwgY2FyZHMgY2FyZHM0IGRhdGFsaW5lcyBkYXRhbGluZXM0IGRjbCBkZWNsYXJlIGRlbGV0ZSBkZXNjcmliZSBkaXNwbGF5IGRyb3AgZXJyb3IgZXhlY3V0ZSBmaWxlIGZvcm1hdCBpbmZpbGUgaW5mb3JtYXQgaW5wdXQga2VlcCBsYWJlbCBsZW5ndGggbGluZXMgbGluZXM0IGxpc3QgbG9zdGNhcmQgbWVyZ2UgbW9kaWZ5IG91dHB1dCBwdXQgcHV0bG9nIHJlZGlyZWN0IHJlbW92ZSByZW5hbWUgcmVwbGFjZSByZXRhaW4gc2V0IHN0b3AgdXBkYXRlIHdoZXJlIHdpbmRvdyBjb250YWluZWQKK3N5biBrZXl3b3JkIHNhc0RhdGFTdGVwU3RhdGVtZW50SGFzaEtleXdvcmQgaGFzaCBoaXRlciBqYXZhb2JqIGNvbnRhaW5lZAorc3luIG1hdGNoIHNhc0RhdGFTdGVwU3RhdGVtZW50ICdcdiUoXnw7KVxzKlx6c1xoXHcqPicgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzRGF0YVN0ZXBTdGF0ZW1lbnRLZXl3b3JkLHNhc0dsb2JhbFN0YXRlbWVudEtleXdvcmQKK3N5biBtYXRjaCBzYXNEYXRhU3RlcFN0YXRlbWVudCAnXHYlKF58OylccypcenMlKGRjbHxkZWNsYXJlKT4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc0RhdGFTdGVwU3RhdGVtZW50S2V5d29yZCBuZXh0Z3JvdXA9c2FzRGF0YVN0ZXBTdGF0ZW1lbnRIYXNoS2V5d29yZCBza2lwd2hpdGUgc2tpcG5sIHNraXBlbXB0eQorc3luIG1hdGNoIHNhc0RhdGFTdGVwU3RhdGVtZW50ICdcdiUoXnw7KVxzKlx6c29kcz4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc0dsb2JhbFN0YXRlbWVudEtleXdvcmQgbmV4dGdyb3VwPXNhc0dsb2JhbFN0YXRlbWVudE9EU0tleXdvcmQgc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkKK3N5biBtYXRjaCBzYXNEYXRhU3RlcFN0YXRlbWVudCAnXHYlKF58OylccypcenMlKGZvcm1hdHxpbmZvcm1hdHxpbnB1dHxwdXQpPicgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzRGF0YVN0ZXBTdGF0ZW1lbnRLZXl3b3JkIG5leHRncm91cD1zYXNGb3JtYXRDb250ZXh0IHNraXB3aGl0ZSBza2lwbmwgc2tpcGVtcHR5CitzeW4gbWF0Y2ggc2FzRGF0YVN0ZXBTdGF0ZW1lbnQgJ1x2JShefDspXHMqXHpzJShjYXJkc3xkYXRhbGluZXN8bGluZXMpND1ccyo7JyBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1zYXNEYXRhU3RlcFN0YXRlbWVudEtleXdvcmQgbmV4dGdyb3VwPXNhc0RhdGFMaW5lIHNraXB3aGl0ZSBza2lwbmwgc2tpcGVtcHR5CitzeW4gcmVnaW9uIHNhc0RhdGFMaW5lIHN0YXJ0PSdeJyBlbmQ9J147J21lPXMtMSBjb250YWluZWQKK3N5biByZWdpb24gc2FzRGF0YVN0ZXAgbWF0Y2hncm91cD1zYXNTZWN0aW9uS2V5d29yZCBzdGFydD0nXHYlKF58OylccypcenNkYXRhPicgZW5kPSdcdiUoXnw7KVxzKiUocnVufGRhdGF8cHJvY3xlbmRzYXMpPidtZT1zLTEgZm9sZCBjb250YWlucz1Ac2FzQmFzaWNTeW50YXgsQHNhc0RhdGFTdGVwU3ludGF4CitzeW4gY2x1c3RlciBzYXNEYXRhU3RlcFN5bnRheCBjb250YWlucz1zYXNEYXRhU3RlcEZ1bmN0aW9uLHNhc0RhdGFTdGVwSGFzaE9wZXJhdG9yLHNhc0RhdGFTdGVwSGFzaEF0dHJpYnV0ZSxzYXNEYXRhU3RlcEhhc2hNZXRob2Qsc2FzRGF0YVN0ZXBDb250cm9sLHNhc0RhdGFTdGVwU3RhdGVtZW50CiAKLSIgSWdub3JlIG1pc2xlYWRpbmcgLy9KQ0wgU1lOVEFYLi4uIChCb2IgSGVja2VsKQotc3luIHJlZ2lvbiBzYXNDb21tZW50CXN0YXJ0PSJbXi9dW14vXS9cKiIgIGVuZD0iXCovIiBjb250YWlucz1zYXNUb2RvCisiIFByb2NlZHVyZXMsIGJhc2UgU0FTLCA5LjQKK3N5biBrZXl3b3JkIHNhc1Byb2NTdGF0ZW1lbnRLZXl3b3JkIGFib3J0IGFnZSBhcHBlbmQgYXJyYXkgYXR0cmliIGF1ZGl0IGJsb2NrIGJyZWFrIGJ5IGNhbGlkIGNkZnBsb3QgY2hhbmdlIGNoZWNrYm94IGNsYXNzIGNsYXNzbGV2IGNvbHVtbiBjb21wdXRlIGNvbnRlbnRzIGNvcHkgY3JlYXRlIGRhdGFyb3cgZGJlbmNvZGluZyBkZWZpbmUgZGVsZXRlIGRlbGV0ZWZ1bmMgZGVsZXRlc3ViciBkZWxpbWl0ZXIgZGV2aWNlIGRpYWxvZyBkdXIgZW5kY29tcCBleGFjdCBleGNoYW5nZSBleGNsdWRlIGV4cGxvcmUgZmluIGZtdGxpYiBmb250ZmlsZSBmb250cGF0aCBmb3JtYXQgZm9ybWF0cyBmcmVxIGZ1bmN0aW9uIGdldG5hbWVzIGd1ZXNzaW5ncm93cyBoYmFyIGhkZnMgaGlzdG9ncmFtIGhvbGlkdXIgaG9saWZpbiBob2xpc3RhcnQgaG9saXZhciBpZCBpZGxhYmVsIGluZm9ybWF0IGluc2V0IGludmFsdWUgaXRlbSBrZXkga2V5bGFiZWwga2V5d29yZCBsYWJlbCBsaW5lIGxpbmsgbGlzdGZ1bmMgbGlzdHN1YnIgbWFwbWlzcyBtYXByZWR1Y2UgbWVhbiBtZW51IG1lc3NhZ2VzIG1ldGEgbW9kaWZ5IG9wZW50eXBlIG91dGFyZ3Mgb3V0ZHVyIG91dGZpbiBvdXRwdXQgb3V0c3RhcnQgcGFnZWJ5IHBhcnRpYWwgcGljdHVyZSBwaWUgcGlnIHBsb3QgcHBwbG90IHByaW50ZXIgcHJvYnBsb3QgcHJvZmlsZSBwcm9tcHRlciBxcXBsb3QgcmFkaW9ib3ggcmFua3MgcmJyZWFrIHJidXR0b24gcmVidWlsZCByZWNvcmQgcmVtb3ZlIHJlbmFtZSByZXBhaXIgcmVwb3J0IHJvcHRpb25zIHNhdmUgc2VsZWN0IHNlbGVjdGlvbiBzZXBhcmF0b3Igc291cmNlIHN0YXIgc3RhcnQgc3RhdGlzdGljcyBzdHJ1Y3Qgc3VibWVudSBzdWJyb3V0aW5lIHN1bSBzdW1ieSB0YWJsZSB0YWJsZXMgdGVzdCB0ZXh0IHRyYW50YWIgdHJ1ZXR5cGUgdHlwZTEgdHlwZXMgdmFsdWUgdmFyIHZiYXIgd2F5cyB3ZWlnaHQgd2hlcmUgd2l0aCB3cml0ZSBjb250YWluZWQKK3N5biBtYXRjaCBzYXNQcm9jU3RhdGVtZW50ICdcdiUoXnw7KVxzKlx6c1xoXHcqPicgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzUHJvY1N0YXRlbWVudEtleXdvcmQsc2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZAorc3luIG1hdGNoIHNhc1Byb2NTdGF0ZW1lbnQgJ1x2JShefDspXHMqXHpzb2RzPicgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZCBuZXh0Z3JvdXA9c2FzR2xvYmFsU3RhdGVtZW50T0RTS2V5d29yZCBza2lwd2hpdGUgc2tpcG5sIHNraXBlbXB0eQorc3luIG1hdGNoIHNhc1Byb2NTdGF0ZW1lbnQgJ1x2JShefDspXHMqXHpzJShmb3JtYXR8aW5mb3JtYXQpPicgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzUHJvY1N0YXRlbWVudEtleXdvcmQgbmV4dGdyb3VwPXNhc0Zvcm1hdENvbnRleHQgc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkKK3N5biByZWdpb24gc2FzUHJvYyBtYXRjaGdyb3VwPXNhc1NlY3Rpb25LZXl3b3JkIHN0YXJ0PSdcdiUoXnw7KVxzKlx6c3Byb2MlKFxzK1xoXHcqKT0+JyBlbmQ9J1x2JShefDspXHMqJShydW58ZGF0YXxwcm9jfGVuZHNhcyk+J21lPXMtMSBmb2xkIGNvbnRhaW5zPUBzYXNCYXNpY1N5bnRheCxzYXNEYXRhU3RlcEZ1bmN0aW9uLHNhc1Byb2NTdGF0ZW1lbnQKK3N5biByZWdpb24gc2FzUHJvYyBtYXRjaGdyb3VwPXNhc1NlY3Rpb25LZXl3b3JkIHN0YXJ0PSdcdiUoXnw7KVxzKlx6c3Byb2NccyslKGNhdGFsb2d8Y2hhcnR8ZGF0YXNldHN8ZG9jdW1lbnR8cGxvdCk+JyBlbmQ9J1x2JShefDspXHMqJShxdWl0fGRhdGF8cHJvY3xlbmRzYXMpPidtZT1zLTEgZm9sZCBjb250YWlucz1Ac2FzQmFzaWNTeW50YXgsc2FzRGF0YVN0ZXBGdW5jdGlvbixzYXNQcm9jU3RhdGVtZW50CiAKLSIgUHJldmlvdXMgY29kZSBmb3IgY29tbWVudHMgd2FzIHdyaXR0ZW4gYnkgQm9iIEhlY2tlbAotIiBDb21tZW50cyB3aXRoICogbWF5IHRha2UgbXVsdGlwbGUgbGluZXMgKFBhdWxvIFRhbmltb3RvKQotc3luIHJlZ2lvbiBzYXNDb21tZW50IHN0YXJ0PSI7XHMqXCoiaHM9cysxIGVuZD0iOyIgY29udGFpbnM9c2FzVG9kbworIiBQcm9jZWR1cmVzLCBTQVMvR1JBUEgsIDkuNAorc3luIGtleXdvcmQgc2FzR3JhcGhQcm9jU3RhdGVtZW50S2V5d29yZCBhZGQgYXJlYSBheGlzIGJhciBibG9jayBidWJibGUyIGJ5bGluZSBjYyBjY29weSBjZGVmIGNkZWxldGUgY2hhcnQgY21hcCBjaG9ybyBjb3B5IGRlbGV0ZSBkZXZpY2UgZGlhbCBkb251dCBleGNsdWRlIGZsb3cgZm9ybWF0IGZzIGdvcHRpb25zIGdvdXQgZ3JpZCBncm91cCBoYmFyIGhiYXIzZCBoYnVsbGV0IGhzbGlkZXIgaHRyYWZmaWNsaWdodCBpZCBpZ291dCBsYWJlbCBsZWdlbmQgbGlzdCBtb2RpZnkgbW92ZSBub2J5bGluZSBub3RlIHBhdHRlcm4gcGllIHBpZTNkIHBsb3QgcGxvdDIgcHJldmlldyBwcmlzbSBxdWl0IHJlbmFtZSByZXBsYXkgc2VsZWN0IHNjYXR0ZXIgc3BlZWRvbWV0ZXIgc3RhciBzdXJmYWNlIHN5bWJvbCB0YyB0Y29weSB0ZGVmIHRkZWxldGUgdGVtcGxhdGUgdGlsZSB0b2dnbGUgdHJlcGxheSB2YmFyIHZiYXIzZCB2dHJhZmZpY2xpZ2h0IHZidWxsZXQgdnNsaWRlciB3aGVyZSBjb250YWluZWQKK3N5biBtYXRjaCBzYXNHcmFwaFByb2NTdGF0ZW1lbnQgJ1x2JShefDspXHMqXHpzXGhcdyo+JyBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1zYXNHcmFwaFByb2NTdGF0ZW1lbnRLZXl3b3JkLHNhc0dsb2JhbFN0YXRlbWVudEtleXdvcmQKK3N5biBtYXRjaCBzYXNHcmFwaFByb2NTdGF0ZW1lbnQgJ1x2JShefDspXHMqXHpzZm9ybWF0PicgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzR3JhcGhQcm9jU3RhdGVtZW50S2V5d29yZCBuZXh0Z3JvdXA9c2FzRm9ybWF0Q29udGV4dCBza2lwd2hpdGUgc2tpcG5sIHNraXBlbXB0eQorc3luIHJlZ2lvbiBzYXNHcmFwaFByb2MgbWF0Y2hncm91cD1zYXNTZWN0aW9uS2V5d29yZCBzdGFydD0nXHYlKF58OylccypcenNwcm9jXHMrJShnM2R8ZzNncmlkfGdhbm5vfGdjb250b3VyfGdkZXZpY2V8Z2VvY29kZXxnZm9udHxnaW5zaWRlfGdvcHRpb25zfGdwcm9qZWN0fGdyZWR1Y2V8Z3JlbW92ZXxtYXBpbXBvcnQpPicgZW5kPSdcdiUoXnw7KVxzKiUocnVufGRhdGF8cHJvY3xlbmRzYXMpPidtZT1zLTEgZm9sZCBjb250YWlucz1Ac2FzQmFzaWNTeW50YXgsc2FzRGF0YVN0ZXBGdW5jdGlvbixzYXNHcmFwaFByb2NTdGF0ZW1lbnQKK3N5biByZWdpb24gc2FzR3JhcGhQcm9jIG1hdGNoZ3JvdXA9c2FzU2VjdGlvbktleXdvcmQgc3RhcnQ9J1x2JShefDspXHMqXHpzcHJvY1xzKyUoZ2FyZWFiYXJ8Z2JhcmxpbmV8Z2NoYXJ0fGdrcGl8Z21hcHxncGxvdHxncmFkYXJ8Z3JlcGxheXxnc2xpZGV8Z3RpbGUpPicgZW5kPSdcdiUoXnw7KVxzKiUocXVpdHxkYXRhfHByb2N8ZW5kc2FzKT4nbWU9cy0xIGZvbGQgY29udGFpbnM9QHNhc0Jhc2ljU3ludGF4LHNhc0RhdGFTdGVwRnVuY3Rpb24sc2FzR3JhcGhQcm9jU3RhdGVtZW50CiAKLSIgQ29tbWVudHMgd2l0aCAqIHN0YXJ0aW5nIGFmdGVyIGEgc2VtaWNvbG9uIChQYXVsbyBUYW5pbW90bykKLXN5biByZWdpb24gc2FzQ29tbWVudCBzdGFydD0iXlxzKlwqIiBlbmQ9IjsiIGNvbnRhaW5zPXNhc1RvZG8KKyIgUHJvY2VkdXJlcywgU0FTL1NUQVQsIDE0LjEKK3N5biBrZXl3b3JkIHNhc0FuYWx5dGljYWxQcm9jU3RhdGVtZW50S2V5d29yZCBhYnNvcmIgYWRkIGFycmF5IGFzc2VzcyBiYXNlbGluZSBiYXllcyBiZWdpbm5vZGF0YSBiaXZhciBib290c3RyYXAgYm91bmRzIGJ5IGNkZnBsb3QgY2VsbHMgY2xhc3MgY2x1c3RlciBjb2RlIGNvbXB1dGUgY29uZGl0aW9uIGNvbnRyYXN0IGNvbnRyb2wgY29vcmRpbmF0ZXMgY29weSBjb3NhbiBjb3YgY292dGVzdCBjb3hyZWcgZGVyIGRlc2lnbiBkZXRlcm0gZGV2aWFuY2UgZGlyZWN0IGRpcmVjdGlvbnMgZG9tYWluIGVmZmVjdCBlZmZlY3RwbG90IGVmZnBhcnQgZW0gZW5kbm9kYXRhIGVxdWFsaXR5IGVzdGltYXRlIGV4YWN0IGV4YWN0b3B0aW9ucyBmYWN0b3IgZmFjdG9ycyBmY3MgZmlsdGVyIGZpdGluZGV4IGZvcm1hdCBmcmVxIGZ3ZGxpbmsgZ2VuZGVyIGdyaWQgZ3JvdXAgZ3JvdyBoYXphcmRyYXRpbyBoZWlnaHQgaHlwZXJwcmlvciBpZCBpbXBqb2ludCBpbnNldCBpbnNldGdyb3VwIGludmFyIGludmxpbmsgaXBwcGxvdCBsaW5jb24gbGluZXFzIGxpc21vZCBsbXRlc3RzIGxvY2F0aW9uIGxvZ2lzdGljIGxvZ2xpbiBscHJlZHBsb3QgbHNtZWFucyBsc21lc3RpbWF0ZSBtYW5vdmEgbWF0aW5ncyBtYXRyaXggbWNtYyBtZWFuIG1lYW5zIG1pc3Ntb2RlbCBtbmFyIG1vZGVsIG1vZGVsYXZlcmFnZSBtb2RlbGVmZmVjdHMgbW9ub3RvbmUgbXN0cnVjdCBtdGVzdCBtdWx0cmVnIG5hbWUgbmxpbmNvbiBubG9wdGlvbnMgb2Rkc3JhdGlvIG9uZWNvcnIgb25lc2FtcGxlZnJlcSBvbmVzYW1wbGVtZWFucyBvbmV3YXlhbm92YSBvdXRmaWxlcyBvdXRwdXQgcGFpcmVkIHBhaXJlZGZyZXEgcGFpcmVkbWVhbnMgcGFyYW1ldGVycyBwYXJlbnQgcGFybXMgcGFydGlhbCBwYXJ0aXRpb24gcGF0aCBwYXRoZGlhZ3JhbSBwY292IHBlcmZvcm1hbmNlIHBsb3QgcG9wdWxhdGlvbiBwb3N0c3RyYXRhIHBvd2VyIHByZWRkaXN0IHByZWRpY3QgcHJlZHBwbG90IHByaW9ycyBwcm9jZXNzIHByb2Jtb2RlbCBwcm9maWxlIHBydW5lIHB2YXIgcmFtIHJhbmRvbSByYXRpbyByZWZlcmVuY2UgcmVmaXQgcmVmbW9kZWwgcmVuYW1lcGFybSByZXBlYXRlZCByZXBsaWNhdGUgcmVwd2VpZ2h0cyByZXNwb25zZSByZXN0b3JlIHJlc3RyaWN0IHJldGFpbiByZXdlaWdodCByaWRnZSBybXNzdGQgcm9jIHJvY2NvbnRyYXN0IHJ1bGVzIHNhbXBsZXNpemUgc2FtcGxpbmd1bml0IHNlZWQgc2l6ZSBzY2FsZSBzY29yZSBzZWxlY3Rpb24gc2hvdyBzaW10ZXN0cyBzaW11bGF0ZSBzbGljZSBzdGQgc3RkZXJyIHN0b3JlIHN0cmF0YSBzdHJ1Y3RlcSBzdXBwbGVtZW50YXJ5IHRhYmxlIHRhYmxlcyB0ZXN0IHRlc3RjbGFzcyB0ZXN0ZnJlcSB0ZXN0ZnVuYyB0ZXN0aWQgdGltZSB0cmFuc2Zvcm0gdHJlYXRtZW50cyB0cmVuZCB0d29zYW1wbGVmcmVxIHR3b3NhbXBsZW1lYW5zIHRvd3NhbXBsZXN1cnZpdmFsIHR3b3NhbXBsZXdpbGNveG9uIHVkcyB1bml0cyB1bml2YXIgdmFyIHZhcmlhbmNlIHZhcm5hbWVzIHdlaWdodCB3aGVyZSB3aXRoIHplcm9tb2RlbCBjb250YWluZWQKK3N5biBtYXRjaCBzYXNBbmFseXRpY2FsUHJvY1N0YXRlbWVudCAnXHYlKF58OylccypcenNcaFx3Kj4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc0FuYWx5dGljYWxQcm9jU3RhdGVtZW50S2V5d29yZCxzYXNHbG9iYWxTdGF0ZW1lbnRLZXl3b3JkCitzeW4gbWF0Y2ggc2FzQW5hbHl0aWNhbFByb2NTdGF0ZW1lbnQgJ1x2JShefDspXHMqXHpzb2RzPicgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZCBuZXh0Z3JvdXA9c2FzR2xvYmFsU3RhdGVtZW50T0RTS2V5d29yZCBza2lwd2hpdGUgc2tpcG5sIHNraXBlbXB0eQorc3luIG1hdGNoIHNhc0FuYWx5dGljYWxQcm9jU3RhdGVtZW50ICdcdiUoXnw7KVxzKlx6c2Zvcm1hdD4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc0FuYWx5dGljYWxQcm9jU3RhdGVtZW50S2V5d29yZCBuZXh0Z3JvdXA9c2FzRm9ybWF0Q29udGV4dCBza2lwd2hpdGUgc2tpcG5sIHNraXBlbXB0eQorc3luIHJlZ2lvbiBzYXNBbmFseXRpY2FsUHJvYyBtYXRjaGdyb3VwPXNhc1NlY3Rpb25LZXl3b3JkIHN0YXJ0PSdcdiUoXnw7KVxzKlx6c3Byb2NccyslKGFjZWNsdXN8YWRhcHRpdmVyZWd8YmNob2ljZXxib3hwbG90fGNhbGlzfGNhbmNvcnJ8Y2FuZGlzY3xjbHVzdGVyfGNvcnJlc3B8ZGlzY3JpbXxkaXN0YW5jZXxmYWN0b3J8ZmFzdGNsdXN8Zm1tfGZyZXF8Z2FtfGdhbXBsfGdlZXxnZW5tb2R8Z2xpbW1peHxnbG1tb2R8Z2xtcG93ZXJ8Z2xtc2VsZWN0fGhwY2FuZGlzY3xocGZtbXxocGdlbnNlbGVjdHxocGxtaXhlZHxocGxvZ2lzdGljfGhwbWl4ZWR8aHBubG1vZHxocHBsc3xocHByaW5jb21wfGhwcXVhbnRzZWxlY3R8aHByZWd8aHBzcGxpdHxpY2xpZmV0ZXN0fGljcGhyZWd8aW5icmVlZHxpcnR8a2RlfGtyaWdlMmR8bGF0dGljZXxsaWZlcmVnfGxpZmV0ZXN0fGxvZXNzfGxvZ2lzdGljfG1jbWN8bWRzfG1pfG1pYW5hbHl6ZXxtaXhlZHxtb2RlY2x1c3xtdWx0dGVzdHxuZXN0ZWR8bmxpbnxubG1peGVkfG5wYXIxd2F5fG9ydGhvcmVnfHBocmVnfHBsbXxwbHN8cG93ZXJ8cHJpbmNvbXB8cHJpbnF1YWx8cHJvYml0fHF1YW50bGlmZXxxdWFudHJlZ3xxdWFudHNlbGVjdHxyb2J1c3RyZWd8cnNyZWd8c2NvcmV8c2VxZGVzaWdufHNlcXRlc3R8c2ltMmR8c2ltbm9ybWFsfHNwcHxzdGRpemV8c3RkcmF0ZXxzdGVwZGlzY3xzdXJ2ZXlmcmVxfHN1cnZleWltcHV0ZXxzdXJ2ZXlsb2dpc3RpY3xzdXJ2ZXltZWFuc3xzdXJ2ZXlwaHJlZ3xzdXJ2ZXlyZWd8c3VydmV5c2VsZWN0fHRwc3BsaW5lfHRyYW5zcmVnfHRyZWV8dHRlc3R8dmFyY2x1c3x2YXJjb21wfHZhcmlvZ3JhbSk+JyBlbmQ9J1x2JShefDspXHMqJShydW58ZGF0YXxwcm9jfGVuZHNhcyk+J21lPXMtMSBmb2xkIGNvbnRhaW5zPUBzYXNCYXNpY1N5bnRheCxzYXNEYXRhU3RlcENvbnRyb2wsc2FzRGF0YVN0ZXBGdW5jdGlvbixzYXNBbmFseXRpY2FsUHJvY1N0YXRlbWVudAorc3luIHJlZ2lvbiBzYXNBbmFseXRpY2FsUHJvYyBtYXRjaGdyb3VwPXNhc1NlY3Rpb25LZXl3b3JkIHN0YXJ0PSdcdiUoXnw7KVxzKlx6c3Byb2NccyslKGFub3ZhfGFyaW1hfGNhdG1vZHxmYWN0ZXh8Z2xtfG1vZGVsfG9wdGV4fHBsYW58cmVnKT4nIGVuZD0nXHYlKF58OylccyolKHF1aXR8ZGF0YXxwcm9jfGVuZHNhcyk+J21lPXMtMSBmb2xkIGNvbnRhaW5zPUBzYXNCYXNpY1N5bnRheCxzYXNEYXRhU3RlcENvbnRyb2wsc2FzRGF0YVN0ZXBGdW5jdGlvbixzYXNBbmFseXRpY2FsUHJvY1N0YXRlbWVudAogCi0iIFRoaXMgbGluZSBkZWZpbmVzIG1hY3JvIHZhcmlhYmxlcyBpbiBjb2RlLiAgImhpIGRlZiBsaW5rIiBhdCBlbmQgb2YgZmlsZQotIiBkZWZpbmVzIHRoZSBjb2xvciBzY2hlbWUuIEJlZ2luIHJlZ2lvbiB3aXRoIGFtcGVyc2FuZCBhbmQgZW5kIHdpdGgKLSIgYW55IG5vbi13b3JkIGNoYXJhY3RlciBvZmZzZXQgYnkgLTE7IHB1dCBhbXBlcnNhbmQgaW4gdGhlIHNraXAgbGlzdAotIiBqdXN0IGluIGNhc2UgaXQgaXMgdXNlZCB0byBjb25jYXRlbmF0ZSBtYWNybyB2YXJpYWJsZSB2YWx1ZXMuCisiIFByb2NlZHVyZXMsIE9EUyBncmFwaGljcywgOS40CitzeW4ga2V5d29yZCBzYXNPRFNHcmFwaGljc1Byb2NTdGF0ZW1lbnRLZXl3b3JkIGJhbmQgYmxvY2sgYnViYmxlIGJ5IGNvbGF4aXMgY29tcGFyZSBkYXR0cnZhciBkZW5zaXR5IGRvdCBkcm9wbGluZSBkeW5hbWljIGVsbGlwc2UgZWxsaXBzZXBhcm0gZm9ybWF0IGZyaW5nZSBncmFkbGVnZW5kIGhiYXIgaGJhcmJhc2ljIGhiYXJwYXJtIGhib3ggaGVhdG1hcCBoZWF0bWFwcGFybSBoaWdobG93IGhpc3RvZ3JhbSBobGluZSBpbnNldCBrZXlsZWdlbmQgbGFiZWwgbGluZXBhcm0gbG9lc3MgbWF0cml4IG5lZWRsZSBwYXJlbnQgcGFuZWxieSBwYnNwbGluZSBwbG90IHBvbHlnb24gcmVmbGluZSByZWcgcm93YXhpcyBzY2F0dGVyIHNlcmllcyBzcGxpbmUgc3RlcCBzdHlsZSBzdHlsZWF0dHJzIHN5bWJvbGNoYXIgc3ltYm9saW1hZ2UgdGV4dCB2YmFyIHZiYXJiYXNpYyB2YmFycGFybSB2Ym94IHZlY3RvciB2bGluZSB3YXRlcmZhbGwgd2hlcmUgeGF4aXMgeDJheGlzIHlheGlzIHkyYXhpcyB5YXhpc3RhYmxlIGNvbnRhaW5lZAorc3luIG1hdGNoIHNhc09EU0dyYXBoaWNzUHJvY1N0YXRlbWVudCAnXHYlKF58OylccypcenNcaFx3Kj4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc09EU0dyYXBoaWNzUHJvY1N0YXRlbWVudEtleXdvcmQsc2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZAorc3luIG1hdGNoIHNhc09EU0dyYXBoaWNzUHJvY1N0YXRlbWVudCAnXHYlKF58OylccypcenNvZHM+JyBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1zYXNHbG9iYWxTdGF0ZW1lbnRLZXl3b3JkIG5leHRncm91cD1zYXNHbG9iYWxTdGF0ZW1lbnRPRFNLZXl3b3JkIHNraXB3aGl0ZSBza2lwbmwgc2tpcGVtcHR5CitzeW4gbWF0Y2ggc2FzT0RTR3JhcGhpY3NQcm9jU3RhdGVtZW50ICdcdiUoXnw7KVxzKlx6c2Zvcm1hdD4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc09EU0dyYXBoaWNzUHJvY1N0YXRlbWVudEtleXdvcmQgbmV4dGdyb3VwPXNhc0Zvcm1hdENvbnRleHQgc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkKK3N5biByZWdpb24gc2FzT0RTR3JhcGhpY3NQcm9jIG1hdGNoZ3JvdXA9c2FzU2VjdGlvbktleXdvcmQgc3RhcnQ9J1x2JShefDspXHMqXHpzcHJvY1xzKyUoc2dkZXNpZ258c2dwYW5lbHxzZ3Bsb3R8c2dyZW5kZXJ8c2dzY2F0dGVyKT4nIGVuZD0nXHYlKF58OylccyolKHJ1bnxkYXRhfHByb2N8ZW5kc2FzKT4nbWU9cy0xIGZvbGQgY29udGFpbnM9QHNhc0Jhc2ljU3ludGF4LHNhc0RhdGFTdGVwRnVuY3Rpb24sc2FzT0RTR3JhcGhpY3NQcm9jU3RhdGVtZW50CiAKLSIgVGhhbmtzIHRvIHJvbmFsZCBo9mxsd2FydGggZm9yIHRoaXMgZml4IHRvIGFuIGludHJhLXZlcnNpb25pbmcKLSIgcHJvYmxlbSB3aXRoIHRoaXMgbGl0dGxlIGZlYXR1cmUKKyIgUHJvYyBURU1QTEFURSwgOS40CitzeW4ga2V5d29yZCBzYXNQcm9jVGVtcGxhdGVDbGF1c2UgYXMgaW50bworc3luIGtleXdvcmQgc2FzUHJvY1RlbXBsYXRlU3RhdGVtZW50S2V5d29yZCBibG9jayBicmVhayBjZWxsc3R5bGUgY2xhc3MgY2xvc2UgY29sdW1uIGNvbXB1dGUgY29udGludWUgZGVmaW5lIGRlbGV0ZSBkZWxzdHJlYW0gZG8gZG9uZSBkeW5hbWljIGVkaXQgZWxzZSBlbmQgZXZhbCBmbHVzaCBmb290ZXIgaGVhZGVyIGltcG9ydCBpdGVyYXRlIGxpbmsgbGlzdCBtdmFyIG5kZW50IG5leHQgbm12YXIgbm90ZXMgb3BlbiBwYXRoIHB1dCBwdXRsIHB1dGxvZyBwdXRxIHB1dHN0cmVhbSBwdXR2YXJzIHJlcGxhY2Ugc2V0IHNvdXJjZSBzdG9wIHN0eWxlIHRlc3QgdGV4dCB0ZXh0MiB0ZXh0MyB0cmFuc2xhdGUgdHJpZ2dlciB1bmJsb2NrIHVuc2V0IHhkZW50IGNvbnRhaW5lZAorc3luIGtleXdvcmQgc2FzUHJvY1RlbXBsYXRlU3RhdGVtZW50Q29tcGxleEtleXdvcmQgY2VsbHZhbHVlIGNvbHVtbiBjcm9zc3RhYnMgZXZlbnQgZm9vdGVyIGhlYWRlciBzdGF0Z3JhcGggc3R5bGUgdGFibGUgdGFnc2V0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgc2FzUHJvY1RlbXBsYXRlR1RMU3RhdGVtZW50S2V5d29yZCBheGlzbGVnZW5kIGF4aXN0YWJsZSBiYW5kcGxvdCBiYXJjaGFydCBiYXJjaGFydHBhcm0gYmVnaW5ncmFwaCBiZWdpbnBvbHlnb24gYmVnaW5wb2x5bGluZSBiaWhpc3RvZ3JhbTNkcGFybSBibG9ja3Bsb3QgYm94cGxvdCBib3hwbG90cGFybSBidWJibGVwbG90IGNvbnRpbnVvdXNsZWdlbmQgY29udG91cnBsb3RwYXJtIGRlbmRyb2dyYW0gZGlzY3JldGVsZWdlbmQgZHJhd2Fycm93IGRyYXdpbWFnZSBkcmF3bGluZSBkcmF3b3ZhbCBkcmF3cmVjdGFuZ2xlIGRyYXd0ZXh0IGRyb3BsaW5lIGVsbGlwc2UgZWxsaXBzZXBhcm0gZW5kZ3JhcGggZW5kaW5uZXJtYXJnaW4gZW5kbGF5b3V0IGVuZHBvbHlnb24gZW5kcG9seWxpbmUgZW5kc2lkZWJhciBlbnRyeSBlbnRyeWZvb3Rub3RlIGVudHJ5dGl0bGUgZnJpbmdlcGxvdCBoZWF0bWFwIGhlYXRtYXBwYXJtIGhpZ2hsb3dwbG90IGhpc3RvZ3JhbSBoaXN0b2dyYW1wYXJtIGlubmVybWFyZ2luIGxheW91dCBsZWdlbmRpdGVtIGxlZ2VuZHRleHRpdGVtcyBsaW5lY2hhcnQgbGluZXBhcm0gbG9lc3NwbG90IG1lcmdlZGxlZ2VuZCBtb2RlbGJhbmQgbmVlZGxlcGxvdCBwYnNwbGluZXBsb3QgcG9seWdvbnBsb3QgcmVmZXJlbmNlbGluZSByZWdyZXNzaW9ucGxvdCBzY2F0dGVycGxvdCBzZXJpZXNwbG90IHNpZGViYXIgc3RlcHBsb3Qgc3VyZmFjZXBsb3RwYXJtIHN5bWJvbGNoYXIgc3ltYm9saW1hZ2UgdGV4dHBsb3QgdmVjdG9ycGxvdCB3YXRlcmZhbGxjaGFydCBjb250YWluZWQKK3N5biBrZXl3b3JkIHNhc1Byb2NUZW1wbGF0ZUdUTENvbXBsZXhLZXl3b3JkIGRhdGFsYXR0aWNlIGRhdGFwYW5lbCBnbG9iYWxsZWdlbmQgZ3JpZGRlZCBsYXR0aWNlIG92ZXJsYXkgb3ZlcmxheWVxdWF0ZWQgb3ZlcmxheTNkIHJlZ2lvbiBjb250YWluZWQKK3N5biBtYXRjaCBzYXNQcm9jVGVtcGxhdGVTdGF0ZW1lbnQgJ1x2JShefDspXHMqXHpzXGhcdyo+JyBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1zYXNQcm9jVGVtcGxhdGVTdGF0ZW1lbnRLZXl3b3JkLHNhc1Byb2NUZW1wbGF0ZUdUTFN0YXRlbWVudEtleXdvcmQsc2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZAorc3luIG1hdGNoIHNhc1Byb2NUZW1wbGF0ZVN0YXRlbWVudCAnXHYlKF58OylccypcenNkZWZpbmU+JyBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1zYXNQcm9jVGVtcGxhdGVTdGF0ZW1lbnRLZXl3b3JkIG5leHRncm91cD1zYXNQcm9jVGVtcGxhdGVTdGF0ZW1lbnRDb21wbGV4S2V5d29yZCBza2lwd2hpdGUgc2tpcG5sIHNraXBlbXB0eQorc3luIG1hdGNoIHNhc1Byb2NUZW1wbGF0ZVN0YXRlbWVudCAnXHYlKF58OylccypcenNsYXlvdXQ+JyBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1zYXNQcm9jVGVtcGxhdGVHVExTdGF0ZW1lbnRLZXl3b3JkIG5leHRncm91cD1zYXNQcm9jVGVtcGxhdGVHVExDb21wbGV4S2V5d29yZCBza2lwd2hpdGUgc2tpcG5sIHNraXBlbXB0eQorc3luIG1hdGNoIHNhc1Byb2NUZW1wbGF0ZVN0YXRlbWVudCAnXHYlKF58OylccypcenNvZHM+JyBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1zYXNHbG9iYWxTdGF0ZW1lbnRLZXl3b3JkIG5leHRncm91cD1zYXNHbG9iYWxTdGF0ZW1lbnRPRFNLZXl3b3JkIHNraXB3aGl0ZSBza2lwbmwgc2tpcGVtcHR5CitzeW4gcmVnaW9uIHNhc1Byb2NUZW1wbGF0ZSBtYXRjaGdyb3VwPXNhc1NlY3Rpb25LZXl3b3JkIHN0YXJ0PSdcdiUoXnw7KVxzKlx6c3Byb2Nccyt0ZW1wbGF0ZT4nIGVuZD0nXHYlKF58OylccyolKHJ1bnxkYXRhfHByb2N8ZW5kc2FzKT4nbWU9cy0xIGZvbGQgY29udGFpbnM9QHNhc0Jhc2ljU3ludGF4LHNhc1Byb2NUZW1wbGF0ZUNsYXVzZSxzYXNQcm9jVGVtcGxhdGVTdGF0ZW1lbnQKIAotc3luIHJlZ2lvbiBzYXNNYWNyb1ZhcglzdGFydD0iJiIgc2tpcD0iW18mXSIgZW5kPSJcVyJoZT1lLTEKKyIgUHJvYyBTUUwsIDkuNAorc3luIGtleXdvcmQgc2FzUHJvY1NRTEZ1bmN0aW9uTmFtZSBhdmcgY291bnQgY3NzIGN2IGZyZXEgbWF4IG1lYW4gbWVkaWFuIG1pbiBuIG5taXNzIHBydCByYW5nZSBzdGQgc3RkZXJyIHN1bSBzdW13Z3QgdCB1c3MgdmFyIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBzYXNQcm9jU1FMRnVuY3Rpb25Db250ZXh0IHN0YXJ0PScoJyBlbmQ9JyknIGNvbnRhaW5lZCBjb250YWlucz1Ac2FzQmFzaWNTeW50YXgsc2FzUHJvY1NRTEZ1bmN0aW9uCitzeW4gbWF0Y2ggc2FzUHJvY1NRTEZ1bmN0aW9uICdcdjxcdytcemVcKCcgY29udGFpbmVkIGNvbnRhaW5zPXNhc1Byb2NTUUxGdW5jdGlvbk5hbWUsc2FzRGF0YVN0ZXBGdW5jdGlvbk5hbWUgbmV4dGdyb3VwPXNhc1Byb2NTUUxGdW5jdGlvbkNvbnRleHQKK3N5biBrZXl3b3JkIHNhc1Byb2NTUUxDbGF1c2UgYWRkIGFzYyBiZXR3ZWVuIGJ5IGNhbGN1bGF0ZWQgY2FzY2FkZSBjYXNlIGNoZWNrIGNvbm5lY3Rpb24gY29uc3RyYWludCBjcm9zcyBkZXNjIGRpc3RpbmN0IGRyb3AgZWxzZSBlbmQgZXNjYXBlIGV4Y2VwdCBleGlzdHMgZm9yZWlnbiBmcm9tIGZ1bGwgZ3JvdXAgaGF2aW5nIGluIGlubmVyIGludGVyc2VjdCBpbnRvIGlzIGpvaW4ga2V5IGxlZnQgbGlibmFtZSBsaWtlIG1vZGlmeSBuYXR1cmFsIG5ld2xpbmUgbm90cmltIG51bGwgb24gb3JkZXIgb3V0ZXIgcHJpbWFyeSByZWZlcmVuY2VzIHJlc3RyaWN0IHJpZ2h0IHNlcGFyYXRlZCBzZXQgdGhlbiB0byB0cmltbWVkIHVuaW9uIHVuaXF1ZSB1c2VyIHVzaW5nIHZhbHVlcyB3aGVuIHdoZXJlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc2FzUHJvY1NRTENsYXVzZSBhcyBjb250YWluZWQgbmV4dGdyb3VwPXNhc1Byb2NTUUxTdGF0ZW1lbnRLZXl3b3JkIHNraXB3aGl0ZSBza2lwbmwgc2tpcGVtcHR5CitzeW4ga2V5d29yZCBzYXNQcm9jU1FMU3RhdGVtZW50S2V5d29yZCBjb25uZWN0IGRlbGV0ZSBkaXNjb25uZWN0IGV4ZWN1dGUgaW5zZXJ0IHJlc2V0IHNlbGVjdCB1cGRhdGUgdmFsaWRhdGUgY29udGFpbmVkCitzeW4ga2V5d29yZCBzYXNQcm9jU1FMU3RhdGVtZW50Q29tcGxleEtleXdvcmQgYWx0ZXIgY3JlYXRlIGRlc2NyaWJlIGRyb3AgY29udGFpbmVkIG5leHRncm91cD1zYXNQcm9jU1FMU3RhdGVtZW50TmV4dEtleXdvcmQgc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkKK3N5biBrZXl3b3JkIHNhc1Byb2NTUUxTdGF0ZW1lbnROZXh0S2V5d29yZCBpbmRleCB0YWJsZSB2aWV3IGNvbnRhaW5lZAorc3luIG1hdGNoIHNhc1Byb2NTUUxTdGF0ZW1lbnQgJ1x2JShefDspXHMqXHpzXGhcdyo+JyBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1zYXNQcm9jU1FMU3RhdGVtZW50S2V5d29yZCxzYXNHbG9iYWxTdGF0ZW1lbnRLZXl3b3JkCitzeW4gbWF0Y2ggc2FzUHJvY1NRTFN0YXRlbWVudCAnXHYlKF58OylccypcenMlKGFsdGVyfGNyZWF0ZXxkZXNjcmliZXxkcm9wKT4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc1Byb2NTUUxTdGF0ZW1lbnRDb21wbGV4S2V5d29yZCBuZXh0Z3JvdXA9c2FzUHJvY1NRTFN0YXRlbWVudE5leHRLZXl3b3JkIHNraXB3aGl0ZSBza2lwbmwgc2tpcGVtcHR5CitzeW4gbWF0Y2ggc2FzUHJvY1NRTFN0YXRlbWVudCAnXHYlKF58OylccypcenN2YWxpZGF0ZT4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc1Byb2NTUUxTdGF0ZW1lbnRLZXl3b3JkIG5leHRncm91cD1zYXNQcm9jU1FMU3RhdGVtZW50S2V5d29yZCxzYXNQcm9jU1FMU3RhdGVtZW50Q29tcGxleEtleXdvcmQgc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkKK3N5biBtYXRjaCBzYXNQcm9jU1FMU3RhdGVtZW50ICdcdiUoXnw7KVxzKlx6c29kcz4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc0dsb2JhbFN0YXRlbWVudEtleXdvcmQgbmV4dGdyb3VwPXNhc0dsb2JhbFN0YXRlbWVudE9EU0tleXdvcmQgc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkgCitzeW4gcmVnaW9uIHNhc1Byb2NTUUwgbWF0Y2hncm91cD1zYXNTZWN0aW9uS2V5d29yZCBzdGFydD0nXHYlKF58OylccypcenNwcm9jXHMrc3FsPicgZW5kPSdcdiUoXnw7KVxzKiUocXVpdHxkYXRhfHByb2N8ZW5kc2FzKT4nbWU9cy0xIGZvbGQgY29udGFpbnM9QHNhc0Jhc2ljU3ludGF4LHNhc1Byb2NTUUxGdW5jdGlvbixzYXNQcm9jU1FMQ2xhdXNlLHNhc1Byb2NTUUxTdGF0ZW1lbnQKIAorIiBTQVMvRFMyLCA5LjQKK3N5biBrZXl3b3JkIHNhc0RTMkZ1bmN0aW9uTmFtZSBhYnMgYW55YWxudW0gYW55YWxwaGEgYW55Y250cmwgYW55ZGlnaXQgYW55Zmlyc3QgYW55Z3JhcGggYW55bG93ZXIgYW55bmFtZSBhbnlwcmludCBhbnlwdW5jdCBhbnlzcGFjZSBhbnl1cHBlciBhbnl4ZGlnaXQgYXJjb3MgYXJjb3NoIGFyc2luIGFyc2luaCBhcnRhbmggYXRhbiBhdGFuMiBiYW5kIGJldGEgYmV0YWludiBibGFja2NscHJjIGJsYWNrcHRwcmMgYmxrc2hjbHByYyBibGtzaHB0cHJjIGJsc2hpZnQgYm5vdCBib3IgYnJzaGlmdCBieG9yIGJ5dGUgY2F0IGNhdHMgY2F0dCBjYXR4IGNlaWwgY2VpbHogY2hvb3NlYyBjaG9vc2VuIGNtcCBjbXB0IGNvYWxlc2NlIGNvYWxlc2NlYyBjb21iIGNvbXBhcmUgY29tcGJsIGNvbXBmdXp6IGNvbXBvdW5kIGNvbXByZXNzIGNvbnN0YW50IGNvbnZ4IGNvbnZ4cCBjb3MgY29zaCBjb3VudCBjb3VudGMgY291bnR3IGNzcyBjdW1pcG10IGN1bXByaW5jIGN2IGRhdGRpZiBkYXRlIGRhdGVqdWwgZGF0ZXBhcnQgZGF0ZXRpbWUgZGF5IGRlcXVvdGUgZGV2aWFuY2UgZGhtcyBkaWYgZGlnYW1tYSBkaW0gZGl2aWRlIGR1ciBkdXJwIGVmZnJhdGUgZXJmIGVyZmMgZXhwIGZhY3QgZmluZCBmaW5kYyBmaW5kdyBmbG9vciBmbG9vcnogZm10aW5mbyBmdXp6IGdhbWludiBnYW1tYSBnYXJraGNscHJjIGdhcmtocHRwcmMgZ2NkIGdlb2Rpc3QgZ2VvbWVhbiBnZW9tZWFueiBoYXJtZWFuIGhhcm1lYW56IGhib3VuZCBobXMgaG9saWRheSBob3VyIGluZGV4IGluZGV4YyBpbmRleHcgaW5wdXRjIGlucHV0biBpbnQgaW50Y2luZGV4IGludGNrIGludGN5Y2xlIGludGR0IGludGZpdCBpbnRnZXQgaW50aW5kZXggaW50bmVzdCBpbnRueCBpbnRyciBpbnRzZWFzIGludHNoaWZ0IGludHRlc3QgaW50dHMgaW50eiBpcG10IGlxciBpcnIganVsZGF0ZSBqdWxkYXRlNyBrY291bnQga3N0cmNhdCBrc3RyaXAga3VwZGF0ZSBrdXBkYXRlcyBrdXJ0b3NpcyBsYWcgbGFyZ2VzdCBsYm91bmQgbGNtIGxlZnQgbGVuZ3RoIGxlbmd0aGMgbGVuZ3RobSBsZW5ndGhuIGxnYW1tYSBsb2cgbG9nYmV0YSBsb2cxMCBsb2cxcHggbG9nMiBsb3djYXNlIG1hZCBtYXJncmNscHJjIG1hcmdycHRwcmMgbWF4IG1kNSBtZHkgbWVhbiBtZWRpYW4gbWluIG1pbnV0ZSBtaXNzaW5nIG1vZCBtb2R6IG1vbnRoIG1vcnQgbiBuZGltcyBuZXRwdiBubWlzcyBub21yYXRlIG5vdGFsbnVtIG5vdGFscGhhIG5vdGNudHJsIG5vdGRpZ2l0IG5vdGZpcnN0IG5vdGdyYXBoIG5vdGxvd2VyIG5vdG5hbWUgbm90cHJpbnQgbm90cHVuY3Qgbm90c3BhY2Ugbm90dXBwZXIgbm90eGRpZ2l0IG5wdiBudWxsIG53a2RvbSBvcmRpbmFsIHBjdGwgcGVybSBwbXQgcG9pc3NvbiBwb3dlciBwcG10IHByb2JiZXRhIHByb2Jibm1sIHByb2JibnJtIHByb2JjaGkgcHJvYmRmIHByb2JmIHByb2JnYW0gcHJvYmh5cHIgcHJvYml0IHByb2JtYyBwcm9ibWVkIHByb2JuZWdiIHByb2Jub3JtIHByb2J0IHByeGNoYW5nZSBwcnhtYXRjaCBwcnhwYXJzZSBwcnhwb3NuIHB1dCBwdnAgcXRyIHF1b3RlIHJhbmJpbiByYW5jYXUgcmFuZCByYW5leHAgcmFuZ2FtIHJhbmdlIHJhbmsgcmFubm9yIHJhbnBvaSByYW50YmwgcmFudHJpIHJhbnVuaSByZXBlYXQgcmV2ZXJzZSByaWdodCBybXMgcm91bmQgcm91bmRlIHJvdW5keiBzYXZpbmdzIHNjYW4gc2VjIHNlY29uZCBzaGEyNTZoZXggc2hhMjU2aG1hY2hleCBzaWduIHNpbiBzaW5oIHNrZXduZXNzIHNsZWVwIHNtYWxsZXN0IHNxbGV4ZWMgc3FydCBzdGQgc3RkZXJyIHN0cmVhbWluaXQgc3RyaXAgc3Vic3RyIHN1YnN0cm4gc3VtIHN1bWFicyB0YW4gdGFuaCB0aW1lIHRpbWVwYXJ0IHRpbWV2YWx1ZSB0aW52IHRvX2RhdGUgdG9fZG91YmxlIHRvX3RpbWUgdG9fdGltZXN0YW1wIHRvZGF5IHRyYW5zbGF0ZSB0cmFuc3RybiB0cmFud3JkIHRyaWdhbW1hIHRyaW0gdHJpbW4gdHJ1bmMgdW5pZm9ybSB1cGNhc2UgdXNzIHV1aWRnZW4gdmFyIHZlcmlmeSB2Zm9ybWF0IHZpbmFycmF5IHZpbmZvcm1hdCB2bGFiZWwgdmxlbmd0aCB2bmFtZSB2dHlwZSB3ZWVrIHdlZWtkYXkgd2hpY2hjIHdoaWNobiB5ZWFyIHlpZWxkcCB5cmRpZiB5eXEgY29udGFpbmVkCitzeW4gcmVnaW9uIHNhc0RTMkZ1bmN0aW9uQ29udGV4dCBzdGFydD0nKCcgZW5kPScpJyBjb250YWluZWQgY29udGFpbnM9QHNhc0Jhc2ljU3ludGF4LHNhc0RTMkZ1bmN0aW9uCitzeW4gbWF0Y2ggc2FzRFMyRnVuY3Rpb24gJ1x2PFx3K1x6ZVwoJyBjb250YWluZWQgY29udGFpbnM9c2FzRFMyRnVuY3Rpb25OYW1lIG5leHRncm91cD1zYXNEUzJGdW5jdGlvbkNvbnRleHQKK3N5biBrZXl3b3JkIHNhc0RTMkNvbnRyb2wgY29udGludWUgZGF0YSBkY2wgZGVjbGFyZSBkbyBkcm9wIGVsc2UgZW5kIGVuZGRhdGEgZW5kcGFja2FnZSBlbmR0aHJlYWQgZnJvbSBnbyBnb3RvIGlmIGxlYXZlIG1ldGhvZCBvdGhlcndpc2UgcGFja2FnZSBwb2ludCByZXR1cm4gc2VsZWN0IHRoZW4gdGhyZWFkIHRvIHVudGlsIHdoZW4gd2hpbGUgY29udGFpbmVkCitzeW4ga2V5d29yZCBzYXNEUzJTdGF0ZW1lbnRLZXl3b3JkIGFycmF5IGJ5IGZvcndhcmQga2VlcCBtZXJnZSBvdXRwdXQgcHV0IHJlbmFtZSByZXRhaW4gc2V0IHN0b3AgdmFyYXJyYXkgdmFybGlzdCBjb250YWluZWQKK3N5biBrZXl3b3JkIHNhc0RTMlN0YXRlbWVudENvbXBsZXhLZXl3b3JkIHBhY2thZ2UgdGhyZWFkIGNvbnRhaW5lZAorc3luIG1hdGNoIHNhc0RTMlN0YXRlbWVudCAnXHYlKF58OylccypcenNcaFx3Kj4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc0RTMlN0YXRlbWVudEtleXdvcmQsc2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZAorc3luIG1hdGNoIHNhc0RTMlN0YXRlbWVudCAnXHYlKF58OylccypcenMlKGRjbHxkZWNsYXJlfGRyb3ApPicgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzRFMyU3RhdGVtZW50S2V5d29yZCBuZXh0Z3JvdXA9c2FzRFMyU3RhdGVtZW50Q29tcGxleEtleXdvcmQgc2tpcHdoaXRlIHNraXBubCBza2lwZW1wdHkKK3N5biBtYXRjaCBzYXNEUzJTdGF0ZW1lbnQgJ1x2JShefDspXHMqXHpzb2RzPicgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9c2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZCBuZXh0Z3JvdXA9c2FzR2xvYmFsU3RhdGVtZW50T0RTS2V5d29yZCBza2lwd2hpdGUgc2tpcG5sIHNraXBlbXB0eQorc3luIHJlZ2lvbiBzYXNEUzIgbWF0Y2hncm91cD1zYXNTZWN0aW9uS2V5d29yZCBzdGFydD0nXHYlKF58OylccypcenNwcm9jXHMrZHMyPicgZW5kPSdcdiUoXnw7KVxzKiUocXVpdHxkYXRhfHByb2N8ZW5kc2FzKT4nbWU9cy0xIGZvbGQgY29udGFpbnM9QHNhc0Jhc2ljU3ludGF4LHNhc0RTMkZ1bmN0aW9uLHNhc0RTMkNvbnRyb2wsc2FzRFMyU3RhdGVtZW50CiAKLSIgSSBkb250IHRoaW5rIHNwZWNpZmljIFBST0NzIG5lZWQgdG8gYmUgbGlzdGVkIGlmIHVzZSB0aGlzIGxpbmUgKEJvYiBIZWNrZWwpLgotc3luIG1hdGNoIHNhc1Byb2MJCSJeXHMqUFJPQyBcd1wrIgotc3luIGtleXdvcmQgc2FzU3RlcAkJUlVOIFFVSVQgREFUQQorIiBTQVMvSU1MLCAxNC4xCitzeW4ga2V5d29yZCBzYXNJTUxGdW5jdGlvbk5hbWUgYWJzIGFsbCBhbGxjb21iIGFsbHBlcm0gYW55IGFwcGx5IGFybWFzaW0gYmluIGJsYW5rc3RyIGJsb2NrIGJyYW5rcyBic3BsaW5lIGJ0cmFuIGJ5dGUgY2hhciBjaG9vc2UgY29sIGNvbHZlYyBjb25jYXQgY29udGVudHMgY29udmV4aXQgY29yciBjb3JyMmNvdiBjb3VudG1pc3MgY291bnRuIGNvdW50dW5pcXVlIGNvdiBjb3YyY29yciBjb3ZsYWcgY3NoYXBlIGN1c3VtIGN1cHJvZCBjdiBjdmV4aHVsbCBkYXRhc2V0cyBkZXNpZ24gZGVzaWduZiBkZXQgZGlhZyBkaWYgZGltZW5zaW9uIGRpc3RhbmNlIGRvIGR1cmF0aW9uIGVjaGVsb24gZWlndmFsIGVpZ3ZlYyBlbGVtZW50IGV4cCBleHBtYXRyaXggZXhwYW5kZ3JpZCBmZnQgZm9yd2FyZCBmcm9vdCBmdWxsIGdhc2V0dXAgZ2VvbWVhbiBnaW52IGhhZGFtYXJkIGhhbGYgaGFua2VsIGhhcm1lYW4gaGRpciBoZXJtaXRlIGhvbW9nZW4gaSBpZmZ0IGluc2VydCBpbnQgaW52IGludnVwZHQgaXNlbXB0eSBpc3NraXBwZWQgaiBqcm9vdCBrdXJ0b3NpcyBsYWcgbGVuZ3RoIGxvYyBsb2cgbG9nYWJzZGV0IG1hZCBtYWdpYyBtYWhhbGFub2JpcyBtYXggbWVhbiBtZWRpYW4gbWluIG1vZCBtb2R1bGVpYyBtb2R1bGVpbiBuYW1lIG5jb2wgbmR4MnN1YiBubGVuZyBub3JtIG5vcm1hbCBucm93IG51bSBvcHNjYWwgb3Jwb2wgcGFyZW50bmFtZSBwYWxldHRlIHBvbHlyb290IHByb2QgcHJvZHVjdCBwdiBxdWFydGlsZSByYW5jb21iIHJhbmRkaXJpY2hsZXQgcmFuZGZ1biByYW5kbXVsdGlub21pYWwgcmFuZG12dCByYW5kbm9ybWFsIHJhbmR3aXNoYXJ0IHJhbnBlcmsgcmFucGVybSByYW5nZSByYW5rIHJhbmt0aWUgcmF0ZXMgcmF0aW8gcmVtb3ZlIHJlcGVhdCByb290IHJvdyByb3djYXQgcm93Y2F0YyByb3d2ZWMgcnN1YnN0ciBzYW1wbGUgc2V0ZGlmIHNoYXBlIHNoYXBlY29sIHNrZXduZXNzIHNvbHZlIHNwYXJzZSBzcGxpbmV2IHNwb3Qgc3Fyc3ltIHNxcnQgc3FydmVjaCBzc3Egc3RhbmRhcmQgc3RkIHN0b3JhZ2Ugc3ViMm5keCBzdWJzdHIgc3VtIHN3ZWVwIHN5bXNxciB0IHRvZXBsaXR6IHRyYWNlIHRyaXNvbHYgdHlwZSB1bmlmb3JtIHVuaW9uIHVuaXF1ZSB1bmlxdWVieSB2YWx1ZSB2YXIgdmVjZGlhZyB2ZWNoIHhtdWx0IHhzZWN0IHlpZWxkIGNvbnRhaW5lZAorc3luIGtleXdvcmQgc2FzSU1MQ2FsbFJvdXRpbmVOYW1lIGFwcGNvcnQgYXJtYWNvdiBhcm1hbGlrIGJhciBib3ggY2hhbmdlIGNvbXBvcnQgZGVsZXRlIGVpZ2VuIGV4ZWN1dGUgZXhwb3J0ZGF0YXNldHRvciBleHBvcnRtYXRyaXh0b3IgZmFybWFjb3YgZmFybWFmaXQgZmFybWFsaWsgZmFybWFzaW0gZmRpZiBnYWVuZCBnYWdldG1lbSBnYWdldHZhbCBnYWluaXQgZ2FyZWV2YWwgZ2FyZWdlbiBnYXNldGNybyBnYXNldG11dCBnYXNldG9iaiBnYXNldHNlbCBnYmxrdnAgZ2Jsa3ZwZCBnY2xvc2UgZ2RlbGV0ZSBnZHJhdyBnZHJhd2wgZ2VuZWlnIGdncmlkIGdpbmNsdWRlIGdvcGVuIGdwaWUgZ3BpZXh5IGdwb2ludCBncG9seSBncG9ydCBncG9ydHBvcCBncG9ydHN0ayBnc2NhbGUgZ3NjcmlwdCBnc2V0IGdzaG93IGdzb3J0aCBnc3RhcnQgZ3N0b3AgZ3N0cmxlbiBndGV4dCBndnRleHQgZ3dpbmRvdyBneGF4aXMgZ3lheGlzIGhlYXRtYXBjb250IGhlYXRtYXBkaXNjIGhpc3RvZ3JhbSBpbXBvcnRkYXRhc2V0ZnJvbXIgaW1wb3J0bWF0cml4ZnJvbXIgaXBmIGl0c29sdmVyIGthbGN2ZiBrYWxjdnMga2FsZGZmIGthbGRmcyBsYXYgbGNwIGxtcyBscCBscHNvbHZlIGx0cyBsdXBkdCBtYXJnIG1heHFmb3JtIG1jZCBtaWxwc29sdmUgbW9kdWxlaSBtdmUgbmxwY2cgbmxwZGQgbmxwZmRkIG5scGZlYSBubHBocW4gbmxwbG0gbmxwbm1zIG5scG5yYSBubHBucnIgbmxwcW4gbmxwcXVhIG5scHRyIG9kZSBvZHNncmFwaCBvcnR2ZWMgcGdyYWYgcHVzaCBxbnRsIHFyIHF1YWQgcXVldWUgcmFuZGdlbiByYW5kc2VlZCByZG9kdCBydXBkdCByZW5hbWUgcnVwZHQgcnpsaW5kIHNjYXR0ZXIgc2VxIHNlcXNjYWxlIHNlcXNoaWZ0IHNlcXNjYWxlIHNlcXNoaWZ0IHNlcmllcyBzb2x2ZWxpbiBzb3J0IHNvcnRuZHggc291bmQgc3BsaW5lIHNwbGluZWMgc3ZkIHRhYnVsYXRlIHRwc3BsaW5lIHRwc3BsbmV2IHRzYmF5c2VhIHRzZGVjb21wIHRzbWxvY2FyIHRzbWxvbWFyIHRzbXVsbWFyIHRzcGVhcnMgdHNwcmVkIHRzcm9vdCB0c3R2Y2FyIHRzdW5pbWFyIHZhbHNldCB2YXJtYWNvdiB2YXJtYWxpayB2YXJtYXNpbSB2bm9ybWFsIHZ0c3Jvb3Qgd2F2ZnQgd2F2Z2V0IHdhdmlmdCB3YXZwcmludCB3YXZ0aHJzaCBjb250YWluZWQKK3N5biByZWdpb24gc2FzSU1MRnVuY3Rpb25Db250ZXh0IHN0YXJ0PScoJyBlbmQ9JyknIGNvbnRhaW5lZCBjb250YWlucz1Ac2FzQmFzaWNTeW50YXgsc2FzSU1MRnVuY3Rpb24KK3N5biBtYXRjaCBzYXNJTUxGdW5jdGlvbiAnXHY8XHcrXHplXCgnIGNvbnRhaW5lZCBjb250YWlucz1zYXNJTUxGdW5jdGlvbk5hbWUsc2FzRGF0YVN0ZXBGdW5jdGlvbiBuZXh0Z3JvdXA9c2FzSU1MRnVuY3Rpb25Db250ZXh0CitzeW4ga2V5d29yZCBzYXNJTUxDb250cm9sIGFib3J0IGJ5IGRvIGVsc2UgZW5kIGZpbmlzaCBnb3RvIGlmIGxpbmsgcGF1c2UgcXVpdCByZXN1bWUgcmV0dXJuIHJ1biBzdGFydCBzdG9wIHRoZW4gdG8gdW50aWwgd2hpbGUgY29udGFpbmVkCitzeW4ga2V5d29yZCBzYXNJTUxTdGF0ZW1lbnRLZXl3b3JkIGFwcGVuZCBjYWxsIGNsb3NlIGNsb3NlZmlsZSBjcmVhdGUgZGVsZXRlIGRpc3BsYXkgZWRpdCBmaWxlIGZpbmQgZm9yY2UgZnJlZSBpbmRleCBpbmZpbGUgaW5wdXQgbGlzdCBsb2FkIG1hdHRyaWIgcHJpbnQgcHVyZ2UgcmVhZCByZW1vdmUgcmVwbGFjZSByZXNldCBzYXZlIHNldGluIHNldG91dCBzaG93IHNvcnQgc3RvcmUgc3VtbWFyeSB1c2Ugd2luZG93IGNvbnRhaW5lZAorc3luIG1hdGNoIHNhc0lNTFN0YXRlbWVudCAnXHYlKF58OylccypcenNcaFx3Kj4nIGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPXNhc0lNTFN0YXRlbWVudEtleXdvcmQsc2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZAorc3luIG1hdGNoIHNhc0lNTFN0YXRlbWVudCAnXHYlKF58OylccypcenNvZHM+JyBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1zYXNHbG9iYWxTdGF0ZW1lbnRLZXl3b3JkIG5leHRncm91cD1zYXNHbG9iYWxTdGF0ZW1lbnRPRFNLZXl3b3JkIHNraXB3aGl0ZSBza2lwbmwgc2tpcGVtcHR5CitzeW4gcmVnaW9uIHNhc0lNTCBtYXRjaGdyb3VwPXNhc1NlY3Rpb25LZXl3b3JkIHN0YXJ0PSdcdiUoXnw7KVxzKlx6c3Byb2NccytpbWw+JyBlbmQ9J1x2JShefDspXHMqJShxdWl0fGRhdGF8cHJvY3xlbmRzYXMpPidtZT1zLTEgZm9sZCBjb250YWlucz1Ac2FzQmFzaWNTeW50YXgsc2FzSU1MRnVuY3Rpb24sc2FzSU1MQ29udHJvbCxzYXNJTUxTdGF0ZW1lbnQKIAorIiBNYWNybyBkZWZpbml0aW9uCitzeW4gcmVnaW9uIHNhc01hY3JvIHN0YXJ0PSdcdlwlbWFjcm8+JyBlbmQ9J1x2XCVtZW5kPicgZm9sZCBrZWVwZW5kIGNvbnRhaW5zPUBzYXNCYXNpY1N5bnRheCxAc2FzRGF0YVN0ZXBTeW50YXgsc2FzRGF0YVN0ZXAsc2FzUHJvYyxzYXNPRFNHcmFwaGljc1Byb2Msc2FzR3JhcGhQcm9jLHNhc0FuYWx5dGljYWxQcm9jLHNhc1Byb2NUZW1wbGF0ZSxzYXNQcm9jU1FMLHNhc0RTMixzYXNJTUwKIAotIiBCYXNlIFNBUyBQcm9jcyAtIHZlcnNpb24gOC4xCi0KLXN5biBrZXl3b3JkIHNhc0NvbmRpdGlvbmFsCURPIEVMU0UgRU5EIElGIFRIRU4gVU5USUwgV0hJTEUKLQotc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CUFCT1JUIEFSUkFZIEFUVFJJQiBCWSBDQUxMIENBUkRTIENBUkRTNCBDQVROQU1FCi1zeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJQ09OVElOVUUgREFUQUxJTkVTIERBVEFMSU5FUzQgREVMRVRFIERJU1BMQVkKLXN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlETSBEUk9QIEVORFNBUyBFUlJPUiBGSUxFIEZJTEVOQU1FIEZPT1ROT1RFCi1zeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJRk9STUFUIEdPVE8gSU5GSUxFIElORk9STUFUIElOUFVUIEtFRVAKLXN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlMQUJFTCBMRUFWRSBMRU5HVEggTElCTkFNRSBMSU5LIExJU1QgTE9TVENBUkQKLXN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlNRVJHRSBNSVNTSU5HIE1PRElGWSBPUFRJT05TIE9VVFBVVCBQQUdFCi1zeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJUFVUIFJFRElSRUNUIFJFTU9WRSBSRU5BTUUgUkVQTEFDRSBSRVRBSU4KLXN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlSRVRVUk4gU0VMRUNUIFNFVCBTS0lQIFNUQVJUU0FTIFNUT1AgVElUTEUKLXN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlVUERBVEUgV0FJVFNBUyBXSEVSRSBXSU5ET1cgWCBTWVNUQVNLCi0KLSIgS2V5d29yZHMgdGhhdCBhcmUgdXNlZCBpbiBQcm9jIFNRTAotIiBJIGxlZnQgdGhlbSBhcyBzdGF0ZW1lbnRzIGJlY2F1c2UgU0FTJ3MgZW5oYW5jZWQgZWRpdG9yIGhpZ2hsaWdodHMKLSIgdGhlbSB0aGUgc2FtZSBhcyBub3JtYWwgc3RhdGVtZW50cyB1c2VkIGluIGRhdGEgc3RlcHMgKEppbSBLaWRkKQotCi1zeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJQUREIEFORCBBTFRFUiBBUyBDQVNDQURFIENIRUNLIENSRUFURQotc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CURFTEVURSBERVNDUklCRSBESVNUSU5DVCBEUk9QIEZPUkVJR04KLXN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlGUk9NIEdST1VQIEhBVklORyBJTkRFWCBJTlNFUlQgSU5UTyBJTgotc3luIGtleXdvcmQgc2FzU3RhdGVtZW50CUtFWSBMSUtFIE1FU1NBR0UgTU9ESUZZIE1TR1RZUEUgTk9UCi1zeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJTlVMTCBPTiBPUiBPUkRFUiBQUklNQVJZIFJFRkVSRU5DRVMKLXN5biBrZXl3b3JkIHNhc1N0YXRlbWVudAlSRVNFVCBSRVNUUklDVCBTRUxFQ1QgU0VUIFRBQkxFCi1zeW4ga2V5d29yZCBzYXNTdGF0ZW1lbnQJVU5JUVVFIFVQREFURSBWQUxJREFURSBWSUVXIFdIRVJFCi0KLSIgTWF0Y2ggZGVjbGFyYXRpb25zIGhhdmUgdG8gYXBwZWFyIG9uZSBwZXIgbGluZSAoUGF1bG8gVGFuaW1vdG8pCi1zeW4gbWF0Y2ggc2FzU3RhdGVtZW50CSJGT09UTk9URVxkIgotc3luIG1hdGNoIHNhc1N0YXRlbWVudAkiVElUTEVcZCIKLQotIiBNYXRjaCBkZWNsYXJhdGlvbnMgaGF2ZSB0byBhcHBlYXIgb25lIHBlciBsaW5lIChQYXVsbyBUYW5pbW90bykKLXN5biBtYXRjaCBzYXNNYWNybyAiJUJRVU9URSIKLXN5biBtYXRjaCBzYXNNYWNybyAiJU5SQlFVT1RFIgotc3luIG1hdGNoIHNhc01hY3JvICIlQ01QUkVTIgotc3luIG1hdGNoIHNhc01hY3JvICIlUUNNUFJFUyIKLXN5biBtYXRjaCBzYXNNYWNybyAiJUNPTVBTVE9SIgotc3luIG1hdGNoIHNhc01hY3JvICIlREFUQVRZUCIKLXN5biBtYXRjaCBzYXNNYWNybyAiJURJU1BMQVkiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVETyIKLXN5biBtYXRjaCBzYXNNYWNybyAiJUVMU0UiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVFTkQiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVFVkFMIgotc3luIG1hdGNoIHNhc01hY3JvICIlR0xPQkFMIgotc3luIG1hdGNoIHNhc01hY3JvICIlR09UTyIKLXN5biBtYXRjaCBzYXNNYWNybyAiJUlGIgotc3luIG1hdGNoIHNhc01hY3JvICIlSU5ERVgiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVJTlBVVCIKLXN5biBtYXRjaCBzYXNNYWNybyAiJUtFWURFRiIKLXN5biBtYXRjaCBzYXNNYWNybyAiJUxBQkVMIgotc3luIG1hdGNoIHNhc01hY3JvICIlTEVGVCIKLXN5biBtYXRjaCBzYXNNYWNybyAiJUxFTkdUSCIKLXN5biBtYXRjaCBzYXNNYWNybyAiJUxFVCIKLXN5biBtYXRjaCBzYXNNYWNybyAiJUxPQ0FMIgotc3luIG1hdGNoIHNhc01hY3JvICIlTE9XQ0FTRSIKLXN5biBtYXRjaCBzYXNNYWNybyAiJU1BQ1JPIgotc3luIG1hdGNoIHNhc01hY3JvICIlTUVORCIKLXN5biBtYXRjaCBzYXNNYWNybyAiJU5SQlFVT1RFIgotc3luIG1hdGNoIHNhc01hY3JvICIlTlJRVU9URSIKLXN5biBtYXRjaCBzYXNNYWNybyAiJU5SU1RSIgotc3luIG1hdGNoIHNhc01hY3JvICIlUFVUIgotc3luIG1hdGNoIHNhc01hY3JvICIlUUNNUFJFUyIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVFMRUZUIgotc3luIG1hdGNoIHNhc01hY3JvICIlUUxPV0NBU0UiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVRU0NBTiIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVFTVUJTVFIiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVRU1lTRlVOQyIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVFUUklNIgotc3luIG1hdGNoIHNhc01hY3JvICIlUVVPVEUiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVRVVBDQVNFIgotc3luIG1hdGNoIHNhc01hY3JvICIlU0NBTiIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVNUUiIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVNVQlNUUiIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVNVUEVSUSIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVNZU0NBTEwiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVTWVNFVkFMRiIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVNZU0VYRUMiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVTWVNGVU5DIgotc3luIG1hdGNoIHNhc01hY3JvICIlU1lTR0VUIgotc3luIG1hdGNoIHNhc01hY3JvICIlU1lTTFBVVCIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVNZU1BST0QiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVTWVNSQyIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVNZU1JQVVQiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVUSEVOIgotc3luIG1hdGNoIHNhc01hY3JvICIlVE8iCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVUUklNIgotc3luIG1hdGNoIHNhc01hY3JvICIlVU5RVU9URSIKLXN5biBtYXRjaCBzYXNNYWNybyAiJVVOVElMIgotc3luIG1hdGNoIHNhc01hY3JvICIlVVBDQVNFIgotc3luIG1hdGNoIHNhc01hY3JvICIlVkVSSUZZIgotc3luIG1hdGNoIHNhc01hY3JvICIlV0hJTEUiCi1zeW4gbWF0Y2ggc2FzTWFjcm8gIiVXSU5ET1ciCi0KLSIgU0FTIEZ1bmN0aW9ucwotCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglBQlMgQUREUiBBSVJZIEFSQ09TIEFSU0lOIEFUQU4gQVRUUkMgQVRUUk4KLXN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUJBTkQgQkVUQUlOViBCTFNISUZUIEJOT1QgQk9SIEJSU0hJRlQgQlhPUgotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JQllURSBDREYgQ0VJTCBDRVhJU1QgQ0lOViBDTE9TRSBDTk9OQ1QgQ09MTEFURQotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JQ09NUEJMIENPTVBPVU5EIENPTVBSRVNTIENPUyBDT1NIIENTUyBDVVJPQlMKLXN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUNWIERBQ0NEQiBEQUNDREJTTCBEQUNDU0wgREFDQ1NZRCBEQUNDVEFCCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglEQUlSWSBEQVRFIERBVEVKVUwgREFURVBBUlQgREFURVRJTUUgREFZCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglEQ0xPU0UgREVQREIgREVQREJTTCBERVBEQlNMIERFUFNMIERFUFNMCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglERVBTWUQgREVQU1lEIERFUFRBQiBERVBUQUIgREVRVU9URSBESE1TCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglESUYgRElHQU1NQSBESU0gRElORk8gRE5VTSBET1BFTiBET1BUTkFNRQotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JRE9QVE5VTSBEUkVBRCBEUk9QTk9URSBEU05BTUUgRVJGIEVSRkMgRVhJU1QKLXN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUVYUCBGQVBQRU5EIEZDTE9TRSBGQ09MIEZERUxFVEUgRkVUQ0ggRkVUQ0hPQlMKLXN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUZFWElTVCBGR0VUIEZJTEVFWElTVCBGSUxFTkFNRSBGSUxFUkVGIEZJTkZPCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglGSU5WIEZJUE5BTUUgRklQTkFNRUwgRklQU1RBVEUgRkxPT1IgRk5PTkNUCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglGTk9URSBGT1BFTiBGT1BUTkFNRSBGT1BUTlVNIEZQT0lOVCBGUE9TCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglGUFVUIEZSRUFEIEZSRVdJTkQgRlJMRU4gRlNFUCBGVVpaIEZXUklURQotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JR0FNSU5WIEdBTU1BIEdFVE9QVElPTiBHRVRWQVJDIEdFVFZBUk4gSEJPVU5ECi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglITVMgSE9TVEhFTFAgSE9VUiBJQkVTU0VMIElOREVYIElOREVYQwotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JSU5ERVhXIElOUFVUIElOUFVUQyBJTlBVVE4gSU5UIElOVENLIElOVE5YCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglJTlRSUiBJUlIgSkJFU1NFTCBKVUxEQVRFIEtVUlRPU0lTIExBRyBMQk9VTkQKLXN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUxFRlQgTEVOR1RIIExHQU1NQSBMSUJOQU1FIExJQlJFRiBMT0cgTE9HMTAKLXN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCUxPRzIgTE9HUERGIExPR1BNRiBMT0dTREYgTE9XQ0FTRSBNQVggTURZCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglNRUFOIE1JTiBNSU5VVEUgTU9EIE1PTlRIIE1PUEVOIE1PUlQgTgotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JTkVUUFYgTk1JU1MgTk9STUFMIE5PVEUgTlBWIE9QRU4gT1JESU5BTAotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUEFUSE5BTUUgUERGIFBFRUsgUEVFS0MgUE1GIFBPSU5UIFBPSVNTT04gUE9LRQotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUFJPQkJFVEEgUFJPQkJOTUwgUFJPQkNISSBQUk9CRiBQUk9CR0FNCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglQUk9CSFlQUiBQUk9CSVQgUFJPQk5FR0IgUFJPQk5PUk0gUFJPQlQgUFVUCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglQVVRDIFBVVE4gUVRSIFFVT1RFIFJBTkJJTiBSQU5DQVUgUkFORVhQCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglSQU5HQU0gUkFOR0UgUkFOSyBSQU5OT1IgUkFOUE9JIFJBTlRCTCBSQU5UUkkKLXN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVJBTlVOSSBSRVBFQVQgUkVTT0xWRSBSRVZFUlNFIFJFV0lORCBSSUdIVAotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JUk9VTkQgU0FWSU5HIFNDQU4gU0RGIFNFQ09ORCBTSUdOIFNJTiBTSU5ICi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglTS0VXTkVTUyBTT1VOREVYIFNQRURJUyBTUVJUIFNURCBTVERFUlIgU1RGSVBTCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglTVE5BTUUgU1ROQU1FTCBTVUJTVFIgU1VNIFNZTUdFVCBTWVNHRVQgU1lTTVNHCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglTWVNQUk9EIFNZU1JDIFNZU1RFTSBUQU4gVEFOSCBUSU1FIFRJTUVQQVJUCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglUSU5WIFROT05DVCBUT0RBWSBUUkFOU0xBVEUgVFJBTldSRCBUUklHQU1NQQotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVFJJTSBUUklNTiBUUlVOQyBVTklGT1JNIFVQQ0FTRSBVU1MgVkFSCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWQVJGTVQgVkFSSU5GTVQgVkFSTEFCRUwgVkFSTEVOIFZBUk5BTUUKLXN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVZBUk5VTSBWQVJSQVkgVkFSUkFZWCBWQVJUWVBFIFZFUklGWSBWRk9STUFUCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWRk9STUFURCBWRk9STUFURFggVkZPUk1BVE4gVkZPUk1BVE5YIFZGT1JNQVRXCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWRk9STUFUV1ggVkZPUk1BVFggVklOQVJSQVkgVklOQVJSQVlYIFZJTkZPUk1BVAotc3luIGtleXdvcmQgc2FzRnVuY3Rpb24JVklORk9STUFURCBWSU5GT1JNQVREWCBWSU5GT1JNQVROIFZJTkZPUk1BVE5YCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWSU5GT1JNQVRXIFZJTkZPUk1BVFdYIFZJTkZPUk1BVFggVkxBQkVMCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWTEFCRUxYIFZMRU5HVEggVkxFTkdUSFggVk5BTUUgVk5BTUVYIFZUWVBFCi1zeW4ga2V5d29yZCBzYXNGdW5jdGlvbglWVFlQRVggV0VFS0RBWSBZRUFSIFlZUSBaSVBGSVBTIFpJUE5BTUUgWklQTkFNRUwKLXN5biBrZXl3b3JkIHNhc0Z1bmN0aW9uCVpJUFNUQVRFCi0KLSIgSGFuZHkgc2V0dGluZ3MgZm9yIHVzaW5nIHZpbSB3aXRoIGxvZyBmaWxlcwotc3luIGtleXdvcmQgc2FzTG9nTXNnCU5PVEUKLXN5biBrZXl3b3JkIHNhc1dhcm5Nc2cJV0FSTklORwotc3luIGtleXdvcmQgc2FzRXJyTXNnCUVSUk9SCi0KLSIgQWx3YXlzIGNvbnRhaW5lZCBpbiBhIGNvbW1lbnQgKEJvYiBIZWNrZWwpCi1zeW4ga2V5d29yZCBzYXNUb2RvCVRPRE8gVEJEIEZJWE1FIGNvbnRhaW5lZAotCi0iIFRoZXNlIGRvbid0IGZpdCBhbnl3aGVyZSBlbHNlIChCb2IgSGVja2VsKS4KLSIgQWRkZWQgb3RoZXJzIHRoYXQgd2VyZSBtaXNzaW5nLgotc3luIGtleXdvcmQgc2FzVW5kZXJzY29yZQlfQUxMXyBfQVVUT01BVElDXyBfQ0hBUkFDVEVSXyBfSU5GSUxFXyBfTl8gX05BTUVfIF9OVUxMXyBfTlVNRVJJQ18gX1VTRVJfIF9XRUJPVVRfCi0KLSIgRW5kIG9mIFNBUyBGdW5jdGlvbnMKLQotIiAgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci0KLQotIiBEZWZhdWx0IHNhcyBlbmhhbmNlZCBlZGl0b3IgY29sb3Igc3ludGF4Ci1oaSBzQ29tbWVudAl0ZXJtPWJvbGQgY3Rlcm09Tk9ORSBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPU5PTkUgZ3VpZmc9RGFya0dyZWVuIGd1aWJnPVdoaXRlCi1oaSBzQ2FyZAl0ZXJtPWJvbGQgY3Rlcm09Tk9ORSBjdGVybWZnPUJsYWNrIGN0ZXJtYmc9WWVsbG93IGd1aT1OT05FIGd1aWZnPUJsYWNrIGd1aWJnPUxpZ2h0WWVsbG93Ci1oaSBzRGF0ZV9UaW1lCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1TZWFHcmVlbiBndWliZz1XaGl0ZQotaGkgc0tleXdvcmQJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1CbHVlICBjdGVybWJnPUJsYWNrIGd1aT1OT05FIGd1aWZnPUJsdWUgZ3VpYmc9V2hpdGUKLWhpIHNGbXRJbmZtdAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUxpZ2h0R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1TZWFHcmVlbiBndWliZz1XaGl0ZQotaGkgc1N0cmluZwl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPU1hZ2VudGEgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1QdXJwbGUgZ3VpYmc9V2hpdGUKLWhpIHNUZXh0CXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9V2hpdGUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1CbGFjayBndWliZz1XaGl0ZQotaGkgc051bWJlcgl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9U2VhR3JlZW4gZ3VpYmc9V2hpdGUKLWhpIHNQcm9jCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9Qmx1ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPU5hdnkgZ3VpYmc9V2hpdGUKLWhpIHNTZWN0aW9uCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9Qmx1ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPU5hdnkgZ3VpYmc9V2hpdGUKLWhpIG1EZWZpbmUJdGVybT1OT05FIGN0ZXJtPWJvbGQgY3Rlcm1mZz1XaGl0ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPUJsYWNrIGd1aWJnPVdoaXRlCi1oaSBtS2V5d29yZAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCi1oaSBtUmVmZXJlbmNlCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9V2hpdGUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCi1oaSBtU2VjdGlvbgl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1OYXZ5IGd1aWJnPVdoaXRlCi1oaSBtVGV4dAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9QmxhY2sgZ3VpYmc9V2hpdGUKLQotIiBDb2xvcnMgdGhhdCBjbG9zZWx5IG1hdGNoIFNBUyBsb2cgY29sb3JzIGZvciBkZWZhdWx0IGNvbG9yIHNjaGVtZQotaGkgbEVycm9yCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9UmVkIGN0ZXJtYmc9QmxhY2sgZ3VpPW5vbmUgZ3VpZmc9UmVkIGd1aWJnPVdoaXRlCi1oaSBsV2FybmluZwl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPW5vbmUgZ3VpZmc9R3JlZW4gZ3VpYmc9V2hpdGUKLWhpIGxOb3RlCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9Q3lhbiBjdGVybWJnPUJsYWNrIGd1aT1ub25lIGd1aWZnPUJsdWUgZ3VpYmc9V2hpdGUKLQotCi0iIFNwZWNpYWwgaGlsaWdodGluZyBmb3IgdGhlIFNBUyBwcm9jIHNlY3Rpb24KLQotaGkgZGVmIGxpbmsgc2FzQ29tbWVudAlzQ29tbWVudAotaGkgZGVmIGxpbmsgc2FzQ29uZGl0aW9uYWwJc0tleXdvcmQKLWhpIGRlZiBsaW5rIHNhc1N0ZXAJCXNTZWN0aW9uCi1oaSBkZWYgbGluayBzYXNGdW5jdGlvbglzS2V5d29yZAotaGkgZGVmIGxpbmsgc2FzTWFjcm8JbUtleXdvcmQKLWhpIGRlZiBsaW5rIHNhc01hY3JvVmFyCU5vblRleHQKLWhpIGRlZiBsaW5rIHNhc051bWJlcglzTnVtYmVyCi1oaSBkZWYgbGluayBzYXNTdGF0ZW1lbnQJc0tleXdvcmQKLWhpIGRlZiBsaW5rIHNhc1N0cmluZwlzU3RyaW5nCi1oaSBkZWYgbGluayBzYXNQcm9jCQlzUHJvYwotIiAoQm9iIEhlY2tlbCkKLWhpIGRlZiBsaW5rIHNhc1RvZG8JCVRvZG8KLWhpIGRlZiBsaW5rIHNhc0Vyck1zZwlsRXJyb3IKLWhpIGRlZiBsaW5rIHNhc1dhcm5Nc2cJbFdhcm5pbmcKLWhpIGRlZiBsaW5rIHNhc0xvZ01zZwlsTm90ZQotaGkgZGVmIGxpbmsgc2FzQ2FyZHMJc0NhcmQKLSIgKEJvYiBIZWNrZWwpCi1oaSBkZWYgbGluayBzYXNVbmRlcnNjb3JlCVByZVByb2MKKyIgRGVmaW5lIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCitoaSBkZWYgbGluayBzYXNDb21tZW50IENvbW1lbnQKK2hpIGRlZiBsaW5rIHNhc1RvZG8gRGVsaW1pdGVyCitoaSBkZWYgbGluayBzYXNTZWN0TGJsIFRpdGxlCitoaSBkZWYgbGluayBzYXNTZWN0TGJsRW5kcyBDb21tZW50CitoaSBkZWYgbGluayBzYXNOdW1iZXIgTnVtYmVyCitoaSBkZWYgbGluayBzYXNEYXRlVGltZSBDb25zdGFudAoraGkgZGVmIGxpbmsgc2FzU3RyaW5nIFN0cmluZworaGkgZGVmIGxpbmsgc2FzRGF0YVN0ZXBDb250cm9sIEtleXdvcmQKK2hpIGRlZiBsaW5rIHNhc1Byb2NUZW1wbGF0ZUNsYXVzZSBLZXl3b3JkCitoaSBkZWYgbGluayBzYXNQcm9jU1FMQ2xhdXNlIEtleXdvcmQKK2hpIGRlZiBsaW5rIHNhc0RTMkNvbnRyb2wgS2V5d29yZAoraGkgZGVmIGxpbmsgc2FzSU1MQ29udHJvbCBLZXl3b3JkCitoaSBkZWYgbGluayBzYXNPcGVyYXRvciBPcGVyYXRvcgoraGkgZGVmIGxpbmsgc2FzR2xvYmFsU3RhdGVtZW50S2V5d29yZCBTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNhc0dsb2JhbFN0YXRlbWVudE9EU0tleXdvcmQgU3RhdGVtZW50CitoaSBkZWYgbGluayBzYXNTZWN0aW9uS2V5d29yZCBTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNhc0RhdGFTdGVwRnVuY3Rpb25OYW1lIEZ1bmN0aW9uCitoaSBkZWYgbGluayBzYXNEYXRhU3RlcENhbGxSb3V0aW5lTmFtZSBGdW5jdGlvbgoraGkgZGVmIGxpbmsgc2FzRGF0YVN0ZXBTdGF0ZW1lbnRLZXl3b3JkIFN0YXRlbWVudAoraGkgZGVmIGxpbmsgc2FzRGF0YVN0ZXBTdGF0ZW1lbnRIYXNoS2V5d29yZCBTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNhc0RhdGFTdGVwSGFzaE9wZXJhdG9yIE9wZXJhdG9yCitoaSBkZWYgbGluayBzYXNEYXRhU3RlcEhhc2hNZXRob2ROYW1lIEZ1bmN0aW9uCitoaSBkZWYgbGluayBzYXNEYXRhU3RlcEhhc2hBdHRyaWJ1dGVOYW1lIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHNhc1Byb2NTdGF0ZW1lbnRLZXl3b3JkIFN0YXRlbWVudAoraGkgZGVmIGxpbmsgc2FzT0RTR3JhcGhpY3NQcm9jU3RhdGVtZW50S2V5d29yZCBTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNhc0dyYXBoUHJvY1N0YXRlbWVudEtleXdvcmQgU3RhdGVtZW50CitoaSBkZWYgbGluayBzYXNBbmFseXRpY2FsUHJvY1N0YXRlbWVudEtleXdvcmQgU3RhdGVtZW50CitoaSBkZWYgbGluayBzYXNQcm9jVGVtcGxhdGVTdGF0ZW1lbnRLZXl3b3JkIFN0YXRlbWVudAoraGkgZGVmIGxpbmsgc2FzUHJvY1RlbXBsYXRlU3RhdGVtZW50Q29tcGxleEtleXdvcmQgU3RhdGVtZW50CitoaSBkZWYgbGluayBzYXNQcm9jVGVtcGxhdGVHVExTdGF0ZW1lbnRLZXl3b3JkIFN0YXRlbWVudAoraGkgZGVmIGxpbmsgc2FzUHJvY1RlbXBsYXRlR1RMQ29tcGxleEtleXdvcmQgU3RhdGVtZW50CitoaSBkZWYgbGluayBzYXNQcm9jU1FMRnVuY3Rpb25OYW1lIEZ1bmN0aW9uCitoaSBkZWYgbGluayBzYXNQcm9jU1FMU3RhdGVtZW50S2V5d29yZCBTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNhc1Byb2NTUUxTdGF0ZW1lbnRDb21wbGV4S2V5d29yZCBTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNhc1Byb2NTUUxTdGF0ZW1lbnROZXh0S2V5d29yZCBTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNhc0RTMkZ1bmN0aW9uTmFtZSBGdW5jdGlvbgoraGkgZGVmIGxpbmsgc2FzRFMyU3RhdGVtZW50S2V5d29yZCBTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIHNhc0lNTEZ1bmN0aW9uTmFtZSBGdW5jdGlvbgoraGkgZGVmIGxpbmsgc2FzSU1MQ2FsbFJvdXRpbmVOYW1lIEZ1bmN0aW9uCitoaSBkZWYgbGluayBzYXNJTUxTdGF0ZW1lbnRLZXl3b3JkIFN0YXRlbWVudAoraGkgZGVmIGxpbmsgc2FzTWFjcm9SZXNlcnZlZCBQcmVQcm9jCitoaSBkZWYgbGluayBzYXNNYWNyb1ZhcmlhYmxlIERlZmluZQoraGkgZGVmIGxpbmsgc2FzTWFjcm9GdW5jdGlvbk5hbWUgRGVmaW5lCitoaSBkZWYgbGluayBzYXNEYXRhTGluZSBTcGVjaWFsQ2hhcgoraGkgZGVmIGxpbmsgc2FzRm9ybWF0IFNwZWNpYWxDaGFyCitoaSBkZWYgbGluayBzYXNSZXNlcnZlZCBTcGVjaWFsCiAKICIgU3luY3Jvbml6ZSBmcm9tIGJlZ2lubmluZyB0byBrZWVwIGxhcmdlIGJsb2NrcyBmcm9tIGxvc2luZwogIiBzeW50YXggY29sb3Jpbmcgd2hpbGUgbW92aW5nIHRocm91Z2ggY29kZS4KQEAgLTI2NCw0ICsyNjEsNSBAQAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzYXMiCiAKLSIgdmltOiB0cz04CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUK