REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 328.55 KB
Close
//usr/share/locale/nl/LC_TIME/coreutils.mo
Text
Base64
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PwAAAEiXAgA/AAAAiJcCADgAAADIlwIAPQAAAAGYAgA+AAAAP5gCADMAAAB+mAIAkAAAALKYAgAoAAAAQ5kCACEAAABsmQIATgAAAI6ZAgBmAAAA3ZkCAD4AAABEmgIAQAAAAIOaAgAjAAAAxJoCADwAAADomgIAHwAAACWbAgAXAAAARZsCABoAAABdmwIALwAAAHibAgAaAAAAqJsCABQAAADDmwIAFwAAANibAgASAAAA8JsCAAUAAAADnAIAFAAAAAmcAgATAAAAHpwCAAYAAAAynAIAHwAAADmcAgAqAAAAWZwCACEAAACEnAIANwAAAKacAgASAAAA3pwCACAAAADxnAIAIgAAABKdAgAzAAAANZ0CABcAAABpnQIAFwAAAIGdAgAPAAAAmZ0CAC4AAACpnQIAFQAAANidAgAwAAAA7p0CABYAAAAfngIAQwAAADaeAgAcAAAAep4CACMAAACXngIAQgAAALueAgA6AAAA/p4CABMAAAA5nwIAGQAAAE2fAgARAAAAZ58CADwAAAB5nwIASAAAALafAgArAAAA/58CAEoAAAAroAIAMgAAAHagAgA/AAAAqaACADQAAADpoAIAPQAAAB6hAgBAAAAAXKECACMAAACdoQIAGgAAAMGhAgAkAAAA3KECAD0AAAABogIAQgAAAD+iAgBIAAAAgqICADQAAADLogIALgAAAACjAgAsAAAAL6MCADwAAABcowIARQAAAJmjAgAUAAAA36MCADUAAAD0owIAMAAAACqkAgAzAAAAW6QCADcAAACPpAIAYwAAAMekAgAVAAAAK6UCABYAAABBpQIAIgAAAFilAgB0AAAAe6UCAAoAAADwpQIAMwAAAPulAgA+AAAAL6YCADUAAABupgIAagAAAKSmAgBoAAAAD6cCAF8AAAB4pwIACAAAANinAgAwAAAA4acCACwAAAASqAIAKgAAAD+oAgAzAAAAaqgCACgAAACeqAIAJgAAAMeoAgAoAAAA7qgCAAsAAAAXqQIAEgAAACOpAgAMAAAANqkCAA0AAABDqQIANAAAAFGpAgAvAAAAhqkCACgAAAC2qQIANwAAAN+pAgAmAAAAF6oCACAAAAA+qgIA9wEAAF+qAgABAAAAV6wCABEBAABZrAIAmQAAAGutAgBGAQAABa4CAP0AAABMrwIA3gAAAEqwAgCsAAAA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yI4AANyOAADwjgAABI8AADCPAABMjwAAYI8AAHSPAACIjwAAnI8AALCPAADEjwAA4I8AAPyPAAAYkAAALJAAAECQAABckAAAcJAAAIyQAACokAAAvJAAANiQAAA8GAUAKgAAAAAAAAAMAAAA/////3IYBQArAAAAAAAAAAwAAAD/////qRgFAAEAAAAAAAAAAgAAAAAAAAANAAAAAAAAAAIAAAAAAAAADgAAAP/////JGAUAAQAAAAAAAAAxAAAA//////sYBQAXAAAAAQAAABkAAAD/////KxkFADcAAAAAAAAAEwAAAP////91GQUAFwAAAAAAAAAZAAAA/////6UZBQAEAAAAAAAAABYAAAD/////vxkFABYAAAAAAAAAFAAAAP/////pGQUABQAAAAAAAAAoAAAA/////xYaBQAKAAAAAAAAAFEAAAD/////cRoFAAoAAAAAAAAAUgAAAP/////NGgUACgAAAAAAAABWAAAA/////y0bBQAhAAAAAAAAAAYAAAD/////VBsFAC8AAAAAAAAAGAAAAP////+bGwUAFgAAAAAAAAAVAAAAAAAAAAEAAAD/////xxsFAAYAAAAAAAAAAQAAAP/////OGwUADAAAAAAAAABGAAAA/////yAcBQAMAAAAAAAAAC4AAAD/////WhwFACgAAAAAAAAAAQAAAP////+DHAUADQAAAAEAAAAEAAAAAQAAABkAAAD/////rRwFABoAAAABAAAABwAAAP/////OHAUAOAAAAAAAAAAMAAAA/////xIdBQA5AAAAAAAAAAwAAAD/////Vx0FAAEAAAAAAAAAAgAAAAAAAAASAAAAAAAAAAIAAAAAAAAAFQAAAP////+DHQUAAQAAAAAAAAAVAAAAAAAAABUAAAD/////rh0FAA0AAAABAAAAKAAAAP/////jHQUAQAAAAAAAAAAUAAAA/////zceBQANAAAAAAAAACgAAAD/////bB4FAAQAAAAAAAAAGwAAAP////+LHgUAFAAAAAAAAAAyAAAA/////9EeBQAFAAAAAAAAAC4AAAD/////BB8FAA8AAAAAAAAAKwAAAAAAAAAfAAAA/////10fBQAPAAAAAAAAADgAAAAAAAAALwAAAP/////THwUADwAAAAAAAAA4AAAAAAAAAC0AAAD/////RyAFADEAAAAAAAAABgAAAP////9+IAUAOwAAAAAAAAAkAAAA/////90gBQATAAAAAAAAACMAAAAAAAAAAQAAAP////8UIQUACAAAAAAAAAABAAAA/////x0hBQAFAAAAAAAAACcAAAAAAAAAJAAAAP////9tIQUABQAAAAAAAAAdAAAAAAAAABoAAAD/////qSEFAC8AAAAAAAAABgAAAP/////eIQUADQAAAAEAAAAEAAAAAQAAAB4AAAD/////DSIFABQAAAABAAAAEgAAAP////8ACgAKCkJZVEVTIGlzIGhleCB3aXRoIDB4IG9yIDBYIHByZWZpeCwgYW5kIG1heSBoYXZlIGEgbXVsdGlwbGllciBzdWZmaXg6CiAgYiAgICA1MTIKICBLQiAgIDEwMDAKICBLICAgIDEwMjQKICBNQiAgIDEwMDAqMTAwMAogIE0gICAgMTAyNCoxMDI0CmFuZCBzbyBvbiBmb3IgRywgVCwgUCwgRSwgWiwgWS4KAAoKVFlQRSBpcyBtYWRlIHVwIG9mIG9uZSBvciBtb3JlIG9mIHRoZXNlIHNwZWNpZmljYXRpb25zOgogIGEgICAgICAgICAgbmFtZWQgY2hhcmFjdGVyLCBpZ25vcmluZyBoaWdoLW9yZGVyIGJpdAogIGMgICAgICAgICAgcHJpbnRhYmxlIGNoYXJhY3RlciBvciBiYWNrc2xhc2ggZXNjYXBlCgAKClRyYWRpdGlvbmFsIGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBtYXkgYmUgaW50ZXJtaXhlZDsgdGhleSBhY2N1bXVsYXRlOgogIC1hICAgc2FtZSBhcyAtdCBhLCAgc2VsZWN0IG5hbWVkIGNoYXJhY3RlcnMsIGlnbm9yaW5nIGhpZ2gtb3JkZXIgYml0CiAgLWIgICBzYW1lIGFzIC10IG8xLCBzZWxlY3Qgb2N0YWwgYnl0ZXMKICAtYyAgIHNhbWUgYXMgLXQgYywgIHNlbGVjdCBwcmludGFibGUgY2hhcmFjdGVycyBvciBiYWNrc2xhc2ggZXNjYXBlcwogIC1kICAgc2FtZSBhcyAtdCB1Miwgc2VsZWN0IHVuc2lnbmVkIGRlY2ltYWwgMi1ieXRlIHVuaXRzCgAKICAoIEVYUFJFU1NJT04gKSAgICAgICAgICAgICAgIEVYUFJFU1NJT04gaXMgdHJ1ZQogICEgRVhQUkVTU0lPTiAgICAgICAgICAgICAgICAgRVhQUkVTU0lPTiBpcyBmYWxzZQogIEVYUFJFU1NJT04xIC1hIEVYUFJFU1NJT04yICAgYm90aCBFWFBSRVNTSU9OMSBhbmQgRVhQUkVTU0lPTjIgYXJlIHRydWUKICBFWFBSRVNTSU9OMSAtbyBFWFBSRVNTSU9OMiAgIGVpdGhlciBFWFBSRVNTSU9OMSBvciBFWFBSRVNTSU9OMiBpcyB0cnVlCgAKICAtLWNoZWNrLW9yZGVyICAgICBjaGVjayB0aGF0IHRoZSBpbnB1dCBpcyBjb3JyZWN0bHkgc29ydGVkLCBldmVuCiAgICAgICAgICAgICAgICAgICAgICBpZiBhbGwgaW5wdXQgbGluZXMgYXJlIHBhaXJhYmxlCiAgLS1ub2NoZWNrLW9yZGVyICAgZG8gbm90IGNoZWNrIHRoYXQgdGhlIGlucHV0IGlzIGNvcnJlY3RseSBzb3J0ZWQKAAogIC0xICAgICAgICAgICAgICBzdXBwcmVzcyBjb2x1bW4gMSAobGluZXMgdW5pcXVlIHRvIEZJTEUxKQogIC0yICAgICAgICAgICAgICBzdXBwcmVzcyBjb2x1bW4gMiAobGluZXMgdW5pcXVlIHRvIEZJTEUyKQogIC0zICAgICAgICAgICAgICBzdXBwcmVzcyBjb2x1bW4gMyAobGluZXMgdGhhdCBhcHBlYXIgaW4gYm90aCBmaWxlcykKAAogIC1BLCAtLXNob3ctYWxsICAgICAgICAgICBlcXVpdmFsZW50IHRvIC12RVQKICAtYiwgLS1udW1iZXItbm9uYmxhbmsgICAgbnVtYmVyIG5vbmVtcHR5IG91dHB1dCBsaW5lcywgb3ZlcnJpZGVzIC1uCiAgLWUgICAgICAgICAgICAgICAgICAgICAgIGVxdWl2YWxlbnQgdG8gLXZFCiAgLUUsIC0tc2hvdy1lbmRzICAgICAgICAgIGRpc3BsYXkgJCBhdCBlbmQgb2YgZWFjaCBsaW5lCiAgLW4sIC0tbnVtYmVyICAgICAgICAgICAgIG51bWJlciBhbGwgb3V0cHV0IGxpbmVzCiAgLXMsIC0tc3F1ZWV6ZS1ibGFuayAgICAgIHN1cHByZXNzIHJlcGVhdGVkIGVtcHR5IG91dHB1dCBsaW5lcwoACiAgLWEgRklMRU5VTSAgICAgICAgYWxzbyBwcmludCB1bnBhaXJhYmxlIGxpbmVzIGZyb20gZmlsZSBGSUxFTlVNLCB3aGVyZQogICAgICAgICAgICAgICAgICAgICAgRklMRU5VTSBpcyAxIG9yIDIsIGNvcnJlc3BvbmRpbmcgdG8gRklMRTEgb3IgRklMRTIKICAtZSBFTVBUWSAgICAgICAgICByZXBsYWNlIG1pc3NpbmcgaW5wdXQgZmllbGRzIHdpdGggRU1QVFkKAAogIC1hLCAtLWFsbCAgICAgICAgIHNhbWUgYXMgLWIgLWQgLS1sb2dpbiAtcCAtciAtdCAtVCAtdQogIC1iLCAtLWJvb3QgICAgICAgIHRpbWUgb2YgbGFzdCBzeXN0ZW0gYm9vdAogIC1kLCAtLWRlYWQgICAgICAgIHByaW50IGRlYWQgcHJvY2Vzc2VzCiAgLUgsIC0taGVhZGluZyAgICAgcHJpbnQgbGluZSBvZiBjb2x1bW4gaGVhZGluZ3MKAAogIC1iIEZJTEUgICAgIEZJTEUgZXhpc3RzIGFuZCBpcyBibG9jayBzcGVjaWFsCiAgLWMgRklMRSAgICAgRklMRSBleGlzdHMgYW5kIGlzIGNoYXJhY3RlciBzcGVjaWFsCiAgLWQgRklMRSAgICAgRklMRSBleGlzdHMgYW5kIGlzIGEgZGlyZWN0b3J5CiAgLWUgRklMRSAgICAgRklMRSBleGlzdHMKAAogIC1iLCAtLWJpbmFyeSAgICAgICAgIHJlYWQgaW4gYmluYXJ5IG1vZGUKAAogIC1iLCAtLWJpbmFyeSAgICAgICAgIHJlYWQgaW4gYmluYXJ5IG1vZGUgKGRlZmF1bHQgdW5sZXNzIHJlYWRpbmcgdHR5IHN0ZGluKQoACiAgLWwgICAgICAgICAgICAgIHByb2R1Y2UgbG9uZyBmb3JtYXQgb3V0cHV0IGZvciB0aGUgc3BlY2lmaWVkIFVTRVJzCiAgLWIgICAgICAgICAgICAgIG9taXQgdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeSBhbmQgc2hlbGwgaW4gbG9uZyBmb3JtYXQKICAtaCAgICAgICAgICAgICAgb21pdCB0aGUgdXNlcidzIHByb2plY3QgZmlsZSBpbiBsb25nIGZvcm1hdAogIC1wICAgICAgICAgICAgICBvbWl0IHRoZSB1c2VyJ3MgcGxhbiBmaWxlIGluIGxvbmcgZm9ybWF0CiAgLXMgICAgICAgICAgICAgIGRvIHNob3J0IGZvcm1hdCBvdXRwdXQsIHRoaXMgaXMgdGhlIGRlZmF1bHQKAAogIC1uIFNUUklORyAgICAgICAgICAgIHRoZSBsZW5ndGggb2YgU1RSSU5HIGlzIG5vbnplcm8KICBTVFJJTkcgICAgICAgICAgICAgICBlcXVpdmFsZW50IHRvIC1uIFNUUklORwogIC16IFNUUklORyAgICAgICAgICAgIHRoZSBsZW5ndGggb2YgU1RSSU5HIGlzIHplcm8KICBTVFJJTkcxID0gU1RSSU5HMiAgICB0aGUgc3RyaW5ncyBhcmUgZXF1YWwKICBTVFJJTkcxICE9IFNUUklORzIgICB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsCgAKICAtciAgICAgICAgICAgICAgdXNlIEJTRCBzdW0gYWxnb3JpdGhtLCB1c2UgMUsgYmxvY2tzCiAgLXMsIC0tc3lzdiAgICAgIHVzZSBTeXN0ZW0gViBzdW0gYWxnb3JpdGhtLCB1c2UgNTEyIGJ5dGVzIGJsb2NrcwoACiAgQVJHMSAqIEFSRzIgICAgICAgYXJpdGhtZXRpYyBwcm9kdWN0IG9mIEFSRzEgYW5kIEFSRzIKICBBUkcxIC8gQVJHMiAgICAgICBhcml0aG1ldGljIHF1b3RpZW50IG9mIEFSRzEgZGl2aWRlZCBieSBBUkcyCiAgQVJHMSAlIEFSRzIgICAgICAgYXJpdGhtZXRpYyByZW1haW5kZXIgb2YgQVJHMSBkaXZpZGVkIGJ5IEFSRzIKAAogIEFSRzEgKyBBUkcyICAgICAgIGFyaXRobWV0aWMgc3VtIG9mIEFSRzEgYW5kIEFSRzIKICBBUkcxIC0gQVJHMiAgICAgICBhcml0aG1ldGljIGRpZmZlcmVuY2Ugb2YgQVJHMSBhbmQgQVJHMgoACiAgQVJHMSA8IEFSRzIgICAgICAgQVJHMSBpcyBsZXNzIHRoYW4gQVJHMgogIEFSRzEgPD0gQVJHMiAgICAgIEFSRzEgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIEFSRzIKICBBUkcxID0gQVJHMiAgICAgICBBUkcxIGlzIGVxdWFsIHRvIEFSRzIKICBBUkcxICE9IEFSRzIgICAgICBBUkcxIGlzIHVuZXF1YWwgdG8gQVJHMgogIEFSRzEgPj0gQVJHMiAgICAgIEFSRzEgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIEFSRzIKICBBUkcxID4gQVJHMiAgICAgICBBUkcxIGlzIGdyZWF0ZXIgdGhhbiBBUkcyCgAKICBGSUxFMSAtZWYgRklMRTIgICBGSUxFMSBhbmQgRklMRTIgaGF2ZSB0aGUgc2FtZSBkZXZpY2UgYW5kIGlub2RlIG51bWJlcnMKICBGSUxFMSAtbnQgRklMRTIgICBGSUxFMSBpcyBuZXdlciAobW9kaWZpY2F0aW9uIGRhdGUpIHRoYW4gRklMRTIKICBGSUxFMSAtb3QgRklMRTIgICBGSUxFMSBpcyBvbGRlciB0aGFuIEZJTEUyCgAKICBJTlRFR0VSMSAtZXEgSU5URUdFUjIgICBJTlRFR0VSMSBpcyBlcXVhbCB0byBJTlRFR0VSMgogIElOVEVHRVIxIC1nZSBJTlRFR0VSMiAgIElOVEVHRVIxIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBJTlRFR0VSMgogIElOVEVHRVIxIC1ndCBJTlRFR0VSMiAgIElOVEVHRVIxIGlzIGdyZWF0ZXIgdGhhbiBJTlRFR0VSMgogIElOVEVHRVIxIC1sZSBJTlRFR0VSMiAgIElOVEVHRVIxIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBJTlRFR0VSMgogIElOVEVHRVIxIC1sdCBJTlRFR0VSMiAgIElOVEVHRVIxIGlzIGxlc3MgdGhhbiBJTlRFR0VSMgogIElOVEVHRVIxIC1uZSBJTlRFR0VSMiAgIElOVEVHRVIxIGlzIG5vdCBlcXVhbCB0byBJTlRFR0VSMgoACiAgU1RSSU5HIDogUkVHRVhQICAgYW5jaG9yZWQgcGF0dGVybiBtYXRjaCBvZiBSRUdFWFAgaW4gU1RSSU5HCgogIG1hdGNoIFNUUklORyBSRUdFWFAgICAgICAgIHNhbWUgYXMgU1RSSU5HIDogUkVHRVhQCiAgc3Vic3RyIFNUUklORyBQT1MgTEVOR1RIICAgc3Vic3RyaW5nIG9mIFNUUklORywgUE9TIGNvdW50ZWQgZnJvbSAxCiAgaW5kZXggU1RSSU5HIENIQVJTICAgICAgICAgaW5kZXggaW4gU1RSSU5HIHdoZXJlIGFueSBDSEFSUyBpcyBmb3VuZCwgb3IgMAogIGxlbmd0aCBTVFJJTkcgICAgICAgICAgICAgIGxlbmd0aCBvZiBTVFJJTkcKAAogIGIgICAgICBjcmVhdGUgYSBibG9jayAoYnVmZmVyZWQpIHNwZWNpYWwgZmlsZQogIGMsIHUgICBjcmVhdGUgYSBjaGFyYWN0ZXIgKHVuYnVmZmVyZWQpIHNwZWNpYWwgZmlsZQogIHAgICAgICBjcmVhdGUgYSBGSUZPCgAKIyB1c2Vycz0lbHUKAAolcyBvbmxpbmUgaGVscDogPCVzPgoACkEgZmllbGQgaXMgYSBydW4gb2YgYmxhbmtzICh1c3VhbGx5IHNwYWNlcyBhbmQvb3IgVEFCcyksIHRoZW4gbm9uLWJsYW5rCmNoYXJhY3RlcnMuICBGaWVsZHMgYXJlIHNraXBwZWQgYmVmb3JlIGNoYXJzLgoACkEgbGlnaHR3ZWlnaHQgJ2ZpbmdlcicgcHJvZ3JhbTsgIHByaW50IHVzZXIgaW5mb3JtYXRpb24uClRoZSB1dG1wIGZpbGUgd2lsbCBiZSAlcy4KAApBIG1lcmUgLSBpbXBsaWVzIC1pLiAgSWYgbm8gQ09NTUFORCwgcHJpbnQgdGhlIHJlc3VsdGluZyBlbnZpcm9ubWVudC4KAApBZGRpbmcgYSB6IHN1ZmZpeCB0byBhbnkgdHlwZSBkaXNwbGF5cyBwcmludGFibGUgY2hhcmFjdGVycyBhdCB0aGUgZW5kIG9mCmVhY2ggb3V0cHV0IGxpbmUuCgAKQWZ0ZXIgYW55IGZsYWdzIGNvbWVzIGFuIG9wdGlvbmFsIGZpZWxkIHdpZHRoLCBhcyBhIGRlY2ltYWwgbnVtYmVyOwp0aGVuIGFuIG9wdGlvbmFsIG1vZGlmaWVyLCB3aGljaCBpcyBlaXRoZXIKRSB0byB1c2UgdGhlIGxvY2FsZSdzIGFsdGVybmF0ZSByZXByZXNlbnRhdGlvbnMgaWYgYXZhaWxhYmxlLCBvcgpPIHRvIHVzZSB0aGUgbG9jYWxlJ3MgYWx0ZXJuYXRlIG51bWVyaWMgc3ltYm9scyBpZiBhdmFpbGFibGUuCgAKQW4gb21pdHRlZCBFWFBSRVNTSU9OIGRlZmF1bHRzIHRvIGZhbHNlLiAgT3RoZXJ3aXNlLApFWFBSRVNTSU9OIGlzIHRydWUgb3IgZmFsc2UgYW5kIHNldHMgZXhpdCBzdGF0dXMuICBJdCBpcyBvbmUgb2Y6CgAKQXMgYSBzcGVjaWFsIGNhc2UsIGNwIG1ha2VzIGEgYmFja3VwIG9mIFNPVVJDRSB3aGVuIHRoZSBmb3JjZSBhbmQgYmFja3VwCm9wdGlvbnMgYXJlIGdpdmVuIGFuZCBTT1VSQ0UgYW5kIERFU1QgYXJlIHRoZSBzYW1lIG5hbWUgZm9yIGFuIGV4aXN0aW5nLApyZWd1bGFyIGZpbGUuCgAKQmV3YXJlIHRoYXQgbWFueSBvcGVyYXRvcnMgbmVlZCB0byBiZSBlc2NhcGVkIG9yIHF1b3RlZCBmb3Igc2hlbGxzLgpDb21wYXJpc29ucyBhcmUgYXJpdGhtZXRpYyBpZiBib3RoIEFSR3MgYXJlIG51bWJlcnMsIGVsc2UgbGV4aWNvZ3JhcGhpY2FsLgpQYXR0ZXJuIG1hdGNoZXMgcmV0dXJuIHRoZSBzdHJpbmcgbWF0Y2hlZCBiZXR3ZWVuIFwoIGFuZCBcKSBvciBudWxsOyBpZgpcKCBhbmQgXCkgYXJlIG5vdCB1c2VkLCB0aGV5IHJldHVybiB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgbWF0Y2hlZCBvciAwLgoACkJvdGggTUFKT1IgYW5kIE1JTk9SIG11c3QgYmUgc3BlY2lmaWVkIHdoZW4gVFlQRSBpcyBiLCBjLCBvciB1LCBhbmQgdGhleQptdXN0IGJlIG9taXR0ZWQgd2hlbiBUWVBFIGlzIHAuICBJZiBNQUpPUiBvciBNSU5PUiBiZWdpbnMgd2l0aCAweCBvciAwWCwKaXQgaXMgaW50ZXJwcmV0ZWQgYXMgaGV4YWRlY2ltYWw7IG90aGVyd2lzZSwgaWYgaXQgYmVnaW5zIHdpdGggMCwgYXMgb2N0YWw7Cm90aGVyd2lzZSwgYXMgZGVjaW1hbC4gIFRZUEUgbWF5IGJlOgoACkJ5IGRlZmF1bHQsIHJtIGRvZXMgbm90IHJlbW92ZSBkaXJlY3Rvcmllcy4gIFVzZSB0aGUgLS1yZWN1cnNpdmUgKC1yIG9yIC1SKQpvcHRpb24gdG8gcmVtb3ZlIGVhY2ggbGlzdGVkIGRpcmVjdG9yeSwgdG9vLCBhbG9uZyB3aXRoIGFsbCBvZiBpdHMgY29udGVudHMuCgAKQ0hVTktTIG1heSBiZToKICBOICAgICAgIHNwbGl0IGludG8gTiBmaWxlcyBiYXNlZCBvbiBzaXplIG9mIGlucHV0CiAgSy9OICAgICBvdXRwdXQgS3RoIG9mIE4gdG8gc3Rkb3V0CiAgbC9OICAgICBzcGxpdCBpbnRvIE4gZmlsZXMgd2l0aG91dCBzcGxpdHRpbmcgbGluZXMvcmVjb3JkcwogIGwvSy9OICAgb3V0cHV0IEt0aCBvZiBOIHRvIHN0ZG91dCB3aXRob3V0IHNwbGl0dGluZyBsaW5lcy9yZWNvcmRzCiAgci9OICAgICBsaWtlICdsJyBidXQgdXNlIHJvdW5kIHJvYmluIGRpc3RyaWJ1dGlvbgogIHIvSy9OICAgbGlrZXdpc2UgYnV0IG9ubHkgb3V0cHV0IEt0aCBvZiBOIHRvIHN0ZG91dAoACkNvbWJpbmF0aW9uIHNldHRpbmdzOgoACkNvbnRyb2wgc2V0dGluZ3M6CiAgIFstXWNsb2NhbCAgICAgZGlzYWJsZSBtb2RlbSBjb250cm9sIHNpZ25hbHMKICAgWy1dY3JlYWQgICAgICBhbGxvdyBpbnB1dCB0byBiZSByZWNlaXZlZAoACkRlbGV0ZSBGSUxFKHMpIGlmIC0tcmVtb3ZlICgtdSkgaXMgc3BlY2lmaWVkLiAgVGhlIGRlZmF1bHQgaXMgbm90IHRvIHJlbW92ZQp0aGUgZmlsZXMgYmVjYXVzZSBpdCBpcyBjb21tb24gdG8gb3BlcmF0ZSBvbiBkZXZpY2UgZmlsZXMgbGlrZSAvZGV2L2hkYSwKYW5kIHRob3NlIGZpbGVzIHVzdWFsbHkgc2hvdWxkIG5vdCBiZSByZW1vdmVkLgpUaGUgb3B0aW9uYWwgSE9XIHBhcmFtZXRlciBpbmRpY2F0ZXMgaG93IHRvIHJlbW92ZSBhIGRpcmVjdG9yeSBlbnRyeToKJ3VubGluaycgPT4gdXNlIGEgc3RhbmRhcmQgdW5saW5rIGNhbGwuCid3aXBlJyA9PiBhbHNvIGZpcnN0IG9iZnVzY2F0ZSBieXRlcyBpbiB0aGUgbmFtZS4KJ3dpcGVzeW5jJyA9PiBhbHNvIHN5bmMgZWFjaCBvYmZ1c2NhdGVkIGJ5dGUgdG8gZGlzay4KVGhlIGRlZmF1bHQgbW9kZSBpcyAnd2lwZXN5bmMnLCBidXQgbm90ZSBpdCBjYW4gYmUgZXhwZW5zaXZlLgoKAApEaXNwbGF5IHZhbHVlcyBhcmUgaW4gdW5pdHMgb2YgdGhlIGZpcnN0IGF2YWlsYWJsZSBTSVpFIGZyb20gLS1ibG9jay1zaXplLAphbmQgdGhlICVzX0JMT0NLX1NJWkUsIEJMT0NLX1NJWkUgYW5kIEJMT0NLU0laRSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCk90aGVyd2lzZSwgdW5pdHMgZGVmYXVsdCB0byAxMDI0IGJ5dGVzIChvciA1MTIgaWYgUE9TSVhMWV9DT1JSRUNUIGlzIHNldCkuCgAKRWFjaCBGTEFHIHN5bWJvbCBtYXkgYmU6CgogIGFwcGVuZCAgICBhcHBlbmQgbW9kZSAobWFrZXMgc2Vuc2Ugb25seSBmb3Igb3V0cHV0OyBjb252PW5vdHJ1bmMgc3VnZ2VzdGVkKQoACkVhY2ggTU9ERSBpcyBvZiB0aGUgZm9ybSAnW3Vnb2FdKihbLSs9XShbcnd4WHN0XSp8W3Vnb10pKSt8Wy0rPV1bMC03XSsnLgoACkVhY2ggUEFUVEVSTiBtYXkgYmU6CiAgSU5URUdFUiAgICAgICAgICAgIGNvcHkgdXAgdG8gYnV0IG5vdCBpbmNsdWRpbmcgc3BlY2lmaWVkIGxpbmUgbnVtYmVyCiAgL1JFR0VYUC9bT0ZGU0VUXSAgIGNvcHkgdXAgdG8gYnV0IG5vdCBpbmNsdWRpbmcgYSBtYXRjaGluZyBsaW5lCiAgJVJFR0VYUCVbT0ZGU0VUXSAgIHNraXAgdG8sIGJ1dCBub3QgaW5jbHVkaW5nIGEgbWF0Y2hpbmcgbGluZQogIHtJTlRFR0VSfSAgICAgICAgICByZXBlYXQgdGhlIHByZXZpb3VzIHBhdHRlcm4gc3BlY2lmaWVkIG51bWJlciBvZiB0aW1lcwogIHsqfSAgICAgICAgICAgICAgICByZXBlYXQgdGhlIHByZXZpb3VzIHBhdHRlcm4gYXMgbWFueSB0aW1lcyBhcyBwb3NzaWJsZQoKQSBsaW5lIE9GRlNFVCBpcyBhIHJlcXVpcmVkICcrJyBvciAnLScgZm9sbG93ZWQgYnkgYSBwb3NpdGl2ZSBpbnRlZ2VyLgoACkV4YW1wbGVzOgogICQgJXMgLS10bz1zaSAxMDAwCiAgICAgICAgICAgIC0+ICIxLjBLIgogICQgJXMgLS10bz1pZWMgMjA0OAogICAgICAgICAgIC0+ICIyLjBLIgogICQgJXMgLS10bz1pZWMtaSA0MDk2CiAgICAgICAgICAgLT4gIjQuMEtpIgogICQgZWNobyAxSyB8ICVzIC0tZnJvbT1zaQogICAgICAgICAgIC0+ICIxMDAwIgogICQgZWNobyAxSyB8ICVzIC0tZnJvbT1pZWMKICAgICAgICAgICAtPiAiMTAyNCIKICAkIGRmIC1CMSB8ICVzIC0taGVhZGVyIC0tZmllbGQgMi00IC0tdG89c2kKICAkIGxzIC1sICB8ICVzIC0taGVhZGVyIC0tZmllbGQgNSAtLXRvPWllYwogICQgbHMgLWxoIHwgJXMgLS1oZWFkZXIgLS1maWVsZCA1IC0tZnJvbT1pZWMgLS1wYWRkaW5nPTEwCiAgJCBscyAtbGggfCAlcyAtLWhlYWRlciAtLWZpZWxkIDUgLS1mcm9tPWllYyAtLWZvcm1hdCAlJTEwZgoACkV4YW1wbGVzOgogICVzIC0xMiBmaWxlMSBmaWxlMiAgUHJpbnQgb25seSBsaW5lcyBwcmVzZW50IGluIGJvdGggZmlsZTEgYW5kIGZpbGUyLgogICVzIC0zIGZpbGUxIGZpbGUyICBQcmludCBsaW5lcyBpbiBmaWxlMSBub3QgaW4gZmlsZTIsIGFuZCB2aWNlIHZlcnNhLgoACkV4YW1wbGVzOgogICVzIC91c3IvYmluLyAgICAgICAgICAtPiAiL3VzciIKICAlcyBkaXIxL3N0ciBkaXIyL3N0ciAgLT4gImRpcjEiIGZvbGxvd2VkIGJ5ICJkaXIyIgogICVzIHN0ZGlvLmggICAgICAgICAgICAtPiAiLiIKAApFeGFtcGxlczoKICAlcyAvdXNyL2Jpbi9zb3J0ICAgICAgICAgIC0+ICJzb3J0IgogICVzIGluY2x1ZGUvc3RkaW8uaCAuaCAgICAgLT4gInN0ZGlvIgogICVzIC1zIC5oIGluY2x1ZGUvc3RkaW8uaCAgLT4gInN0ZGlvIgogICVzIC1hIGFueS9zdHIxIGFueS9zdHIyICAgLT4gInN0cjEiIGZvbGxvd2VkIGJ5ICJzdHIyIgoACkV4YW1wbGVzOgogICVzIGYgLSBnICBPdXRwdXQgZidzIGNvbnRlbnRzLCB0aGVuIHN0YW5kYXJkIGlucHV0LCB0aGVuIGcncyBjb250ZW50cy4KICAlcyAgICAgICAgQ29weSBzdGFuZGFyZCBpbnB1dCB0byBzdGFuZGFyZCBvdXRwdXQuCgAKRXhhbXBsZXM6CiAgJXMgcm9vdCAvdSAgICAgICAgQ2hhbmdlIHRoZSBvd25lciBvZiAvdSB0byAicm9vdCIuCiAgJXMgcm9vdDpzdGFmZiAvdSAgTGlrZXdpc2UsIGJ1dCBhbHNvIGNoYW5nZSBpdHMgZ3JvdXAgdG8gInN0YWZmIi4KICAlcyAtaFIgcm9vdCAvdSAgICBDaGFuZ2UgdGhlIG93bmVyIG9mIC91IGFuZCBzdWJmaWxlcyB0byAicm9vdCIuCgAKRXhhbXBsZXM6CiAgJXMgc3RhZmYgL3UgICAgICBDaGFuZ2UgdGhlIGdyb3VwIG9mIC91IHRvICJzdGFmZiIuCiAgJXMgLWhSIHN0YWZmIC91ICBDaGFuZ2UgdGhlIGdyb3VwIG9mIC91IGFuZCBzdWJmaWxlcyB0byAic3RhZmYiLgoACkV4YW1wbGVzOgpDb252ZXJ0IHNlY29uZHMgc2luY2UgdGhlIGVwb2NoICgxOTcwLTAxLTAxIFVUQykgdG8gYSBkYXRlCiAgJCBkYXRlIC0tZGF0ZT0nQDIxNDc0ODM2NDcnCgpTaG93IHRoZSB0aW1lIG9uIHRoZSB3ZXN0IGNvYXN0IG9mIHRoZSBVUyAodXNlIHR6c2VsZWN0KDEpIHRvIGZpbmQgVFopCiAgJCBUWj0nQW1lcmljYS9Mb3NfQW5nZWxlcycgZGF0ZQoKU2hvdyB0aGUgbG9jYWwgdGltZSBmb3IgOUFNIG5leHQgRnJpZGF5IG9uIHRoZSB3ZXN0IGNvYXN0IG9mIHRoZSBVUwogICQgZGF0ZSAtLWRhdGU9J1RaPSJBbWVyaWNhL0xvc19BbmdlbGVzIiAwOTowMCBuZXh0IEZyaScKAApFeGNlcHQgZm9yIC1oIGFuZCAtTCwgYWxsIEZJTEUtcmVsYXRlZCB0ZXN0cyBkZXJlZmVyZW5jZSBzeW1ib2xpYyBsaW5rcy4KQmV3YXJlIHRoYXQgcGFyZW50aGVzZXMgbmVlZCB0byBiZSBlc2NhcGVkIChlLmcuLCBieSBiYWNrc2xhc2hlcykgZm9yIHNoZWxscy4KSU5URUdFUiBtYXkgYWxzbyBiZSAtbCBTVFJJTkcsIHdoaWNoIGV2YWx1YXRlcyB0byB0aGUgbGVuZ3RoIG9mIFNUUklORy4KAApFeGl0IHN0YXR1cyBpcyAwIGlmIEVYUFJFU1NJT04gaXMgbmVpdGhlciBudWxsIG5vciAwLCAxIGlmIEVYUFJFU1NJT04gaXMgbnVsbApvciAwLCAyIGlmIEVYUFJFU1NJT04gaXMgc3ludGFjdGljYWxseSBpbnZhbGlkLCBhbmQgMyBpZiBhbiBlcnJvciBvY2N1cnJlZC4KAApFeGl0IHN0YXR1czoKIDAgIGlmIE9LLAogMSAgaWYgbWlub3IgcHJvYmxlbXMgKGUuZy4sIGNhbm5vdCBhY2Nlc3Mgc3ViZGlyZWN0b3J5KSwKIDIgIGlmIHNlcmlvdXMgdHJvdWJsZSAoZS5nLiwgY2Fubm90IGFjY2VzcyBjb21tYW5kLWxpbmUgYXJndW1lbnQpLgoACkZJRUxEUyBzdXBwb3J0cyBjdXQoMSkgc3R5bGUgZmllbGQgcmFuZ2VzOgogIE4gICAgTid0aCBmaWVsZCwgY291bnRlZCBmcm9tIDEKICBOLSAgIGZyb20gTid0aCBmaWVsZCwgdG8gZW5kIG9mIGxpbmUKICBOLU0gIGZyb20gTid0aCB0byBNJ3RoIGZpZWxkIChpbmNsdXNpdmUpCiAgLU0gICBmcm9tIGZpcnN0IHRvIE0ndGggZmllbGQgKGluY2x1c2l2ZSkKICAtICAgIGFsbCBmaWVsZHMKTXVsdGlwbGUgZmllbGRzL3JhbmdlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggY29tbWFzCgAKRklFTERfTElTVCBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGNvbHVtbnMgdG8gYmUgaW5jbHVkZWQuICBWYWxpZApmaWVsZCBuYW1lcyBhcmU6ICdzb3VyY2UnLCAnZnN0eXBlJywgJ2l0b3RhbCcsICdpdXNlZCcsICdpYXZhaWwnLCAnaXBjZW50JywKJ3NpemUnLCAndXNlZCcsICdhdmFpbCcsICdwY2VudCcsICdmaWxlJyBhbmQgJ3RhcmdldCcgKHNlZSBpbmZvIHBhZ2UpLgoACkZPUk1BVCBjb250cm9scyB0aGUgb3V0cHV0IGFzIGluIEMgcHJpbnRmLiAgSW50ZXJwcmV0ZWQgc2VxdWVuY2VzIGFyZToKCiAgXCIgICAgICBkb3VibGUgcXVvdGUKAApGT1JNQVQgY29udHJvbHMgdGhlIG91dHB1dC4gIEludGVycHJldGVkIHNlcXVlbmNlcyBhcmU6CgogICUlICAgYSBsaXRlcmFsICUKICAlYSAgIGxvY2FsZSdzIGFiYnJldmlhdGVkIHdlZWtkYXkgbmFtZSAoZS5nLiwgU3VuKQoACkhhbmRsZSB0aGUgdHR5IGxpbmUgY29ubmVjdGVkIHRvIHN0YW5kYXJkIGlucHV0LiAgV2l0aG91dCBhcmd1bWVudHMsCnByaW50cyBiYXVkIHJhdGUsIGxpbmUgZGlzY2lwbGluZSwgYW5kIGRldmlhdGlvbnMgZnJvbSBzdHR5IHNhbmUuICBJbgpzZXR0aW5ncywgQ0hBUiBpcyB0YWtlbiBsaXRlcmFsbHksIG9yIGNvZGVkIGFzIGluIF5jLCAweDM3LCAwMTc3IG9yCjEyNzsgc3BlY2lhbCB2YWx1ZXMgXi0gb3IgdW5kZWYgdXNlZCB0byBkaXNhYmxlIHNwZWNpYWwgY2hhcmFjdGVycy4KAApJZiAtZSBpcyBpbiBlZmZlY3QsIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2VzIGFyZSByZWNvZ25pemVkOgoKAApJZiBGSUxFIGlzIC0sIHNocmVkIHN0YW5kYXJkIG91dHB1dC4KAApJZiBGSUxFIGlzIG5vdCBzcGVjaWZpZWQsIHVzZSAlcy4gICVzIGFzIEZJTEUgaXMgY29tbW9uLgpJZiBBUkcxIEFSRzIgZ2l2ZW4sIC1tIHByZXN1bWVkOiAnYW0gaScgb3IgJ21vbSBsaWtlcycgYXJlIHVzdWFsLgoACklmIEZJTEUgaXMgc3BlY2lmaWVkLCByZWFkIGl0IHRvIGRldGVybWluZSB3aGljaCBjb2xvcnMgdG8gdXNlIGZvciB3aGljaApmaWxlIHR5cGVzIGFuZCBleHRlbnNpb25zLiAgT3RoZXJ3aXNlLCBhIHByZWNvbXBpbGVkIGRhdGFiYXNlIGlzIHVzZWQuCkZvciBkZXRhaWxzIG9uIHRoZSBmb3JtYXQgb2YgdGhlc2UgZmlsZXMsIHJ1biAnZGlyY29sb3JzIC0tcHJpbnQtZGF0YWJhc2UnLgoACklmIEZJUlNUIG9yIElOQ1JFTUVOVCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byAxLiAgVGhhdCBpcywgYW4Kb21pdHRlZCBJTkNSRU1FTlQgZGVmYXVsdHMgdG8gMSBldmVuIHdoZW4gTEFTVCBpcyBzbWFsbGVyIHRoYW4gRklSU1QuClRoZSBzZXF1ZW5jZSBvZiBudW1iZXJzIGVuZHMgd2hlbiB0aGUgc3VtIG9mIHRoZSBjdXJyZW50IG51bWJlciBhbmQKSU5DUkVNRU5UIHdvdWxkIGJlY29tZSBncmVhdGVyIHRoYW4gTEFTVC4KRklSU1QsIElOQ1JFTUVOVCwgYW5kIExBU1QgYXJlIGludGVycHJldGVkIGFzIGZsb2F0aW5nIHBvaW50IHZhbHVlcy4KSU5DUkVNRU5UIGlzIHVzdWFsbHkgcG9zaXRpdmUgaWYgRklSU1QgaXMgc21hbGxlciB0aGFuIExBU1QsIGFuZApJTkNSRU1FTlQgaXMgdXN1YWxseSBuZWdhdGl2ZSBpZiBGSVJTVCBpcyBncmVhdGVyIHRoYW4gTEFTVC4KSU5DUkVNRU5UIG11c3Qgbm90IGJlIDA7IG5vbmUgb2YgRklSU1QsIElOQ1JFTUVOVCBhbmQgTEFTVCBtYXkgYmUgTmFOLgoACklmIE1PREUgaXMgJzAnIHRoZSBjb3JyZXNwb25kaW5nIHN0cmVhbSB3aWxsIGJlIHVuYnVmZmVyZWQuCgAKSWYgTU9ERSBpcyAnTCcgdGhlIGNvcnJlc3BvbmRpbmcgc3RyZWFtIHdpbGwgYmUgbGluZSBidWZmZXJlZC4KVGhpcyBvcHRpb24gaXMgaW52YWxpZCB3aXRoIHN0YW5kYXJkIGlucHV0LgoACklmIGZpcnN0IGFuZCBzZWNvbmQgY2FsbCBmb3JtYXRzIGJvdGggYXBwbHksIHRoZSBzZWNvbmQgZm9ybWF0IGlzIGFzc3VtZWQKaWYgdGhlIGxhc3Qgb3BlcmFuZCBiZWdpbnMgd2l0aCArIG9yIChpZiB0aGVyZSBhcmUgMiBvcGVyYW5kcykgYSBkaWdpdC4KQW4gT0ZGU0VUIG9wZXJhbmQgbWVhbnMgLWogT0ZGU0VULiAgTEFCRUwgaXMgdGhlIHBzZXVkby1hZGRyZXNzCmF0IGZpcnN0IGJ5dGUgcHJpbnRlZCwgaW5jcmVtZW50ZWQgd2hlbiBkdW1wIGlzIHByb2dyZXNzaW5nLgpGb3IgT0ZGU0VUIGFuZCBMQUJFTCwgYSAweCBvciAwWCBwcmVmaXggaW5kaWNhdGVzIGhleGFkZWNpbWFsOwpzdWZmaXhlcyBtYXkgYmUgLiBmb3Igb2N0YWwgYW5kIGIgZm9yIG11bHRpcGx5IGJ5IDUxMi4KAApJZiBubyBvcHRpb24gaXMgc3BlY2lmaWVkLCAtUCBpcyBhc3N1bWVkLgoACklmIHN0YW5kYXJkIGlucHV0IGlzIGEgdGVybWluYWwsIHJlZGlyZWN0IGl0IGZyb20gYW4gdW5yZWFkYWJsZSBmaWxlLgpJZiBzdGFuZGFyZCBvdXRwdXQgaXMgYSB0ZXJtaW5hbCwgYXBwZW5kIG91dHB1dCB0byAnbm9odXAub3V0JyBpZiBwb3NzaWJsZSwKJyRIT01FL25vaHVwLm91dCcgb3RoZXJ3aXNlLgpJZiBzdGFuZGFyZCBlcnJvciBpcyBhIHRlcm1pbmFsLCByZWRpcmVjdCBpdCB0byBzdGFuZGFyZCBvdXRwdXQuClRvIHNhdmUgb3V0cHV0IHRvIEZJTEUsIHVzZSAnJXMgQ09NTUFORCA+IEZJTEUnLgoACklmIHRoZSBjb21tYW5kIHRpbWVzIG91dCwgYW5kIC0tcHJlc2VydmUtc3RhdHVzIGlzIG5vdCBzZXQsIHRoZW4gZXhpdCB3aXRoCnN0YXR1cyAxMjQuICBPdGhlcndpc2UsIGV4aXQgd2l0aCB0aGUgc3RhdHVzIG9mIENPTU1BTkQuICBJZiBubyBzaWduYWwKaXMgc3BlY2lmaWVkLCBzZW5kIHRoZSBURVJNIHNpZ25hbCB1cG9uIHRpbWVvdXQuICBUaGUgVEVSTSBzaWduYWwga2lsbHMKYW55IHByb2Nlc3MgdGhhdCBkb2VzIG5vdCBibG9jayBvciBjYXRjaCB0aGF0IHNpZ25hbC4gIEl0IG1heSBiZSBuZWNlc3NhcnkKdG8gdXNlIHRoZSBLSUxMICg5KSBzaWduYWwsIHNpbmNlIHRoaXMgc2lnbmFsIGNhbm5vdCBiZSBjYXVnaHQsIGluIHdoaWNoCmNhc2UgdGhlIGV4aXQgc3RhdHVzIGlzIDEyOCs5IHJhdGhlciB0aGFuIDEyNC4KAApJbnB1dCBzZXR0aW5nczoKICAgWy1dYnJraW50ICAgICBicmVha3MgY2F1c2UgYW4gaW50ZXJydXB0IHNpZ25hbAogICBbLV1pY3JubCAgICAgIHRyYW5zbGF0ZSBjYXJyaWFnZSByZXR1cm4gdG8gbmV3bGluZQogICBbLV1pZ25icmsgICAgIGlnbm9yZSBicmVhayBjaGFyYWN0ZXJzCiAgIFstXWlnbmNyICAgICAgaWdub3JlIGNhcnJpYWdlIHJldHVybgogICBbLV1pZ25wYXIgICAgIGlnbm9yZSBjaGFyYWN0ZXJzIHdpdGggcGFyaXR5IGVycm9ycwoACktFWURFRiBpcyBGWy5DXVtPUFRTXVssRlsuQ11bT1BUU11dIGZvciBzdGFydCBhbmQgc3RvcCBwb3NpdGlvbiwgd2hlcmUgRiBpcyBhCmZpZWxkIG51bWJlciBhbmQgQyBhIGNoYXJhY3RlciBwb3NpdGlvbiBpbiB0aGUgZmllbGQ7IGJvdGggYXJlIG9yaWdpbiAxLCBhbmQKdGhlIHN0b3AgcG9zaXRpb24gZGVmYXVsdHMgdG8gdGhlIGxpbmUncyBlbmQuICBJZiBuZWl0aGVyIC10IG5vciAtYiBpcyBpbgplZmZlY3QsIGNoYXJhY3RlcnMgaW4gYSBmaWVsZCBhcmUgY291bnRlZCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHByZWNlZGluZwp3aGl0ZXNwYWNlLiAgT1BUUyBpcyBvbmUgb3IgbW9yZSBzaW5nbGUtbGV0dGVyIG9yZGVyaW5nIG9wdGlvbnMgW2JkZmdpTWhuUnJWXSwKd2hpY2ggb3ZlcnJpZGUgZ2xvYmFsIG9yZGVyaW5nIG9wdGlvbnMgZm9yIHRoYXQga2V5LiAgSWYgbm8ga2V5IGlzIGdpdmVuLCB1c2UKdGhlIGVudGlyZSBsaW5lIGFzIHRoZSBrZXkuICBVc2UgLS1kZWJ1ZyB0byBkaWFnbm9zZSBpbmNvcnJlY3Qga2V5IHVzYWdlLgoKU0laRSBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIGZvbGxvd2luZyBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlczoKAApMb2NhbCBzZXR0aW5nczoKICAgWy1dY3J0ZXJhc2UgICBlY2hvIGVyYXNlIGNoYXJhY3RlcnMgYXMgYmFja3NwYWNlLXNwYWNlLWJhY2tzcGFjZQoACk1PREUgZGV0ZXJtaW5lcyBiZWhhdmlvciB3aXRoIHdyaXRlIGVycm9ycyBvbiB0aGUgb3V0cHV0czoKICAnd2FybicgICAgICAgICBkaWFnbm9zZSBlcnJvcnMgd3JpdGluZyB0byBhbnkgb3V0cHV0CiAgJ3dhcm4tbm9waXBlJyAgZGlhZ25vc2UgZXJyb3JzIHdyaXRpbmcgdG8gYW55IG91dHB1dCBub3QgYSBwaXBlCiAgJ2V4aXQnICAgICAgICAgZXhpdCBvbiBlcnJvciB3cml0aW5nIHRvIGFueSBvdXRwdXQKICAnZXhpdC1ub3BpcGUnICBleGl0IG9uIGVycm9yIHdyaXRpbmcgdG8gYW55IG91dHB1dCBub3QgYSBwaXBlClRoZSBkZWZhdWx0IE1PREUgZm9yIHRoZSAtcCBvcHRpb24gaXMgJ3dhcm4tbm9waXBlJy4KVGhlIGRlZmF1bHQgb3BlcmF0aW9uIHdoZW4gLS1vdXRwdXQtZXJyb3IgaXMgbm90IHNwZWNpZmllZCwgaXMgdG8KZXhpdCBpbW1lZGlhdGVseSBvbiBlcnJvciB3cml0aW5nIHRvIGEgcGlwZSwgYW5kIGRpYWdub3NlIGVycm9ycwp3cml0aW5nIHRvIG5vbiBwaXBlIG91dHB1dHMuCgAKTWFuZGF0b3J5IGFyZ3VtZW50cyB0byBsb25nIG9wdGlvbnMgYXJlIG1hbmRhdG9yeSBmb3Igc2hvcnQgb3B0aW9ucyB0b28uCgAKTiBhbmQgQllURVMgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBmb2xsb3dpbmcgbXVsdGlwbGljYXRpdmUgc3VmZml4ZXM6CmMgPTEsIHcgPTIsIGIgPTUxMiwga0IgPTEwMDAsIEsgPTEwMjQsIE1CID0xMDAwKjEwMDAsIE0gPTEwMjQqMTAyNCwgeE0gPU0sCkdCID0xMDAwKjEwMDAqMTAwMCwgRyA9MTAyNCoxMDI0KjEwMjQsIGFuZCBzbyBvbiBmb3IgVCwgUCwgRSwgWiwgWS4KCkVhY2ggQ09OViBzeW1ib2wgbWF5IGJlOgoKAApOT1RFOiBCaW5hcnkgLWEgYW5kIC1vIGFyZSBpbmhlcmVudGx5IGFtYmlndW91cy4gIFVzZSAndGVzdCBFWFBSMSAmJiB0ZXN0CkVYUFIyJyBvciAndGVzdCBFWFBSMSB8fCB0ZXN0IEVYUFIyJyBpbnN0ZWFkLgoACk5PVEU6IElmIENPTU1BTkQgYWRqdXN0cyB0aGUgYnVmZmVyaW5nIG9mIGl0cyBzdGFuZGFyZCBzdHJlYW1zICgndGVlJyBkb2VzCmZvciBleGFtcGxlKSB0aGVuIHRoYXQgd2lsbCBvdmVycmlkZSBjb3JyZXNwb25kaW5nIGNoYW5nZXMgYnkgJ3N0ZGJ1ZicuCkFsc28gc29tZSBmaWx0ZXJzIChsaWtlICdkZCcgYW5kICdjYXQnIGV0Yy4pIGRvbid0IHVzZSBzdHJlYW1zIGZvciBJL08sCmFuZCBhcmUgdGh1cyB1bmFmZmVjdGVkIGJ5ICdzdGRidWYnIHNldHRpbmdzLgoACk5PVEU6IFsgaG9ub3JzIHRoZSAtLWhlbHAgYW5kIC0tdmVyc2lvbiBvcHRpb25zLCBidXQgdGVzdCBkb2VzIG5vdC4KdGVzdCB0cmVhdHMgZWFjaCBvZiB0aG9zZSBhcyBpdCB0cmVhdHMgYW55IG90aGVyIG5vbmVtcHR5IFNUUklORy4KAApOT1RFOiB5b3VyIHNoZWxsIG1heSBoYXZlIGl0cyBvd24gdmVyc2lvbiBvZiAlcywgd2hpY2ggdXN1YWxseSBzdXBlcnNlZGVzCnRoZSB2ZXJzaW9uIGRlc2NyaWJlZCBoZXJlLiAgUGxlYXNlIHJlZmVyIHRvIHlvdXIgc2hlbGwncyBkb2N1bWVudGF0aW9uCmZvciBkZXRhaWxzIGFib3V0IHRoZSBvcHRpb25zIGl0IHN1cHBvcnRzLgoACk5VTSBtYXkgaGF2ZSBhIG11bHRpcGxpZXIgc3VmZml4OgpiIDUxMiwga0IgMTAwMCwgSyAxMDI0LCBNQiAxMDAwKjEwMDAsIE0gMTAyNCoxMDI0LApHQiAxMDAwKjEwMDAqMTAwMCwgRyAxMDI0KjEwMjQqMTAyNCwgYW5kIHNvIG9uIGZvciBULCBQLCBFLCBaLCBZLgoACk5VTSBtYXkgaGF2ZSBhIG11bHRpcGxpZXIgc3VmZml4OgpiIDUxMiwga0IgMTAwMCwgSyAxMDI0LCBNQiAxMDAwKjEwMDAsIE0gMTAyNCoxMDI0LApHQiAxMDAwKjEwMDAqMTAwMCwgRyAxMDI0KjEwMjQqMTAyNCwgYW5kIHNvIG9uIGZvciBULCBQLCBFLCBaLCBZLgoKAApOb3RlIHRoYXQgaWYgeW91IHVzZSBybSB0byByZW1vdmUgYSBmaWxlLCBpdCBtaWdodCBiZSBwb3NzaWJsZSB0byByZWNvdmVyCnNvbWUgb2YgaXRzIGNvbnRlbnRzLCBnaXZlbiBzdWZmaWNpZW50IGV4cGVydGlzZSBhbmQvb3IgdGltZS4gIEZvciBncmVhdGVyCmFzc3VyYW5jZSB0aGF0IHRoZSBjb250ZW50cyBhcmUgdHJ1bHkgdW5yZWNvdmVyYWJsZSwgY29uc2lkZXIgdXNpbmcgc2hyZWQuCgAKTm90ZSB0aGF0IHRoZSAtZCBhbmQgLXQgb3B0aW9ucyBhY2NlcHQgZGlmZmVyZW50IHRpbWUtZGF0ZSBmb3JtYXRzLgoACk5vdGUsIGNvbXBhcmlzb25zIGhvbm9yIHRoZSBydWxlcyBzcGVjaWZpZWQgYnkgJ0xDX0NPTExBVEUnLgoACk5vdGU6ICd1bmlxJyBkb2VzIG5vdCBkZXRlY3QgcmVwZWF0ZWQgbGluZXMgdW5sZXNzIHRoZXkgYXJlIGFkamFjZW50LgpZb3UgbWF5IHdhbnQgdG8gc29ydCB0aGUgaW5wdXQgZmlyc3QsIG9yIHVzZSAnc29ydCAtdScgd2l0aG91dCAndW5pcScuCkFsc28sIGNvbXBhcmlzb25zIGhvbm9yIHRoZSBydWxlcyBzcGVjaWZpZWQgYnkgJ0xDX0NPTExBVEUnLgoACk9wdGlvbmFsIC0gYmVmb3JlIFNFVFRJTkcgaW5kaWNhdGVzIG5lZ2F0aW9uLiAgQW4gKiBtYXJrcyBub24tUE9TSVgKc2V0dGluZ3MuICBUaGUgdW5kZXJseWluZyBzeXN0ZW0gZGVmaW5lcyB3aGljaCBzZXR0aW5ncyBhcmUgYXZhaWxhYmxlLgoACk90aGVyd2lzZSBNT0RFIGlzIGEgbnVtYmVyIHdoaWNoIG1heSBiZSBmb2xsb3dlZCBieSBvbmUgb2YgdGhlIGZvbGxvd2luZzoKS0IgMTAwMCwgSyAxMDI0LCBNQiAxMDAwKjEwMDAsIE0gMTAyNCoxMDI0LCBhbmQgc28gb24gZm9yIEcsIFQsIFAsIEUsIFosIFkuCkluIHRoaXMgY2FzZSB0aGUgY29ycmVzcG9uZGluZyBzdHJlYW0gd2lsbCBiZSBmdWxseSBidWZmZXJlZCB3aXRoIHRoZSBidWZmZXIKc2l6ZSBzZXQgdG8gTU9ERSBieXRlcy4KAApPdXRwdXQgc2V0dGluZ3M6CgAKT3duZXIgaXMgdW5jaGFuZ2VkIGlmIG1pc3NpbmcuICBHcm91cCBpcyB1bmNoYW5nZWQgaWYgbWlzc2luZywgYnV0IGNoYW5nZWQKdG8gbG9naW4gZ3JvdXAgaWYgaW1wbGllZCBieSBhICc6JyBmb2xsb3dpbmcgYSBzeW1ib2xpYyBPV05FUi4KT1dORVIgYW5kIEdST1VQIG1heSBiZSBudW1lcmljIGFzIHdlbGwgYXMgc3ltYm9saWMuCgAKUHJpbnQgdGhlIHZhbHVlIG9mIEVYUFJFU1NJT04gdG8gc3RhbmRhcmQgb3V0cHV0LiAgQSBibGFuayBsaW5lIGJlbG93CnNlcGFyYXRlcyBpbmNyZWFzaW5nIHByZWNlZGVuY2UgZ3JvdXBzLiAgRVhQUkVTU0lPTiBtYXkgYmU6CgogIEFSRzEgfCBBUkcyICAgICAgIEFSRzEgaWYgaXQgaXMgbmVpdGhlciBudWxsIG5vciAwLCBvdGhlcndpc2UgQVJHMgoKICBBUkcxICYgQVJHMiAgICAgICBBUkcxIGlmIG5laXRoZXIgYXJndW1lbnQgaXMgbnVsbCBvciAwLCBvdGhlcndpc2UgMAoAClJlYWQgc3RhbmRhcmQgaW5wdXQgaWYgRklMRSBpcyAtCgAKUmVwb3J0IGJ1Z3MgdG86ICVzCgAKU0VUcyBhcmUgc3BlY2lmaWVkIGFzIHN0cmluZ3Mgb2YgY2hhcmFjdGVycy4gIE1vc3QgcmVwcmVzZW50IHRoZW1zZWx2ZXMuCkludGVycHJldGVkIHNlcXVlbmNlcyBhcmU6CgogIFxOTk4gICAgICAgICAgICBjaGFyYWN0ZXIgd2l0aCBvY3RhbCB2YWx1ZSBOTk4gKDEgdG8gMyBvY3RhbCBkaWdpdHMpCiAgXFwgICAgICAgICAgICAgIGJhY2tzbGFzaAogIFxhICAgICAgICAgICAgICBhdWRpYmxlIEJFTAogIFxiICAgICAgICAgICAgICBiYWNrc3BhY2UKICBcZiAgICAgICAgICAgICAgZm9ybSBmZWVkCiAgXG4gICAgICAgICAgICAgIG5ldyBsaW5lCiAgXHIgICAgICAgICAgICAgIHJldHVybgogIFx0ICAgICAgICAgICAgICBob3Jpem9udGFsIHRhYgoAClNJR05BTCBtYXkgYmUgYSBzaWduYWwgbmFtZSBsaWtlICdIVVAnLCBvciBhIHNpZ25hbCBudW1iZXIgbGlrZSAnMScsCm9yIHRoZSBleGl0IHN0YXR1cyBvZiBhIHByb2Nlc3MgdGVybWluYXRlZCBieSBhIHNpZ25hbC4KUElEIGlzIGFuIGludGVnZXI7IGlmIG5lZ2F0aXZlIGl0IGlkZW50aWZpZXMgYSBwcm9jZXNzIGdyb3VwLgoAClNJWkUgaXMgYSBudW1iZXIuICBGb3IgVFlQRSBpbiBbZG91eF0sIFNJWkUgbWF5IGFsc28gYmUgQyBmb3IKc2l6ZW9mKGNoYXIpLCBTIGZvciBzaXplb2Yoc2hvcnQpLCBJIGZvciBzaXplb2YoaW50KSBvciBMIGZvcgpzaXplb2YobG9uZykuICBJZiBUWVBFIGlzIGYsIFNJWkUgbWF5IGFsc28gYmUgRiBmb3Igc2l6ZW9mKGZsb2F0KSwgRApmb3Igc2l6ZW9mKGRvdWJsZSkgb3IgTCBmb3Igc2l6ZW9mKGxvbmcgZG91YmxlKS4KAApTSVpFIG1heSBhbHNvIGJlIHByZWZpeGVkIGJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nIG1vZGlmeWluZyBjaGFyYWN0ZXJzOgonKycgZXh0ZW5kIGJ5LCAnLScgcmVkdWNlIGJ5LCAnPCcgYXQgbW9zdCwgJz4nIGF0IGxlYXN0LAonLycgcm91bmQgZG93biB0byBtdWx0aXBsZSBvZiwgJyUnIHJvdW5kIHVwIHRvIG11bHRpcGxlIG9mLgoAClNlbmRpbmcgYSAlcyBzaWduYWwgdG8gYSBydW5uaW5nICdkZCcgcHJvY2VzcyBtYWtlcyBpdApwcmludCBJL08gc3RhdGlzdGljcyB0byBzdGFuZGFyZCBlcnJvciBhbmQgdGhlbiByZXN1bWUgY29weWluZy4KCk9wdGlvbnMgYXJlOgoKAApTcGVjaWFsIGNoYXJhY3RlcnM6CgAKU3BlY2lhbCBzZXR0aW5nczoKICAgTiAgICAgICAgICAgICBzZXQgdGhlIGlucHV0IGFuZCBvdXRwdXQgc3BlZWRzIHRvIE4gYmF1ZHMKAApUaGUgU0laRSBhcmd1bWVudCBpcyBhbiBpbnRlZ2VyIGFuZCBvcHRpb25hbCB1bml0IChleGFtcGxlOiAxMEsgaXMgMTAqMTAyNCkuClVuaXRzIGFyZSBLLE0sRyxULFAsRSxaLFkgKHBvd2VycyBvZiAxMDI0KSBvciBLQixNQiwuLi4gKHBvd2VycyBvZiAxMDAwKS4KAApUaGUgYmFja3VwIHN1ZmZpeCBpcyAnficsIHVubGVzcyBzZXQgd2l0aCAtLXN1ZmZpeCBvciBTSU1QTEVfQkFDS1VQX1NVRkZJWC4KVGhlIHZlcnNpb24gY29udHJvbCBtZXRob2QgbWF5IGJlIHNlbGVjdGVkIHZpYSB0aGUgLS1iYWNrdXAgb3B0aW9uIG9yIHRocm91Z2gKdGhlIFZFUlNJT05fQ09OVFJPTCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gIEhlcmUgYXJlIHRoZSB2YWx1ZXM6CgoAClRoZSBkYXRhIGFyZSBlbmNvZGVkIGFzIGRlc2NyaWJlZCBmb3IgdGhlICVzIGFscGhhYmV0IGluIFJGQyA0NjQ4LgpXaGVuIGRlY29kaW5nLCB0aGUgaW5wdXQgbWF5IGNvbnRhaW4gbmV3bGluZXMgaW4gYWRkaXRpb24gdG8gdGhlIGJ5dGVzIG9mCnRoZSBmb3JtYWwgJXMgYWxwaGFiZXQuICBVc2UgLS1pZ25vcmUtZ2FyYmFnZSB0byBhdHRlbXB0IHRvIHJlY292ZXIKZnJvbSBhbnkgb3RoZXIgbm9uLWFscGhhYmV0IGJ5dGVzIGluIHRoZSBlbmNvZGVkIHN0cmVhbS4KAApUaGUgZm9sbG93aW5nIGZpdmUgb3B0aW9ucyBhcmUgdXNlZnVsIG9ubHkgd2hlbiB2ZXJpZnlpbmcgY2hlY2tzdW1zOgogICAgICAtLWlnbm9yZS1taXNzaW5nICBkb24ndCBmYWlsIG9yIHJlcG9ydCBzdGF0dXMgZm9yIG1pc3NpbmcgZmlsZXMKICAgICAgLS1xdWlldCAgICAgICAgICBkb24ndCBwcmludCBPSyBmb3IgZWFjaCBzdWNjZXNzZnVsbHkgdmVyaWZpZWQgZmlsZQogICAgICAtLXN0YXR1cyAgICAgICAgIGRvbid0IG91dHB1dCBhbnl0aGluZywgc3RhdHVzIGNvZGUgc2hvd3Mgc3VjY2VzcwogICAgICAtLXN0cmljdCAgICAgICAgIGV4aXQgbm9uLXplcm8gZm9yIGltcHJvcGVybHkgZm9ybWF0dGVkIGNoZWNrc3VtIGxpbmVzCiAgLXcsIC0td2FybiAgICAgICAgICAgd2FybiBhYm91dCBpbXByb3Blcmx5IGZvcm1hdHRlZCBjaGVja3N1bSBsaW5lcwoKAApUaGUgZm9sbG93aW5nIG9wdGlvbnMgbW9kaWZ5IGhvdyBhIGhpZXJhcmNoeSBpcyB0cmF2ZXJzZWQgd2hlbiB0aGUgLVIKb3B0aW9uIGlzIGFsc28gc3BlY2lmaWVkLiAgSWYgbW9yZSB0aGFuIG9uZSBpcyBzcGVjaWZpZWQsIG9ubHkgdGhlIGZpbmFsCm9uZSB0YWtlcyBlZmZlY3QuCgogIC1IICAgICAgICAgICAgICAgICAgICAgaWYgYSBjb21tYW5kIGxpbmUgYXJndW1lbnQgaXMgYSBzeW1ib2xpYyBsaW5rCiAgICAgICAgICAgICAgICAgICAgICAgICB0byBhIGRpcmVjdG9yeSwgdHJhdmVyc2UgaXQKICAtTCAgICAgICAgICAgICAgICAgICAgIHRyYXZlcnNlIGV2ZXJ5IHN5bWJvbGljIGxpbmsgdG8gYSBkaXJlY3RvcnkKICAgICAgICAgICAgICAgICAgICAgICAgIGVuY291bnRlcmVkCiAgLVAgICAgICAgICAgICAgICAgICAgICBkbyBub3QgdHJhdmVyc2UgYW55IHN5bWJvbGljIGxpbmtzIChkZWZhdWx0KQoKAApUaGUgb3B0aW9ucyBiZWxvdyBtYXkgYmUgdXNlZCB0byBzZWxlY3Qgd2hpY2ggY291bnRzIGFyZSBwcmludGVkLCBhbHdheXMgaW4KdGhlIGZvbGxvd2luZyBvcmRlcjogbmV3bGluZSwgd29yZCwgY2hhcmFjdGVyLCBieXRlLCBtYXhpbXVtIGxpbmUgbGVuZ3RoLgogIC1jLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgdGhlIGJ5dGUgY291bnRzCiAgLW0sIC0tY2hhcnMgICAgICAgICAgICBwcmludCB0aGUgY2hhcmFjdGVyIGNvdW50cwogIC1sLCAtLWxpbmVzICAgICAgICAgICAgcHJpbnQgdGhlIG5ld2xpbmUgY291bnRzCgAKVGhlIHN1bXMgYXJlIGNvbXB1dGVkIGFzIGRlc2NyaWJlZCBpbiAlcy4gIFdoZW4gY2hlY2tpbmcsIHRoZSBpbnB1dApzaG91bGQgYmUgYSBmb3JtZXIgb3V0cHV0IG9mIHRoaXMgcHJvZ3JhbS4gIFRoZSBkZWZhdWx0IG1vZGUgaXMgdG8gcHJpbnQgYQpsaW5lIHdpdGggY2hlY2tzdW0sIGEgc3BhY2UsIGEgY2hhcmFjdGVyIGluZGljYXRpbmcgaW5wdXQgbW9kZSAoJyonIGZvciBiaW5hcnksCicgJyBmb3IgdGV4dCBvciB3aGVyZSBiaW5hcnkgaXMgaW5zaWduaWZpY2FudCksIGFuZCBuYW1lIGZvciBlYWNoIEZJTEUuCgAKVGhlIHZhbGlkIGZvcm1hdCBzZXF1ZW5jZXMgZm9yIGZpbGVzICh3aXRob3V0IC0tZmlsZS1zeXN0ZW0pOgoKICAlYSAgIGFjY2VzcyByaWdodHMgaW4gb2N0YWwgKG5vdGUgJyMnIGFuZCAnMCcgcHJpbnRmIGZsYWdzKQogICVBICAgYWNjZXNzIHJpZ2h0cyBpbiBodW1hbiByZWFkYWJsZSBmb3JtCiAgJWIgICBudW1iZXIgb2YgYmxvY2tzIGFsbG9jYXRlZCAoc2VlICVCKQogICVCICAgdGhlIHNpemUgaW4gYnl0ZXMgb2YgZWFjaCBibG9jayByZXBvcnRlZCBieSAlYgogICVDICAgU0VMaW51eCBzZWN1cml0eSBjb250ZXh0IHN0cmluZwoAClRoaXMgaW5zdGFsbCBwcm9ncmFtIGNvcGllcyBmaWxlcyAob2Z0ZW4ganVzdCBjb21waWxlZCkgaW50byBkZXN0aW5hdGlvbgpsb2NhdGlvbnMgeW91IGNob29zZS4gIElmIHlvdSB3YW50IHRvIGRvd25sb2FkIGFuZCBpbnN0YWxsIGEgcmVhZHktdG8tdXNlCnBhY2thZ2Ugb24gYSBHTlUvTGludXggc3lzdGVtLCB5b3Ugc2hvdWxkIGluc3RlYWQgYmUgdXNpbmcgYSBwYWNrYWdlIG1hbmFnZXIKbGlrZSB5dW0oMSkgb3IgYXB0LWdldCgxKS4KCkluIHRoZSBmaXJzdCB0aHJlZSBmb3JtcywgY29weSBTT1VSQ0UgdG8gREVTVCBvciBtdWx0aXBsZSBTT1VSQ0UocykgdG8KdGhlIGV4aXN0aW5nIERJUkVDVE9SWSwgd2hpbGUgc2V0dGluZyBwZXJtaXNzaW9uIG1vZGVzIGFuZCBvd25lci9ncm91cC4KSW4gdGhlIDR0aCBmb3JtLCBjcmVhdGUgYWxsIGNvbXBvbmVudHMgb2YgdGhlIGdpdmVuIERJUkVDVE9SWShpZXMpLgoAClRvIHJlbW92ZSBhIGZpbGUgd2hvc2UgbmFtZSBzdGFydHMgd2l0aCBhICctJywgZm9yIGV4YW1wbGUgJy1mb28nLAp1c2Ugb25lIG9mIHRoZXNlIGNvbW1hbmRzOgogICVzIC0tIC1mb28KCiAgJXMgLi8tZm9vCgAKVHJhbnNsYXRpb24gb2NjdXJzIGlmIC1kIGlzIG5vdCBnaXZlbiBhbmQgYm90aCBTRVQxIGFuZCBTRVQyIGFwcGVhci4KLXQgbWF5IGJlIHVzZWQgb25seSB3aGVuIHRyYW5zbGF0aW5nLiAgU0VUMiBpcyBleHRlbmRlZCB0byBsZW5ndGggb2YKU0VUMSBieSByZXBlYXRpbmcgaXRzIGxhc3QgY2hhcmFjdGVyIGFzIG5lY2Vzc2FyeS4gIEV4Y2VzcyBjaGFyYWN0ZXJzCm9mIFNFVDIgYXJlIGlnbm9yZWQuICBPbmx5IFs6bG93ZXI6XSBhbmQgWzp1cHBlcjpdIGFyZSBndWFyYW50ZWVkIHRvCmV4cGFuZCBpbiBhc2NlbmRpbmcgb3JkZXI7IHVzZWQgaW4gU0VUMiB3aGlsZSB0cmFuc2xhdGluZywgdGhleSBtYXkKb25seSBiZSB1c2VkIGluIHBhaXJzIHRvIHNwZWNpZnkgY2FzZSBjb252ZXJzaW9uLiAgLXMgdXNlcyB0aGUgbGFzdApzcGVjaWZpZWQgU0VULCBhbmQgb2NjdXJzIGFmdGVyIHRyYW5zbGF0aW9uIG9yIGRlbGV0aW9uLgoAClVOSVQgb3B0aW9uczoKAApVbmxlc3MgLXQgQ0hBUiBpcyBnaXZlbiwgbGVhZGluZyBibGFua3Mgc2VwYXJhdGUgZmllbGRzIGFuZCBhcmUgaWdub3JlZCwKZWxzZSBmaWVsZHMgYXJlIHNlcGFyYXRlZCBieSBDSEFSLiAgQW55IEZJRUxEIGlzIGEgZmllbGQgbnVtYmVyIGNvdW50ZWQKZnJvbSAxLiAgRk9STUFUIGlzIG9uZSBvciBtb3JlIGNvbW1hIG9yIGJsYW5rIHNlcGFyYXRlZCBzcGVjaWZpY2F0aW9ucywKZWFjaCBiZWluZyAnRklMRU5VTS5GSUVMRCcgb3IgJzAnLiAgRGVmYXVsdCBGT1JNQVQgb3V0cHV0cyB0aGUgam9pbiBmaWVsZCwKdGhlIHJlbWFpbmluZyBmaWVsZHMgZnJvbSBGSUxFMSwgdGhlIHJlbWFpbmluZyBmaWVsZHMgZnJvbSBGSUxFMiwgYWxsCnNlcGFyYXRlZCBieSBDSEFSLiAgSWYgRk9STUFUIGlzIHRoZSBrZXl3b3JkICdhdXRvJywgdGhlbiB0aGUgZmlyc3QKbGluZSBvZiBlYWNoIGZpbGUgZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIGZpZWxkcyBvdXRwdXQgZm9yIGVhY2ggbGluZS4KCkltcG9ydGFudDogRklMRTEgYW5kIEZJTEUyIG11c3QgYmUgc29ydGVkIG9uIHRoZSBqb2luIGZpZWxkcy4KRS5nLiwgdXNlICJzb3J0IC1rIDFiLDEiIGlmICdqb2luJyBoYXMgbm8gb3B0aW9ucywKb3IgdXNlICJqb2luIC10ICcnIiBpZiAnc29ydCcgaGFzIG5vIG9wdGlvbnMuCk5vdGUsIGNvbXBhcmlzb25zIGhvbm9yIHRoZSBydWxlcyBzcGVjaWZpZWQgYnkgJ0xDX0NPTExBVEUnLgpJZiB0aGUgaW5wdXQgaXMgbm90IHNvcnRlZCBhbmQgc29tZSBsaW5lcyBjYW5ub3QgYmUgam9pbmVkLCBhCndhcm5pbmcgbWVzc2FnZSB3aWxsIGJlIGdpdmVuLgoAClVzZSBvbmUsIGFuZCBvbmx5IG9uZSBvZiAtYiwgLWMgb3IgLWYuICBFYWNoIExJU1QgaXMgbWFkZSB1cCBvZiBvbmUKcmFuZ2UsIG9yIG1hbnkgcmFuZ2VzIHNlcGFyYXRlZCBieSBjb21tYXMuICBTZWxlY3RlZCBpbnB1dCBpcyB3cml0dGVuCmluIHRoZSBzYW1lIG9yZGVyIHRoYXQgaXQgaXMgcmVhZCwgYW5kIGlzIHdyaXR0ZW4gZXhhY3RseSBvbmNlLgoAClVzZTogJyVzIC0tY29yZXV0aWxzLXByb2c9UFJPR1JBTV9OQU1FIC0taGVscCcgZm9yIGluZGl2aWR1YWwgcHJvZ3JhbSBoZWxwLgoAClVzaW5nIC1zIGlnbm9yZXMgLUwgYW5kIC1QLiAgT3RoZXJ3aXNlLCB0aGUgbGFzdCBvcHRpb24gc3BlY2lmaWVkIGNvbnRyb2xzCmJlaGF2aW9yIHdoZW4gYSBUQVJHRVQgaXMgYSBzeW1ib2xpYyBsaW5rLCBkZWZhdWx0aW5nIHRvICVzLgoAClVzaW5nIGNvbG9yIHRvIGRpc3Rpbmd1aXNoIGZpbGUgdHlwZXMgaXMgZGlzYWJsZWQgYm90aCBieSBkZWZhdWx0IGFuZAp3aXRoIC0tY29sb3I9bmV2ZXIuICBXaXRoIC0tY29sb3I9YXV0bywgbHMgZW1pdHMgY29sb3IgY29kZXMgb25seSB3aGVuCnN0YW5kYXJkIG91dHB1dCBpcyBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4gIFRoZSBMU19DT0xPUlMgZW52aXJvbm1lbnQKdmFyaWFibGUgY2FuIGNoYW5nZSB0aGUgc2V0dGluZ3MuICBVc2UgdGhlIGRpcmNvbG9ycyBjb21tYW5kIHRvIHNldCBpdC4KAApXaGVuIEZJTEUxIG9yIEZJTEUyIChub3QgYm90aCkgaXMgLSwgcmVhZCBzdGFuZGFyZCBpbnB1dC4KAApXaXRoIG5vIEZJTEUsIG9yIHdoZW4gRklMRSBpcyAtLCByZWFkIHN0YW5kYXJkIGlucHV0LgoACldpdGggbm8gb3B0aW9ucywgcHJvZHVjZSB0aHJlZS1jb2x1bW4gb3V0cHV0LiAgQ29sdW1uIG9uZSBjb250YWlucwpsaW5lcyB1bmlxdWUgdG8gRklMRTEsIGNvbHVtbiB0d28gY29udGFpbnMgbGluZXMgdW5pcXVlIHRvIEZJTEUyLAphbmQgY29sdW1uIHRocmVlIGNvbnRhaW5zIGxpbmVzIGNvbW1vbiB0byBib3RoIGZpbGVzLgoACldpdGhvdXQgYW55IE9QVElPTiwgcHJpbnQgc29tZSB1c2VmdWwgc2V0IG9mIGlkZW50aWZpZWQgaW5mb3JtYXRpb24uCgAKV3JpdGUgYW4gdW5hbWJpZ3VvdXMgcmVwcmVzZW50YXRpb24sIG9jdGFsIGJ5dGVzIGJ5IGRlZmF1bHQsCm9mIEZJTEUgdG8gc3RhbmRhcmQgb3V0cHV0LiAgV2l0aCBtb3JlIHRoYW4gb25lIEZJTEUgYXJndW1lbnQsCmNvbmNhdGVuYXRlIHRoZW0gaW4gdGhlIGxpc3RlZCBvcmRlciB0byBmb3JtIHRoZSBpbnB1dC4KACAgICAgICAgICAgICAgICAgICAgICAgICAodXNlZnVsIG9ubHkgb24gc3lzdGVtcyB0aGF0IGNhbiBjaGFuZ2UgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICBvd25lcnNoaXAgb2YgYSBzeW1saW5rKQoAICAgICAgICA/Pz8AICAgICAgLS1iYWNrdXBbPUNPTlRST0xdICAgICAgIG1ha2UgYSBiYWNrdXAgb2YgZWFjaCBleGlzdGluZyBkZXN0aW5hdGlvbiBmaWxlCiAgLWIgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlIC0tYmFja3VwIGJ1dCBkb2VzIG5vdCBhY2NlcHQgYW4gYXJndW1lbnQKICAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgIGRvIG5vdCBwcm9tcHQgYmVmb3JlIG92ZXJ3cml0aW5nCiAgLWksIC0taW50ZXJhY3RpdmUgICAgICAgICAgICBwcm9tcHQgYmVmb3JlIG92ZXJ3cml0ZQogIC1uLCAtLW5vLWNsb2JiZXIgICAgICAgICAgICAgZG8gbm90IG92ZXJ3cml0ZSBhbiBleGlzdGluZyBmaWxlCklmIHlvdSBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgb2YgLWksIC1mLCAtbiwgb25seSB0aGUgZmluYWwgb25lIHRha2VzIGVmZmVjdC4KACAgICAgIC0tYmFja3VwWz1DT05UUk9MXSAgICAgIG1ha2UgYSBiYWNrdXAgb2YgZWFjaCBleGlzdGluZyBkZXN0aW5hdGlvbiBmaWxlCiAgLWIgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UgLS1iYWNrdXAgYnV0IGRvZXMgbm90IGFjY2VwdCBhbiBhcmd1bWVudAogIC1kLCAtRiwgLS1kaXJlY3RvcnkgICAgICAgICBhbGxvdyB0aGUgc3VwZXJ1c2VyIHRvIGF0dGVtcHQgdG8gaGFyZCBsaW5rCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgKG5vdGU6IHdpbGwgcHJvYmFibHkgZmFpbCBkdWUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW0gcmVzdHJpY3Rpb25zLCBldmVuIGZvciB0aGUgc3VwZXJ1c2VyKQogIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgICByZW1vdmUgZXhpc3RpbmcgZGVzdGluYXRpb24gZmlsZXMKACAgICAgIC0tYmFja3VwWz1DT05UUk9MXSAgbWFrZSBhIGJhY2t1cCBvZiBlYWNoIGV4aXN0aW5nIGRlc3RpbmF0aW9uIGZpbGUKICAtYiAgICAgICAgICAgICAgICAgIGxpa2UgLS1iYWNrdXAgYnV0IGRvZXMgbm90IGFjY2VwdCBhbiBhcmd1bWVudAogIC1jICAgICAgICAgICAgICAgICAgKGlnbm9yZWQpCiAgLUMsIC0tY29tcGFyZSAgICAgICBjb21wYXJlIGVhY2ggcGFpciBvZiBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGZpbGVzLCBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgaW4gc29tZSBjYXNlcywgZG8gbm90IG1vZGlmeSB0aGUgZGVzdGluYXRpb24gYXQgYWxsCiAgLWQsIC0tZGlyZWN0b3J5ICAgICB0cmVhdCBhbGwgYXJndW1lbnRzIGFzIGRpcmVjdG9yeSBuYW1lczsgY3JlYXRlIGFsbAogICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzIG9mIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3JpZXMKACAgICAgIC0tYmF0Y2gtc2l6ZT1OTUVSR0UgICBtZXJnZSBhdCBtb3N0IE5NRVJHRSBpbnB1dHMgYXQgb25jZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBtb3JlIHVzZSB0ZW1wIGZpbGVzCgAgICAgICAtLWNvbXBsZW1lbnQgICAgICAgIGNvbXBsZW1lbnQgdGhlIHNldCBvZiBzZWxlY3RlZCBieXRlcywgY2hhcmFjdGVycwogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZmllbGRzCgAgICAgICAtLWRlYnVnICAgICAgICAgICAgICAgIGFubm90YXRlIHRoZSBwYXJzZWQgZGF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHdhcm4gYWJvdXQgcXVlc3Rpb25hYmxlIHVzYWdlIHRvIHN0ZGVycgoAICAgICAgLS1kZWJ1ZyAgICAgICAgICAgICAgIGFubm90YXRlIHRoZSBwYXJ0IG9mIHRoZSBsaW5lIHVzZWQgdG8gc29ydCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHdhcm4gYWJvdXQgcXVlc3Rpb25hYmxlIHVzYWdlIHRvIHN0ZGVycgogICAgICAtLWZpbGVzMC1mcm9tPUYgICAgICAgcmVhZCBpbnB1dCBmcm9tIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTC10ZXJtaW5hdGVkIG5hbWVzIGluIGZpbGUgRjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIEYgaXMgLSB0aGVuIHJlYWQgbmFtZXMgZnJvbSBzdGFuZGFyZCBpbnB1dAoAICAgICAgLS1kZWJ1ZyAgICAgICAgICBwcmludCB3YXJuaW5ncyBhYm91dCBpbnZhbGlkIGlucHV0CgAgICAgICAtLWRlcmVmZXJlbmNlICAgICAgYWZmZWN0IHRoZSByZWZlcmVudCBvZiBlYWNoIHN5bWJvbGljIGxpbmsgKHRoaXMgaXMKICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0KSwgcmF0aGVyIHRoYW4gdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmCiAgLWgsIC0tbm8tZGVyZWZlcmVuY2UgICBhZmZlY3Qgc3ltYm9saWMgbGlua3MgaW5zdGVhZCBvZiBhbnkgcmVmZXJlbmNlZCBmaWxlCgAgICAgICAtLWZpZWxkPUZJRUxEUyAgIHJlcGxhY2UgdGhlIG51bWJlcnMgaW4gdGhlc2UgaW5wdXQgZmllbGRzIChkZWZhdWx0PTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWUgRklFTERTIGJlbG93CgAgICAgICAtLWZpbGVzMC1mcm9tPUYgICAgcmVhZCBpbnB1dCBmcm9tIHRoZSBmaWxlcyBzcGVjaWZpZWQgYnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMLXRlcm1pbmF0ZWQgbmFtZXMgaW4gZmlsZSBGOwogICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBGIGlzIC0gdGhlbiByZWFkIG5hbWVzIGZyb20gc3RhbmRhcmQgaW5wdXQKICAtTCwgLS1tYXgtbGluZS1sZW5ndGggIHByaW50IHRoZSBtYXhpbXVtIGRpc3BsYXkgd2lkdGgKICAtdywgLS13b3JkcyAgICAgICAgICAgIHByaW50IHRoZSB3b3JkIGNvdW50cwoAICAgICAgLS1maWxlczAtZnJvbT1GICAgc3VtbWFyaXplIGRpc2sgdXNhZ2Ugb2YgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMLXRlcm1pbmF0ZWQgZmlsZSBuYW1lcyBzcGVjaWZpZWQgaW4gZmlsZSBGOwogICAgICAgICAgICAgICAgICAgICAgICAgIGlmIEYgaXMgLSwgdGhlbiByZWFkIG5hbWVzIGZyb20gc3RhbmRhcmQgaW5wdXQKICAtSCAgICAgICAgICAgICAgICAgICAgZXF1aXZhbGVudCB0byAtLWRlcmVmZXJlbmNlLWFyZ3MgKC1EKQogIC1oLCAtLWh1bWFuLXJlYWRhYmxlICBwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQgKGUuZy4sIDFLIDIzNE0gMkcpCiAgICAgIC0taW5vZGVzICAgICAgICAgIGxpc3QgaW5vZGUgdXNhZ2UgaW5mb3JtYXRpb24gaW5zdGVhZCBvZiBibG9jayB1c2FnZQoAICAgICAgLS1mcm9tLXVuaXQ9TiAgICBzcGVjaWZ5IHRoZSBpbnB1dCB1bml0IHNpemUgKGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgMSkKACAgICAgIC0tZnJvbT1DVVJSRU5UX09XTkVSOkNVUlJFTlRfR1JPVVAKICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZSB0aGUgb3duZXIgYW5kL29yIGdyb3VwIG9mIGVhY2ggZmlsZSBvbmx5IGlmCiAgICAgICAgICAgICAgICAgICAgICAgICBpdHMgY3VycmVudCBvd25lciBhbmQvb3IgZ3JvdXAgbWF0Y2ggdGhvc2Ugc3BlY2lmaWVkCiAgICAgICAgICAgICAgICAgICAgICAgICBoZXJlLiAgRWl0aGVyIG1heSBiZSBvbWl0dGVkLCBpbiB3aGljaCBjYXNlIGEgbWF0Y2gKICAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vdCByZXF1aXJlZCBmb3IgdGhlIG9taXR0ZWQgYXR0cmlidXRlCgAgICAgICAtLWZyb209VU5JVCAgICAgIGF1dG8tc2NhbGUgaW5wdXQgbnVtYmVycyB0byBVTklUczsgZGVmYXVsdCBpcyAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICBzZWUgVU5JVCBiZWxvdwoAICAgICAgLS1ncm91cC1kaXJlY3Rvcmllcy1maXJzdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwIGRpcmVjdG9yaWVzIGJlZm9yZSBmaWxlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbiBiZSBhdWdtZW50ZWQgd2l0aCBhIC0tc29ydCBvcHRpb24sIGJ1dCBhbnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBvZiAtLXNvcnQ9bm9uZSAoLVUpIGRpc2FibGVzIGdyb3VwaW5nCgAgICAgICAtLWdyb3VwWz1NRVRIT0RdICBzaG93IGFsbCBpdGVtcywgc2VwYXJhdGluZyBncm91cHMgd2l0aCBhbiBlbXB0eSBsaW5lOwogICAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhPRD17c2VwYXJhdGUoZGVmYXVsdCkscHJlcGVuZCxhcHBlbmQsYm90aH0KACAgICAgIC0tZ3JvdXBpbmcgICAgICAgdXNlIGxvY2FsZS1kZWZpbmVkIGdyb3VwaW5nIG9mIGRpZ2l0cywgZS5nLiAxLDAwMCwwMDAKICAgICAgICAgICAgICAgICAgICAgICAgICh3aGljaCBtZWFucyBpdCBoYXMgbm8gZWZmZWN0IGluIHRoZSBDL1BPU0lYIGxvY2FsZSkKACAgICAgIC0taGVhZGVyWz1OXSAgICAgcHJpbnQgKHdpdGhvdXQgY29udmVydGluZykgdGhlIGZpcnN0IE4gaGVhZGVyIGxpbmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgTiBkZWZhdWx0cyB0byAxIGlmIG5vdCBzcGVjaWZpZWQKACAgICAgIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXQKACAgICAgIC0taW52YWxpZD1NT0RFICAgZmFpbHVyZSBtb2RlIGZvciBpbnZhbGlkIG51bWJlcnM6IE1PREUgY2FuIGJlOgogICAgICAgICAgICAgICAgICAgICAgICAgYWJvcnQgKGRlZmF1bHQpLCBmYWlsLCB3YXJuLCBpZ25vcmUKACAgICAgIC0tbG9va3VwICAgICAgYXR0ZW1wdCB0byBjYW5vbmljYWxpemUgaG9zdG5hbWVzIHZpYSBETlMKICAtbSAgICAgICAgICAgICAgICBvbmx5IGhvc3RuYW1lIGFuZCB1c2VyIGFzc29jaWF0ZWQgd2l0aCBzdGRpbgogIC1wLCAtLXByb2Nlc3MgICAgIHByaW50IGFjdGl2ZSBwcm9jZXNzZXMgc3Bhd25lZCBieSBpbml0CgAgICAgICAtLW5vLXByZXNlcnZlLXJvb3QgIGRvIG5vdCB0cmVhdCAnLycgc3BlY2lhbGx5ICh0aGUgZGVmYXVsdCkKICAgICAgLS1wcmVzZXJ2ZS1yb290ICAgIGZhaWwgdG8gb3BlcmF0ZSByZWN1cnNpdmVseSBvbiAnLycKACAgICAgIC0tbm8tcHJlc2VydmU9QVRUUl9MSVNUICBkb24ndCBwcmVzZXJ2ZSB0aGUgc3BlY2lmaWVkIGF0dHJpYnV0ZXMKICAgICAgLS1wYXJlbnRzICAgICAgICAgICAgICAgIHVzZSBmdWxsIHNvdXJjZSBmaWxlIG5hbWUgdW5kZXIgRElSRUNUT1JZCgAgICAgICAtLW9uZS1maWxlLXN5c3RlbSAgd2hlbiByZW1vdmluZyBhIGhpZXJhcmNoeSByZWN1cnNpdmVseSwgc2tpcCBhbnkKICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnkgdGhhdCBpcyBvbiBhIGZpbGUgc3lzdGVtIGRpZmZlcmVudCBmcm9tCiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBvZiB0aGUgY29ycmVzcG9uZGluZyBjb21tYW5kIGxpbmUgYXJndW1lbnQKACAgICAgIC0tb3V0cHV0Wz1GSUVMRF9MSVNUXSAgdXNlIHRoZSBvdXRwdXQgZm9ybWF0IGRlZmluZWQgYnkgRklFTERfTElTVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHByaW50IGFsbCBmaWVsZHMgaWYgRklFTERfTElTVCBpcyBvbWl0dGVkLgogIC1QLCAtLXBvcnRhYmlsaXR5ICAgICB1c2UgdGhlIFBPU0lYIG91dHB1dCBmb3JtYXQKICAgICAgLS1zeW5jICAgICAgICAgICAgaW52b2tlIHN5bmMgYmVmb3JlIGdldHRpbmcgdXNhZ2UgaW5mbwoAICAgICAgLS1wYWRkaW5nPU4gICAgICBwYWQgdGhlIG91dHB1dCB0byBOIGNoYXJhY3RlcnM7IHBvc2l0aXZlIE4gd2lsbAogICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQtYWxpZ247IG5lZ2F0aXZlIE4gd2lsbCBsZWZ0LWFsaWduOwogICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyBpcyBpZ25vcmVkIGlmIHRoZSBvdXRwdXQgaXMgd2lkZXIgdGhhbiBOOwogICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgdG8gYXV0b21hdGljYWxseSBwYWQgaWYgYSB3aGl0ZXNwYWNlCiAgICAgICAgICAgICAgICAgICAgICAgICBpcyBmb3VuZAoAICAgICAgLS1waWQ9UElEICAgICAgICAgICAgd2l0aCAtZiwgdGVybWluYXRlIGFmdGVyIHByb2Nlc3MgSUQsIFBJRCBkaWVzCiAgLXEsIC0tcXVpZXQsIC0tc2lsZW50ICAgIG5ldmVyIG91dHB1dCBoZWFkZXJzIGdpdmluZyBmaWxlIG5hbWVzCiAgICAgIC0tcmV0cnkgICAgICAgICAgICAgIGtlZXAgdHJ5aW5nIHRvIG9wZW4gYSBmaWxlIGlmIGl0IGlzIGluYWNjZXNzaWJsZQoAICAgICAgLS1wcmVzZXJ2ZS1jb250ZXh0ICBwcmVzZXJ2ZSBTRUxpbnV4IHNlY3VyaXR5IGNvbnRleHQKICAtWiAgICAgICAgICAgICAgICAgICAgICBzZXQgU0VMaW51eCBzZWN1cml0eSBjb250ZXh0IG9mIGRlc3RpbmF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlIGFuZCBlYWNoIGNyZWF0ZWQgZGlyZWN0b3J5IHRvIGRlZmF1bHQgdHlwZQogICAgICAtLWNvbnRleHRbPUNUWF0gICAgIGxpa2UgLVosIG9yIGlmIENUWCBpcyBzcGVjaWZpZWQgdGhlbiBzZXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRUxpbnV4IG9yIFNNQUNLIHNlY3VyaXR5IGNvbnRleHQgdG8gQ1RYCgAgICAgICAtLXByZXNlcnZlLXN0YXR1cwogICAgICAgICAgICAgICAgIGV4aXQgd2l0aCB0aGUgc2FtZSBzdGF0dXMgYXMgQ09NTUFORCwgZXZlbiB3aGVuIHRoZQogICAgICAgICAgICAgICAgICAgY29tbWFuZCB0aW1lcyBvdXQKICAgICAgLS1mb3JlZ3JvdW5kCiAgICAgICAgICAgICAgICAgd2hlbiBub3QgcnVubmluZyB0aW1lb3V0IGRpcmVjdGx5IGZyb20gYSBzaGVsbCBwcm9tcHQsCiAgICAgICAgICAgICAgICAgICBhbGxvdyBDT01NQU5EIHRvIHJlYWQgZnJvbSB0aGUgVFRZIGFuZCBnZXQgVFRZIHNpZ25hbHM7CiAgICAgICAgICAgICAgICAgICBpbiB0aGlzIG1vZGUsIGNoaWxkcmVuIG9mIENPTU1BTkQgd2lsbCBub3QgYmUgdGltZWQgb3V0CiAgLWssIC0ta2lsbC1hZnRlcj1EVVJBVElPTgogICAgICAgICAgICAgICAgIGFsc28gc2VuZCBhIEtJTEwgc2lnbmFsIGlmIENPTU1BTkQgaXMgc3RpbGwgcnVubmluZwogICAgICAgICAgICAgICAgICAgdGhpcyBsb25nIGFmdGVyIHRoZSBpbml0aWFsIHNpZ25hbCB3YXMgc2VudAogIC1zLCAtLXNpZ25hbD1TSUdOQUwKICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBzaWduYWwgdG8gYmUgc2VudCBvbiB0aW1lb3V0OwogICAgICAgICAgICAgICAgICAgU0lHTkFMIG1heSBiZSBhIG5hbWUgbGlrZSAnSFVQJyBvciBhIG51bWJlcjsKICAgICAgICAgICAgICAgICAgIHNlZSAna2lsbCAtbCcgZm9yIGEgbGlzdCBvZiBzaWduYWxzCgAgICAgICAtLXJlZmVyZW5jZT1SRklMRSAgdXNlIFJGSUxFJ3MgZ3JvdXAgcmF0aGVyIHRoYW4gc3BlY2lmeWluZyBhCiAgICAgICAgICAgICAgICAgICAgICAgICBHUk9VUCB2YWx1ZQoAICAgICAgLS1yZWZlcmVuY2U9UkZJTEUgIHVzZSBSRklMRSdzIG1vZGUgaW5zdGVhZCBvZiBNT0RFIHZhbHVlcwoAICAgICAgLS1yZWZlcmVuY2U9UkZJTEUgIHVzZSBSRklMRSdzIG93bmVyIGFuZCBncm91cCByYXRoZXIgdGhhbgogICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyBPV05FUjpHUk9VUCB2YWx1ZXMKACAgICAgIC0tcmVmZXJlbmNlPVJGSUxFICB1c2UgUkZJTEUncyBzZWN1cml0eSBjb250ZXh0IHJhdGhlciB0aGFuIHNwZWNpZnlpbmcKICAgICAgICAgICAgICAgICAgICAgICAgIGEgQ09OVEVYVCB2YWx1ZQoAICAgICAgLS1yZmMtMzMzOT1GTVQgICAgICAgICBvdXRwdXQgZGF0ZS90aW1lIGluIFJGQyAzMzM5IGZvcm1hdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNVD0nZGF0ZScsICdzZWNvbmRzJywgb3IgJ25zJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGRhdGUgYW5kIHRpbWUgdG8gdGhlIGluZGljYXRlZCBwcmVjaXNpb24uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGFtcGxlOiAyMDA2LTA4LTE0IDAyOjM0OjU2LTA2OjAwCgAgICAgICAtLXJvdW5kPU1FVEhPRCAgIHVzZSBNRVRIT0QgZm9yIHJvdW5kaW5nIHdoZW4gc2NhbGluZzsgTUVUSE9EIGNhbiBiZToKICAgICAgICAgICAgICAgICAgICAgICAgIHVwLCBkb3duLCBmcm9tLXplcm8gKGRlZmF1bHQpLCB0b3dhcmRzLXplcm8sIG5lYXJlc3QKACAgICAgIC0tc29ydD1XT1JEICAgICAgICAgICAgIHNvcnQgYWNjb3JkaW5nIHRvIFdPUkQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhbC1udW1lcmljIC1nLCBodW1hbi1udW1lcmljIC1oLCBtb250aCAtTSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1lcmljIC1uLCByYW5kb20gLVIsIHZlcnNpb24gLVYKICAtViwgLS12ZXJzaW9uLXNvcnQgICAgICAgICAgbmF0dXJhbCBzb3J0IG9mICh2ZXJzaW9uKSBudW1iZXJzIHdpdGhpbiB0ZXh0CgoAICAgICAgLS1zcGFyc2U9V0hFTiAgICAgICAgICAgIGNvbnRyb2wgY3JlYXRpb24gb2Ygc3BhcnNlIGZpbGVzLiBTZWUgYmVsb3cKICAgICAgLS1zdHJpcC10cmFpbGluZy1zbGFzaGVzICByZW1vdmUgYW55IHRyYWlsaW5nIHNsYXNoZXMgZnJvbSBlYWNoIFNPVVJDRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudAoAICAgICAgLS1zdHJpcC10cmFpbGluZy1zbGFzaGVzICByZW1vdmUgYW55IHRyYWlsaW5nIHNsYXNoZXMgZnJvbSBlYWNoIFNPVVJDRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudAogIC1TLCAtLXN1ZmZpeD1TVUZGSVggICAgICAgICAgb3ZlcnJpZGUgdGhlIHVzdWFsIGJhY2t1cCBzdWZmaXgKACAgICAgIC0tc3VmZml4PVNVRkYgICBhcHBlbmQgU1VGRiB0byBURU1QTEFURTsgU1VGRiBtdXN0IG5vdCBjb250YWluIGEgc2xhc2guCiAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgb3B0aW9uIGlzIGltcGxpZWQgaWYgVEVNUExBVEUgZG9lcyBub3QgZW5kIGluIFgKACAgICAgIC0tc3VmZml4PVNVRkZJWCAgYWRkIFNVRkZJWCB0byBvdXRwdXQgbnVtYmVycywgYW5kIGFjY2VwdCBvcHRpb25hbAogICAgICAgICAgICAgICAgICAgICAgICAgU1VGRklYIGluIGlucHV0IG51bWJlcnMKACAgICAgIC0tc3VwcHJlc3MtbWF0Y2hlZCAgICAgc3VwcHJlc3MgdGhlIGxpbmVzIG1hdGNoaW5nIFBBVFRFUk4KACAgICAgIC0tdGFnICAgICAgICAgICAgY3JlYXRlIGEgQlNELXN0eWxlIGNoZWNrc3VtCgAgICAgICAtLXRvLXVuaXQ9TiAgICAgIHRoZSBvdXRwdXQgdW5pdCBzaXplIChpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IDEpCgAgICAgICAtLXRvPVVOSVQgICAgICAgIGF1dG8tc2NhbGUgb3V0cHV0IG51bWJlcnMgdG8gVU5JVHM7IHNlZSBVTklUIGJlbG93CgAgICAgICAtLXRvdGFsICAgICAgICAgICBlbGlkZSBhbGwgZW50cmllcyBpbnNpZ25pZmljYW50IHRvIGF2YWlsYWJsZSBzcGFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgcHJvZHVjZSBhIGdyYW5kIHRvdGFsCgAgICAgICAtLXZlcmJvc2UgICAgICAgICAgIHByaW50IGEgZGlhZ25vc3RpYyBqdXN0IGJlZm9yZSBlYWNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgZmlsZSBpcyBvcGVuZWQKACAgICAgIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQKACAgIFstXWNzdG9wYiAgICAgdXNlIHR3byBzdG9wIGJpdHMgcGVyIGNoYXJhY3RlciAob25lIHdpdGggJy0nKQogICBbLV1odXAgICAgICAgIHNlbmQgYSBoYW5ndXAgc2lnbmFsIHdoZW4gdGhlIGxhc3QgcHJvY2VzcyBjbG9zZXMgdGhlIHR0eQogICBbLV1odXBjbCAgICAgIHNhbWUgYXMgWy1daHVwCiAgIFstXXBhcmVuYiAgICAgZ2VuZXJhdGUgcGFyaXR5IGJpdCBpbiBvdXRwdXQgYW5kIGV4cGVjdCBwYXJpdHkgYml0IGluIGlucHV0CiAgIFstXXBhcm9kZCAgICAgc2V0IG9kZCBwYXJpdHkgKG9yIGV2ZW4gcGFyaXR5IHdpdGggJy0nKQoAICAgWy1dZWNobyAgICAgICBlY2hvIGlucHV0IGNoYXJhY3RlcnMKACAgIFstXWVjaG9lICAgICAgc2FtZSBhcyBbLV1jcnRlcmFzZQogICBbLV1lY2hvayAgICAgIGVjaG8gYSBuZXdsaW5lIGFmdGVyIGEga2lsbCBjaGFyYWN0ZXIKACAgIFstXWVjaG9ubCAgICAgZWNobyBuZXdsaW5lIGV2ZW4gaWYgbm90IGVjaG9pbmcgb3RoZXIgY2hhcmFjdGVycwoAICAgWy1daWNhbm9uICAgICBlbmFibGUgc3BlY2lhbCBjaGFyYWN0ZXJzOiAlcwogICBbLV1pZXh0ZW4gICAgIGVuYWJsZSBub24tUE9TSVggc3BlY2lhbCBjaGFyYWN0ZXJzCgAgICBbLV1pbmxjciAgICAgIHRyYW5zbGF0ZSBuZXdsaW5lIHRvIGNhcnJpYWdlIHJldHVybgogICBbLV1pbnBjayAgICAgIGVuYWJsZSBpbnB1dCBwYXJpdHkgY2hlY2tpbmcKICAgWy1daXN0cmlwICAgICBjbGVhciBoaWdoICg4dGgpIGJpdCBvZiBpbnB1dCBjaGFyYWN0ZXJzCgAgICBbLV1pc2lnICAgICAgIGVuYWJsZSBpbnRlcnJ1cHQsIHF1aXQsIGFuZCBzdXNwZW5kIHNwZWNpYWwgY2hhcmFjdGVycwogICBbLV1ub2Zsc2ggICAgIGRpc2FibGUgZmx1c2hpbmcgYWZ0ZXIgaW50ZXJydXB0IGFuZCBxdWl0IHNwZWNpYWwgY2hhcmFjdGVycwoAICAgWy1daXhvZmYgICAgICBlbmFibGUgc2VuZGluZyBvZiBzdGFydC9zdG9wIGNoYXJhY3RlcnMKICAgWy1daXhvbiAgICAgICBlbmFibGUgWE9OL1hPRkYgZmxvdyBjb250cm9sCiAgIFstXXBhcm1yayAgICAgbWFyayBwYXJpdHkgZXJyb3JzICh3aXRoIGEgMjU1LTAtY2hhcmFjdGVyIHNlcXVlbmNlKQogICBbLV10YW5kZW0gICAgIHNhbWUgYXMgWy1daXhvZmYKACAgIFstXW9wb3N0ICAgICAgcG9zdHByb2Nlc3Mgb3V0cHV0CgAgICBjYnJlYWsgICAgICAgIHNhbWUgYXMgLWljYW5vbgogICAtY2JyZWFrICAgICAgIHNhbWUgYXMgaWNhbm9uCgAgICBjb29rZWQgICAgICAgIHNhbWUgYXMgYnJraW50IGlnbnBhciBpc3RyaXAgaWNybmwgaXhvbiBvcG9zdCBpc2lnCiAgICAgICAgICAgICAgICAgaWNhbm9uLCBlb2YgYW5kIGVvbCBjaGFyYWN0ZXJzIHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzCiAgIC1jb29rZWQgICAgICAgc2FtZSBhcyByYXcKACAgIGNydCAgICAgICAgICAgc2FtZSBhcyAlcwoAICAgY3NOICAgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gTiBiaXRzLCBOIGluIFs1Li44XQoAICAgZGVjICAgICAgICAgICBzYW1lIGFzICVzIGludHIgXmMgZXJhc2UgMDE3NwogICAgICAgICAgICAgICAgIGtpbGwgXnUKACAgIGVrICAgICAgICAgICAgZXJhc2UgYW5kIGtpbGwgY2hhcmFjdGVycyB0byB0aGVpciBkZWZhdWx0IHZhbHVlcwogICBldmVucCAgICAgICAgIHNhbWUgYXMgcGFyZW5iIC1wYXJvZGQgY3M3CiAgIC1ldmVucCAgICAgICAgc2FtZSBhcyAtcGFyZW5iIGNzOAoAICAgZW9mIENIQVIgICAgICBDSEFSIHdpbGwgc2VuZCBhbiBlbmQgb2YgZmlsZSAodGVybWluYXRlIHRoZSBpbnB1dCkKICAgZW9sIENIQVIgICAgICBDSEFSIHdpbGwgZW5kIHRoZSBsaW5lCgAgICBlcmFzZSBDSEFSICAgIENIQVIgd2lsbCBlcmFzZSB0aGUgbGFzdCBjaGFyYWN0ZXIgdHlwZWQKICAgaW50ciBDSEFSICAgICBDSEFSIHdpbGwgc2VuZCBhbiBpbnRlcnJ1cHQgc2lnbmFsCiAgIGtpbGwgQ0hBUiAgICAgQ0hBUiB3aWxsIGVyYXNlIHRoZSBjdXJyZW50IGxpbmUKACAgIGlzcGVlZCBOICAgICAgc2V0IHRoZSBpbnB1dCBzcGVlZCB0byBOCgAgICBsaXRvdXQgICAgICAgIHNhbWUgYXMgLXBhcmVuYiAtaXN0cmlwIC1vcG9zdCBjczgKICAgLWxpdG91dCAgICAgICBzYW1lIGFzIHBhcmVuYiBpc3RyaXAgb3Bvc3QgY3M3CgAgICBtaW4gTiAgICAgICAgIHdpdGggLWljYW5vbiwgc2V0IE4gY2hhcmFjdGVycyBtaW5pbXVtIGZvciBhIGNvbXBsZXRlZCByZWFkCiAgIG9zcGVlZCBOICAgICAgc2V0IHRoZSBvdXRwdXQgc3BlZWQgdG8gTgoAICAgbmwgICAgICAgICAgICBzYW1lIGFzICVzCiAgIC1ubCAgICAgICAgICAgc2FtZSBhcyAlcwoAICAgb2RkcCAgICAgICAgICBzYW1lIGFzIHBhcmVuYiBwYXJvZGQgY3M3CiAgIC1vZGRwICAgICAgICAgc2FtZSBhcyAtcGFyZW5iIGNzOAogICBbLV1wYXJpdHkgICAgIHNhbWUgYXMgWy1dZXZlbnAKICAgcGFzczggICAgICAgICBzYW1lIGFzIC1wYXJlbmIgLWlzdHJpcCBjczgKICAgLXBhc3M4ICAgICAgICBzYW1lIGFzIHBhcmVuYiBpc3RyaXAgY3M3CgAgICBxdWl0IENIQVIgICAgIENIQVIgd2lsbCBzZW5kIGEgcXVpdCBzaWduYWwKACAgIHJhdyAgICAgICAgICAgc2FtZSBhcyAtaWduYnJrIC1icmtpbnQgLWlnbnBhciAtcGFybXJrIC1pbnBjayAtaXN0cmlwCiAgICAgICAgICAgICAgICAgLWlubGNyIC1pZ25jciAtaWNybmwgLWl4b24gLWl4b2ZmIC1pY2Fub24gLW9wb3N0CiAgICAgICAgICAgICAgICAgLWlzaWclcyBtaW4gMSB0aW1lIDAKICAgLXJhdyAgICAgICAgICBzYW1lIGFzIGNvb2tlZAoAICAgc2FuZSAgICAgICAgICBzYW1lIGFzIGNyZWFkIC1pZ25icmsgYnJraW50IC1pbmxjciAtaWduY3IgaWNybmwKICAgICAgICAgICAgICAgICBpY2Fub24gaWV4dGVuIGVjaG8gZWNob2UgZWNob2sgLWVjaG9ubCAtbm9mbHNoCiAgICAgICAgICAgICAgICAgJXMKICAgICAgICAgICAgICAgICAlcwogICAgICAgICAgICAgICAgICVzLAogICAgICAgICAgICAgICAgIGFsbCBzcGVjaWFsIGNoYXJhY3RlcnMgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMKACAgIHNwZWVkICAgICAgICAgcHJpbnQgdGhlIHRlcm1pbmFsIHNwZWVkCiAgIHRpbWUgTiAgICAgICAgd2l0aCAtaWNhbm9uLCBzZXQgcmVhZCB0aW1lb3V0IG9mIE4gdGVudGhzIG9mIGEgc2Vjb25kCgAgICBzdGFydCBDSEFSICAgIENIQVIgd2lsbCByZXN0YXJ0IHRoZSBvdXRwdXQgYWZ0ZXIgc3RvcHBpbmcgaXQKICAgc3RvcCBDSEFSICAgICBDSEFSIHdpbGwgc3RvcCB0aGUgb3V0cHV0CiAgIHN1c3AgQ0hBUiAgICAgQ0hBUiB3aWxsIHNlbmQgYSB0ZXJtaW5hbCBzdG9wIHNpZ25hbAoAICAlJSAgICAgIGEgc2luZ2xlICUKICAlYiAgICAgIEFSR1VNRU5UIGFzIGEgc3RyaW5nIHdpdGggJ1wnIGVzY2FwZXMgaW50ZXJwcmV0ZWQsCiAgICAgICAgICBleGNlcHQgdGhhdCBvY3RhbCBlc2NhcGVzIGFyZSBvZiB0aGUgZm9ybSBcMCBvciBcME5OTgogICVxICAgICAgQVJHVU1FTlQgaXMgcHJpbnRlZCBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXQsCiAgICAgICAgICBlc2NhcGluZyBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMgd2l0aCB0aGUgcHJvcG9zZWQgUE9TSVggJCcnIHN5bnRheC4KCmFuZCBhbGwgQyBmb3JtYXQgc3BlY2lmaWNhdGlvbnMgZW5kaW5nIHdpdGggb25lIG9mIGRpb3V4WGZlRWdHY3MsIHdpdGgKQVJHVU1FTlRzIGNvbnZlcnRlZCB0byBwcm9wZXIgdHlwZSBmaXJzdC4gIFZhcmlhYmxlIHdpZHRocyBhcmUgaGFuZGxlZC4KACAgJUEgICBsb2NhbGUncyBmdWxsIHdlZWtkYXkgbmFtZSAoZS5nLiwgU3VuZGF5KQogICViICAgbG9jYWxlJ3MgYWJicmV2aWF0ZWQgbW9udGggbmFtZSAoZS5nLiwgSmFuKQogICVCICAgbG9jYWxlJ3MgZnVsbCBtb250aCBuYW1lIChlLmcuLCBKYW51YXJ5KQogICVjICAgbG9jYWxlJ3MgZGF0ZSBhbmQgdGltZSAoZS5nLiwgVGh1IE1hciAgMyAyMzowNToyNSAyMDA1KQoAICAlQyAgIGNlbnR1cnk7IGxpa2UgJVksIGV4Y2VwdCBvbWl0IGxhc3QgdHdvIGRpZ2l0cyAoZS5nLiwgMjApCiAgJWQgICBkYXkgb2YgbW9udGggKGUuZy4sIDAxKQogICVEICAgZGF0ZTsgc2FtZSBhcyAlbS8lZC8leQogICVlICAgZGF5IG9mIG1vbnRoLCBzcGFjZSBwYWRkZWQ7IHNhbWUgYXMgJV9kCgAgICVGICAgZnVsbCBkYXRlOyBzYW1lIGFzICVZLSVtLSVkCiAgJWcgICBsYXN0IHR3byBkaWdpdHMgb2YgeWVhciBvZiBJU08gd2VlayBudW1iZXIgKHNlZSAlRykKICAlRyAgIHllYXIgb2YgSVNPIHdlZWsgbnVtYmVyIChzZWUgJVYpOyBub3JtYWxseSB1c2VmdWwgb25seSB3aXRoICVWCgAgICVTICAgc2Vjb25kICgwMC4uNjApCiAgJXQgICBhIHRhYgogICVUICAgdGltZTsgc2FtZSBhcyAlSDolTTolUwogICV1ICAgZGF5IG9mIHdlZWsgKDEuLjcpOyAxIGlzIE1vbmRheQoAICAlVSAgIHdlZWsgbnVtYmVyIG9mIHllYXIsIHdpdGggU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrICgwMC4uNTMpCiAgJVYgICBJU08gd2VlayBudW1iZXIsIHdpdGggTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrICgwMS4uNTMpCiAgJXcgICBkYXkgb2Ygd2VlayAoMC4uNik7IDAgaXMgU3VuZGF5CiAgJVcgICB3ZWVrIG51bWJlciBvZiB5ZWFyLCB3aXRoIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2VlayAoMDAuLjUzKQoAICAlZCAgIGRldmljZSBudW1iZXIgaW4gZGVjaW1hbAogICVEICAgZGV2aWNlIG51bWJlciBpbiBoZXgKICAlZiAgIHJhdyBtb2RlIGluIGhleAogICVGICAgZmlsZSB0eXBlCiAgJWcgICBncm91cCBJRCBvZiBvd25lcgogICVHICAgZ3JvdXAgbmFtZSBvZiBvd25lcgoAICAlaCAgIG51bWJlciBvZiBoYXJkIGxpbmtzCiAgJWkgICBpbm9kZSBudW1iZXIKICAlbSAgIG1vdW50IHBvaW50CiAgJW4gICBmaWxlIG5hbWUKICAlTiAgIHF1b3RlZCBmaWxlIG5hbWUgd2l0aCBkZXJlZmVyZW5jZSBpZiBzeW1ib2xpYyBsaW5rCiAgJW8gICBvcHRpbWFsIEkvTyB0cmFuc2ZlciBzaXplIGhpbnQKICAlcyAgIHRvdGFsIHNpemUsIGluIGJ5dGVzCiAgJXQgICBtYWpvciBkZXZpY2UgdHlwZSBpbiBoZXgsIGZvciBjaGFyYWN0ZXIvYmxvY2sgZGV2aWNlIHNwZWNpYWwgZmlsZXMKICAlVCAgIG1pbm9yIGRldmljZSB0eXBlIGluIGhleCwgZm9yIGNoYXJhY3Rlci9ibG9jayBkZXZpY2Ugc3BlY2lhbCBmaWxlcwoAICAlaCAgIHNhbWUgYXMgJWIKICAlSCAgIGhvdXIgKDAwLi4yMykKICAlSSAgIGhvdXIgKDAxLi4xMikKICAlaiAgIGRheSBvZiB5ZWFyICgwMDEuLjM2NikKACAgJWkgICBmaWxlIHN5c3RlbSBJRCBpbiBoZXgKICAlbCAgIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcwogICVuICAgZmlsZSBuYW1lCiAgJXMgICBibG9jayBzaXplIChmb3IgZmFzdGVyIHRyYW5zZmVycykKICAlUyAgIGZ1bmRhbWVudGFsIGJsb2NrIHNpemUgKGZvciBibG9jayBjb3VudHMpCiAgJXQgICBmaWxlIHN5c3RlbSB0eXBlIGluIGhleAogICVUICAgZmlsZSBzeXN0ZW0gdHlwZSBpbiBodW1hbiByZWFkYWJsZSBmb3JtCgAgICVrICAgaG91ciwgc3BhY2UgcGFkZGVkICggMC4uMjMpOyBzYW1lIGFzICVfSAogICVsICAgaG91ciwgc3BhY2UgcGFkZGVkICggMS4uMTIpOyBzYW1lIGFzICVfSQogICVtICAgbW9udGggKDAxLi4xMikKICAlTSAgIG1pbnV0ZSAoMDAuLjU5KQoAICAlbiAgIGEgbmV3bGluZQogICVOICAgbmFub3NlY29uZHMgKDAwMDAwMDAwMC4uOTk5OTk5OTk5KQogICVwICAgbG9jYWxlJ3MgZXF1aXZhbGVudCBvZiBlaXRoZXIgQU0gb3IgUE07IGJsYW5rIGlmIG5vdCBrbm93bgogICVQICAgbGlrZSAlcCwgYnV0IGxvd2VyIGNhc2UKICAlcSAgIHF1YXJ0ZXIgb2YgeWVhciAoMS4uNCkKICAlciAgIGxvY2FsZSdzIDEyLWhvdXIgY2xvY2sgdGltZSAoZS5nLiwgMTE6MTE6MDQgUE0pCiAgJVIgICAyNC1ob3VyIGhvdXIgYW5kIG1pbnV0ZTsgc2FtZSBhcyAlSDolTQogICVzICAgc2Vjb25kcyBzaW5jZSAxOTcwLTAxLTAxIDAwOjAwOjAwIFVUQwoAICAldSAgIHVzZXIgSUQgb2Ygb3duZXIKICAlVSAgIHVzZXIgbmFtZSBvZiBvd25lcgogICV3ICAgdGltZSBvZiBmaWxlIGJpcnRoLCBodW1hbi1yZWFkYWJsZTsgLSBpZiB1bmtub3duCiAgJVcgICB0aW1lIG9mIGZpbGUgYmlydGgsIHNlY29uZHMgc2luY2UgRXBvY2g7IDAgaWYgdW5rbm93bgogICV4ICAgdGltZSBvZiBsYXN0IGFjY2VzcywgaHVtYW4tcmVhZGFibGUKICAlWCAgIHRpbWUgb2YgbGFzdCBhY2Nlc3MsIHNlY29uZHMgc2luY2UgRXBvY2gKICAleSAgIHRpbWUgb2YgbGFzdCBkYXRhIG1vZGlmaWNhdGlvbiwgaHVtYW4tcmVhZGFibGUKICAlWSAgIHRpbWUgb2YgbGFzdCBkYXRhIG1vZGlmaWNhdGlvbiwgc2Vjb25kcyBzaW5jZSBFcG9jaAogICV6ICAgdGltZSBvZiBsYXN0IHN0YXR1cyBjaGFuZ2UsIGh1bWFuLXJlYWRhYmxlCiAgJVogICB0aW1lIG9mIGxhc3Qgc3RhdHVzIGNoYW5nZSwgc2Vjb25kcyBzaW5jZSBFcG9jaAoKACAgJXggICBsb2NhbGUncyBkYXRlIHJlcHJlc2VudGF0aW9uIChlLmcuLCAxMi8zMS85OSkKICAlWCAgIGxvY2FsZSdzIHRpbWUgcmVwcmVzZW50YXRpb24gKGUuZy4sIDIzOjEzOjQ4KQogICV5ICAgbGFzdCB0d28gZGlnaXRzIG9mIHllYXIgKDAwLi45OSkKICAlWSAgIHllYXIKACAgJXogICAraGhtbSBudW1lcmljIHRpbWUgem9uZSAoZS5nLiwgLTA0MDApCiAgJTp6ICAraGg6bW0gbnVtZXJpYyB0aW1lIHpvbmUgKGUuZy4sIC0wNDowMCkKICAlOjp6ICAraGg6bW06c3MgbnVtZXJpYyB0aW1lIHpvbmUgKGUuZy4sIC0wNDowMDowMCkKICAlOjo6eiAgbnVtZXJpYyB0aW1lIHpvbmUgd2l0aCA6IHRvIG5lY2Vzc2FyeSBwcmVjaXNpb24gKGUuZy4sIC0wNCwgKzA1OjMwKQogICVaICAgYWxwaGFiZXRpYyB0aW1lIHpvbmUgYWJicmV2aWF0aW9uIChlLmcuLCBFRFQpCgpCeSBkZWZhdWx0LCBkYXRlIHBhZHMgbnVtZXJpYyBmaWVsZHMgd2l0aCB6ZXJvZXMuCgAgICsgVE9LRU4gICAgICAgICAgICAgICAgICAgIGludGVycHJldCBUT0tFTiBhcyBhIHN0cmluZywgZXZlbiBpZiBpdCBpcyBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3JkIGxpa2UgJ21hdGNoJyBvciBhbiBvcGVyYXRvciBsaWtlICcvJwoKICAoIEVYUFJFU1NJT04gKSAgICAgICAgICAgICB2YWx1ZSBvZiBFWFBSRVNTSU9OCgAgICtGSVJTVF9QQUdFWzpMQVNUX1BBR0VdLCAtLXBhZ2VzPUZJUlNUX1BBR0VbOkxBU1RfUEFHRV0KICAgICAgICAgICAgICAgICAgICBiZWdpbiBbc3RvcF0gcHJpbnRpbmcgd2l0aCBwYWdlIEZJUlNUX1tMQVNUX11QQUdFCiAgLUNPTFVNTiwgLS1jb2x1bW5zPUNPTFVNTgogICAgICAgICAgICAgICAgICAgIG91dHB1dCBDT0xVTU4gY29sdW1ucyBhbmQgcHJpbnQgY29sdW1ucyBkb3duLAogICAgICAgICAgICAgICAgICAgIHVubGVzcyAtYSBpcyB1c2VkLiBCYWxhbmNlIG51bWJlciBvZiBsaW5lcyBpbiB0aGUKICAgICAgICAgICAgICAgICAgICBjb2x1bW5zIG9uIGVhY2ggcGFnZQoAICAtICtGT1JNQVQgKGUuZy4sICslSDolTSkgZm9yIGEgJ2RhdGUnLXN0eWxlIGZvcm1hdAoAICAtLWdyb3Vwcz1HX0xJU1QgICAgICAgIHNwZWNpZnkgc3VwcGxlbWVudGFyeSBncm91cHMgYXMgZzEsZzIsLi4sZ04KACAgLS1vdXRwdXQtZGVsaW1pdGVyPVNUUiAgc2VwYXJhdGUgY29sdW1ucyB3aXRoIFNUUgoAICAtLXNraXAtY2hkaXIgICAgICAgICAgIGRvIG5vdCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgdG8gJXMKACAgLS10b3RhbCAgICAgICAgICAgb3V0cHV0IGEgc3VtbWFyeQoAICAtLXVzZXJzcGVjPVVTRVI6R1JPVVAgIHNwZWNpZnkgdXNlciBhbmQgZ3JvdXAgKElEIG9yIG5hbWUpIHRvIHVzZQoAICAtMCwgLS1udWxsICAgICAgICAgICAgZW5kIGVhY2ggb3V0cHV0IGxpbmUgd2l0aCBOVUwsIG5vdCBuZXdsaW5lCiAgLWEsIC0tYWxsICAgICAgICAgICAgIHdyaXRlIGNvdW50cyBmb3IgYWxsIGZpbGVzLCBub3QganVzdCBkaXJlY3RvcmllcwogICAgICAtLWFwcGFyZW50LXNpemUgICBwcmludCBhcHBhcmVudCBzaXplcywgcmF0aGVyIHRoYW4gZGlzayB1c2FnZTsgYWx0aG91Z2gKICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgYXBwYXJlbnQgc2l6ZSBpcyB1c3VhbGx5IHNtYWxsZXIsIGl0IG1heSBiZQogICAgICAgICAgICAgICAgICAgICAgICAgIGxhcmdlciBkdWUgdG8gaG9sZXMgaW4gKCdzcGFyc2UnKSBmaWxlcywgaW50ZXJuYWwKICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudGF0aW9uLCBpbmRpcmVjdCBibG9ja3MsIGFuZCB0aGUgbGlrZQoAICAtMCwgLS1udWxsICAgICBlbmQgZWFjaCBvdXRwdXQgbGluZSB3aXRoIE5VTCwgbm90IG5ld2xpbmUKACAgLUEsIC0tYWRkcmVzcy1yYWRpeD1SQURJWCAgIG91dHB1dCBmb3JtYXQgZm9yIGZpbGUgb2Zmc2V0czsgUkFESVggaXMgb25lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgW2RveG5dLCBmb3IgRGVjaW1hbCwgT2N0YWwsIEhleCBvciBOb25lCiAgICAgIC0tZW5kaWFuPXtiaWd8bGl0dGxlfSAgIHN3YXAgaW5wdXQgYnl0ZXMgYWNjb3JkaW5nIHRoZSBzcGVjaWZpZWQgb3JkZXIKICAtaiwgLS1za2lwLWJ5dGVzPUJZVEVTICAgICAgc2tpcCBCWVRFUyBpbnB1dCBieXRlcyBmaXJzdAoAICAtQSwgLS1hdXRvLXJlZmVyZW5jZSAgICAgICAgICAgb3V0cHV0IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIHJlZmVyZW5jZXMKICAtRywgLS10cmFkaXRpb25hbCAgICAgICAgICAgICAgYmVoYXZlIG1vcmUgbGlrZSBTeXN0ZW0gViAncHR4JwoAICAtQiwgLS1ibG9jay1zaXplPVNJWkUgIHNjYWxlIHNpemVzIGJ5IFNJWkUgYmVmb3JlIHByaW50aW5nIHRoZW07IGUuZy4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICctQk0nIHByaW50cyBzaXplcyBpbiB1bml0cyBvZiAxLDA0OCw1NzYgYnl0ZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlZSBTSVpFIGZvcm1hdCBiZWxvdwogIC1iLCAtLWJ5dGVzICAgICAgICAgICBlcXVpdmFsZW50IHRvICctLWFwcGFyZW50LXNpemUgLS1ibG9jay1zaXplPTEnCiAgLWMsIC0tdG90YWwgICAgICAgICAgIHByb2R1Y2UgYSBncmFuZCB0b3RhbAogIC1ELCAtLWRlcmVmZXJlbmNlLWFyZ3MgIGRlcmVmZXJlbmNlIG9ubHkgc3ltbGlua3MgdGhhdCBhcmUgbGlzdGVkIG9uIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgbGluZQogIC1kLCAtLW1heC1kZXB0aD1OICAgICBwcmludCB0aGUgdG90YWwgZm9yIGEgZGlyZWN0b3J5IChvciBmaWxlLCB3aXRoIC0tYWxsKQogICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgaWYgaXQgaXMgTiBvciBmZXdlciBsZXZlbHMgYmVsb3cgdGhlIGNvbW1hbmQKICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lIGFyZ3VtZW50OyAgLS1tYXgtZGVwdGg9MCBpcyB0aGUgc2FtZSBhcwogICAgICAgICAgICAgICAgICAgICAgICAgIC0tc3VtbWFyaXplCgAgIC1DICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QgZW50cmllcyBieSBjb2x1bW5zCiAgICAgIC0tY29sb3JbPVdIRU5dICAgICAgICAgY29sb3JpemUgdGhlIG91dHB1dDsgV0hFTiBjYW4gYmUgJ2Fsd2F5cycgKGRlZmF1bHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9taXR0ZWQpLCAnYXV0bycsIG9yICduZXZlcic7IG1vcmUgaW5mbyBiZWxvdwogIC1kLCAtLWRpcmVjdG9yeSAgICAgICAgICAgIGxpc3QgZGlyZWN0b3JpZXMgdGhlbXNlbHZlcywgbm90IHRoZWlyIGNvbnRlbnRzCiAgLUQsIC0tZGlyZWQgICAgICAgICAgICAgICAgZ2VuZXJhdGUgb3V0cHV0IGRlc2lnbmVkIGZvciBFbWFjcycgZGlyZWQgbW9kZQoAICAtRCAgICAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIGR1cGxpY2F0ZSBsaW5lcwogICAgICAtLWFsbC1yZXBlYXRlZFs9TUVUSE9EXSAgbGlrZSAtRCwgYnV0IGFsbG93IHNlcGFyYXRpbmcgZ3JvdXBzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYW4gZW1wdHkgbGluZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVUSE9EPXtub25lKGRlZmF1bHQpLHByZXBlbmQsc2VwYXJhdGV9CgAgIC1EICAgICAgICAgICAgICAgICAgY3JlYXRlIGFsbCBsZWFkaW5nIGNvbXBvbmVudHMgb2YgREVTVCBleGNlcHQgdGhlIGxhc3QsCiAgICAgICAgICAgICAgICAgICAgICAgIG9yIGFsbCBjb21wb25lbnRzIG9mIC0tdGFyZ2V0LWRpcmVjdG9yeSwKICAgICAgICAgICAgICAgICAgICAgICAgdGhlbiBjb3B5IFNPVVJDRSB0byBERVNUCiAgLWcsIC0tZ3JvdXA9R1JPVVAgICBzZXQgZ3JvdXAgb3duZXJzaGlwLCBpbnN0ZWFkIG9mIHByb2Nlc3MnIGN1cnJlbnQgZ3JvdXAKICAtbSwgLS1tb2RlPU1PREUgICAgIHNldCBwZXJtaXNzaW9uIG1vZGUgKGFzIGluIGNobW9kKSwgaW5zdGVhZCBvZiByd3hyLXhyLXgKICAtbywgLS1vd25lcj1PV05FUiAgIHNldCBvd25lcnNoaXAgKHN1cGVyLXVzZXIgb25seSkKACAgLUQsIC0tZGF0ZS1mb3JtYXQ9Rk9STUFUCiAgICAgICAgICAgICAgICAgICAgdXNlIEZPUk1BVCBmb3IgdGhlIGhlYWRlciBkYXRlCiAgLWVbQ0hBUltXSURUSF1dLCAtLWV4cGFuZC10YWJzWz1DSEFSW1dJRFRIXV0KICAgICAgICAgICAgICAgICAgICBleHBhbmQgaW5wdXQgQ0hBUnMgKFRBQnMpIHRvIHRhYiBXSURUSCAoOCkKICAtRiwgLWYsIC0tZm9ybS1mZWVkCiAgICAgICAgICAgICAgICAgICAgdXNlIGZvcm0gZmVlZHMgaW5zdGVhZCBvZiBuZXdsaW5lcyB0byBzZXBhcmF0ZSBwYWdlcwogICAgICAgICAgICAgICAgICAgIChieSBhIDMtbGluZSBwYWdlIGhlYWRlciB3aXRoIC1GIG9yIGEgNS1saW5lIGhlYWRlcgogICAgICAgICAgICAgICAgICAgIGFuZCB0cmFpbGVyIHdpdGhvdXQgLUYpCgAgIC1GLCAtLWZsYWctdHJ1bmNhdGlvbj1TVFJJTkcgICB1c2UgU1RSSU5HIGZvciBmbGFnZ2luZyBsaW5lIHRydW5jYXRpb25zLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyAnLycKACAgLUgsIC0tZGVyZWZlcmVuY2UtY29tbWFuZC1saW5lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93IHN5bWJvbGljIGxpbmtzIGxpc3RlZCBvbiB0aGUgY29tbWFuZCBsaW5lCiAgICAgIC0tZGVyZWZlcmVuY2UtY29tbWFuZC1saW5lLXN5bWxpbmstdG8tZGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93IGVhY2ggY29tbWFuZCBsaW5lIHN5bWJvbGljIGxpbmsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgcG9pbnRzIHRvIGEgZGlyZWN0b3J5CiAgICAgIC0taGlkZT1QQVRURVJOICAgICAgICAgZG8gbm90IGxpc3QgaW1wbGllZCBlbnRyaWVzIG1hdGNoaW5nIHNoZWxsIFBBVFRFUk4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdmVycmlkZGVuIGJ5IC1hIG9yIC1BKQoAICAtSSAgICAgICAgICAgICAgICAgICAgcHJvbXB0IG9uY2UgYmVmb3JlIHJlbW92aW5nIG1vcmUgdGhhbiB0aHJlZSBmaWxlcywgb3IKICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHJlbW92aW5nIHJlY3Vyc2l2ZWx5OyBsZXNzIGludHJ1c2l2ZSB0aGFuIC1pLAogICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIHN0aWxsIGdpdmluZyBwcm90ZWN0aW9uIGFnYWluc3QgbW9zdCBtaXN0YWtlcwogICAgICAtLWludGVyYWN0aXZlWz1XSEVOXSAgcHJvbXB0IGFjY29yZGluZyB0byBXSEVOOiBuZXZlciwgb25jZSAoLUkpLCBvcgogICAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyAoLWkpOyB3aXRob3V0IFdIRU4sIHByb21wdCBhbHdheXMKACAgLUlbRk1UXSwgLS1pc28tODYwMVs9Rk1UXSAgb3V0cHV0IGRhdGUvdGltZSBpbiBJU08gODYwMSBmb3JtYXQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVQ9J2RhdGUnIGZvciBkYXRlIG9ubHkgKHRoZSBkZWZhdWx0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdob3VycycsICdtaW51dGVzJywgJ3NlY29uZHMnLCBvciAnbnMnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZGF0ZSBhbmQgdGltZSB0byB0aGUgaW5kaWNhdGVkIHByZWNpc2lvbi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4YW1wbGU6IDIwMDYtMDgtMTRUMDI6MzQ6NTYtMDY6MDAKACAgLUwgRklMRSAgICAgRklMRSBleGlzdHMgYW5kIGlzIGEgc3ltYm9saWMgbGluayAoc2FtZSBhcyAtaCkKICAtTyBGSUxFICAgICBGSUxFIGV4aXN0cyBhbmQgaXMgb3duZWQgYnkgdGhlIGVmZmVjdGl2ZSB1c2VyIElECiAgLXAgRklMRSAgICAgRklMRSBleGlzdHMgYW5kIGlzIGEgbmFtZWQgcGlwZQogIC1yIEZJTEUgICAgIEZJTEUgZXhpc3RzIGFuZCByZWFkIHBlcm1pc3Npb24gaXMgZ3JhbnRlZAogIC1zIEZJTEUgICAgIEZJTEUgZXhpc3RzIGFuZCBoYXMgYSBzaXplIGdyZWF0ZXIgdGhhbiB6ZXJvCgAgIC1MLCAtLWRlcmVmZXJlbmNlICAgICBmb2xsb3cgbGlua3MKICAtZiwgLS1maWxlLXN5c3RlbSAgICAgZGlzcGxheSBmaWxlIHN5c3RlbSBzdGF0dXMgaW5zdGVhZCBvZiBmaWxlIHN0YXR1cwoAICAtTCwgLS1sb2dpY2FsICAgdXNlIFBXRCBmcm9tIGVudmlyb25tZW50LCBldmVuIGlmIGl0IGNvbnRhaW5zIHN5bWxpbmtzCiAgLVAsIC0tcGh5c2ljYWwgIGF2b2lkIGFsbCBzeW1saW5rcwoAICAtTSwgLS1tYWNyby1uYW1lPVNUUklORyAgICAgICAgbWFjcm8gbmFtZSB0byB1c2UgaW5zdGVhZCBvZiAneHgnCiAgLU8sIC0tZm9ybWF0PXJvZmYgICAgICAgICAgICAgIGdlbmVyYXRlIG91dHB1dCBhcyByb2ZmIGRpcmVjdGl2ZXMKICAtUiwgLS1yaWdodC1zaWRlLXJlZnMgICAgICAgICAgcHV0IHJlZmVyZW5jZXMgYXQgcmlnaHQsIG5vdCBjb3VudGVkIGluIC13CiAgLVMsIC0tc2VudGVuY2UtcmVnZXhwPVJFR0VYUCAgIGZvciBlbmQgb2YgbGluZXMgb3IgZW5kIG9mIHNlbnRlbmNlcwogIC1ULCAtLWZvcm1hdD10ZXggICAgICAgICAgICAgICBnZW5lcmF0ZSBvdXRwdXQgYXMgVGVYIGRpcmVjdGl2ZXMKACAgLU4sIC0tcmVhZC1ieXRlcz1CWVRFUyAgICAgIGxpbWl0IGR1bXAgdG8gQllURVMgaW5wdXQgYnl0ZXMKICAtUyBCWVRFUywgLS1zdHJpbmdzWz1CWVRFU10gIG91dHB1dCBzdHJpbmdzIG9mIGF0IGxlYXN0IEJZVEVTIGdyYXBoaWMgY2hhcnM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMyBpcyBpbXBsaWVkIHdoZW4gQllURVMgaXMgbm90IHNwZWNpZmllZAogIC10LCAtLWZvcm1hdD1UWVBFICAgICAgICAgICBzZWxlY3Qgb3V0cHV0IGZvcm1hdCBvciBmb3JtYXRzCiAgLXYsIC0tb3V0cHV0LWR1cGxpY2F0ZXMgICAgIGRvIG5vdCB1c2UgKiB0byBtYXJrIGxpbmUgc3VwcHJlc3Npb24KICAtd1tCWVRFU10sIC0td2lkdGhbPUJZVEVTXSAgb3V0cHV0IEJZVEVTIGJ5dGVzIHBlciBvdXRwdXQgbGluZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMiBpcyBpbXBsaWVkIHdoZW4gQllURVMgaXMgbm90IHNwZWNpZmllZAogICAgICAtLXRyYWRpdGlvbmFsICAgICAgICAgICBhY2NlcHQgYXJndW1lbnRzIGluIHRoaXJkIGZvcm0gYWJvdmUKACAgLVAsIC0tbm8tZGVyZWZlcmVuY2UgIGRvbid0IGZvbGxvdyBhbnkgc3ltYm9saWMgbGlua3MgKHRoaXMgaXMgdGhlIGRlZmF1bHQpCiAgLVMsIC0tc2VwYXJhdGUtZGlycyAgIGZvciBkaXJlY3RvcmllcyBkbyBub3QgaW5jbHVkZSBzaXplIG9mIHN1YmRpcmVjdG9yaWVzCiAgICAgIC0tc2kgICAgICAgICAgICAgIGxpa2UgLWgsIGJ1dCB1c2UgcG93ZXJzIG9mIDEwMDAgbm90IDEwMjQKICAtcywgLS1zdW1tYXJpemUgICAgICAgZGlzcGxheSBvbmx5IGEgdG90YWwgZm9yIGVhY2ggYXJndW1lbnQKACAgLVIsIC0tcmVjdXJzaXZlICAgICAgICBjaGFuZ2UgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHJlY3Vyc2l2ZWx5CgAgIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgb3BlcmF0ZSBvbiBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgcmVjdXJzaXZlbHkKACAgLVIsIC0tcmZjLWVtYWlsICAgICAgICAgICAgb3V0cHV0IGRhdGUgYW5kIHRpbWUgaW4gUkZDIDUzMjIgZm9ybWF0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhhbXBsZTogTW9uLCAxNCBBdWcgMjAwNiAwMjozNDo1NiAtMDYwMAoAICAtUiwgLXIsIC0tcmVjdXJzaXZlICAgICAgICAgIGNvcHkgZGlyZWN0b3JpZXMgcmVjdXJzaXZlbHkKICAgICAgLS1yZWZsaW5rWz1XSEVOXSAgICAgICAgIGNvbnRyb2wgY2xvbmUvQ29XIGNvcGllcy4gU2VlIGJlbG93CiAgICAgIC0tcmVtb3ZlLWRlc3RpbmF0aW9uICAgICByZW1vdmUgZWFjaCBleGlzdGluZyBkZXN0aW5hdGlvbiBmaWxlIGJlZm9yZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRlbXB0aW5nIHRvIG9wZW4gaXQgKGNvbnRyYXN0IHdpdGggLS1mb3JjZSkKACAgLVMgICAgICAgICAgICAgICAgICAgICAgICAgc29ydCBieSBmaWxlIHNpemUsIGxhcmdlc3QgZmlyc3QKICAgICAgLS1zb3J0PVdPUkQgICAgICAgICAgICBzb3J0IGJ5IFdPUkQgaW5zdGVhZCBvZiBuYW1lOiBub25lICgtVSksIHNpemUgKC1TKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUgKC10KSwgdmVyc2lvbiAoLXYpLCBleHRlbnNpb24gKC1YKQogICAgICAtLXRpbWU9V09SRCAgICAgICAgICAgIHdpdGggLWwsIHNob3cgdGltZSBhcyBXT1JEIGluc3RlYWQgb2YgZGVmYXVsdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpY2F0aW9uIHRpbWU6IGF0aW1lIG9yIGFjY2VzcyBvciB1c2UgKC11KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0aW1lIG9yIHN0YXR1cyAoLWMpOyBhbHNvIHVzZSBzcGVjaWZpZWQgdGltZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgc29ydCBrZXkgaWYgLS1zb3J0PXRpbWUgKG5ld2VzdCBmaXJzdCkKACAgLVMgRklMRSAgICAgRklMRSBleGlzdHMgYW5kIGlzIGEgc29ja2V0CiAgLXQgRkQgICAgICAgZmlsZSBkZXNjcmlwdG9yIEZEIGlzIG9wZW5lZCBvbiBhIHRlcm1pbmFsCiAgLXUgRklMRSAgICAgRklMRSBleGlzdHMgYW5kIGl0cyBzZXQtdXNlci1JRCBiaXQgaXMgc2V0CiAgLXcgRklMRSAgICAgRklMRSBleGlzdHMgYW5kIHdyaXRlIHBlcm1pc3Npb24gaXMgZ3JhbnRlZAogIC14IEZJTEUgICAgIEZJTEUgZXhpc3RzIGFuZCBleGVjdXRlIChvciBzZWFyY2gpIHBlcm1pc3Npb24gaXMgZ3JhbnRlZAoAICAtUywgLS1zdWZmaXg9U1VGRklYICAgICAgICAgb3ZlcnJpZGUgdGhlIHVzdWFsIGJhY2t1cCBzdWZmaXgKICAtdCwgLS10YXJnZXQtZGlyZWN0b3J5PURJUkVDVE9SWSAgc3BlY2lmeSB0aGUgRElSRUNUT1JZIGluIHdoaWNoIHRvIGNyZWF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBsaW5rcwogIC1ULCAtLW5vLXRhcmdldC1kaXJlY3RvcnkgICB0cmVhdCBMSU5LX05BTUUgYXMgYSBub3JtYWwgZmlsZSBhbHdheXMKICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgcHJpbnQgbmFtZSBvZiBlYWNoIGxpbmtlZCBmaWxlCgAgIC1TW1NUUklOR10sIC0tc2VwLXN0cmluZ1s9U1RSSU5HXQogICAgICAgICAgICAgICAgICAgIHNlcGFyYXRlIGNvbHVtbnMgYnkgU1RSSU5HLAogICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgLVM6IERlZmF1bHQgc2VwYXJhdG9yIDxUQUI+IHdpdGggLUogYW5kIDxzcGFjZT4KICAgICAgICAgICAgICAgICAgICBvdGhlcndpc2UgKHNhbWUgYXMgLVMiICIpLCBubyBlZmZlY3Qgb24gY29sdW1uIG9wdGlvbnMKACAgLVQsIC0tb21pdC1wYWdpbmF0aW9uCiAgICAgICAgICAgICAgICAgICAgb21pdCBwYWdlIGhlYWRlcnMgYW5kIHRyYWlsZXJzLCBlbGltaW5hdGUgYW55IHBhZ2luYXRpb24KICAgICAgICAgICAgICAgICAgICBieSBmb3JtIGZlZWRzIHNldCBpbiBpbnB1dCBmaWxlcwogIC12LCAtLXNob3ctbm9ucHJpbnRpbmcKICAgICAgICAgICAgICAgICAgICB1c2Ugb2N0YWwgYmFja3NsYXNoIG5vdGF0aW9uCiAgLXcsIC0td2lkdGg9UEFHRV9XSURUSAogICAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHdpZHRoIHRvIFBBR0VfV0lEVEggKDcyKSBjaGFyYWN0ZXJzIGZvcgogICAgICAgICAgICAgICAgICAgIG11bHRpcGxlIHRleHQtY29sdW1uIG91dHB1dCBvbmx5LCAtc1tjaGFyXSB0dXJucyBvZmYgKDcyKQoAICAtVCwgLXcsIC0tbWVzZyAgICBhZGQgdXNlcidzIG1lc3NhZ2Ugc3RhdHVzIGFzICssIC0gb3IgPwogIC11LCAtLXVzZXJzICAgICAgIGxpc3QgdXNlcnMgbG9nZ2VkIGluCiAgICAgIC0tbWVzc2FnZSAgICAgc2FtZSBhcyAtVAogICAgICAtLXdyaXRhYmxlICAgIHNhbWUgYXMgLVQKACAgLVcsIC0tcGFnZS13aWR0aD1QQUdFX1dJRFRICiAgICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugd2lkdGggdG8gUEFHRV9XSURUSCAoNzIpIGNoYXJhY3RlcnMgYWx3YXlzLAogICAgICAgICAgICAgICAgICAgIHRydW5jYXRlIGxpbmVzLCBleGNlcHQgLUogb3B0aW9uIGlzIHNldCwgbm8gaW50ZXJmZXJlbmNlCiAgICAgICAgICAgICAgICAgICAgd2l0aCAtUyBvciAtcwoAICAtVywgLS13b3JkLXJlZ2V4cD1SRUdFWFAgICAgICAgdXNlIFJFR0VYUCB0byBtYXRjaCBlYWNoIGtleXdvcmQKICAtYiwgLS1icmVhay1maWxlPUZJTEUgICAgICAgICAgd29yZCBicmVhayBjaGFyYWN0ZXJzIGluIHRoaXMgRklMRQogIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICAgICAgICBmb2xkIGxvd2VyIGNhc2UgdG8gdXBwZXIgY2FzZSBmb3Igc29ydGluZwogIC1nLCAtLWdhcC1zaXplPU5VTUJFUiAgICAgICAgICBnYXAgc2l6ZSBpbiBjb2x1bW5zIGJldHdlZW4gb3V0cHV0IGZpZWxkcwogIC1pLCAtLWlnbm9yZS1maWxlPUZJTEUgICAgICAgICByZWFkIGlnbm9yZSB3b3JkIGxpc3QgZnJvbSBGSUxFCiAgLW8sIC0tb25seS1maWxlPUZJTEUgICAgICAgICAgIHJlYWQgb25seSB3b3JkIGxpc3QgZnJvbSB0aGlzIEZJTEUKACAgLVgsIC0tZXhjbHVkZS1mcm9tPUZJTEUgIGV4Y2x1ZGUgZmlsZXMgdGhhdCBtYXRjaCBhbnkgcGF0dGVybiBpbiBGSUxFCiAgICAgIC0tZXhjbHVkZT1QQVRURVJOICAgIGV4Y2x1ZGUgZmlsZXMgdGhhdCBtYXRjaCBQQVRURVJOCiAgLXgsIC0tb25lLWZpbGUtc3lzdGVtICAgIHNraXAgZGlyZWN0b3JpZXMgb24gZGlmZmVyZW50IGZpbGUgc3lzdGVtcwoAICAtWiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCBTRUxpbnV4IHNlY3VyaXR5IGNvbnRleHQgb2YgZGVzdGluYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSB0byBkZWZhdWx0IHR5cGUKICAgICAgLS1jb250ZXh0Wz1DVFhdICAgICAgICAgIGxpa2UgLVosIG9yIGlmIENUWCBpcyBzcGVjaWZpZWQgdGhlbiBzZXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFTGludXggb3IgU01BQ0sgc2VjdXJpdHkgY29udGV4dCB0byBDVFgKACAgLVogICAgICAgICAgICAgICAgICAgc2V0IFNFTGludXggc2VjdXJpdHkgY29udGV4dCBvZiBlYWNoIGNyZWF0ZWQgZGlyZWN0b3J5CiAgICAgICAgICAgICAgICAgICAgICAgICB0byB0aGUgZGVmYXVsdCB0eXBlCiAgICAgIC0tY29udGV4dFs9Q1RYXSAgbGlrZSAtWiwgb3IgaWYgQ1RYIGlzIHNwZWNpZmllZCB0aGVuIHNldCB0aGUgU0VMaW51eAogICAgICAgICAgICAgICAgICAgICAgICAgb3IgU01BQ0sgc2VjdXJpdHkgY29udGV4dCB0byBDVFgKACAgLVogICAgICAgICAgICAgICAgICAgc2V0IHRoZSBTRUxpbnV4IHNlY3VyaXR5IGNvbnRleHQgdG8gZGVmYXVsdCB0eXBlCiAgICAgIC0tY29udGV4dFs9Q1RYXSAgbGlrZSAtWiwgb3IgaWYgQ1RYIGlzIHNwZWNpZmllZCB0aGVuIHNldCB0aGUgU0VMaW51eAogICAgICAgICAgICAgICAgICAgICAgICAgb3IgU01BQ0sgc2VjdXJpdHkgY29udGV4dCB0byBDVFgKACAgLWEgICAgICAgICAgICAgICAgICAgICBjaGFuZ2Ugb25seSB0aGUgYWNjZXNzIHRpbWUKICAtYywgLS1uby1jcmVhdGUgICAgICAgIGRvIG5vdCBjcmVhdGUgYW55IGZpbGVzCiAgLWQsIC0tZGF0ZT1TVFJJTkcgICAgICBwYXJzZSBTVFJJTkcgYW5kIHVzZSBpdCBpbnN0ZWFkIG9mIGN1cnJlbnQgdGltZQogIC1mICAgICAgICAgICAgICAgICAgICAgKGlnbm9yZWQpCgAgIC1hICAgICAgICAgICAgIGlnbm9yZSwgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvdGhlciB2ZXJzaW9ucwogIC1aLCAtLWNvbnRleHQgIHByaW50IG9ubHkgdGhlIHNlY3VyaXR5IGNvbnRleHQgb2YgdGhlIHByb2Nlc3MKICAtZywgLS1ncm91cCAgICBwcmludCBvbmx5IHRoZSBlZmZlY3RpdmUgZ3JvdXAgSUQKICAtRywgLS1ncm91cHMgICBwcmludCBhbGwgZ3JvdXAgSURzCiAgLW4sIC0tbmFtZSAgICAgcHJpbnQgYSBuYW1lIGluc3RlYWQgb2YgYSBudW1iZXIsIGZvciAtdWdHCiAgLXIsIC0tcmVhbCAgICAgcHJpbnQgdGhlIHJlYWwgSUQgaW5zdGVhZCBvZiB0aGUgZWZmZWN0aXZlIElELCB3aXRoIC11Z0cKICAtdSwgLS11c2VyICAgICBwcmludCBvbmx5IHRoZSBlZmZlY3RpdmUgdXNlciBJRAogIC16LCAtLXplcm8gICAgIGRlbGltaXQgZW50cmllcyB3aXRoIE5VTCBjaGFyYWN0ZXJzLCBub3Qgd2hpdGVzcGFjZTsKICAgICAgICAgICAgICAgICAgIG5vdCBwZXJtaXR0ZWQgaW4gZGVmYXVsdCBmb3JtYXQKACAgLWEsIC0tYWNyb3NzICAgICAgcHJpbnQgY29sdW1ucyBhY3Jvc3MgcmF0aGVyIHRoYW4gZG93biwgdXNlZCB0b2dldGhlcgogICAgICAgICAgICAgICAgICAgIHdpdGggLUNPTFVNTgogIC1jLCAtLXNob3ctY29udHJvbC1jaGFycwogICAgICAgICAgICAgICAgICAgIHVzZSBoYXQgbm90YXRpb24gKF5HKSBhbmQgb2N0YWwgYmFja3NsYXNoIG5vdGF0aW9uCiAgLWQsIC0tZG91YmxlLXNwYWNlCiAgICAgICAgICAgICAgICAgICAgZG91YmxlIHNwYWNlIHRoZSBvdXRwdXQKACAgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgZG8gbm90IGlnbm9yZSBlbnRyaWVzIHN0YXJ0aW5nIHdpdGggLgogIC1BLCAtLWFsbW9zdC1hbGwgICAgICAgICAgIGRvIG5vdCBsaXN0IGltcGxpZWQgLiBhbmQgLi4KICAgICAgLS1hdXRob3IgICAgICAgICAgICAgICB3aXRoIC1sLCBwcmludCB0aGUgYXV0aG9yIG9mIGVhY2ggZmlsZQogIC1iLCAtLWVzY2FwZSAgICAgICAgICAgICAgIHByaW50IEMtc3R5bGUgZXNjYXBlcyBmb3Igbm9uZ3JhcGhpYyBjaGFyYWN0ZXJzCgAgIC1hLCAtLWFsbCAgICAgICAgICAgICBpbmNsdWRlIHBzZXVkbywgZHVwbGljYXRlLCBpbmFjY2Vzc2libGUgZmlsZSBzeXN0ZW1zCiAgLUIsIC0tYmxvY2stc2l6ZT1TSVpFICBzY2FsZSBzaXplcyBieSBTSVpFIGJlZm9yZSBwcmludGluZyB0aGVtOyBlLmcuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAnLUJNJyBwcmludHMgc2l6ZXMgaW4gdW5pdHMgb2YgMSwwNDgsNTc2IGJ5dGVzOwogICAgICAgICAgICAgICAgICAgICAgICAgICBzZWUgU0laRSBmb3JtYXQgYmVsb3cKICAtaCwgLS1odW1hbi1yZWFkYWJsZSAgcHJpbnQgc2l6ZXMgaW4gcG93ZXJzIG9mIDEwMjQgKGUuZy4sIDEwMjNNKQogIC1ILCAtLXNpICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBwb3dlcnMgb2YgMTAwMCAoZS5nLiwgMS4xRykKACAgLWEsIC0tYWxsICAgICAgICAgIHByaW50IGFsbCBjdXJyZW50IHNldHRpbmdzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm0KICAtZywgLS1zYXZlICAgICAgICAgcHJpbnQgYWxsIGN1cnJlbnQgc2V0dGluZ3MgaW4gYSBzdHR5LXJlYWRhYmxlIGZvcm0KICAtRiwgLS1maWxlPURFVklDRSAgb3BlbiBhbmQgdXNlIHRoZSBzcGVjaWZpZWQgREVWSUNFIGluc3RlYWQgb2Ygc3RkaW4KACAgLWEsIC0tYXJjaGl2ZSAgICAgICAgICAgICAgICBzYW1lIGFzIC1kUiAtLXByZXNlcnZlPWFsbAogICAgICAtLWF0dHJpYnV0ZXMtb25seSAgICAgICAgZG9uJ3QgY29weSB0aGUgZmlsZSBkYXRhLCBqdXN0IHRoZSBhdHRyaWJ1dGVzCiAgICAgIC0tYmFja3VwWz1DT05UUk9MXSAgICAgICBtYWtlIGEgYmFja3VwIG9mIGVhY2ggZXhpc3RpbmcgZGVzdGluYXRpb24gZmlsZQogIC1iICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSAtLWJhY2t1cCBidXQgZG9lcyBub3QgYWNjZXB0IGFuIGFyZ3VtZW50CiAgICAgIC0tY29weS1jb250ZW50cyAgICAgICAgICBjb3B5IGNvbnRlbnRzIG9mIHNwZWNpYWwgZmlsZXMgd2hlbiByZWN1cnNpdmUKICAtZCAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPWxpbmtzCgAgIC1hLCAtLW11bHRpcGxlICAgICAgIHN1cHBvcnQgbXVsdGlwbGUgYXJndW1lbnRzIGFuZCB0cmVhdCBlYWNoIGFzIGEgTkFNRQogIC1zLCAtLXN1ZmZpeD1TVUZGSVggIHJlbW92ZSBhIHRyYWlsaW5nIFNVRkZJWDsgaW1wbGllcyAtYQogIC16LCAtLXplcm8gICAgICAgICAgIGVuZCBlYWNoIG91dHB1dCBsaW5lIHdpdGggTlVMLCBub3QgbmV3bGluZQoAICAtYiwgLS1iZWZvcmUgICAgICAgICAgICAgYXR0YWNoIHRoZSBzZXBhcmF0b3IgYmVmb3JlIGluc3RlYWQgb2YgYWZ0ZXIKICAtciwgLS1yZWdleCAgICAgICAgICAgICAgaW50ZXJwcmV0IHRoZSBzZXBhcmF0b3IgYXMgYSByZWd1bGFyIGV4cHJlc3Npb24KICAtcywgLS1zZXBhcmF0b3I9U1RSSU5HICAgdXNlIFNUUklORyBhcyB0aGUgc2VwYXJhdG9yIGluc3RlYWQgb2YgbmV3bGluZQoAICAtYiwgLS1ib2R5LW51bWJlcmluZz1TVFlMRSAgICAgIHVzZSBTVFlMRSBmb3IgbnVtYmVyaW5nIGJvZHkgbGluZXMKICAtZCwgLS1zZWN0aW9uLWRlbGltaXRlcj1DQyAgICAgIHVzZSBDQyBmb3IgbG9naWNhbCBwYWdlIGRlbGltaXRlcnMKICAtZiwgLS1mb290ZXItbnVtYmVyaW5nPVNUWUxFICAgIHVzZSBTVFlMRSBmb3IgbnVtYmVyaW5nIGZvb3RlciBsaW5lcwoAICAtYiwgLS1ieXRlcyAgICAgICAgIGNvdW50IGJ5dGVzIHJhdGhlciB0aGFuIGNvbHVtbnMKICAtcywgLS1zcGFjZXMgICAgICAgIGJyZWFrIGF0IHNwYWNlcwogIC13LCAtLXdpZHRoPVdJRFRIICAgdXNlIFdJRFRIIGNvbHVtbnMgaW5zdGVhZCBvZiA4MAoAICAtYiwgLS1ieXRlcz1MSVNUICAgICAgICBzZWxlY3Qgb25seSB0aGVzZSBieXRlcwogIC1jLCAtLWNoYXJhY3RlcnM9TElTVCAgIHNlbGVjdCBvbmx5IHRoZXNlIGNoYXJhY3RlcnMKICAtZCwgLS1kZWxpbWl0ZXI9REVMSU0gICB1c2UgREVMSU0gaW5zdGVhZCBvZiBUQUIgZm9yIGZpZWxkIGRlbGltaXRlcgoAICAtYiwgLS1pZ25vcmUtbGVhZGluZy1ibGFua3MgIGlnbm9yZSBsZWFkaW5nIGJsYW5rcwogIC1kLCAtLWRpY3Rpb25hcnktb3JkZXIgICAgICBjb25zaWRlciBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMKICAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgICAgZm9sZCBsb3dlciBjYXNlIHRvIHVwcGVyIGNhc2UgY2hhcmFjdGVycwoAICAtYiwgLS1zdWZmaXgtZm9ybWF0PUZPUk1BVCAgdXNlIHNwcmludGYgRk9STUFUIGluc3RlYWQgb2YgJTAyZAogIC1mLCAtLXByZWZpeD1QUkVGSVggICAgICAgIHVzZSBQUkVGSVggaW5zdGVhZCBvZiAneHgnCiAgLWssIC0ta2VlcC1maWxlcyAgICAgICAgICAgZG8gbm90IHJlbW92ZSBvdXRwdXQgZmlsZXMgb24gZXJyb3JzCgAgIC1jICAtLWZvcm1hdD1GT1JNQVQgICB1c2UgdGhlIHNwZWNpZmllZCBGT1JNQVQgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdDsKICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgYSBuZXdsaW5lIGFmdGVyIGVhY2ggdXNlIG9mIEZPUk1BVAogICAgICAtLXByaW50Zj1GT1JNQVQgICBsaWtlIC0tZm9ybWF0LCBidXQgaW50ZXJwcmV0IGJhY2tzbGFzaCBlc2NhcGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3Qgb3V0cHV0IGEgbWFuZGF0b3J5IHRyYWlsaW5nIG5ld2xpbmU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgeW91IHdhbnQgYSBuZXdsaW5lLCBpbmNsdWRlIFxuIGluIEZPUk1BVAogIC10LCAtLXRlcnNlICAgICAgICAgICBwcmludCB0aGUgaW5mb3JtYXRpb24gaW4gdGVyc2UgZm9ybQoAICAtYywgLS1ieXRlcz1bK11OVU0gICAgICAgb3V0cHV0IHRoZSBsYXN0IE5VTSBieXRlczsgb3IgdXNlIC1jICtOVU0gdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgc3RhcnRpbmcgd2l0aCBieXRlIE5VTSBvZiBlYWNoIGZpbGUKACAgLWMsIC0tYnl0ZXM9Wy1dTlVNICAgICAgIHByaW50IHRoZSBmaXJzdCBOVU0gYnl0ZXMgb2YgZWFjaCBmaWxlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIGxlYWRpbmcgJy0nLCBwcmludCBhbGwgYnV0IHRoZSBsYXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVNIGJ5dGVzIG9mIGVhY2ggZmlsZQogIC1uLCAtLWxpbmVzPVstXU5VTSAgICAgICBwcmludCB0aGUgZmlyc3QgTlVNIGxpbmVzIGluc3RlYWQgb2YgdGhlIGZpcnN0ICVkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIGxlYWRpbmcgJy0nLCBwcmludCBhbGwgYnV0IHRoZSBsYXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVNIGxpbmVzIG9mIGVhY2ggZmlsZQoAICAtYywgLS1jaGFuZ2VzICAgICAgICAgIGxpa2UgdmVyYm9zZSBidXQgcmVwb3J0IG9ubHkgd2hlbiBhIGNoYW5nZSBpcyBtYWRlCiAgLWYsIC0tc2lsZW50LCAtLXF1aWV0ICBzdXBwcmVzcyBtb3N0IGVycm9yIG1lc3NhZ2VzCiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICBvdXRwdXQgYSBkaWFnbm9zdGljIGZvciBldmVyeSBmaWxlIHByb2Nlc3NlZAoAICAtYywgLS1jaGVjayAgICAgICAgICByZWFkICVzIHN1bXMgZnJvbSB0aGUgRklMRXMgYW5kIGNoZWNrIHRoZW0KACAgLWMsIC0tY2hlY2ssIC0tY2hlY2s9ZGlhZ25vc2UtZmlyc3QgIGNoZWNrIGZvciBzb3J0ZWQgaW5wdXQ7IGRvIG5vdCBzb3J0CiAgLUMsIC0tY2hlY2s9cXVpZXQsIC0tY2hlY2s9c2lsZW50ICBsaWtlIC1jLCBidXQgZG8gbm90IHJlcG9ydCBmaXJzdCBiYWQgbGluZQogICAgICAtLWNvbXByZXNzLXByb2dyYW09UFJPRyAgY29tcHJlc3MgdGVtcG9yYXJpZXMgd2l0aCBQUk9HOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvbXByZXNzIHRoZW0gd2l0aCBQUk9HIC1kCgAgIC1jLCAtLWNvdW50ICAgICAgICAgICBwcmVmaXggbGluZXMgYnkgdGhlIG51bWJlciBvZiBvY2N1cnJlbmNlcwogIC1kLCAtLXJlcGVhdGVkICAgICAgICBvbmx5IHByaW50IGR1cGxpY2F0ZSBsaW5lcywgb25lIGZvciBlYWNoIGdyb3VwCgAgIC1jLCAtLWNyb3duLW1hcmdpbiAgICAgICAgcHJlc2VydmUgaW5kZW50YXRpb24gb2YgZmlyc3QgdHdvIGxpbmVzCiAgLXAsIC0tcHJlZml4PVNUUklORyAgICAgICByZWZvcm1hdCBvbmx5IGxpbmVzIGJlZ2lubmluZyB3aXRoIFNUUklORywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhdHRhY2hpbmcgdGhlIHByZWZpeCB0byByZWZvcm1hdHRlZCBsaW5lcwogIC1zLCAtLXNwbGl0LW9ubHkgICAgICAgICAgc3BsaXQgbG9uZyBsaW5lcywgYnV0IGRvIG5vdCByZWZpbGwKACAgLWMsIC0tbm8tY3JlYXRlICAgICAgICBkbyBub3QgY3JlYXRlIGFueSBmaWxlcwoAICAtZCwgLS1kYXRhICAgICAgICAgICAgIHN5bmMgb25seSBmaWxlIGRhdGEsIG5vIHVubmVlZGVkIG1ldGFkYXRhCgAgIC1kLCAtLWRhdGU9U1RSSU5HICAgICAgICAgIGRpc3BsYXkgdGltZSBkZXNjcmliZWQgYnkgU1RSSU5HLCBub3QgJ25vdycKACAgLWQsIC0tZGVjb2RlICAgICAgICAgIGRlY29kZSBkYXRhCiAgLWksIC0taWdub3JlLWdhcmJhZ2UgIHdoZW4gZGVjb2RpbmcsIGlnbm9yZSBub24tYWxwaGFiZXQgY2hhcmFjdGVycwogIC13LCAtLXdyYXA9Q09MUyAgICAgICB3cmFwIGVuY29kZWQgbGluZXMgYWZ0ZXIgQ09MUyBjaGFyYWN0ZXIgKGRlZmF1bHQgNzYpLgogICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSAwIHRvIGRpc2FibGUgbGluZSB3cmFwcGluZwoKACAgLWQsIC0tZGVsaW1pdGVyPVggICAgdXNlIFggaW5zdGVhZCBvZiB3aGl0ZXNwYWNlIGZvciBmaWVsZCBkZWxpbWl0ZXIKACAgLWQsIC0tZGVsaW1pdGVycz1MSVNUICAgcmV1c2UgY2hhcmFjdGVycyBmcm9tIExJU1QgaW5zdGVhZCBvZiBUQUJzCiAgLXMsIC0tc2VyaWFsICAgICAgICAgICAgcGFzdGUgb25lIGZpbGUgYXQgYSB0aW1lIGluc3RlYWQgb2YgaW4gcGFyYWxsZWwKACAgLWQsIC0tZGlyZWN0b3J5ICAgICBjcmVhdGUgYSBkaXJlY3RvcnksIG5vdCBhIGZpbGUKICAtdSwgLS1kcnktcnVuICAgICAgIGRvIG5vdCBjcmVhdGUgYW55dGhpbmc7IG1lcmVseSBwcmludCBhIG5hbWUgKHVuc2FmZSkKICAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIGRpYWdub3N0aWNzIGFib3V0IGZpbGUvZGlyLWNyZWF0aW9uIGZhaWx1cmUKACAgLWUgICAgICAgICAgICAgZW5hYmxlIGludGVycHJldGF0aW9uIG9mIGJhY2tzbGFzaCBlc2NhcGVzCiAgLUUgICAgICAgICAgICAgZGlzYWJsZSBpbnRlcnByZXRhdGlvbiBvZiBiYWNrc2xhc2ggZXNjYXBlcyAoZGVmYXVsdCkKACAgLWUgICAgICAgICAgICAgZW5hYmxlIGludGVycHJldGF0aW9uIG9mIGJhY2tzbGFzaCBlc2NhcGVzIChkZWZhdWx0KQogIC1FICAgICAgICAgICAgIGRpc2FibGUgaW50ZXJwcmV0YXRpb24gb2YgYmFja3NsYXNoIGVzY2FwZXMKACAgLWUsIC0tZWNobyAgICAgICAgICAgICAgICB0cmVhdCBlYWNoIEFSRyBhcyBhbiBpbnB1dCBsaW5lCiAgLWksIC0taW5wdXQtcmFuZ2U9TE8tSEkgICB0cmVhdCBlYWNoIG51bWJlciBMTyB0aHJvdWdoIEhJIGFzIGFuIGlucHV0IGxpbmUKICAtbiwgLS1oZWFkLWNvdW50PUNPVU5UICAgIG91dHB1dCBhdCBtb3N0IENPVU5UIGxpbmVzCiAgLW8sIC0tb3V0cHV0PUZJTEUgICAgICAgICB3cml0ZSByZXN1bHQgdG8gRklMRSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dAogICAgICAtLXJhbmRvbS1zb3VyY2U9RklMRSAgZ2V0IHJhbmRvbSBieXRlcyBmcm9tIEZJTEUKICAtciwgLS1yZXBlYXQgICAgICAgICAgICAgIG91dHB1dCBsaW5lcyBjYW4gYmUgcmVwZWF0ZWQKACAgLWYgICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IHNvcnQsIGVuYWJsZSAtYVUsIGRpc2FibGUgLWxzIC0tY29sb3IKICAtRiwgLS1jbGFzc2lmeSAgICAgICAgICAgICBhcHBlbmQgaW5kaWNhdG9yIChvbmUgb2YgKi89PkB8KSB0byBlbnRyaWVzCiAgICAgIC0tZmlsZS10eXBlICAgICAgICAgICAgbGlrZXdpc2UsIGV4Y2VwdCBkbyBub3QgYXBwZW5kICcqJwogICAgICAtLWZvcm1hdD1XT1JEICAgICAgICAgIGFjcm9zcyAteCwgY29tbWFzIC1tLCBob3Jpem9udGFsIC14LCBsb25nIC1sLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlLWNvbHVtbiAtMSwgdmVyYm9zZSAtbCwgdmVydGljYWwgLUMKICAgICAgLS1mdWxsLXRpbWUgICAgICAgICAgICBsaWtlIC1sIC0tdGltZS1zdHlsZT1mdWxsLWlzbwoAICAtZiAgICAgICAgICAgICAgb21pdCB0aGUgbGluZSBvZiBjb2x1bW4gaGVhZGluZ3MgaW4gc2hvcnQgZm9ybWF0CiAgLXcgICAgICAgICAgICAgIG9taXQgdGhlIHVzZXIncyBmdWxsIG5hbWUgaW4gc2hvcnQgZm9ybWF0CiAgLWkgICAgICAgICAgICAgIG9taXQgdGhlIHVzZXIncyBmdWxsIG5hbWUgYW5kIHJlbW90ZSBob3N0IGluIHNob3J0IGZvcm1hdAogIC1xICAgICAgICAgICAgICBvbWl0IHRoZSB1c2VyJ3MgZnVsbCBuYW1lLCByZW1vdGUgaG9zdCBhbmQgaWRsZSB0aW1lCiAgICAgICAgICAgICAgICAgIGluIHNob3J0IGZvcm1hdAoAICAtZiAgIHNhbWUgYXMgLXQgZkYsIHNlbGVjdCBmbG9hdHMKICAtaSAgIHNhbWUgYXMgLXQgZEksIHNlbGVjdCBkZWNpbWFsIGludHMKICAtbCAgIHNhbWUgYXMgLXQgZEwsIHNlbGVjdCBkZWNpbWFsIGxvbmdzCiAgLW8gICBzYW1lIGFzIC10IG8yLCBzZWxlY3Qgb2N0YWwgMi1ieXRlIHVuaXRzCiAgLXMgICBzYW1lIGFzIC10IGQyLCBzZWxlY3QgZGVjaW1hbCAyLWJ5dGUgdW5pdHMKICAteCAgIHNhbWUgYXMgLXQgeDIsIHNlbGVjdCBoZXhhZGVjaW1hbCAyLWJ5dGUgdW5pdHMKACAgLWYgRklMRSAgICAgRklMRSBleGlzdHMgYW5kIGlzIGEgcmVndWxhciBmaWxlCiAgLWcgRklMRSAgICAgRklMRSBleGlzdHMgYW5kIGlzIHNldC1ncm91cC1JRAogIC1HIEZJTEUgICAgIEZJTEUgZXhpc3RzIGFuZCBpcyBvd25lZCBieSB0aGUgZWZmZWN0aXZlIGdyb3VwIElECiAgLWggRklMRSAgICAgRklMRSBleGlzdHMgYW5kIGlzIGEgc3ltYm9saWMgbGluayAoc2FtZSBhcyAtTCkKICAtayBGSUxFICAgICBGSUxFIGV4aXN0cyBhbmQgaGFzIGl0cyBzdGlja3kgYml0IHNldAoAICAtZiwgLS1jYW5vbmljYWxpemUgICAgICAgICAgICBjYW5vbmljYWxpemUgYnkgZm9sbG93aW5nIGV2ZXJ5IHN5bWxpbmsgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVyeSBjb21wb25lbnQgb2YgdGhlIGdpdmVuIG5hbWUgcmVjdXJzaXZlbHk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIGJ1dCB0aGUgbGFzdCBjb21wb25lbnQgbXVzdCBleGlzdAogIC1lLCAtLWNhbm9uaWNhbGl6ZS1leGlzdGluZyAgIGNhbm9uaWNhbGl6ZSBieSBmb2xsb3dpbmcgZXZlcnkgc3ltbGluayBpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZXJ5IGNvbXBvbmVudCBvZiB0aGUgZ2l2ZW4gbmFtZSByZWN1cnNpdmVseSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGwgY29tcG9uZW50cyBtdXN0IGV4aXN0CgAgIC1mLCAtLWZpZWxkcz1MSVNUICAgICAgIHNlbGVjdCBvbmx5IHRoZXNlIGZpZWxkczsgIGFsc28gcHJpbnQgYW55IGxpbmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgY29udGFpbnMgbm8gZGVsaW1pdGVyIGNoYXJhY3RlciwgdW5sZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgLXMgb3B0aW9uIGlzIHNwZWNpZmllZAogIC1uICAgICAgICAgICAgICAgICAgICAgIChpZ25vcmVkKQoAICAtZiwgLS1maWxlLXN5c3RlbSAgICAgIHN5bmMgdGhlIGZpbGUgc3lzdGVtcyB0aGF0IGNvbnRhaW4gdGhlIGZpbGVzCgAgIC1mLCAtLWZpbGU9REFURUZJTEUgICAgICAgIGxpa2UgLS1kYXRlOyBvbmNlIGZvciBlYWNoIGxpbmUgb2YgREFURUZJTEUKACAgLWYsIC0tZm9sbG93Wz17bmFtZXxkZXNjcmlwdG9yfV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW4gYWJzZW50IG9wdGlvbiBhcmd1bWVudCBtZWFucyAnZGVzY3JpcHRvcicKICAtRiAgICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyAtLWZvbGxvdz1uYW1lIC0tcmV0cnkKACAgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICAgICBpZiBhbiBleGlzdGluZyBkZXN0aW5hdGlvbiBmaWxlIGNhbm5vdCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuZWQsIHJlbW92ZSBpdCBhbmQgdHJ5IGFnYWluICh0aGlzIG9wdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBpZ25vcmVkIHdoZW4gdGhlIC1uIG9wdGlvbiBpcyBhbHNvIHVzZWQpCiAgLWksIC0taW50ZXJhY3RpdmUgICAgICAgICAgICBwcm9tcHQgYmVmb3JlIG92ZXJ3cml0ZSAob3ZlcnJpZGVzIGEgcHJldmlvdXMgLW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbikKICAtSCAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvdyBjb21tYW5kLWxpbmUgc3ltYm9saWMgbGlua3MgaW4gU09VUkNFCgAgIC1mLCAtLWZvcmNlICAgIGNoYW5nZSBwZXJtaXNzaW9ucyB0byBhbGxvdyB3cml0aW5nIGlmIG5lY2Vzc2FyeQogIC1uLCAtLWl0ZXJhdGlvbnM9TiAgb3ZlcndyaXRlIE4gdGltZXMgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCAoJWQpCiAgICAgIC0tcmFuZG9tLXNvdXJjZT1GSUxFICBnZXQgcmFuZG9tIGJ5dGVzIGZyb20gRklMRQogIC1zLCAtLXNpemU9TiAgIHNocmVkIHRoaXMgbWFueSBieXRlcyAoc3VmZml4ZXMgbGlrZSBLLCBNLCBHIGFjY2VwdGVkKQoAICAtZiwgLS1mb3JtYXQ9Rk9STUFUICAgICAgdXNlIHByaW50ZiBzdHlsZSBmbG9hdGluZy1wb2ludCBGT1JNQVQKICAtcywgLS1zZXBhcmF0b3I9U1RSSU5HICAgdXNlIFNUUklORyB0byBzZXBhcmF0ZSBudW1iZXJzIChkZWZhdWx0OiBcbikKICAtdywgLS1lcXVhbC13aWR0aCAgICAgICAgZXF1YWxpemUgd2lkdGggYnkgcGFkZGluZyB3aXRoIGxlYWRpbmcgemVyb2VzCgAgIC1mLCAtLXNraXAtZmllbGRzPU4gICBhdm9pZCBjb21wYXJpbmcgdGhlIGZpcnN0IE4gZmllbGRzCgAgIC1nICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UgLWwsIGJ1dCBkbyBub3QgbGlzdCBvd25lcgoAICAtZywgLS1nZW5lcmFsLW51bWVyaWMtc29ydCAgY29tcGFyZSBhY2NvcmRpbmcgdG8gZ2VuZXJhbCBudW1lcmljYWwgdmFsdWUKICAtaSwgLS1pZ25vcmUtbm9ucHJpbnRpbmcgICAgY29uc2lkZXIgb25seSBwcmludGFibGUgY2hhcmFjdGVycwogIC1NLCAtLW1vbnRoLXNvcnQgICAgICAgICAgICBjb21wYXJlICh1bmtub3duKSA8ICdKQU4nIDwgLi4uIDwgJ0RFQycKACAgLWgsIC0taGVhZGVyLW51bWJlcmluZz1TVFlMRSAgICB1c2UgU1RZTEUgZm9yIG51bWJlcmluZyBoZWFkZXIgbGluZXMKICAtaSwgLS1saW5lLWluY3JlbWVudD1OVU1CRVIgICAgIGxpbmUgbnVtYmVyIGluY3JlbWVudCBhdCBlYWNoIGxpbmUKICAtbCwgLS1qb2luLWJsYW5rLWxpbmVzPU5VTUJFUiAgIGdyb3VwIG9mIE5VTUJFUiBlbXB0eSBsaW5lcyBjb3VudGVkIGFzIG9uZQogIC1uLCAtLW51bWJlci1mb3JtYXQ9Rk9STUFUICAgICAgaW5zZXJ0IGxpbmUgbnVtYmVycyBhY2NvcmRpbmcgdG8gRk9STUFUCiAgLXAsIC0tbm8tcmVudW1iZXIgICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgbGluZSBudW1iZXJzIGZvciBlYWNoIHNlY3Rpb24KICAtcywgLS1udW1iZXItc2VwYXJhdG9yPVNUUklORyAgIGFkZCBTVFJJTkcgYWZ0ZXIgKHBvc3NpYmxlKSBsaW5lIG51bWJlcgoAICAtaCwgLS1oZWFkZXI9SEVBREVSCiAgICAgICAgICAgICAgICAgICAgdXNlIGEgY2VudGVyZWQgSEVBREVSIGluc3RlYWQgb2YgZmlsZW5hbWUgaW4gcGFnZSBoZWFkZXIsCiAgICAgICAgICAgICAgICAgICAgLWggIiIgcHJpbnRzIGEgYmxhbmsgbGluZSwgZG9uJ3QgdXNlIC1oIiIKICAtaVtDSEFSW1dJRFRIXV0sIC0tb3V0cHV0LXRhYnNbPUNIQVJbV0lEVEhdXQogICAgICAgICAgICAgICAgICAgIHJlcGxhY2Ugc3BhY2VzIHdpdGggQ0hBUnMgKFRBQnMpIHRvIHRhYiBXSURUSCAoOCkKICAtSiwgLS1qb2luLWxpbmVzICBtZXJnZSBmdWxsIGxpbmVzLCB0dXJucyBvZmYgLVcgbGluZSB0cnVuY2F0aW9uLCBubyBjb2x1bW4KICAgICAgICAgICAgICAgICAgICBhbGlnbm1lbnQsIC0tc2VwLXN0cmluZ1s9U1RSSU5HXSBzZXRzIHNlcGFyYXRvcnMKACAgLWgsIC0taHVtYW4tbnVtZXJpYy1zb3J0ICAgIGNvbXBhcmUgaHVtYW4gcmVhZGFibGUgbnVtYmVycyAoZS5nLiwgMksgMUcpCgAgIC1oLCAtLW5vLWRlcmVmZXJlbmNlICAgYWZmZWN0IGVhY2ggc3ltYm9saWMgbGluayBpbnN0ZWFkIG9mIGFueSByZWZlcmVuY2VkCiAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlICh1c2VmdWwgb25seSBvbiBzeXN0ZW1zIHRoYXQgY2FuIGNoYW5nZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcHMgb2YgYSBzeW1saW5rKQogIC1tICAgICAgICAgICAgICAgICAgICAgY2hhbmdlIG9ubHkgdGhlIG1vZGlmaWNhdGlvbiB0aW1lCgAgIC1pLCAtLWlnbm9yZS1jYXNlICAgICBpZ25vcmUgZGlmZmVyZW5jZXMgaW4gY2FzZSB3aGVuIGNvbXBhcmluZwogIC1zLCAtLXNraXAtY2hhcnM9TiAgICBhdm9pZCBjb21wYXJpbmcgdGhlIGZpcnN0IE4gY2hhcmFjdGVycwogIC11LCAtLXVuaXF1ZSAgICAgICAgICBvbmx5IHByaW50IHVuaXF1ZSBsaW5lcwoAICAtaSwgLS1pZ25vcmUtY2FzZSAgaWdub3JlIGRpZmZlcmVuY2VzIGluIGNhc2Ugd2hlbiBjb21wYXJpbmcgZmllbGRzCiAgLWogRklFTEQgICAgICAgICAgZXF1aXZhbGVudCB0byAnLTEgRklFTEQgLTIgRklFTEQnCiAgLW8gRk9STUFUICAgICAgICAgb2JleSBGT1JNQVQgd2hpbGUgY29uc3RydWN0aW5nIG91dHB1dCBsaW5lCiAgLXQgQ0hBUiAgICAgICAgICAgdXNlIENIQVIgYXMgaW5wdXQgYW5kIG91dHB1dCBmaWVsZCBzZXBhcmF0b3IKACAgLWksIC0taWdub3JlLWVudmlyb25tZW50ICBzdGFydCB3aXRoIGFuIGVtcHR5IGVudmlyb25tZW50CiAgLTAsIC0tbnVsbCAgICAgICAgICAgZW5kIGVhY2ggb3V0cHV0IGxpbmUgd2l0aCBOVUwsIG5vdCBuZXdsaW5lCiAgLXUsIC0tdW5zZXQ9TkFNRSAgICAgcmVtb3ZlIHZhcmlhYmxlIGZyb20gdGhlIGVudmlyb25tZW50CgAgIC1pLCAtLWlub2RlcyAgICAgICAgICBsaXN0IGlub2RlIGluZm9ybWF0aW9uIGluc3RlYWQgb2YgYmxvY2sgdXNhZ2UKICAtayAgICAgICAgICAgICAgICAgICAgbGlrZSAtLWJsb2NrLXNpemU9MUsKICAtbCwgLS1sb2NhbCAgICAgICAgICAgbGltaXQgbGlzdGluZyB0byBsb2NhbCBmaWxlIHN5c3RlbXMKICAgICAgLS1uby1zeW5jICAgICAgICAgZG8gbm90IGludm9rZSBzeW5jIGJlZm9yZSBnZXR0aW5nIHVzYWdlIGluZm8gKGRlZmF1bHQpCgAgIC1pLCAtLWlucHV0PU1PREUgICBhZGp1c3Qgc3RhbmRhcmQgaW5wdXQgc3RyZWFtIGJ1ZmZlcmluZwogIC1vLCAtLW91dHB1dD1NT0RFICBhZGp1c3Qgc3RhbmRhcmQgb3V0cHV0IHN0cmVhbSBidWZmZXJpbmcKICAtZSwgLS1lcnJvcj1NT0RFICAgYWRqdXN0IHN0YW5kYXJkIGVycm9yIHN0cmVhbSBidWZmZXJpbmcKACAgLWksIC0taW50ZXJhY3RpdmUgICAgICAgICAgIHByb21wdCB3aGV0aGVyIHRvIHJlbW92ZSBkZXN0aW5hdGlvbnMKICAtTCwgLS1sb2dpY2FsICAgICAgICAgICAgICAgZGVyZWZlcmVuY2UgVEFSR0VUcyB0aGF0IGFyZSBzeW1ib2xpYyBsaW5rcwogIC1uLCAtLW5vLWRlcmVmZXJlbmNlICAgICAgICB0cmVhdCBMSU5LX05BTUUgYXMgYSBub3JtYWwgZmlsZSBpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0IGlzIGEgc3ltYm9saWMgbGluayB0byBhIGRpcmVjdG9yeQogIC1QLCAtLXBoeXNpY2FsICAgICAgICAgICAgICBtYWtlIGhhcmQgbGlua3MgZGlyZWN0bHkgdG8gc3ltYm9saWMgbGlua3MKICAtciwgLS1yZWxhdGl2ZSAgICAgICAgICAgICAgY3JlYXRlIHN5bWJvbGljIGxpbmtzIHJlbGF0aXZlIHRvIGxpbmsgbG9jYXRpb24KICAtcywgLS1zeW1ib2xpYyAgICAgICAgICAgICAgbWFrZSBzeW1ib2xpYyBsaW5rcyBpbnN0ZWFkIG9mIGhhcmQgbGlua3MKACAgLWsgICAgICAgICAgICAgICAgICAgIGxpa2UgLS1ibG9jay1zaXplPTFLCiAgLUwsIC0tZGVyZWZlcmVuY2UgICAgIGRlcmVmZXJlbmNlIGFsbCBzeW1ib2xpYyBsaW5rcwogIC1sLCAtLWNvdW50LWxpbmtzICAgICBjb3VudCBzaXplcyBtYW55IHRpbWVzIGlmIGhhcmQgbGlua2VkCiAgLW0gICAgICAgICAgICAgICAgICAgIGxpa2UgLS1ibG9jay1zaXplPTFNCgAgIC1rLCAtLWtleT1LRVlERUYgICAgICAgICAgc29ydCB2aWEgYSBrZXk7IEtFWURFRiBnaXZlcyBsb2NhdGlvbiBhbmQgdHlwZQogIC1tLCAtLW1lcmdlICAgICAgICAgICAgICAgbWVyZ2UgYWxyZWFkeSBzb3J0ZWQgZmlsZXM7IGRvIG5vdCBzb3J0CgAgIC1sICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQKICAtTCwgLS1kZXJlZmVyZW5jZSAgICAgICAgICB3aGVuIHNob3dpbmcgZmlsZSBpbmZvcm1hdGlvbiBmb3IgYSBzeW1ib2xpYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluaywgc2hvdyBpbmZvcm1hdGlvbiBmb3IgdGhlIGZpbGUgdGhlIGxpbmsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXMgcmF0aGVyIHRoYW4gZm9yIHRoZSBsaW5rIGl0c2VsZgogIC1tICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGwgd2lkdGggd2l0aCBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGVudHJpZXMKACAgLWwsIC0tbGVuZ3RoICAgICAgICAgZGlnZXN0IGxlbmd0aCBpbiBiaXRzOyBtdXN0IG5vdCBleGNlZWQgdGhlIG1heGltdW0gZm9yCiAgICAgICAgICAgICAgICAgICAgICAgdGhlIGJsYWtlMiBhbGdvcml0aG0gYW5kIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA4CgAgIC1sLCAtLWxlbmd0aD1QQUdFX0xFTkdUSAogICAgICAgICAgICAgICAgICAgIHNldCB0aGUgcGFnZSBsZW5ndGggdG8gUEFHRV9MRU5HVEggKDY2KSBsaW5lcwogICAgICAgICAgICAgICAgICAgIChkZWZhdWx0IG51bWJlciBvZiBsaW5lcyBvZiB0ZXh0IDU2LCBhbmQgd2l0aCAtRiA2MykuCiAgICAgICAgICAgICAgICAgICAgaW1wbGllcyAtdCBpZiBQQUdFX0xFTkdUSCA8PSAxMAoAICAtbCwgLS1saW5rICAgICAgICAgICAgICAgICAgIGhhcmQgbGluayBmaWxlcyBpbnN0ZWFkIG9mIGNvcHlpbmcKICAtTCwgLS1kZXJlZmVyZW5jZSAgICAgICAgICAgIGFsd2F5cyBmb2xsb3cgc3ltYm9saWMgbGlua3MgaW4gU09VUkNFCgAgIC1sLCAtLWxvZ2luICAgICAgIHByaW50IHN5c3RlbSBsb2dpbiBwcm9jZXNzZXMKACAgLW0sIC0tbWVyZ2UgICAgICAgcHJpbnQgYWxsIGZpbGVzIGluIHBhcmFsbGVsLCBvbmUgaW4gZWFjaCBjb2x1bW4sCiAgICAgICAgICAgICAgICAgICAgdHJ1bmNhdGUgbGluZXMsIGJ1dCBqb2luIGxpbmVzIG9mIGZ1bGwgbGVuZ3RoIHdpdGggLUoKACAgLW0sIC0tbW9kZT1NT0RFICAgIHNldCBmaWxlIHBlcm1pc3Npb24gYml0cyB0byBNT0RFLCBub3QgYT1ydyAtIHVtYXNrCgAgIC1tLCAtLW1vZGU9TU9ERSAgIHNldCBmaWxlIG1vZGUgKGFzIGluIGNobW9kKSwgbm90IGE9cnd4IC0gdW1hc2sKICAtcCwgLS1wYXJlbnRzICAgICBubyBlcnJvciBpZiBleGlzdGluZywgbWFrZSBwYXJlbnQgZGlyZWN0b3JpZXMgYXMgbmVlZGVkCiAgLXYsIC0tdmVyYm9zZSAgICAgcHJpbnQgYSBtZXNzYWdlIGZvciBlYWNoIGNyZWF0ZWQgZGlyZWN0b3J5CgAgIC1uLCAtLWFkanVzdG1lbnQ9TiAgIGFkZCBpbnRlZ2VyIE4gdG8gdGhlIG5pY2VuZXNzIChkZWZhdWx0IDEwKQoAICAtbiwgLS1kaWdpdHM9RElHSVRTICAgICAgICB1c2Ugc3BlY2lmaWVkIG51bWJlciBvZiBkaWdpdHMgaW5zdGVhZCBvZiAyCiAgLXMsIC0tcXVpZXQsIC0tc2lsZW50ICAgICAgZG8gbm90IHByaW50IGNvdW50cyBvZiBvdXRwdXQgZmlsZSBzaXplcwogIC16LCAtLWVsaWRlLWVtcHR5LWZpbGVzICAgIHJlbW92ZSBlbXB0eSBvdXRwdXQgZmlsZXMKACAgLW4sIC0tbGluZXM9WytdTlVNICAgICAgIG91dHB1dCB0aGUgbGFzdCBOVU0gbGluZXMsIGluc3RlYWQgb2YgdGhlIGxhc3QgJWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgdXNlIC1uICtOVU0gdG8gb3V0cHV0IHN0YXJ0aW5nIHdpdGggbGluZSBOVU0KICAgICAgLS1tYXgtdW5jaGFuZ2VkLXN0YXRzPU4KICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCAtLWZvbGxvdz1uYW1lLCByZW9wZW4gYSBGSUxFIHdoaWNoIGhhcyBub3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkIHNpemUgYWZ0ZXIgTiAoZGVmYXVsdCAlZCkgaXRlcmF0aW9ucwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNlZSBpZiBpdCBoYXMgYmVlbiB1bmxpbmtlZCBvciByZW5hbWVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMgaXMgdGhlIHVzdWFsIGNhc2Ugb2Ygcm90YXRlZCBsb2cgZmlsZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggaW5vdGlmeSwgdGhpcyBvcHRpb24gaXMgcmFyZWx5IHVzZWZ1bAoAICAtbiwgLS1uby1jbG9iYmVyICAgICAgICAgICAgIGRvIG5vdCBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgZmlsZSAob3ZlcnJpZGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgcHJldmlvdXMgLWkgb3B0aW9uKQogIC1QLCAtLW5vLWRlcmVmZXJlbmNlICAgICAgICAgbmV2ZXIgZm9sbG93IHN5bWJvbGljIGxpbmtzIGluIFNPVVJDRQoAICAtbiwgLS1udW1lcmljLXNvcnQgICAgICAgICAgY29tcGFyZSBhY2NvcmRpbmcgdG8gc3RyaW5nIG51bWVyaWNhbCB2YWx1ZQogIC1SLCAtLXJhbmRvbS1zb3J0ICAgICAgICAgICBzaHVmZmxlLCBidXQgZ3JvdXAgaWRlbnRpY2FsIGtleXMuICBTZWUgc2h1ZigxKQogICAgICAtLXJhbmRvbS1zb3VyY2U9RklMRSAgICBnZXQgcmFuZG9tIGJ5dGVzIGZyb20gRklMRQogIC1yLCAtLXJldmVyc2UgICAgICAgICAgICAgICByZXZlcnNlIHRoZSByZXN1bHQgb2YgY29tcGFyaXNvbnMKACAgLW4sIC0tbnVtZXJpYy11aWQtZ2lkICAgICAgbGlrZSAtbCwgYnV0IGxpc3QgbnVtZXJpYyB1c2VyIGFuZCBncm91cCBJRHMKICAtTiwgLS1saXRlcmFsICAgICAgICAgICAgICBwcmludCBlbnRyeSBuYW1lcyB3aXRob3V0IHF1b3RpbmcKICAtbyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlIC1sLCBidXQgZG8gbm90IGxpc3QgZ3JvdXAgaW5mb3JtYXRpb24KICAtcCwgLS1pbmRpY2F0b3Itc3R5bGU9c2xhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmQgLyBpbmRpY2F0b3IgdG8gZGlyZWN0b3JpZXMKACAgLW5bU0VQW0RJR0lUU11dLCAtLW51bWJlci1saW5lc1s9U0VQW0RJR0lUU11dCiAgICAgICAgICAgICAgICAgICAgbnVtYmVyIGxpbmVzLCB1c2UgRElHSVRTICg1KSBkaWdpdHMsIHRoZW4gU0VQIChUQUIpLAogICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgY291bnRpbmcgc3RhcnRzIHdpdGggMXN0IGxpbmUgb2YgaW5wdXQgZmlsZQogIC1OLCAtLWZpcnN0LWxpbmUtbnVtYmVyPU5VTUJFUgogICAgICAgICAgICAgICAgICAgIHN0YXJ0IGNvdW50aW5nIHdpdGggTlVNQkVSIGF0IDFzdCBsaW5lIG9mIGZpcnN0CiAgICAgICAgICAgICAgICAgICAgcGFnZSBwcmludGVkIChzZWUgK0ZJUlNUX1BBR0UpCgAgIC1vLCAtLWluZGVudD1NQVJHSU4KICAgICAgICAgICAgICAgICAgICBvZmZzZXQgZWFjaCBsaW5lIHdpdGggTUFSR0lOICh6ZXJvKSBzcGFjZXMsIGRvIG5vdAogICAgICAgICAgICAgICAgICAgIGFmZmVjdCAtdyBvciAtVywgTUFSR0lOIHdpbGwgYmUgYWRkZWQgdG8gUEFHRV9XSURUSAogIC1yLCAtLW5vLWZpbGUtd2FybmluZ3MKICAgICAgICAgICAgICAgICAgICBvbWl0IHdhcm5pbmcgd2hlbiBhIGZpbGUgY2Fubm90IGJlIG9wZW5lZAoAICAtbywgLS1pby1ibG9ja3MgICAgICAgIHRyZWF0IFNJWkUgYXMgbnVtYmVyIG9mIElPIGJsb2NrcyBpbnN0ZWFkIG9mIGJ5dGVzCgAgIC1vLCAtLW91dHB1dD1GSUxFICAgICAgICAgd3JpdGUgcmVzdWx0IHRvIEZJTEUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXQKICAtcywgLS1zdGFibGUgICAgICAgICAgICAgIHN0YWJpbGl6ZSBzb3J0IGJ5IGRpc2FibGluZyBsYXN0LXJlc29ydCBjb21wYXJpc29uCiAgLVMsIC0tYnVmZmVyLXNpemU9U0laRSAgICB1c2UgU0laRSBmb3IgbWFpbiBtZW1vcnkgYnVmZmVyCgAgIC1wICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyAtLXByZXNlcnZlPW1vZGUsb3duZXJzaGlwLHRpbWVzdGFtcHMKICAgICAgLS1wcmVzZXJ2ZVs9QVRUUl9MSVNUXSAgIHByZXNlcnZlIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlcyAoZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSxvd25lcnNoaXAsdGltZXN0YW1wcyksIGlmIHBvc3NpYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWwgYXR0cmlidXRlczogY29udGV4dCwgbGlua3MsIHhhdHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGwKACAgLXAgICAgICAgICAgICAgICAgICAgICAgICBkaWFnbm9zZSBlcnJvcnMgd3JpdGluZyB0byBub24gcGlwZXMKICAgICAgLS1vdXRwdXQtZXJyb3JbPU1PREVdICAgc2V0IGJlaGF2aW9yIG9uIHdyaXRlIGVycm9yLiAgU2VlIE1PREUgYmVsb3cKACAgLXAgRElSLCAtLXRtcGRpcls9RElSXSAgaW50ZXJwcmV0IFRFTVBMQVRFIHJlbGF0aXZlIHRvIERJUjsgaWYgRElSIGlzIG5vdAogICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpZWQsIHVzZSAkVE1QRElSIGlmIHNldCwgZWxzZSAvdG1wLiAgV2l0aAogICAgICAgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiwgVEVNUExBVEUgbXVzdCBub3QgYmUgYW4gYWJzb2x1dGUgbmFtZTsKICAgICAgICAgICAgICAgICAgICAgICAgdW5saWtlIHdpdGggLXQsIFRFTVBMQVRFIG1heSBjb250YWluIHNsYXNoZXMsIGJ1dAogICAgICAgICAgICAgICAgICAgICAgICBta3RlbXAgY3JlYXRlcyBvbmx5IHRoZSBmaW5hbCBjb21wb25lbnQKACAgLXAsIC0tcGFyZW50cyAgIHJlbW92ZSBESVJFQ1RPUlkgYW5kIGl0cyBhbmNlc3RvcnM7IGUuZy4sICdybWRpciAtcCBhL2IvYycgaXMKICAgICAgICAgICAgICAgICAgICBzaW1pbGFyIHRvICdybWRpciBhL2IvYyBhL2IgYScKICAtdiwgLS12ZXJib3NlICAgb3V0cHV0IGEgZGlhZ25vc3RpYyBmb3IgZXZlcnkgZGlyZWN0b3J5IHByb2Nlc3NlZAoAICAtcCwgLS1wcmVzZXJ2ZS10aW1lc3RhbXBzICAgYXBwbHkgYWNjZXNzL21vZGlmaWNhdGlvbiB0aW1lcyBvZiBTT1VSQ0UgZmlsZXMKICAgICAgICAgICAgICAgICAgICAgICAgdG8gY29ycmVzcG9uZGluZyBkZXN0aW5hdGlvbiBmaWxlcwogIC1zLCAtLXN0cmlwICAgICAgICAgc3RyaXAgc3ltYm9sIHRhYmxlcwogICAgICAtLXN0cmlwLXByb2dyYW09UFJPR1JBTSAgcHJvZ3JhbSB1c2VkIHRvIHN0cmlwIGJpbmFyaWVzCiAgLVMsIC0tc3VmZml4PVNVRkZJWCAgb3ZlcnJpZGUgdGhlIHVzdWFsIGJhY2t1cCBzdWZmaXgKICAtdCwgLS10YXJnZXQtZGlyZWN0b3J5PURJUkVDVE9SWSAgY29weSBhbGwgU09VUkNFIGFyZ3VtZW50cyBpbnRvIERJUkVDVE9SWQogIC1ULCAtLW5vLXRhcmdldC1kaXJlY3RvcnkgIHRyZWF0IERFU1QgYXMgYSBub3JtYWwgZmlsZQogIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgdGhlIG5hbWUgb2YgZWFjaCBkaXJlY3RvcnkgYXMgaXQgaXMgY3JlYXRlZAoAICAtcSwgLS1jb3VudCAgICAgICBhbGwgbG9naW4gbmFtZXMgYW5kIG51bWJlciBvZiB1c2VycyBsb2dnZWQgb24KICAtciwgLS1ydW5sZXZlbCAgICBwcmludCBjdXJyZW50IHJ1bmxldmVsCiAgLXMsIC0tc2hvcnQgICAgICAgcHJpbnQgb25seSBuYW1lLCBsaW5lLCBhbmQgdGltZSAoZGVmYXVsdCkKICAtdCwgLS10aW1lICAgICAgICBwcmludCBsYXN0IHN5c3RlbSBjbG9jayBjaGFuZ2UKACAgLXEsIC0tcXVpZXQsIC0tc2lsZW50ICAgIG5ldmVyIHByaW50IGhlYWRlcnMgZ2l2aW5nIGZpbGUgbmFtZXMKICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYWx3YXlzIHByaW50IGhlYWRlcnMgZ2l2aW5nIGZpbGUgbmFtZXMKACAgLXIsIC0tcmVmZXJlbmNlPUZJTEUgICAgICAgZGlzcGxheSB0aGUgbGFzdCBtb2RpZmljYXRpb24gdGltZSBvZiBGSUxFCgAgIC1yLCAtLXJlZmVyZW5jZT1GSUxFICAgdXNlIHRoaXMgZmlsZSdzIHRpbWVzIGluc3RlYWQgb2YgY3VycmVudCB0aW1lCiAgLXQgU1RBTVAgICAgICAgICAgICAgICB1c2UgW1tDQ11ZWV1NTUREaGhtbVsuc3NdIGluc3RlYWQgb2YgY3VycmVudCB0aW1lCiAgICAgIC0tdGltZT1XT1JEICAgICAgICBjaGFuZ2UgdGhlIHNwZWNpZmllZCB0aW1lOgogICAgICAgICAgICAgICAgICAgICAgICAgICBXT1JEIGlzIGFjY2VzcywgYXRpbWUsIG9yIHVzZTogZXF1aXZhbGVudCB0byAtYQogICAgICAgICAgICAgICAgICAgICAgICAgICBXT1JEIGlzIG1vZGlmeSBvciBtdGltZTogZXF1aXZhbGVudCB0byAtbQoAICAtciwgLS1yZWZlcmVuY2U9UkZJTEUgIGJhc2Ugc2l6ZSBvbiBSRklMRQogIC1zLCAtLXNpemU9U0laRSAgICAgICAgc2V0IG9yIGFkanVzdCB0aGUgZmlsZSBzaXplIGJ5IFNJWkUgYnl0ZXMKACAgLXIsIC0tcmVmZXJlbmNlcyAgICAgICAgICAgICAgIGZpcnN0IGZpZWxkIG9mIGVhY2ggbGluZSBpcyBhIHJlZmVyZW5jZQogIC10LCAtLXR5cGVzZXQtbW9kZSAgICAgICAgICAgICAgIC0gbm90IGltcGxlbWVudGVkIC0KICAtdywgLS13aWR0aD1OVU1CRVIgICAgICAgICAgICAgb3V0cHV0IHdpZHRoIGluIGNvbHVtbnMsIHJlZmVyZW5jZSBleGNsdWRlZAoAICAtciwgLS1yZXZlcnNlICAgICAgICAgICAgICByZXZlcnNlIG9yZGVyIHdoaWxlIHNvcnRpbmcKICAtUiwgLS1yZWN1cnNpdmUgICAgICAgICAgICBsaXN0IHN1YmRpcmVjdG9yaWVzIHJlY3Vyc2l2ZWx5CiAgLXMsIC0tc2l6ZSAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIGFsbG9jYXRlZCBzaXplIG9mIGVhY2ggZmlsZSwgaW4gYmxvY2tzCgAgIC1zLCAtLW9ubHktZGVsaW1pdGVkICAgIGRvIG5vdCBwcmludCBsaW5lcyBub3QgY29udGFpbmluZyBkZWxpbWl0ZXJzCiAgICAgIC0tb3V0cHV0LWRlbGltaXRlcj1TVFJJTkcgIHVzZSBTVFJJTkcgYXMgdGhlIG91dHB1dCBkZWxpbWl0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUgaW5wdXQgZGVsaW1pdGVyCgAgIC1zLCAtLXNldD1TVFJJTkcgICAgICAgICAgIHNldCB0aW1lIGRlc2NyaWJlZCBieSBTVFJJTkcKICAtdSwgLS11dGMsIC0tdW5pdmVyc2FsICAgICBwcmludCBvciBzZXQgQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUgKFVUQykKACAgLXMsIC0tc2lnbmFsPVNJR05BTCwgLVNJR05BTAogICAgICAgICAgICAgICAgICAgc3BlY2lmeSB0aGUgbmFtZSBvciBudW1iZXIgb2YgdGhlIHNpZ25hbCB0byBiZSBzZW50CiAgLWwsIC0tbGlzdCAgICAgICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBzaWduYWwgbmFtZXMgdG8vZnJvbSBudW1iZXJzCiAgLXQsIC0tdGFibGUgICAgICBwcmludCBhIHRhYmxlIG9mIHNpZ25hbCBpbmZvcm1hdGlvbgoAICAtcywgLS1zbGVlcC1pbnRlcnZhbD1OICAgd2l0aCAtZiwgc2xlZXAgZm9yIGFwcHJveGltYXRlbHkgTiBzZWNvbmRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQgMS4wKSBiZXR3ZWVuIGl0ZXJhdGlvbnM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBpbm90aWZ5IGFuZCAtLXBpZD1QLCBjaGVjayBwcm9jZXNzIFAgYXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWFzdCBvbmNlIGV2ZXJ5IE4gc2Vjb25kcwogIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBhbHdheXMgb3V0cHV0IGhlYWRlcnMgZ2l2aW5nIGZpbGUgbmFtZXMKACAgLXMsIC0tc3ltYm9saWMtbGluayAgICAgICAgICBtYWtlIHN5bWJvbGljIGxpbmtzIGluc3RlYWQgb2YgY29weWluZwogIC1TLCAtLXN1ZmZpeD1TVUZGSVggICAgICAgICAgb3ZlcnJpZGUgdGhlIHVzdWFsIGJhY2t1cCBzdWZmaXgKICAtdCwgLS10YXJnZXQtZGlyZWN0b3J5PURJUkVDVE9SWSAgY29weSBhbGwgU09VUkNFIGFyZ3VtZW50cyBpbnRvIERJUkVDVE9SWQogIC1ULCAtLW5vLXRhcmdldC1kaXJlY3RvcnkgICAgdHJlYXQgREVTVCBhcyBhIG5vcm1hbCBmaWxlCgAgIC1zW0NIQVJdLCAtLXNlcGFyYXRvcls9Q0hBUl0KICAgICAgICAgICAgICAgICAgICBzZXBhcmF0ZSBjb2x1bW5zIGJ5IGEgc2luZ2xlIGNoYXJhY3RlciwgZGVmYXVsdCBmb3IgQ0hBUgogICAgICAgICAgICAgICAgICAgIGlzIHRoZSA8VEFCPiBjaGFyYWN0ZXIgd2l0aG91dCAtdyBhbmQgJ25vIGNoYXInIHdpdGggLXcuCiAgICAgICAgICAgICAgICAgICAgLXNbQ0hBUl0gdHVybnMgb2ZmIGxpbmUgdHJ1bmNhdGlvbiBvZiBhbGwgMyBjb2x1bW4KICAgICAgICAgICAgICAgICAgICBvcHRpb25zICgtQ09MVU1OfC1hIC1DT0xVTU58LW0pIGV4Y2VwdCAtdyBpcyBzZXQKACAgLXQgICAgICAgICAgICAgICAgICAgICAgICAgc29ydCBieSBtb2RpZmljYXRpb24gdGltZSwgbmV3ZXN0IGZpcnN0CiAgLVQsIC0tdGFic2l6ZT1DT0xTICAgICAgICAgYXNzdW1lIHRhYiBzdG9wcyBhdCBlYWNoIENPTFMgaW5zdGVhZCBvZiA4CgAgIC10ICAgICAgICAgICAgICAgICAgICAgICBlcXVpdmFsZW50IHRvIC12VAogIC1ULCAtLXNob3ctdGFicyAgICAgICAgICBkaXNwbGF5IFRBQiBjaGFyYWN0ZXJzIGFzIF5JCiAgLXUgICAgICAgICAgICAgICAgICAgICAgIChpZ25vcmVkKQogIC12LCAtLXNob3ctbm9ucHJpbnRpbmcgICB1c2UgXiBhbmQgTS0gbm90YXRpb24sIGV4Y2VwdCBmb3IgTEZEIGFuZCBUQUIKACAgLXQgICAgICAgICAgICAgICAgICBpbnRlcnByZXQgVEVNUExBVEUgYXMgYSBzaW5nbGUgZmlsZSBuYW1lIGNvbXBvbmVudCwKICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmUgdG8gYSBkaXJlY3Rvcnk6ICRUTVBESVIsIGlmIHNldDsgZWxzZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3J5IHNwZWNpZmllZCB2aWEgLXA7IGVsc2UgL3RtcCBbZGVwcmVjYXRlZF0KACAgLXQsIC0tZmllbGQtc2VwYXJhdG9yPVNFUCAgdXNlIFNFUCBpbnN0ZWFkIG9mIG5vbi1ibGFuayB0byBibGFuayB0cmFuc2l0aW9uCiAgLVQsIC0tdGVtcG9yYXJ5LWRpcmVjdG9yeT1ESVIgIHVzZSBESVIgZm9yIHRlbXBvcmFyaWVzLCBub3QgJFRNUERJUiBvciAlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgb3B0aW9ucyBzcGVjaWZ5IG11bHRpcGxlIGRpcmVjdG9yaWVzCiAgICAgIC0tcGFyYWxsZWw9TiAgICAgICAgICBjaGFuZ2UgdGhlIG51bWJlciBvZiBzb3J0cyBydW4gY29uY3VycmVudGx5IHRvIE4KICAtdSwgLS11bmlxdWUgICAgICAgICAgICAgIHdpdGggLWMsIGNoZWNrIGZvciBzdHJpY3Qgb3JkZXJpbmc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgLWMsIG91dHB1dCBvbmx5IHRoZSBmaXJzdCBvZiBhbiBlcXVhbCBydW4KACAgLXQsIC0tb21pdC1oZWFkZXIgIG9taXQgcGFnZSBoZWFkZXJzIGFuZCB0cmFpbGVyczsKICAgICAgICAgICAgICAgICAgICAgaW1wbGllZCBpZiBQQUdFX0xFTkdUSCA8PSAxMAoAICAtdCwgLS10YWdnZWQtcGFyYWdyYXBoICAgIGluZGVudGF0aW9uIG9mIGZpcnN0IGxpbmUgZGlmZmVyZW50IGZyb20gc2Vjb25kCiAgLXUsIC0tdW5pZm9ybS1zcGFjaW5nICAgICBvbmUgc3BhY2UgYmV0d2VlbiB3b3JkcywgdHdvIGFmdGVyIHNlbnRlbmNlcwogIC13LCAtLXdpZHRoPVdJRFRIICAgICAgICAgbWF4aW11bSBsaW5lIHdpZHRoIChkZWZhdWx0IG9mIDc1IGNvbHVtbnMpCiAgLWcsIC0tZ29hbD1XSURUSCAgICAgICAgICBnb2FsIHdpZHRoIChkZWZhdWx0IG9mIDkzJSBvZiB3aWR0aCkKACAgLXQsIC0tdGFyZ2V0LWRpcmVjdG9yeT1ESVJFQ1RPUlkgIG1vdmUgYWxsIFNPVVJDRSBhcmd1bWVudHMgaW50byBESVJFQ1RPUlkKICAtVCwgLS1uby10YXJnZXQtZGlyZWN0b3J5ICAgIHRyZWF0IERFU1QgYXMgYSBub3JtYWwgZmlsZQogIC11LCAtLXVwZGF0ZSAgICAgICAgICAgICAgICAgbW92ZSBvbmx5IHdoZW4gdGhlIFNPVVJDRSBmaWxlIGlzIG5ld2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYW4gdGhlIGRlc3RpbmF0aW9uIGZpbGUgb3Igd2hlbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24gZmlsZSBpcyBtaXNzaW5nCiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZQogIC1aLCAtLWNvbnRleHQgICAgICAgICAgICAgICAgc2V0IFNFTGludXggc2VjdXJpdHkgY29udGV4dCBvZiBkZXN0aW5hdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlIHRvIGRlZmF1bHQgdHlwZQoAICAtdCwgLS10ZXh0ICAgICAgICAgICByZWFkIGluIHRleHQgbW9kZSAoZGVmYXVsdCBpZiByZWFkaW5nIHR0eSBzdGRpbikKACAgLXQsIC0tdGV4dCAgICAgICAgICAgcmVhZCBpbiB0ZXh0IG1vZGUgKGRlZmF1bHQpCgAgIC10LCAtLXRocmVzaG9sZD1TSVpFICBleGNsdWRlIGVudHJpZXMgc21hbGxlciB0aGFuIFNJWkUgaWYgcG9zaXRpdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZW50cmllcyBncmVhdGVyIHRoYW4gU0laRSBpZiBuZWdhdGl2ZQogICAgICAtLXRpbWUgICAgICAgICAgICBzaG93IHRpbWUgb2YgdGhlIGxhc3QgbW9kaWZpY2F0aW9uIG9mIGFueSBmaWxlIGluIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeSwgb3IgYW55IG9mIGl0cyBzdWJkaXJlY3RvcmllcwogICAgICAtLXRpbWU9V09SRCAgICAgICBzaG93IHRpbWUgYXMgV09SRCBpbnN0ZWFkIG9mIG1vZGlmaWNhdGlvbiB0aW1lOgogICAgICAgICAgICAgICAgICAgICAgICAgIGF0aW1lLCBhY2Nlc3MsIHVzZSwgY3RpbWUgb3Igc3RhdHVzCiAgICAgIC0tdGltZS1zdHlsZT1TVFlMRSAgc2hvdyB0aW1lcyB1c2luZyBTVFlMRSwgd2hpY2ggY2FuIGJlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbC1pc28sIGxvbmctaXNvLCBpc28sIG9yICtGT1JNQVQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGT1JNQVQgaXMgaW50ZXJwcmV0ZWQgbGlrZSBpbiAnZGF0ZScKACAgLXQsIC0tdHlwZT1UWVBFICAgICAgIGxpbWl0IGxpc3RpbmcgdG8gZmlsZSBzeXN0ZW1zIG9mIHR5cGUgVFlQRQogIC1ULCAtLXByaW50LXR5cGUgICAgICBwcmludCBmaWxlIHN5c3RlbSB0eXBlCiAgLXgsIC0tZXhjbHVkZS10eXBlPVRZUEUgICBsaW1pdCBsaXN0aW5nIHRvIGZpbGUgc3lzdGVtcyBub3Qgb2YgdHlwZSBUWVBFCiAgLXYgICAgICAgICAgICAgICAgICAgIChpZ25vcmVkKQoAICAtdSAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIC1sdDogc29ydCBieSwgYW5kIHNob3csIGFjY2VzcyB0aW1lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCAtbDogc2hvdyBhY2Nlc3MgdGltZSBhbmQgc29ydCBieSBuYW1lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJ3aXNlOiBzb3J0IGJ5IGFjY2VzcyB0aW1lLCBuZXdlc3QgZmlyc3QKICAtVSAgICAgICAgICAgICAgICAgICAgICAgICBkbyBub3Qgc29ydDsgbGlzdCBlbnRyaWVzIGluIGRpcmVjdG9yeSBvcmRlcgogIC12ICAgICAgICAgICAgICAgICAgICAgICAgIG5hdHVyYWwgc29ydCBvZiAodmVyc2lvbikgbnVtYmVycyB3aXRoaW4gdGV4dAoAICAtdSwgLS11cGRhdGUgICAgICAgICAgICAgICAgIGNvcHkgb25seSB3aGVuIHRoZSBTT1VSQ0UgZmlsZSBpcyBuZXdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHRoZSBkZXN0aW5hdGlvbiBmaWxlIG9yIHdoZW4gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uIGZpbGUgaXMgbWlzc2luZwogIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmUKICAteCwgLS1vbmUtZmlsZS1zeXN0ZW0gICAgICAgIHN0YXkgb24gdGhpcyBmaWxlIHN5c3RlbQoAICAtdSwgLS11c2VyPVVTRVIgICAgICAgIHNldCB1c2VyIFVTRVIgaW4gdGhlIHRhcmdldCBzZWN1cml0eSBjb250ZXh0CiAgLXIsIC0tcm9sZT1ST0xFICAgICAgICBzZXQgcm9sZSBST0xFIGluIHRoZSB0YXJnZXQgc2VjdXJpdHkgY29udGV4dAogIC10LCAtLXR5cGU9VFlQRSAgICAgICAgc2V0IHR5cGUgVFlQRSBpbiB0aGUgdGFyZ2V0IHNlY3VyaXR5IGNvbnRleHQKICAtbCwgLS1yYW5nZT1SQU5HRSAgICAgIHNldCByYW5nZSBSQU5HRSBpbiB0aGUgdGFyZ2V0IHNlY3VyaXR5IGNvbnRleHQKACAgLXYgRklMRU5VTSAgICAgICAgbGlrZSAtYSBGSUxFTlVNLCBidXQgc3VwcHJlc3Mgam9pbmVkIG91dHB1dCBsaW5lcwogIC0xIEZJRUxEICAgICAgICAgIGpvaW4gb24gdGhpcyBGSUVMRCBvZiBmaWxlIDEKICAtMiBGSUVMRCAgICAgICAgICBqb2luIG9uIHRoaXMgRklFTEQgb2YgZmlsZSAyCiAgLS1jaGVjay1vcmRlciAgICAgY2hlY2sgdGhhdCB0aGUgaW5wdXQgaXMgY29ycmVjdGx5IHNvcnRlZCwgZXZlbgogICAgICAgICAgICAgICAgICAgICAgaWYgYWxsIGlucHV0IGxpbmVzIGFyZSBwYWlyYWJsZQogIC0tbm9jaGVjay1vcmRlciAgIGRvIG5vdCBjaGVjayB0aGF0IHRoZSBpbnB1dCBpcyBjb3JyZWN0bHkgc29ydGVkCiAgLS1oZWFkZXIgICAgICAgICAgdHJlYXQgdGhlIGZpcnN0IGxpbmUgaW4gZWFjaCBmaWxlIGFzIGZpZWxkIGhlYWRlcnMsCiAgICAgICAgICAgICAgICAgICAgICBwcmludCB0aGVtIHdpdGhvdXQgdHJ5aW5nIHRvIHBhaXIgdGhlbQoAICAtdiwgLS1rZXJuZWwtdmVyc2lvbiAgICAgcHJpbnQgdGhlIGtlcm5lbCB2ZXJzaW9uCiAgLW0sIC0tbWFjaGluZSAgICAgICAgICAgIHByaW50IHRoZSBtYWNoaW5lIGhhcmR3YXJlIG5hbWUKICAtcCwgLS1wcm9jZXNzb3IgICAgICAgICAgcHJpbnQgdGhlIHByb2Nlc3NvciB0eXBlIChub24tcG9ydGFibGUpCiAgLWksIC0taGFyZHdhcmUtcGxhdGZvcm0gIHByaW50IHRoZSBoYXJkd2FyZSBwbGF0Zm9ybSAobm9uLXBvcnRhYmxlKQogIC1vLCAtLW9wZXJhdGluZy1zeXN0ZW0gICBwcmludCB0aGUgb3BlcmF0aW5nIHN5c3RlbQoAICAtdiwgLS1zdGFydGluZy1saW5lLW51bWJlcj1OVU1CRVIgIGZpcnN0IGxpbmUgbnVtYmVyIGZvciBlYWNoIHNlY3Rpb24KICAtdywgLS1udW1iZXItd2lkdGg9TlVNQkVSICAgICAgIHVzZSBOVU1CRVIgY29sdW1ucyBmb3IgbGluZSBudW1iZXJzCgAgIC12LCAtLXZlcmJvc2UgICAgICAgICAgb3V0cHV0IGEgZGlhZ25vc3RpYyBmb3IgZXZlcnkgZmlsZSBwcm9jZXNzZWQKACAgLXcsIC0tY2hlY2stY2hhcnM9TiAgIGNvbXBhcmUgbm8gbW9yZSB0aGFuIE4gY2hhcmFjdGVycyBpbiBsaW5lcwoAICAtdywgLS13aWR0aD1DT0xTICAgICAgICAgICBzZXQgb3V0cHV0IHdpZHRoIHRvIENPTFMuICAwIG1lYW5zIG5vIGxpbWl0CiAgLXggICAgICAgICAgICAgICAgICAgICAgICAgbGlzdCBlbnRyaWVzIGJ5IGxpbmVzIGluc3RlYWQgb2YgYnkgY29sdW1ucwogIC1YICAgICAgICAgICAgICAgICAgICAgICAgIHNvcnQgYWxwaGFiZXRpY2FsbHkgYnkgZW50cnkgZXh0ZW5zaW9uCiAgLVosIC0tY29udGV4dCAgICAgICAgICAgICAgcHJpbnQgYW55IHNlY3VyaXR5IGNvbnRleHQgb2YgZWFjaCBmaWxlCiAgLTEgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdCBvbmUgZmlsZSBwZXIgbGluZS4gIEF2b2lkICdcbicgd2l0aCAtcSBvciAtYgoAICAteiwgLS16ZXJvICAgICBlbmQgZWFjaCBvdXRwdXQgbGluZSB3aXRoIE5VTCwgbm90IG5ld2xpbmUKACAgLXosIC0temVyby10ZXJtaW5hdGVkICAgICBsaW5lIGRlbGltaXRlciBpcyBOVUwsIG5vdCBuZXdsaW5lCgAgIC16LCAtLXplcm8tdGVybWluYXRlZCAgICBsaW5lIGRlbGltaXRlciBpcyBOVUwsIG5vdCBuZXdsaW5lCgAgIENPTlRFWFQgICAgICAgICAgICBDb21wbGV0ZSBzZWN1cml0eSBjb250ZXh0CiAgLWMsIC0tY29tcHV0ZSAgICAgIGNvbXB1dGUgcHJvY2VzcyB0cmFuc2l0aW9uIGNvbnRleHQgYmVmb3JlIG1vZGlmeWluZwogIC10LCAtLXR5cGU9VFlQRSAgICB0eXBlIChmb3Igc2FtZSByb2xlIGFzIHBhcmVudCkKICAtdSwgLS11c2VyPVVTRVIgICAgdXNlciBpZGVudGl0eQogIC1yLCAtLXJvbGU9Uk9MRSAgICByb2xlCiAgLWwsIC0tcmFuZ2U9UkFOR0UgIGxldmVscmFuZ2UKCgAgIEZpbGU6ICIlbiIKICAgIElEOiAlLThpIE5hbWVsZW46ICUtN2wgVHlwZTogJVQKQmxvY2sgc2l6ZTogJS0xMHMgRnVuZGFtZW50YWwgYmxvY2sgc2l6ZTogJVMKQmxvY2tzOiBUb3RhbDogJS0xMGIgRnJlZTogJS0xMGYgQXZhaWxhYmxlOiAlYQpJbm9kZXM6IFRvdGFsOiAlLTEwYyBGcmVlOiAlZAoAICBGaWxlOiAlTgogIFNpemU6ICUtMTBzCUJsb2NrczogJS0xMGIgSU8gQmxvY2s6ICUtNm8gJUYKACAgUHJvY2Vzc2VzIGluCmFuIHVuaW50ZXJydXB0aWJsZSBzbGVlcCBzdGF0ZSBhbHNvIGNvbnRyaWJ1dGUgdG8gdGhlIGxvYWQgYXZlcmFnZS4KACAgWzpncmFwaDpdICAgICAgIGFsbCBwcmludGFibGUgY2hhcmFjdGVycywgbm90IGluY2x1ZGluZyBzcGFjZQogIFs6bG93ZXI6XSAgICAgICBhbGwgbG93ZXIgY2FzZSBsZXR0ZXJzCiAgWzpwcmludDpdICAgICAgIGFsbCBwcmludGFibGUgY2hhcmFjdGVycywgaW5jbHVkaW5nIHNwYWNlCiAgWzpwdW5jdDpdICAgICAgIGFsbCBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzCiAgWzpzcGFjZTpdICAgICAgIGFsbCBob3Jpem9udGFsIG9yIHZlcnRpY2FsIHdoaXRlc3BhY2UKICBbOnVwcGVyOl0gICAgICAgYWxsIHVwcGVyIGNhc2UgbGV0dGVycwogIFs6eGRpZ2l0Ol0gICAgICBhbGwgaGV4YWRlY2ltYWwgZGlnaXRzCiAgWz1DSEFSPV0gICAgICAgIGFsbCBjaGFyYWN0ZXJzIHdoaWNoIGFyZSBlcXVpdmFsZW50IHRvIENIQVIKACAgXDBOTk4gICBieXRlIHdpdGggb2N0YWwgdmFsdWUgTk5OICgxIHRvIDMgZGlnaXRzKQogIFx4SEggICAgYnl0ZSB3aXRoIGhleGFkZWNpbWFsIHZhbHVlIEhIICgxIHRvIDIgZGlnaXRzKQoAICBcTk5OICAgIGJ5dGUgd2l0aCBvY3RhbCB2YWx1ZSBOTk4gKDEgdG8gMyBkaWdpdHMpCiAgXHhISCAgICBieXRlIHdpdGggaGV4YWRlY2ltYWwgdmFsdWUgSEggKDEgdG8gMiBkaWdpdHMpCiAgXHVISEhIICBVbmljb2RlIChJU08vSUVDIDEwNjQ2KSBjaGFyYWN0ZXIgd2l0aCBoZXggdmFsdWUgSEhISCAoNCBkaWdpdHMpCiAgXFVISEhISEhISCAgVW5pY29kZSBjaGFyYWN0ZXIgd2l0aCBoZXggdmFsdWUgSEhISEhISEggKDggZGlnaXRzKQoAICBcXCAgICAgIGJhY2tzbGFzaAogIFxhICAgICAgYWxlcnQgKEJFTCkKICBcYiAgICAgIGJhY2tzcGFjZQogIFxjICAgICAgcHJvZHVjZSBubyBmdXJ0aGVyIG91dHB1dAogIFxlICAgICAgZXNjYXBlCiAgXGYgICAgICBmb3JtIGZlZWQKICBcbiAgICAgIG5ldyBsaW5lCiAgXHIgICAgICBjYXJyaWFnZSByZXR1cm4KICBcdCAgICAgIGhvcml6b250YWwgdGFiCiAgXHYgICAgICB2ZXJ0aWNhbCB0YWIKACAgXHYgICAgICAgICAgICAgIHZlcnRpY2FsIHRhYgogIENIQVIxLUNIQVIyICAgICBhbGwgY2hhcmFjdGVycyBmcm9tIENIQVIxIHRvIENIQVIyIGluIGFzY2VuZGluZyBvcmRlcgogIFtDSEFSKl0gICAgICAgICBpbiBTRVQyLCBjb3BpZXMgb2YgQ0hBUiB1bnRpbCBsZW5ndGggb2YgU0VUMQogIFtDSEFSKlJFUEVBVF0gICBSRVBFQVQgY29waWVzIG9mIENIQVIsIFJFUEVBVCBvY3RhbCBpZiBzdGFydGluZyB3aXRoIDAKICBbOmFsbnVtOl0gICAgICAgYWxsIGxldHRlcnMgYW5kIGRpZ2l0cwogIFs6YWxwaGE6XSAgICAgICBhbGwgbGV0dGVycwogIFs6Ymxhbms6XSAgICAgICBhbGwgaG9yaXpvbnRhbCB3aGl0ZXNwYWNlCiAgWzpjbnRybDpdICAgICAgIGFsbCBjb250cm9sIGNoYXJhY3RlcnMKICBbOmRpZ2l0Ol0gICAgICAgYWxsIGRpZ2l0cwoAICBhc2NpaSAgICAgZnJvbSBFQkNESUMgdG8gQVNDSUkKICBlYmNkaWMgICAgZnJvbSBBU0NJSSB0byBFQkNESUMKICBpYm0gICAgICAgZnJvbSBBU0NJSSB0byBhbHRlcm5hdGUgRUJDRElDCiAgYmxvY2sgICAgIHBhZCBuZXdsaW5lLXRlcm1pbmF0ZWQgcmVjb3JkcyB3aXRoIHNwYWNlcyB0byBjYnMtc2l6ZQogIHVuYmxvY2sgICByZXBsYWNlIHRyYWlsaW5nIHNwYWNlcyBpbiBjYnMtc2l6ZSByZWNvcmRzIHdpdGggbmV3bGluZQogIGxjYXNlICAgICBjaGFuZ2UgdXBwZXIgY2FzZSB0byBsb3dlciBjYXNlCiAgdWNhc2UgICAgIGNoYW5nZSBsb3dlciBjYXNlIHRvIHVwcGVyIGNhc2UKICBzcGFyc2UgICAgdHJ5IHRvIHNlZWsgcmF0aGVyIHRoYW4gd3JpdGUgdGhlIG91dHB1dCBmb3IgTlVMIGlucHV0IGJsb2NrcwogIHN3YWIgICAgICBzd2FwIGV2ZXJ5IHBhaXIgb2YgaW5wdXQgYnl0ZXMKICBzeW5jICAgICAgcGFkIGV2ZXJ5IGlucHV0IGJsb2NrIHdpdGggTlVMcyB0byBpYnMtc2l6ZTsgd2hlbiB1c2VkCiAgICAgICAgICAgIHdpdGggYmxvY2sgb3IgdW5ibG9jaywgcGFkIHdpdGggc3BhY2VzIHJhdGhlciB0aGFuIE5VTHMKACAgYXV0byAgICAgICBhY2NlcHQgb3B0aW9uYWwgc2luZ2xlL3R3byBsZXR0ZXIgc3VmZml4OgogICAgICAgICAgICAgICAxSyA9IDEwMDAsCiAgICAgICAgICAgICAgIDFLaSA9IDEwMjQsCiAgICAgICAgICAgICAgIDFNID0gMTAwMDAwMCwKICAgICAgICAgICAgICAgMU1pID0gMTA0ODU3NiwKACAgYmluYXJ5ICAgIHVzZSBiaW5hcnkgSS9PIGZvciBkYXRhCgAgIGNpbyAgICAgICB1c2UgY29uY3VycmVudCBJL08gZm9yIGRhdGEKACAgY291bnRfYnl0ZXMgIHRyZWF0ICdjb3VudD1OJyBhcyBhIGJ5dGUgY291bnQgKGlmbGFnIG9ubHkpCgAgIGRbU0laRV0gICAgc2lnbmVkIGRlY2ltYWwsIFNJWkUgYnl0ZXMgcGVyIGludGVnZXIKICBmW1NJWkVdICAgIGZsb2F0aW5nIHBvaW50LCBTSVpFIGJ5dGVzIHBlciBmbG9hdAogIG9bU0laRV0gICAgb2N0YWwsIFNJWkUgYnl0ZXMgcGVyIGludGVnZXIKICB1W1NJWkVdICAgIHVuc2lnbmVkIGRlY2ltYWwsIFNJWkUgYnl0ZXMgcGVyIGludGVnZXIKICB4W1NJWkVdICAgIGhleGFkZWNpbWFsLCBTSVpFIGJ5dGVzIHBlciBpbnRlZ2VyCgAgIGRpcmVjdCAgICB1c2UgZGlyZWN0IEkvTyBmb3IgZGF0YQoAICBkaXJlY3RvcnkgIGZhaWwgdW5sZXNzIGEgZGlyZWN0b3J5CgAgIGRzeW5jICAgICB1c2Ugc3luY2hyb25pemVkIEkvTyBmb3IgZGF0YQoAICBleGNsICAgICAgZmFpbCBpZiB0aGUgb3V0cHV0IGZpbGUgYWxyZWFkeSBleGlzdHMKICBub2NyZWF0ICAgZG8gbm90IGNyZWF0ZSB0aGUgb3V0cHV0IGZpbGUKICBub3RydW5jICAgZG8gbm90IHRydW5jYXRlIHRoZSBvdXRwdXQgZmlsZQogIG5vZXJyb3IgICBjb250aW51ZSBhZnRlciByZWFkIGVycm9ycwogIGZkYXRhc3luYyAgcGh5c2ljYWxseSB3cml0ZSBvdXRwdXQgZmlsZSBkYXRhIGJlZm9yZSBmaW5pc2hpbmcKICBmc3luYyAgICAgbGlrZXdpc2UsIGJ1dCBhbHNvIHdyaXRlIG1ldGFkYXRhCgAgIGZ1bGxibG9jayAgYWNjdW11bGF0ZSBmdWxsIGJsb2NrcyBvZiBpbnB1dCAoaWZsYWcgb25seSkKACAgaWVjICAgICAgICBhY2NlcHQgb3B0aW9uYWwgc2luZ2xlIGxldHRlciBzdWZmaXg6CiAgICAgICAgICAgICAgIDFLID0gMTAyNCwKICAgICAgICAgICAgICAgMU0gPSAxMDQ4NTc2LAogICAgICAgICAgICAgICAuLi4KACAgaWVjLWkgICAgICBhY2NlcHQgb3B0aW9uYWwgdHdvLWxldHRlciBzdWZmaXg6CiAgICAgICAgICAgICAgIDFLaSA9IDEwMjQsCiAgICAgICAgICAgICAgIDFNaSA9IDEwNDg1NzYsCiAgICAgICAgICAgICAgIC4uLgoAICBpZj1GSUxFICAgICAgICAgcmVhZCBmcm9tIEZJTEUgaW5zdGVhZCBvZiBzdGRpbgogIGlmbGFnPUZMQUdTICAgICByZWFkIGFzIHBlciB0aGUgY29tbWEgc2VwYXJhdGVkIHN5bWJvbCBsaXN0CiAgb2JzPUJZVEVTICAgICAgIHdyaXRlIEJZVEVTIGJ5dGVzIGF0IGEgdGltZSAoZGVmYXVsdDogNTEyKQogIG9mPUZJTEUgICAgICAgICB3cml0ZSB0byBGSUxFIGluc3RlYWQgb2Ygc3Rkb3V0CiAgb2ZsYWc9RkxBR1MgICAgIHdyaXRlIGFzIHBlciB0aGUgY29tbWEgc2VwYXJhdGVkIHN5bWJvbCBsaXN0CiAgc2Vlaz1OICAgICAgICAgIHNraXAgTiBvYnMtc2l6ZWQgYmxvY2tzIGF0IHN0YXJ0IG9mIG91dHB1dAogIHNraXA9TiAgICAgICAgICBza2lwIE4gaWJzLXNpemVkIGJsb2NrcyBhdCBzdGFydCBvZiBpbnB1dAogIHN0YXR1cz1MRVZFTCAgICBUaGUgTEVWRUwgb2YgaW5mb3JtYXRpb24gdG8gcHJpbnQgdG8gc3RkZXJyOwogICAgICAgICAgICAgICAgICAnbm9uZScgc3VwcHJlc3NlcyBldmVyeXRoaW5nIGJ1dCBlcnJvciBtZXNzYWdlcywKICAgICAgICAgICAgICAgICAgJ25veGZlcicgc3VwcHJlc3NlcyB0aGUgZmluYWwgdHJhbnNmZXIgc3RhdGlzdGljcywKICAgICAgICAgICAgICAgICAgJ3Byb2dyZXNzJyBzaG93cyBwZXJpb2RpYyB0cmFuc2ZlciBzdGF0aXN0aWNzCgAgIG5vYXRpbWUgICBkbyBub3QgdXBkYXRlIGFjY2VzcyB0aW1lCgAgIG5vY2FjaGUgICBSZXF1ZXN0IHRvIGRyb3AgY2FjaGUuICBTZWUgYWxzbyBvZmxhZz1zeW5jCgAgIG5vY3R0eSAgICBkbyBub3QgYXNzaWduIGNvbnRyb2xsaW5nIHRlcm1pbmFsIGZyb20gZmlsZQoAICBub2ZvbGxvdyAgZG8gbm90IGZvbGxvdyBzeW1saW5rcwoAICBub2xpbmtzICAgZmFpbCBpZiBtdWx0aXBseS1saW5rZWQKACAgbm9uYmxvY2sgIHVzZSBub24tYmxvY2tpbmcgSS9PCgAgIG5vbmUgICAgICAgbm8gYXV0by1zY2FsaW5nIGlzIGRvbmU7IHN1ZmZpeGVzIHdpbGwgdHJpZ2dlciBhbiBlcnJvcgoAICBub25lLCBvZmYgICAgICAgbmV2ZXIgbWFrZSBiYWNrdXBzIChldmVuIGlmIC0tYmFja3VwIGlzIGdpdmVuKQogIG51bWJlcmVkLCB0ICAgICBtYWtlIG51bWJlcmVkIGJhY2t1cHMKICBleGlzdGluZywgbmlsICAgbnVtYmVyZWQgaWYgbnVtYmVyZWQgYmFja3VwcyBleGlzdCwgc2ltcGxlIG90aGVyd2lzZQogIHNpbXBsZSwgbmV2ZXIgICBhbHdheXMgbWFrZSBzaW1wbGUgYmFja3VwcwoAICBzZWVrX2J5dGVzICB0cmVhdCAnc2Vlaz1OJyBhcyBhIGJ5dGUgY291bnQgKG9mbGFnIG9ubHkpCgAgIHNpICAgICAgICAgYWNjZXB0IG9wdGlvbmFsIHNpbmdsZSBsZXR0ZXIgc3VmZml4OgogICAgICAgICAgICAgICAxSyA9IDEwMDAsCiAgICAgICAgICAgICAgIDFNID0gMTAwMDAwMCwKICAgICAgICAgICAgICAgLi4uCgAgIHNraXBfYnl0ZXMgIHRyZWF0ICdza2lwPU4nIGFzIGEgYnl0ZSBjb3VudCAoaWZsYWcgb25seSkKACAgc3luYyAgICAgIGxpa2V3aXNlLCBidXQgYWxzbyBmb3IgbWV0YWRhdGEKACAgdGV4dCAgICAgIHVzZSB0ZXh0IEkvTyBmb3IgZGF0YQoAIChiYWNrdXA6ICVzKQAgKiBbLV1MQ0FTRSAgICAgIHNhbWUgYXMgWy1dbGNhc2UKACAqIFstXWNkdHJkc3IgICAgZW5hYmxlIERUUi9EU1IgaGFuZHNoYWtpbmcKACAqIFstXWNtc3BhciAgICAgdXNlICJzdGljayIgKG1hcmsvc3BhY2UpIHBhcml0eQoAICogWy1dY3J0c2N0cyAgICBlbmFibGUgUlRTL0NUUyBoYW5kc2hha2luZwoAICogWy1dY3RsZWNobyAgICBlY2hvIGNvbnRyb2wgY2hhcmFjdGVycyBpbiBoYXQgbm90YXRpb24gKCdeYycpCgAgKiBbLV1kZWNjdGxxICAgIHNhbWUgYXMgWy1daXhhbnkKACAqIFstXWRyYWluICAgICAgd2FpdCBmb3IgdHJhbnNtaXNzaW9uIGJlZm9yZSBhcHBseWluZyBzZXR0aW5ncyAoJXMgYnkgZGVmYXVsdCkKACAqIFstXWVjaG9jdGwgICAgc2FtZSBhcyBbLV1jdGxlY2hvCgAgKiBbLV1lY2hva2UgICAgIHNhbWUgYXMgWy1dY3J0a2lsbAoAICogWy1dZWNob3BydCAgICBlY2hvIGVyYXNlZCBjaGFyYWN0ZXJzIGJhY2t3YXJkLCBiZXR3ZWVuICdcJyBhbmQgJy8nCgAgKiBbLV1leHRwcm9jICAgIGVuYWJsZSAiTElORU1PREUiOyB1c2VmdWwgd2l0aCBoaWdoIGxhdGVuY3kgbGlua3MKACAqIFstXWZsdXNobyAgICAgZGlzY2FyZCBvdXRwdXQKACAqIFstXWltYXhiZWwgICAgYmVlcCBhbmQgZG8gbm90IGZsdXNoIGEgZnVsbCBpbnB1dCBidWZmZXIgb24gYSBjaGFyYWN0ZXIKACAqIFstXWl1Y2xjICAgICAgdHJhbnNsYXRlIHVwcGVyY2FzZSBjaGFyYWN0ZXJzIHRvIGxvd2VyY2FzZQoAICogWy1daXV0ZjggICAgICBhc3N1bWUgaW5wdXQgY2hhcmFjdGVycyBhcmUgVVRGLTggZW5jb2RlZAoAICogWy1daXhhbnkgICAgICBsZXQgYW55IGNoYXJhY3RlciByZXN0YXJ0IG91dHB1dCwgbm90IG9ubHkgc3RhcnQgY2hhcmFjdGVyCgAgKiBbLV1sY2FzZSAgICAgIHNhbWUgYXMgeGNhc2UgaXVjbGMgb2xjdWMKACAqIFstXW9jcm5sICAgICAgdHJhbnNsYXRlIGNhcnJpYWdlIHJldHVybiB0byBuZXdsaW5lCgAgKiBbLV1vZmRlbCAgICAgIHVzZSBkZWxldGUgY2hhcmFjdGVycyBmb3IgZmlsbCBpbnN0ZWFkIG9mIE5VTCBjaGFyYWN0ZXJzCgAgKiBbLV1vZmlsbCAgICAgIHVzZSBmaWxsIChwYWRkaW5nKSBjaGFyYWN0ZXJzIGluc3RlYWQgb2YgdGltaW5nIGZvciBkZWxheXMKACAqIFstXW9sY3VjICAgICAgdHJhbnNsYXRlIGxvd2VyY2FzZSBjaGFyYWN0ZXJzIHRvIHVwcGVyY2FzZQoAICogWy1db25sY3IgICAgICB0cmFuc2xhdGUgbmV3bGluZSB0byBjYXJyaWFnZSByZXR1cm4tbmV3bGluZQoAICogWy1db25scmV0ICAgICBuZXdsaW5lIHBlcmZvcm1zIGEgY2FycmlhZ2UgcmV0dXJuCgAgKiBbLV1vbm9jciAgICAgIGRvIG5vdCBwcmludCBjYXJyaWFnZSByZXR1cm5zIGluIHRoZSBmaXJzdCBjb2x1bW4KACAqIFstXXBydGVyYXNlICAgc2FtZSBhcyBbLV1lY2hvcHJ0CgAgKiBbLV10b3N0b3AgICAgIHN0b3AgYmFja2dyb3VuZCBqb2JzIHRoYXQgdHJ5IHRvIHdyaXRlIHRvIHRoZSB0ZXJtaW5hbAoAICogWy1deGNhc2UgICAgICB3aXRoIGljYW5vbiwgZXNjYXBlIHdpdGggJ1wnIGZvciB1cHBlcmNhc2UgY2hhcmFjdGVycwoAICogYnNOICAgICAgICAgICBiYWNrc3BhY2UgZGVsYXkgc3R5bGUsIE4gaW4gWzAuLjFdCgAgKiBjb2xzIE4gICAgICAgIHRlbGwgdGhlIGtlcm5lbCB0aGF0IHRoZSB0ZXJtaW5hbCBoYXMgTiBjb2x1bW5zCiAqIGNvbHVtbnMgTiAgICAgc2FtZSBhcyBjb2xzIE4KACAqIGNyTiAgICAgICAgICAgY2FycmlhZ2UgcmV0dXJuIGRlbGF5IHN0eWxlLCBOIGluIFswLi4zXQoAICogY3J0a2lsbCAgICAgICBraWxsIGFsbCBsaW5lIGJ5IG9iZXlpbmcgdGhlIGVjaG9wcnQgYW5kIGVjaG9lIHNldHRpbmdzCiAqIC1jcnRraWxsICAgICAga2lsbCBhbGwgbGluZSBieSBvYmV5aW5nIHRoZSBlY2hvY3RsIGFuZCBlY2hvayBzZXR0aW5ncwoAICogZGlzY2FyZCBDSEFSICBDSEFSIHdpbGwgdG9nZ2xlIGRpc2NhcmRpbmcgb2Ygb3V0cHV0CgAgKiBkc3VzcCBDSEFSICAgIENIQVIgd2lsbCBzZW5kIGEgdGVybWluYWwgc3RvcCBzaWduYWwgb25jZSBpbnB1dCBmbHVzaGVkCgAgKiBlb2wyIENIQVIgICAgIGFsdGVybmF0ZSBDSEFSIGZvciBlbmRpbmcgdGhlIGxpbmUKACAqIGZmTiAgICAgICAgICAgZm9ybSBmZWVkIGRlbGF5IHN0eWxlLCBOIGluIFswLi4xXQoAICogbGluZSBOICAgICAgICB1c2UgbGluZSBkaXNjaXBsaW5lIE4KACAqIGxuZXh0IENIQVIgICAgQ0hBUiB3aWxsIGVudGVyIHRoZSBuZXh0IGNoYXJhY3RlciBxdW90ZWQKACAqIG5sTiAgICAgICAgICAgbmV3bGluZSBkZWxheSBzdHlsZSwgTiBpbiBbMC4uMV0KACAqIHJvd3MgTiAgICAgICAgdGVsbCB0aGUga2VybmVsIHRoYXQgdGhlIHRlcm1pbmFsIGhhcyBOIHJvd3MKICogc2l6ZSAgICAgICAgICBwcmludCB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMgYWNjb3JkaW5nIHRvIHRoZSBrZXJuZWwKACAqIHJwcm50IENIQVIgICAgQ0hBUiB3aWxsIHJlZHJhdyB0aGUgY3VycmVudCBsaW5lCgAgKiBzdGF0dXMgQ0hBUiAgIENIQVIgd2lsbCBzZW5kIGFuIGluZm8gc2lnbmFsCgAgKiBzd3RjaCBDSEFSICAgIENIQVIgd2lsbCBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQgc2hlbGwgbGF5ZXIKACAqIHRhYk4gICAgICAgICAgaG9yaXpvbnRhbCB0YWIgZGVsYXkgc3R5bGUsIE4gaW4gWzAuLjNdCiAqIHRhYnMgICAgICAgICAgc2FtZSBhcyB0YWIwCiAqIC10YWJzICAgICAgICAgc2FtZSBhcyB0YWIzCgAgKiB2dE4gICAgICAgICAgIHZlcnRpY2FsIHRhYiBkZWxheSBzdHlsZSwgTiBpbiBbMC4uMV0KACAqIHdlcmFzZSBDSEFSICAgQ0hBUiB3aWxsIGVyYXNlIHRoZSBsYXN0IHdvcmQgdHlwZWQKACA/Pzo/Pz8/ICAAIFRUWQAgY29udGV4dD0lcwAgZWdpZD0lcwAgZXVpZD0lcwAgZ2lkPSVzACBncm91cHM9ACBvbGQgACBvbiByZXBldGl0aW9uICVzCgAlIDElIG9mIG1lbW9yeSwgYiAxLCBLIDEwMjQgKGRlZmF1bHQpLCBhbmQgc28gb24gZm9yIE0sIEcsIFQsIFAsIEUsIFosIFkuCgoqKiogV0FSTklORyAqKioKVGhlIGxvY2FsZSBzcGVjaWZpZWQgYnkgdGhlIGVudmlyb25tZW50IGFmZmVjdHMgc29ydCBvcmRlci4KU2V0IExDX0FMTD1DIHRvIGdldCB0aGUgdHJhZGl0aW9uYWwgc29ydCBvcmRlciB0aGF0IHVzZXMKbmF0aXZlIGJ5dGUgdmFsdWVzLgoAJS4qczogaW52YWxpZCBjb252ZXJzaW9uIHNwZWNpZmljYXRpb24AJWIgJWUgICVZACViICVlICVIOiVNACVsdSB1c2VyACVsdSB1c2VycwAlcyAoZm9yIHJlZ2V4cCAlcykAJXMgLT4gJXMgKHVuYmFja3VwKQoAJXMgWy1kXSB0ZXJtaW5hdGVkIGFibm9ybWFsbHkAJXMgYW5kICVzIGFyZSB0aGUgc2FtZSBmaWxlACVzIGV4aXN0cyBidXQgaXMgbm90IGEgZGlyZWN0b3J5ACVzIGV4cGVjdGVkACVzIGV4cGVjdGVkLCBmb3VuZCAlcwAlcyBoYXMgYXBwZWFyZWQ7ICBmb2xsb3dpbmcgbmV3IGZpbGUAJXMgaGFzIGJlY29tZSBhY2Nlc3NpYmxlACVzIGhhcyBiZWNvbWUgaW5hY2Nlc3NpYmxlACVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggYW4gdW50YWlsYWJsZSBmaWxlJXMAJXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCBhbiB1bnRhaWxhYmxlIHJlbW90ZSBmaWxlACVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggYW4gdW50YWlsYWJsZSBzeW1ib2xpYyBsaW5rACVzIGhhcyBiZWVuIHJlcGxhY2VkOyAgZm9sbG93aW5nIG5ldyBmaWxlACVzIGhhcyB1bmtub3duIGZpbGUgdHlwZQAlcyBoYXMgdW51c2FibGUsIGFwcGFyZW50bHkgbmVnYXRpdmUgc2l6ZQAlcyBob21lIHBhZ2U6IDwlcz4KACVzIGlzIG5vdCBhIHZhbGlkIHBvc2l0aXZlIGludGVnZXIAJXMgaXMgdG9vIGxhcmdlACVzIG1heSBiZSB1c2VkIG9ubHkgb24gYSBTRUxpbnV4IGtlcm5lbAAlcyB3YXMgcmVwbGFjZWQAJXMgd2FzIHNwZWNpZmllZCBidXQgJXMgd2FzIG5vdAAlcyB3b3VsZCBvdmVyd3JpdGUgaW5wdXQ7IGFib3J0aW5nACVzJXMgYXJndW1lbnQgJyVzJyB0b28gbGFyZ2UAJXMtJXMAJXM6ICVzOiBsaW5lIG51bWJlciBvdXQgb2YgcmFuZ2UAJXM6ICVzOiBtYXRjaCBub3QgZm91bmQAJXM6ICVzOiVzOiBkaXNvcmRlcjogACVzOiAnfScgaXMgcmVxdWlyZWQgaW4gcmVwZWF0IGNvdW50ACVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQAJXM6IGNhbiBtYWtlIHJlbGF0aXZlIHN5bWJvbGljIGxpbmtzIG9ubHkgaW4gY3VycmVudCBkaXJlY3RvcnkAJXM6IGNhbm5vdCBjaGFuZ2Ugbm9uYmxvY2tpbmcgbW9kZQAlczogY2Fubm90IGRldGVybWluZSBmaWxlIHNpemUAJXM6IGNhbm5vdCBmb2xsb3cgZW5kIG9mIHRoaXMgdHlwZSBvZiBmaWxlJXMAJXM6IGNhbm5vdCBvdmVyd3JpdGUgZGlyZWN0b3J5ACVzOiBjYW5ub3QgcmV3aW5kACVzOiBjYW5ub3Qgc2VlawAlczogY2Fubm90IHNlZWsgdG8gZW5kLXJlbGF0aXZlIG9mZnNldCAlcwAlczogY2Fubm90IHNlZWsgdG8gb2Zmc2V0ICVzACVzOiBjYW5ub3Qgc2VlayB0byByZWxhdGl2ZSBvZmZzZXQgJXMAJXM6IGNhbm5vdCBzaHJlZCBhcHBlbmQtb25seSBmaWxlIGRlc2NyaXB0b3IAJXM6IGNhbm5vdCBza2lwACVzOiBjYW5ub3Qgc2tpcCB0byBzcGVjaWZpZWQgb2Zmc2V0ACVzOiBjbG9zaW5nIGRlbGltaXRlciAnJWMnIG1pc3NpbmcAJXM6IGNvdWxkbid0IHJlc2V0IG5vbi1ibG9ja2luZyBtb2RlACVzOiBkZXNjZW5kIGludG8gZGlyZWN0b3J5ICVzPyAAJXM6IGRlc2NlbmQgaW50byB3cml0ZS1wcm90ZWN0ZWQgZGlyZWN0b3J5ICVzPyAAJXM6IGVuZCBvZiBmaWxlACVzOiBlcXVpdmFsZW5jZSBjbGFzcyBvcGVyYW5kIG11c3QgYmUgYSBzaW5nbGUgY2hhcmFjdGVyACVzOiBlcnJvciBzZXR0aW5nICVzACVzOiBlcnJvciB0cnVuY2F0aW5nACVzOiBlcnJvciB3cml0aW5nIGF0IG9mZnNldCAlcwAlczogZXhwZWN0ZWQgYSBudW1lcmljIHZhbHVlACVzOiBmYWlsZWQgdG8gY2xvc2UAJXM6IGZhaWxlZCB0byBnZXQgZXh0ZW50cyBpbmZvACVzOiBmYWlsZWQgdG8gb3BlbiBmb3Igd3JpdGluZwAlczogZmFpbGVkIHRvIHJlbW92ZQAlczogZmNudGwgZmFpbGVkACVzOiBmZGF0YXN5bmMgZmFpbGVkACVzOiBmaWxlIGhhcyBuZWdhdGl2ZSBzaXplACVzOiBmaWxlIGhhcyBzaHJ1bmsgdG9vIG11Y2gAJXM6IGZpbGUgdG9vIGxhcmdlACVzOiBmaWxlIHRvbyBsb25nACVzOiBmaWxlIHRydW5jYXRlZAAlczogZnN0YXQgZmFpbGVkACVzOiBmc3luYyBmYWlsZWQAJXM6IGhhcmQgbGluayBub3QgYWxsb3dlZCBmb3IgZGlyZWN0b3J5ACVzOiBpbnB1dCBjb250YWlucyBhIGxvb3A6ACVzOiBpbnB1dCBjb250YWlucyBhbiBvZGQgbnVtYmVyIG9mIHRva2VucwAlczogaW5wdXQgZmlsZSBpcyBvdXRwdXQgZmlsZQAlczogaW50ZWdlciBleHBlY3RlZCBhZnRlciBkZWxpbWl0ZXIAJXM6IGludmFsaWQgY291bnQgYXQgc3RhcnQgb2YgJXMAJXM6IGludmFsaWQgZGlyZWN0aXZlACVzOiBpbnZhbGlkIGZpZWxkIHNwZWNpZmljYXRpb24gJXMAJXM6IGludmFsaWQgZmlsZSB0eXBlACVzOiBpbnZhbGlkIG9wdGlvbiAtLSAnJWMnCgAlczogaW52YWxpZCBwYXR0ZXJuACVzOiBpbnZhbGlkIHByb2Nlc3MgaWQAJXM6IGludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiAlcwAlczogaW52YWxpZCBzaWduYWwAJXM6IGludmFsaWQgc3RhcnQgdmFsdWUgZm9yIG51bWVyaWNhbCBzdWZmaXgAJXM6IGxpbmUgbnVtYmVyIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8AJXM6IGxpbmUgbnVtYmVyIG91dCBvZiByYW5nZQAlczogbHNlZWsgZmFpbGVkACVzOiBtdWx0aXBsZSBzaWduYWxzIHNwZWNpZmllZAAlczogbmV3IHBlcm1pc3Npb25zIGFyZSAlcywgbm90ICVzACVzOiBubyBmaWxlIHdhcyB2ZXJpZmllZAAlczogbm8gcHJvcGVybHkgZm9ybWF0dGVkICVzIGNoZWNrc3VtIGxpbmVzIGZvdW5kACVzOiBubyBzaXplIGluZm9ybWF0aW9uIGZvciB0aGlzIGRldmljZQAlczogbm8gc3VjaCB1c2VyACVzOiBub3QgbGlzdGluZyBhbHJlYWR5LWxpc3RlZCBkaXJlY3RvcnkAJXM6IG51bWJlciBvZiBieXRlcyBpcyB0b28gbGFyZ2UAJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAnJWMnCgAlczogb3ZlcndyaXRlICVzPyAAJXM6IHBhc3MgJWx1LyVsdSAoJXMpLi4uACVzOiBwYXNzICVsdS8lbHUgKCVzKS4uLiVzACVzOiBwYXNzICVsdS8lbHUgKCVzKS4uLiVzLyVzICVkJSUAJXM6IHJlYWQgZXJyb3IAJXM6IHJlbW92ZSAlcyAlcz8gACVzOiByZW1vdmUgd3JpdGUtcHJvdGVjdGVkICVzICVzPyAAJXM6IHJlbW92ZWQAJXM6IHJlbW92aW5nACVzOiByZW5hbWVkIHRvICVzACVzOiByZXBsYWNlICVzLCBvdmVycmlkaW5nIG1vZGUgJTA0bG8gKCVzKT8gACVzOiByZXBsYWNlICVzPyAAJXM6IHNlZWsgZmFpbGVkACVzOiB0b28gbWFueSBjaGVja3N1bSBsaW5lcwAlczogdW5hYmxlIHRvIGRldGVybWluZSBtYXhpbXVtIGZpbGUgbmFtZSBsZW5ndGgAJXM6IHVuYWJsZSB0byBwZXJmb3JtIGFsbCByZXF1ZXN0ZWQgb3BlcmF0aW9ucwAlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQAJXM6IHVua25vd24gYmluYXJ5IG9wZXJhdG9yACVzOiB1bndyaXRhYmxlICVzIChtb2RlICUwNGxvLCAlcyk7IHRyeSBhbnl3YXk/IAAlczogdmFsdWUgbm90IGNvbXBsZXRlbHkgY29udmVydGVkACVzOiB3cml0ZSBlcnJvcgAlczogd3JpdGUgZmFpbGVkACVzOiVsdTogaW52YWxpZCBsaW5lOyAgbWlzc2luZyBzZWNvbmQgdG9rZW4AJXM6JWx1OiBpbnZhbGlkIHplcm8tbGVuZ3RoIGZpbGUgbmFtZQAlczolbHU6IHVucmVjb2duaXplZCBrZXl3b3JkICVzACVzfTogaW50ZWdlciByZXF1aXJlZCBiZXR3ZWVuICd7JyBhbmQgJ30nACcAJy0lYycgZXh0cmEgY2hhcmFjdGVycyBvciBpbnZhbGlkIG51bWJlciBpbiB0aGUgYXJndW1lbnQ6ICVzACctLXBhZ2VzPUZJUlNUX1BBR0VbOkxBU1RfUEFHRV0nIG1pc3NpbmcgYXJndW1lbnQAJy1OIE5VTUJFUicgaW52YWxpZCBzdGFydGluZyBsaW5lIG51bWJlcgAnLVcgUEFHRV9XSURUSCcgaW52YWxpZCBudW1iZXIgb2YgY2hhcmFjdGVycwAnLWwgUEFHRV9MRU5HVEgnIGludmFsaWQgbnVtYmVyIG9mIGxpbmVzACctbyBNQVJHSU4nIGludmFsaWQgbGluZSBvZmZzZXQAJy13IFBBR0VfV0lEVEgnIGludmFsaWQgbnVtYmVyIG9mIGNoYXJhY3RlcnMAJy8nIHNwZWNpZmllciBub3QgYXQgc3RhcnQgb2YgbnVtYmVyOiAlcwAnLycgc3BlY2lmaWVyIG9ubHkgYWxsb3dlZCB3aXRoIHRoZSBsYXN0IHZhbHVlAChDKQAqIGZpbGUgc3lzdGVtcyB0aGF0IGNhY2hlIGluIHRlbXBvcmFyeSBsb2NhdGlvbnMsIHN1Y2ggYXMgTkZTCnZlcnNpb24gMyBjbGllbnRzCgoqIGNvbXByZXNzZWQgZmlsZSBzeXN0ZW1zCgoAKiBsb2ctc3RydWN0dXJlZCBvciBqb3VybmFsZWQgZmlsZSBzeXN0ZW1zLCBzdWNoIGFzIHRob3NlIHN1cHBsaWVkIHdpdGgKQUlYIGFuZCBTb2xhcmlzIChhbmQgSkZTLCBSZWlzZXJGUywgWEZTLCBFeHQzLCBldGMuKQoKKiBmaWxlIHN5c3RlbXMgdGhhdCB3cml0ZSByZWR1bmRhbnQgZGF0YSBhbmQgY2Fycnkgb24gZXZlbiBpZiBzb21lIHdyaXRlcwpmYWlsLCBzdWNoIGFzIFJBSUQtYmFzZWQgZmlsZSBzeXN0ZW1zCgoqIGZpbGUgc3lzdGVtcyB0aGF0IG1ha2Ugc25hcHNob3RzLCBzdWNoIGFzIE5ldHdvcmsgQXBwbGlhbmNlJ3MgTkZTIHNlcnZlcgoKACwgIGxvYWQgYXZlcmFnZTogJS4yZgAtLSVzIGFyZ3VtZW50ICVzIHRvbyBsYXJnZQAtLWNvbnRleHQgKC1aKSB3b3JrcyBvbmx5IG9uIGFuIFNFTGludXgtZW5hYmxlZCBrZXJuZWwALS1jb250ZXh0ICgtWikgd29ya3Mgb25seSBvbiBhbiBTRUxpbnV4L1NNQUNLLWVuYWJsZWQga2VybmVsAC0tZGF0YSBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQALS1maWx0ZXIgZG9lcyBub3QgcHJvY2VzcyBhIGNodW5rIGV4dHJhY3RlZCB0byBzdGRvdXQALS1mb3JtYXQgcGFkZGluZyBvdmVycmlkaW5nIC0tcGFkZGluZwAtLWdyb3VwIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC1jLy1kLy1ELy11AC0tZ3JvdXBpbmcgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLS1mb3JtYXQALS1oZWFkZXIgaWdub3JlZCB3aXRoIGNvbW1hbmQtbGluZSBpbnB1dAAtLXJlZmxpbmsgY2FuIGJlIHVzZWQgb25seSB3aXRoIC0tc3BhcnNlPWF1dG8ALS10YWcgZG9lcyBub3Qgc3VwcG9ydCAtLXRleHQgbW9kZQAtUiAtLWRlcmVmZXJlbmNlIHJlcXVpcmVzIGVpdGhlciAtSCBvciAtTAAtUiAtaCByZXF1aXJlcyAtUAAtZWYgZG9lcyBub3QgYWNjZXB0IC1sAC1udCBkb2VzIG5vdCBhY2NlcHQgLWwALW90IGRvZXMgbm90IGFjY2VwdCAtbAAtciBub3Qgc3BlY2lmaWVkOyBvbWl0dGluZyBkaXJlY3RvcnkgJXMAOyBnaXZpbmcgdXAgb24gdGhpcyBuYW1lADxpbnRlcm5hbD4APz8/CgA/Pz8/PwBBYm9ydGVkAEFjY2VzczogJXgKTW9kaWZ5OiAleQpDaGFuZ2U6ICV6CiBCaXJ0aDogJXcKAEFjY2VzczogKCUwNGEvJTEwLjEwQSkgIFVpZDogKCU1dS8lOFUpICAgR2lkOiAoJTVnLyU4RykKAEFkZHJlc3MgZmFtaWx5IGZvciBob3N0bmFtZSBub3Qgc3VwcG9ydGVkAEFsYXJtIGNsb2NrAEFsZXggRGV5bW8AQWxsIHJlcXVlc3RzIGRvbmUAQXJndW1lbnQgYnVmZmVyIHRvbyBzbWFsbABBcm5vbGQgUm9iYmlucwBBc3NhZiBHb3Jkb24AQXZhaWwAQXZhaWxhYmxlAEJhZCBzeXN0ZW0gY2FsbABCYWQgdmFsdWUgZm9yIGFpX2ZsYWdzAEJyaWFuIEZveABCcm9rZW4gcGlwZQBCdXMgZXJyb3IAQ0FVVElPTjogTm90ZSB0aGF0IHNocmVkIHJlbGllcyBvbiBhIHZlcnkgaW1wb3J0YW50IGFzc3VtcHRpb246CnRoYXQgdGhlIGZpbGUgc3lzdGVtIG92ZXJ3cml0ZXMgZGF0YSBpbiBwbGFjZS4gIFRoaXMgaXMgdGhlIHRyYWRpdGlvbmFsCndheSB0byBkbyB0aGluZ3MsIGJ1dCBtYW55IG1vZGVybiBmaWxlIHN5c3RlbSBkZXNpZ25zIGRvIG5vdCBzYXRpc2Z5IHRoaXMKYXNzdW1wdGlvbi4gIFRoZSBmb2xsb3dpbmcgYXJlIGV4YW1wbGVzIG9mIGZpbGUgc3lzdGVtcyBvbiB3aGljaCBzaHJlZCBpcwpub3QgZWZmZWN0aXZlLCBvciBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBlZmZlY3RpdmUgaW4gYWxsIGZpbGUgc3lzdGVtIG1vZGVzOgoKAENPTU1FTlQAQ1BVIHRpbWUgbGltaXQgZXhjZWVkZWQAQ2FsbCB0aGUgbGluayBmdW5jdGlvbiB0byBjcmVhdGUgYSBsaW5rIG5hbWVkIEZJTEUyIHRvIGFuIGV4aXN0aW5nIEZJTEUxLgoKAENhbGwgdGhlIHVubGluayBmdW5jdGlvbiB0byByZW1vdmUgdGhlIHNwZWNpZmllZCBGSUxFLgoKAENhcGFjaXR5AENoYW5nZSB0aGUgU0VMaW51eCBzZWN1cml0eSBjb250ZXh0IG9mIGVhY2ggRklMRSB0byBDT05URVhULgpXaXRoIC0tcmVmZXJlbmNlLCBjaGFuZ2UgdGhlIHNlY3VyaXR5IGNvbnRleHQgb2YgZWFjaCBGSUxFIHRvIHRoYXQgb2YgUkZJTEUuCgBDaGFuZ2UgdGhlIGdyb3VwIG9mIGVhY2ggRklMRSB0byBHUk9VUC4KV2l0aCAtLXJlZmVyZW5jZSwgY2hhbmdlIHRoZSBncm91cCBvZiBlYWNoIEZJTEUgdG8gdGhhdCBvZiBSRklMRS4KCgBDaGFuZ2UgdGhlIG1vZGUgb2YgZWFjaCBGSUxFIHRvIE1PREUuCldpdGggLS1yZWZlcmVuY2UsIGNoYW5nZSB0aGUgbW9kZSBvZiBlYWNoIEZJTEUgdG8gdGhhdCBvZiBSRklMRS4KCgBDaGFuZ2UgdGhlIG93bmVyIGFuZC9vciBncm91cCBvZiBlYWNoIEZJTEUgdG8gT1dORVIgYW5kL29yIEdST1VQLgpXaXRoIC0tcmVmZXJlbmNlLCBjaGFuZ2UgdGhlIG93bmVyIGFuZCBncm91cCBvZiBlYWNoIEZJTEUgdG8gdGhvc2Ugb2YgUkZJTEUuCgoAQ2hldCBSYW1leQBDaGlsZCBleGl0ZWQAQ29saW4gUGx1bWIAQ29tcGFyZSBzb3J0ZWQgZmlsZXMgRklMRTEgYW5kIEZJTEUyIGxpbmUgYnkgbGluZS4KAENvbmNhdGVuYXRlIEZJTEUocykgdG8gc3RhbmRhcmQgb3V0cHV0LgoAQ29udGV4dDogJUMKAENvbnRpbnVlZABDb252ZXJ0IGJsYW5rcyBpbiBlYWNoIEZJTEUgdG8gdGFicywgd3JpdGluZyB0byBzdGFuZGFyZCBvdXRwdXQuCgBDb252ZXJ0IHRhYnMgaW4gZWFjaCBGSUxFIHRvIHNwYWNlcywgd3JpdGluZyB0byBzdGFuZGFyZCBvdXRwdXQuCgBDb3B5IFNPVVJDRSB0byBERVNULCBvciBtdWx0aXBsZSBTT1VSQ0UocykgdG8gRElSRUNUT1JZLgoAQ29weSBzdGFuZGFyZCBpbnB1dCB0byBlYWNoIEZJTEUsIGFuZCBhbHNvIHRvIHN0YW5kYXJkIG91dHB1dC4KCiAgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgdG8gdGhlIGdpdmVuIEZJTEVzLCBkbyBub3Qgb3ZlcndyaXRlCiAgLWksIC0taWdub3JlLWludGVycnVwdHMgICBpZ25vcmUgaW50ZXJydXB0IHNpZ25hbHMKAENyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlIG9yIGRpcmVjdG9yeSwgc2FmZWx5LCBhbmQgcHJpbnQgaXRzIG5hbWUuClRFTVBMQVRFIG11c3QgY29udGFpbiBhdCBsZWFzdCAzIGNvbnNlY3V0aXZlICdYJ3MgaW4gbGFzdCBjb21wb25lbnQuCklmIFRFTVBMQVRFIGlzIG5vdCBzcGVjaWZpZWQsIHVzZSB0bXAuWFhYWFhYWFhYWCwgYW5kIC0tdG1wZGlyIGlzIGltcGxpZWQuCgBDcmVhdGUgbmFtZWQgcGlwZXMgKEZJRk9zKSB3aXRoIHRoZSBnaXZlbiBOQU1Fcy4KAENyZWF0ZSB0aGUgRElSRUNUT1JZKGllcyksIGlmIHRoZXkgZG8gbm90IGFscmVhZHkgZXhpc3QuCgBDcmVhdGUgdGhlIHNwZWNpYWwgZmlsZSBOQU1FIG9mIHRoZSBnaXZlbiBUWVBFLgoARGF2aWQgTS4gSWhuYXQARGF2aWQgTWFjS2VuemllAERhdmlkIE1hZG9yZQBEZXZpY2U6ICVEaC8lZGQJSW5vZGU6ICUtMTBpICBMaW5rczogJS01aCBEZXZpY2UgdHlwZTogJXQsJVQKAERldmljZTogJURoLyVkZAlJbm9kZTogJS0xMGkgIExpbmtzOiAlaAoARGlhZ25vc2UgaW52YWxpZCBvciB1bnBvcnRhYmxlIGZpbGUgbmFtZXMuCgogIC1wICAgICAgICAgICAgICAgICAgY2hlY2sgZm9yIG1vc3QgUE9TSVggc3lzdGVtcwogIC1QICAgICAgICAgICAgICAgICAgY2hlY2sgZm9yIGVtcHR5IG5hbWVzIGFuZCBsZWFkaW5nICItIgogICAgICAtLXBvcnRhYmlsaXR5ICAgY2hlY2sgZm9yIGFsbCBQT1NJWCBzeXN0ZW1zIChlcXVpdmFsZW50IHRvIC1wIC1QKQoARGlyZWN0b3J5OiAARGlzcGxheSBmaWxlIG9yIGZpbGUgc3lzdGVtIHN0YXR1cy4KAERpc3BsYXkgdGhlIGN1cnJlbnQgdGltZSBpbiB0aGUgZ2l2ZW4gRk9STUFULCBvciBzZXQgdGhlIHN5c3RlbSBkYXRlLgoARG1pdHJ5IFYuIExldmluAEVNVCB0cmFwAEVYSVQARWFjaCByYW5nZSBpcyBvbmUgb2Y6CgogIE4gICAgIE4ndGggYnl0ZSwgY2hhcmFjdGVyIG9yIGZpZWxkLCBjb3VudGVkIGZyb20gMQogIE4tICAgIGZyb20gTid0aCBieXRlLCBjaGFyYWN0ZXIgb3IgZmllbGQsIHRvIGVuZCBvZiBsaW5lCiAgTi1NICAgZnJvbSBOJ3RoIHRvIE0ndGggKGluY2x1ZGVkKSBieXRlLCBjaGFyYWN0ZXIgb3IgZmllbGQKICAtTSAgICBmcm9tIGZpcnN0IHRvIE0ndGggKGluY2x1ZGVkKSBieXRlLCBjaGFyYWN0ZXIgb3IgZmllbGQKAEVjaG8gdGhlIFNUUklORyhzKSB0byBzdGFuZGFyZCBvdXRwdXQuCgogIC1uICAgICAgICAgICAgIGRvIG5vdCBvdXRwdXQgdGhlIHRyYWlsaW5nIG5ld2xpbmUKAEVyaWMgQmxha2UARXhlY3V0ZSB0aGUgUFJPR1JBTV9OQU1FIGJ1aWx0LWluIHByb2dyYW0gd2l0aCB0aGUgZ2l2ZW4gUEFSQU1FVEVSUy4KCgBFeGl0IHdpdGggYSBzdGF0dXMgY29kZSBpbmRpY2F0aW5nIGZhaWx1cmUuAEV4aXQgd2l0aCBhIHN0YXR1cyBjb2RlIGluZGljYXRpbmcgc3VjY2Vzcy4ARXhpdCB3aXRoIHRoZSBzdGF0dXMgZGV0ZXJtaW5lZCBieSBFWFBSRVNTSU9OLgoKAEYuIFBpbmFyZABGQUlMRUQARkFJTEVEIG9wZW4gb3IgcmVhZABGSVhNRTogdW5rbm93bgBGT1JNQVQgbXVzdCBiZSBzdWl0YWJsZSBmb3IgcHJpbnRpbmcgb25lIGFyZ3VtZW50IG9mIHR5cGUgJ2RvdWJsZSc7Cml0IGRlZmF1bHRzIHRvICUuUFJFQ2YgaWYgRklSU1QsIElOQ1JFTUVOVCwgYW5kIExBU1QgYXJlIGFsbCBmaXhlZCBwb2ludApkZWNpbWFsIG51bWJlcnMgd2l0aCBtYXhpbXVtIHByZWNpc2lvbiBQUkVDLCBhbmQgdG8gJWcgb3RoZXJ3aXNlLgoARmlmb3MgZG8gbm90IGhhdmUgbWFqb3IgYW5kIG1pbm9yIGRldmljZSBudW1iZXJzLgBGaWxlAEZpbGUgc2l6ZSBsaW1pdCBleGNlZWRlZABGaWxlcyBhcmUgY3JlYXRlZCB1K3J3LCBhbmQgZGlyZWN0b3JpZXMgdStyd3gsIG1pbnVzIHVtYXNrIHJlc3RyaWN0aW9ucy4KAEZpbGVzeXN0ZW0ARmlsdGVyIGFkamFjZW50IG1hdGNoaW5nIGxpbmVzIGZyb20gSU5QVVQgKG9yIHN0YW5kYXJkIGlucHV0KSwKd3JpdGluZyB0byBPVVRQVVQgKG9yIHN0YW5kYXJkIG91dHB1dCkuCgpXaXRoIG5vIG9wdGlvbnMsIG1hdGNoaW5nIGxpbmVzIGFyZSBtZXJnZWQgdG8gdGhlIGZpcnN0IG9jY3VycmVuY2UuCgBGbG9hdGluZyBwb2ludCBleGNlcHRpb24ARm9yIGVhY2ggcGFpciBvZiBpbnB1dCBsaW5lcyB3aXRoIGlkZW50aWNhbCBqb2luIGZpZWxkcywgd3JpdGUgYSBsaW5lIHRvCnN0YW5kYXJkIG91dHB1dC4gIFRoZSBkZWZhdWx0IGpvaW4gZmllbGQgaXMgdGhlIGZpcnN0LCBkZWxpbWl0ZWQgYnkgYmxhbmtzLgoARnVsbCBkb2N1bWVudGF0aW9uIGF0OiA8JXMlcz4KAEdpdXNlcHBlIFNjcml2YW5vAEguIFBldGVyIEFudmluAEhhbmd1cABJL08gcG9zc2libGUASURMRQBJRnJlZQBJVXNlJQBJVXNlZABJYW4gTGFuY2UgVGF5bG9yAElkbGUASWYgRklMRSBpcyBub3Qgc3BlY2lmaWVkLCB1c2UgJXMuICAlcyBhcyBGSUxFIGlzIGNvbW1vbi4KCgBJbGxlZ2FsIGluc3RydWN0aW9uAEluIGFkZGl0aW9uLCBmaWxlIHN5c3RlbSBiYWNrdXBzIGFuZCByZW1vdGUgbWlycm9ycyBtYXkgY29udGFpbiBjb3BpZXMKb2YgdGhlIGZpbGUgdGhhdCBjYW5ub3QgYmUgcmVtb3ZlZCwgYW5kIHRoYXQgd2lsbCBhbGxvdyBhIHNocmVkZGVkIGZpbGUKdG8gYmUgcmVjb3ZlcmVkIGxhdGVyLgoASW4gcmVhbCBsaWZlOiAASW4gdGhlIDFzdCBmb3JtLCBjcmVhdGUgYSBsaW5rIHRvIFRBUkdFVCB3aXRoIHRoZSBuYW1lIExJTktfTkFNRS4KSW4gdGhlIDJuZCBmb3JtLCBjcmVhdGUgYSBsaW5rIHRvIFRBUkdFVCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuCkluIHRoZSAzcmQgYW5kIDR0aCBmb3JtcywgY3JlYXRlIGxpbmtzIHRvIGVhY2ggVEFSR0VUIGluIERJUkVDVE9SWS4KQ3JlYXRlIGhhcmQgbGlua3MgYnkgZGVmYXVsdCwgc3ltYm9saWMgbGlua3Mgd2l0aCAtLXN5bWJvbGljLgpCeSBkZWZhdWx0LCBlYWNoIGRlc3RpbmF0aW9uIChuYW1lIG9mIG5ldyBsaW5rKSBzaG91bGQgbm90IGFscmVhZHkgZXhpc3QuCldoZW4gY3JlYXRpbmcgaGFyZCBsaW5rcywgZWFjaCBUQVJHRVQgbXVzdCBleGlzdC4gIFN5bWJvbGljIGxpbmtzCmNhbiBob2xkIGFyYml0cmFyeSB0ZXh0OyBpZiBsYXRlciByZXNvbHZlZCwgYSByZWxhdGl2ZSBsaW5rIGlzCmludGVycHJldGVkIGluIHJlbGF0aW9uIHRvIGl0cyBwYXJlbnQgZGlyZWN0b3J5LgoASW4gdGhlIGNhc2Ugb2YgZXh0MyBmaWxlIHN5c3RlbXMsIHRoZSBhYm92ZSBkaXNjbGFpbWVyIGFwcGxpZXMKKGFuZCBzaHJlZCBpcyB0aHVzIG9mIGxpbWl0ZWQgZWZmZWN0aXZlbmVzcykgb25seSBpbiBkYXRhPWpvdXJuYWwgbW9kZSwKd2hpY2ggam91cm5hbHMgZmlsZSBkYXRhIGluIGFkZGl0aW9uIHRvIGp1c3QgbWV0YWRhdGEuICBJbiBib3RoIHRoZQpkYXRhPW9yZGVyZWQgKGRlZmF1bHQpIGFuZCBkYXRhPXdyaXRlYmFjayBtb2Rlcywgc2hyZWQgd29ya3MgYXMgdXN1YWwuCkV4dDMgam91cm5hbGluZyBtb2RlcyBjYW4gYmUgY2hhbmdlZCBieSBhZGRpbmcgdGhlIGRhdGE9c29tZXRoaW5nIG9wdGlvbgp0byB0aGUgbW91bnQgb3B0aW9ucyBmb3IgYSBwYXJ0aWN1bGFyIGZpbGUgc3lzdGVtIGluIHRoZSAvZXRjL2ZzdGFiIGZpbGUsCmFzIGRvY3VtZW50ZWQgaW4gdGhlIG1vdW50IG1hbiBwYWdlIChtYW4gbW91bnQpLgoKAEluZmluaXR5AEluZm9ybWF0aW9uIHJlcXVlc3QASW5vZGVzAEludGVycnVwdABJbnRlcnJ1cHRlZCBieSBhIHNpZ25hbABJbnZhbGlkIGJhY2sgcmVmZXJlbmNlAEludmFsaWQgY2hhcmFjdGVyIGNsYXNzIG5hbWUASW52YWxpZCBjb2xsYXRpb24gY2hhcmFjdGVyAEludmFsaWQgY29udGVudCBvZiBce1x9AEludmFsaWQgbnVtYmVyAEludmFsaWQgcHJlY2VkaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbgBJbnZhbGlkIHJhbmdlIGVuZABJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbgBKYW1lcyBZb3VuZ21hbgBKYXkgTGVwcmVhdQBKaW0gS2luZ2RvbgBKaW0gTWV5ZXJpbmcASm9zZXBoIEFyY2VuZWF1eABLYXZlaCBHaGF6aQBLYXl2YW4gQWdoYWllcG91cgBLZXZpbiBCcmF1bnNkb3JmAEtpbGxlZABMSU5FAExPR0lOAExpc3QgaW5mb3JtYXRpb24gYWJvdXQgdGhlIEZJTEVzICh0aGUgY3VycmVudCBkaXJlY3RvcnkgYnkgZGVmYXVsdCkuClNvcnQgZW50cmllcyBhbHBoYWJldGljYWxseSBpZiBub25lIG9mIC1jZnR1dlNVWCBub3IgLS1zb3J0IGlzIHNwZWNpZmllZC4KAExvZ2luAExvZ2luIG5hbWU6IABMdWNhcyBwcmltZSB0ZXN0IGZhaWx1cmUuICBUaGlzIHNob3VsZCBub3QgaGFwcGVuAE1hcmsgS2V0dGVuaXMATWF0dGhldyBCcmFkYnVybgBNZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlAE1lbW9yeSBleGhhdXN0ZWQATWljaGFlbCBNZXNrZXMATWljaGFlbCBTdG9uZQBNaWtlIEhhZXJ0ZWwATWlrZSBQYXJrZXIATW91bnRlZCBvbgBOQU1FAE5hbWUATmFtZSBvciBzZXJ2aWNlIG5vdCBrbm93bgBOaWVscyBNb2xsZXIATm8gYWRkcmVzcyBhc3NvY2lhdGVkIHdpdGggaG9zdG5hbWUATm8gbWF0Y2gATm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uAE5vbi1yZWNvdmVyYWJsZSBmYWlsdXJlIGluIG5hbWUgcmVzb2x1dGlvbgBPSwBPbmx5IG9uZSBzdHJpbmcgbWF5IGJlIGdpdmVuIHdoZW4gZGVsZXRpbmcgd2l0aG91dCBzcXVlZXppbmcgcmVwZWF0cy4AT3JkZXJpbmcgb3B0aW9uczoKCgBPdGhlciBvcHRpb25zOgoKAE91dHB1dCBhIHBlcm11dGVkIGluZGV4LCBpbmNsdWRpbmcgY29udGV4dCwgb2YgdGhlIHdvcmRzIGluIHRoZSBpbnB1dCBmaWxlcy4KAE91dHB1dCBjb21tYW5kcyB0byBzZXQgdGhlIExTX0NPTE9SUyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCkRldGVybWluZSBmb3JtYXQgb2Ygb3V0cHV0OgogIC1iLCAtLXNoLCAtLWJvdXJuZS1zaGVsbCAgICBvdXRwdXQgQm91cm5lIHNoZWxsIGNvZGUgdG8gc2V0IExTX0NPTE9SUwogIC1jLCAtLWNzaCwgLS1jLXNoZWxsICAgICAgICBvdXRwdXQgQyBzaGVsbCBjb2RlIHRvIHNldCBMU19DT0xPUlMKICAtcCwgLS1wcmludC1kYXRhYmFzZSAgICAgICAgb3V0cHV0IGRlZmF1bHRzCgBPdXRwdXQgZWFjaCBOQU1FIHdpdGggaXRzIGxhc3Qgbm9uLXNsYXNoIGNvbXBvbmVudCBhbmQgdHJhaWxpbmcgc2xhc2hlcwpyZW1vdmVkOyBpZiBOQU1FIGNvbnRhaW5zIG5vIC8ncywgb3V0cHV0ICcuJyAobWVhbmluZyB0aGUgY3VycmVudCBkaXJlY3RvcnkpLgoKAE91dHB1dCBwaWVjZXMgb2YgRklMRSBzZXBhcmF0ZWQgYnkgUEFUVEVSTihzKSB0byBmaWxlcyAneHgwMCcsICd4eDAxJywgLi4uLAphbmQgb3V0cHV0IGJ5dGUgY291bnRzIG9mIGVhY2ggcGllY2UgdG8gc3RhbmRhcmQgb3V0cHV0LgoAT3V0cHV0IHBpZWNlcyBvZiBGSUxFIHRvIFBSRUZJWGFhLCBQUkVGSVhhYiwgLi4uOwpkZWZhdWx0IHNpemUgaXMgMTAwMCBsaW5lcywgYW5kIGRlZmF1bHQgUFJFRklYIGlzICd4Jy4KAE91dHB1dCBwbGF0Zm9ybSBkZXBlbmRlbnQgbGltaXRzIGluIGEgZm9ybWF0IHVzZWZ1bCBmb3Igc2hlbGwgc2NyaXB0cy4KCgBPdXRwdXQgd2hvIGlzIGN1cnJlbnRseSBsb2dnZWQgaW4gYWNjb3JkaW5nIHRvIEZJTEUuCklmIEZJTEUgaXMgbm90IHNwZWNpZmllZCwgdXNlICVzLiAgJXMgYXMgRklMRSBpcyBjb21tb24uCgoAT3ZlcndyaXRlIHRoZSBzcGVjaWZpZWQgRklMRShzKSByZXBlYXRlZGx5LCBpbiBvcmRlciB0byBtYWtlIGl0IGhhcmRlcgpmb3IgZXZlbiB2ZXJ5IGV4cGVuc2l2ZSBoYXJkd2FyZSBwcm9iaW5nIHRvIHJlY292ZXIgdGhlIGRhdGEuCgBQSUQAUGFja2FnZWQgYnkgJXMKAFBhY2thZ2VkIGJ5ICVzICglcykKAFBhZHJhaWcgQnJhZHkAUGFnaW5hdGUgb3IgY29sdW1uYXRlIEZJTEUocykgZm9yIHByaW50aW5nLgoAUGFyYW1ldGVyIHN0cmluZyBub3QgY29ycmVjdGx5IGVuY29kZWQAUGF1bCBFZ2dlcnQAUGF1bCBSdWJpbgBQZXRlIFRlck1hYXQAUGxhbjoKAFBvd2VyIGZhaWx1cmUAUHJlbWF0dXJlIGVuZCBvZiByZWd1bGFyIGV4cHJlc3Npb24AUHJpbnQgQVJHVU1FTlQocykgYWNjb3JkaW5nIHRvIEZPUk1BVCwgb3IgZXhlY3V0ZSBhY2NvcmRpbmcgdG8gT1BUSU9OOgoKAFByaW50IENSQyBjaGVja3N1bSBhbmQgYnl0ZSBjb3VudHMgb2YgZWFjaCBGSUxFLgoKAFByaW50IE5BTUUgd2l0aCBhbnkgbGVhZGluZyBkaXJlY3RvcnkgY29tcG9uZW50cyByZW1vdmVkLgpJZiBzcGVjaWZpZWQsIGFsc28gcmVtb3ZlIGEgdHJhaWxpbmcgU1VGRklYLgoAUHJpbnQgY2VydGFpbiBzeXN0ZW0gaW5mb3JtYXRpb24uICBXaXRoIG5vIE9QVElPTiwgc2FtZSBhcyAtcy4KCiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiwgaW4gdGhlIGZvbGxvd2luZyBvcmRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgb21pdCAtcCBhbmQgLWkgaWYgdW5rbm93bjoKICAtcywgLS1rZXJuZWwtbmFtZSAgICAgICAgcHJpbnQgdGhlIGtlcm5lbCBuYW1lCiAgLW4sIC0tbm9kZW5hbWUgICAgICAgICAgIHByaW50IHRoZSBuZXR3b3JrIG5vZGUgaG9zdG5hbWUKICAtciwgLS1rZXJuZWwtcmVsZWFzZSAgICAgcHJpbnQgdGhlIGtlcm5lbCByZWxlYXNlCgBQcmludCBjaGVja3N1bSBhbmQgYmxvY2sgY291bnRzIGZvciBlYWNoIEZJTEUuCgBQcmludCBncm91cCBtZW1iZXJzaGlwcyBmb3IgZWFjaCBVU0VSTkFNRSBvciwgaWYgbm8gVVNFUk5BTUUgaXMgc3BlY2lmaWVkLCBmb3IKdGhlIGN1cnJlbnQgcHJvY2VzcyAod2hpY2ggbWF5IGRpZmZlciBpZiB0aGUgZ3JvdXBzIGRhdGFiYXNlIGhhcyBjaGFuZ2VkKS4KAFByaW50IGluZm9ybWF0aW9uIGFib3V0IHVzZXJzIHdobyBhcmUgY3VycmVudGx5IGxvZ2dlZCBpbi4KAFByaW50IG1hY2hpbmUgYXJjaGl0ZWN0dXJlLgoKAFByaW50IG5ld2xpbmUsIHdvcmQsIGFuZCBieXRlIGNvdW50cyBmb3IgZWFjaCBGSUxFLCBhbmQgYSB0b3RhbCBsaW5lIGlmCm1vcmUgdGhhbiBvbmUgRklMRSBpcyBzcGVjaWZpZWQuICBBIHdvcmQgaXMgYSBub24temVyby1sZW5ndGggc2VxdWVuY2Ugb2YKY2hhcmFjdGVycyBkZWxpbWl0ZWQgYnkgd2hpdGUgc3BhY2UuCgBQcmludCBudW1iZXJzIGZyb20gRklSU1QgdG8gTEFTVCwgaW4gc3RlcHMgb2YgSU5DUkVNRU5ULgoAUHJpbnQgb3IgY2hhbmdlIHRlcm1pbmFsIGNoYXJhY3RlcmlzdGljcy4KAFByaW50IHNlbGVjdGVkIHBhcnRzIG9mIGxpbmVzIGZyb20gZWFjaCBGSUxFIHRvIHN0YW5kYXJkIG91dHB1dC4KAFByaW50IHRoZSBjdXJyZW50IHRpbWUsIHRoZSBsZW5ndGggb2YgdGltZSB0aGUgc3lzdGVtIGhhcyBiZWVuIHVwLAp0aGUgbnVtYmVyIG9mIHVzZXJzIG9uIHRoZSBzeXN0ZW0sIGFuZCB0aGUgYXZlcmFnZSBudW1iZXIgb2Ygam9icwppbiB0aGUgcnVuIHF1ZXVlIG92ZXIgdGhlIGxhc3QgMSwgNSBhbmQgMTUgbWludXRlcy4AUHJpbnQgdGhlIGZpbGUgbmFtZSBvZiB0aGUgdGVybWluYWwgY29ubmVjdGVkIHRvIHN0YW5kYXJkIGlucHV0LgoKICAtcywgLS1zaWxlbnQsIC0tcXVpZXQgICBwcmludCBub3RoaW5nLCBvbmx5IHJldHVybiBhbiBleGl0IHN0YXR1cwoAUHJpbnQgdGhlIGZpcnN0ICVkIGxpbmVzIG9mIGVhY2ggRklMRSB0byBzdGFuZGFyZCBvdXRwdXQuCldpdGggbW9yZSB0aGFuIG9uZSBGSUxFLCBwcmVjZWRlIGVhY2ggd2l0aCBhIGhlYWRlciBnaXZpbmcgdGhlIGZpbGUgbmFtZS4KAFByaW50IHRoZSBmdWxsIGZpbGVuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgoKAFByaW50IHRoZSBsYXN0ICVkIGxpbmVzIG9mIGVhY2ggRklMRSB0byBzdGFuZGFyZCBvdXRwdXQuCldpdGggbW9yZSB0aGFuIG9uZSBGSUxFLCBwcmVjZWRlIGVhY2ggd2l0aCBhIGhlYWRlciBnaXZpbmcgdGhlIGZpbGUgbmFtZS4KAFByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXIuCgoAUHJpbnQgdGhlIG51bWJlciBvZiBwcm9jZXNzaW5nIHVuaXRzIGF2YWlsYWJsZSB0byB0aGUgY3VycmVudCBwcm9jZXNzLAp3aGljaCBtYXkgYmUgbGVzcyB0aGFuIHRoZSBudW1iZXIgb2Ygb25saW5lIHByb2Nlc3NvcnMKCgBQcmludCB0aGUgcHJpbWUgZmFjdG9ycyBvZiBlYWNoIHNwZWNpZmllZCBpbnRlZ2VyIE5VTUJFUi4gIElmIG5vbmUKYXJlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLCByZWFkIHRoZW0gZnJvbSBzdGFuZGFyZCBpbnB1dC4KCgBQcmludCB0aGUgcmVzb2x2ZWQgYWJzb2x1dGUgZmlsZSBuYW1lOwphbGwgYnV0IHRoZSBsYXN0IGNvbXBvbmVudCBtdXN0IGV4aXN0CgoAUHJpbnQgdGhlIHVzZXIgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgZWZmZWN0aXZlIHVzZXIgSUQuClNhbWUgYXMgaWQgLXVuLgoKAFByaW50IHVzZXIgYW5kIGdyb3VwIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIFVTRVIsCm9yICh3aGVuIFVTRVIgb21pdHRlZCkgZm9yIHRoZSBjdXJyZW50IHVzZXIuCgoAUHJpbnQgdmFsdWUgb2YgYSBzeW1ib2xpYyBsaW5rIG9yIGNhbm9uaWNhbCBmaWxlIG5hbWUKCgBQcm9jZXNzaW5nIHJlcXVlc3QgaW4gcHJvZ3Jlc3MAUHJvZmlsaW5nIHRpbWVyIGV4cGlyZWQAUHJvamVjdDogAFEuIEZyYW5rIFhpYQBRdWl0AFJhbmR5IFNtaXRoAFJlYWwtdGltZSBzaWduYWwgJWQAUmVmb3JtYXQgTlVNQkVSKHMpLCBvciB0aGUgbnVtYmVycyBmcm9tIHN0YW5kYXJkIGlucHV0IGlmIG5vbmUgYXJlIHNwZWNpZmllZC4KAFJlZm9ybWF0IGVhY2ggcGFyYWdyYXBoIGluIHRoZSBGSUxFKHMpLCB3cml0aW5nIHRvIHN0YW5kYXJkIG91dHB1dC4KVGhlIG9wdGlvbiAtV0lEVEggaXMgYW4gYWJicmV2aWF0ZWQgZm9ybSBvZiAtLXdpZHRoPURJR0lUUy4KAFJlZ3VsYXIgZXhwcmVzc2lvbiB0b28gYmlnAFJlbW92ZSAodW5saW5rKSB0aGUgRklMRShzKS4KCiAgLWYsIC0tZm9yY2UgICAgICAgICAgIGlnbm9yZSBub25leGlzdGVudCBmaWxlcyBhbmQgYXJndW1lbnRzLCBuZXZlciBwcm9tcHQKICAtaSAgICAgICAgICAgICAgICAgICAgcHJvbXB0IGJlZm9yZSBldmVyeSByZW1vdmFsCgBSZW1vdmUgdGhlIERJUkVDVE9SWShpZXMpLCBpZiB0aGV5IGFyZSBlbXB0eS4KCiAgICAgIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5CiAgICAgICAgICAgICAgICAgIGlnbm9yZSBlYWNoIGZhaWx1cmUgdGhhdCBpcyBzb2xlbHkgYmVjYXVzZSBhIGRpcmVjdG9yeQogICAgICAgICAgICAgICAgICAgIGlzIG5vbi1lbXB0eQoAUmVuYW1lIFNPVVJDRSB0byBERVNULCBvciBtb3ZlIFNPVVJDRShzKSB0byBESVJFQ1RPUlkuCgBSZXBlYXRlZGx5IG91dHB1dCBhIGxpbmUgd2l0aCBhbGwgc3BlY2lmaWVkIFNUUklORyhzKSwgb3IgJ3knLgoKAFJlcG9ydCAlcyBidWdzIHRvOiAlcwoAUmVxdWVzdCBjYW5jZWxlZABSZXF1ZXN0IG5vdCBjYW5jZWxlZABSZXNvdXJjZSBsb3N0AFJpY2hhcmQgTS4gU3RhbGxtYW4AUmljaGFyZCBNbHluYXJpawBSb2xhbmQgSHVlYm5lcgBSb2xhbmQgTWNHcmF0aABSb3NzIFBhdGVyc29uAFJ1biBDT01NQU5EIHdpdGggYW4gYWRqdXN0ZWQgbmljZW5lc3MsIHdoaWNoIGFmZmVjdHMgcHJvY2VzcyBzY2hlZHVsaW5nLgpXaXRoIG5vIENPTU1BTkQsIHByaW50IHRoZSBjdXJyZW50IG5pY2VuZXNzLiAgTmljZW5lc3MgdmFsdWVzIHJhbmdlIGZyb20KJWQgKG1vc3QgZmF2b3JhYmxlIHRvIHRoZSBwcm9jZXNzKSB0byAlZCAobGVhc3QgZmF2b3JhYmxlIHRvIHRoZSBwcm9jZXNzKS4KAFJ1biBDT01NQU5EIHdpdGggcm9vdCBkaXJlY3Rvcnkgc2V0IHRvIE5FV1JPT1QuCgoAUnVuIENPTU1BTkQsIGlnbm9yaW5nIGhhbmd1cCBzaWduYWxzLgoKAFJ1biBDT01NQU5ELCB3aXRoIG1vZGlmaWVkIGJ1ZmZlcmluZyBvcGVyYXRpb25zIGZvciBpdHMgc3RhbmRhcmQgc3RyZWFtcy4KAFJ1biBhIHByb2dyYW0gaW4gYSBkaWZmZXJlbnQgU0VMaW51eCBzZWN1cml0eSBjb250ZXh0LgpXaXRoIG5laXRoZXIgQ09OVEVYVCBub3IgQ09NTUFORCwgcHJpbnQgdGhlIGN1cnJlbnQgc2VjdXJpdHkgY29udGV4dC4KAFJ1c3NlbGwgQ29rZXIAU2FtdWVsIE5ldmVzAFNjb3R0IEJhcnRyYW0AU2NvdHQgTWlsbGVyAFNlZ21lbnRhdGlvbiBmYXVsdABTZW5kIHNpZ25hbHMgdG8gcHJvY2Vzc2VzLCBvciBsaXN0IHNpZ25hbHMuCgBTZXJ2bmFtZSBub3Qgc3VwcG9ydGVkIGZvciBhaV9zb2NrdHlwZQBTZXQgTENfQUxMPSdDJyB0byB3b3JrIGFyb3VuZCB0aGUgcHJvYmxlbS4AU2V0IGVhY2ggTkFNRSB0byBWQUxVRSBpbiB0aGUgZW52aXJvbm1lbnQgYW5kIHJ1biBDT01NQU5ELgoAU2hlbGw6IABTaG93IGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaWxlIHN5c3RlbSBvbiB3aGljaCBlYWNoIEZJTEUgcmVzaWRlcywKb3IgYWxsIGZpbGUgc3lzdGVtcyBieSBkZWZhdWx0LgoAU2hyaW5rIG9yIGV4dGVuZCB0aGUgc2l6ZSBvZiBlYWNoIEZJTEUgdG8gdGhlIHNwZWNpZmllZCBzaXplCgpBIEZJTEUgYXJndW1lbnQgdGhhdCBkb2VzIG5vdCBleGlzdCBpcyBjcmVhdGVkLgoKSWYgYSBGSUxFIGlzIGxhcmdlciB0aGFuIHRoZSBzcGVjaWZpZWQgc2l6ZSwgdGhlIGV4dHJhIGRhdGEgaXMgbG9zdC4KSWYgYSBGSUxFIGlzIHNob3J0ZXIsIGl0IGlzIGV4dGVuZGVkIGFuZCB0aGUgZXh0ZW5kZWQgcGFydCAoaG9sZSkKcmVhZHMgYXMgemVybyBieXRlcy4KAFNpbW9uIEpvc2Vmc3NvbgBTaXplAFNwZWNpYWwgZmlsZXMgcmVxdWlyZSBtYWpvciBhbmQgbWlub3IgZGV2aWNlIG51bWJlcnMuAFN0YWNrIGZhdWx0AFN0YXJ0IENPTU1BTkQsIGFuZCBraWxsIGl0IGlmIHN0aWxsIHJ1bm5pbmcgYWZ0ZXIgRFVSQVRJT04uCgBTdG9wcGVkAFN0b3BwZWQgKHNpZ25hbCkAU3RvcHBlZCAodHR5IGlucHV0KQBTdG9wcGVkICh0dHkgb3V0cHV0KQBTdHVhcnQgS2VtcABTdWNjZXNzAFN1bW1hcml6ZSBkaXNrIHVzYWdlIG9mIHRoZSBzZXQgb2YgRklMRXMsIHJlY3Vyc2l2ZWx5IGZvciBkaXJlY3Rvcmllcy4KAFN5bmNocm9uaXplIGNhY2hlZCB3cml0ZXMgdG8gcGVyc2lzdGVudCBzdG9yYWdlCgpJZiBvbmUgb3IgbW9yZSBmaWxlcyBhcmUgc3BlY2lmaWVkLCBzeW5jIG9ubHkgdGhlbSwKb3IgdGhlaXIgY29udGFpbmluZyBmaWxlIHN5c3RlbXMuCgoAU3lzdGVtIGVycm9yAFRJTUUAVGVtcG9yYXJ5IGZhaWx1cmUgaW4gbmFtZSByZXNvbHV0aW9uAFRlcm1pbmF0ZWQAVGhlIGZvbGxvd2luZyBvcHRpb25hbCBmbGFncyBtYXkgZm9sbG93ICclJzoKCiAgLSAgKGh5cGhlbikgZG8gbm90IHBhZCB0aGUgZmllbGQKICBfICAodW5kZXJzY29yZSkgcGFkIHdpdGggc3BhY2VzCiAgMCAgKHplcm8pIHBhZCB3aXRoIHplcm9zCiAgXiAgdXNlIHVwcGVyIGNhc2UgaWYgcG9zc2libGUKICAjICB1c2Ugb3Bwb3NpdGUgY2FzZSBpZiBwb3NzaWJsZQoAVGhlIHN0cmluZ3MgY29tcGFyZWQgd2VyZSAlcyBhbmQgJXMuAFRvcmJqb3JuIEdyYW5sdW5kAFRyYWNlL2JyZWFrcG9pbnQgdHJhcABUcmFpbGluZyBiYWNrc2xhc2gAVHJhbnNsYXRlLCBzcXVlZXplLCBhbmQvb3IgZGVsZXRlIGNoYXJhY3RlcnMgZnJvbSBzdGFuZGFyZCBpbnB1dCwKd3JpdGluZyB0byBzdGFuZGFyZCBvdXRwdXQuCgogIC1jLCAtQywgLS1jb21wbGVtZW50ICAgIHVzZSB0aGUgY29tcGxlbWVudCBvZiBTRVQxCiAgLWQsIC0tZGVsZXRlICAgICAgICAgICAgZGVsZXRlIGNoYXJhY3RlcnMgaW4gU0VUMSwgZG8gbm90IHRyYW5zbGF0ZQogIC1zLCAtLXNxdWVlemUtcmVwZWF0cyAgIHJlcGxhY2UgZWFjaCBzZXF1ZW5jZSBvZiBhIHJlcGVhdGVkIGNoYXJhY3RlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBpcyBsaXN0ZWQgaW4gdGhlIGxhc3Qgc3BlY2lmaWVkIFNFVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBzaW5nbGUgb2NjdXJyZW5jZSBvZiB0aGF0IGNoYXJhY3RlcgogIC10LCAtLXRydW5jYXRlLXNldDEgICAgIGZpcnN0IHRydW5jYXRlIFNFVDEgdG8gbGVuZ3RoIG9mIFNFVDIKAFRyeSAnJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KAFRyeSAnJXMgLi8lcycgdG8gcmVtb3ZlIHRoZSBmaWxlICVzLgoAVHdvIHN0cmluZ3MgbXVzdCBiZSBnaXZlbiB3aGVuIGJvdGggZGVsZXRpbmcgYW5kIHNxdWVlemluZyByZXBlYXRzLgBUd28gc3RyaW5ncyBtdXN0IGJlIGdpdmVuIHdoZW4gdHJhbnNsYXRpbmcuAFR5cGUAVWxyaWNoIERyZXBwZXIAVW5rbm93biBlcnJvcgBVbmtub3duIHNpZ25hbCAlZABVbmtub3duIHN5c3RlbSBlcnJvcgBVbm1hdGNoZWQgKCBvciBcKABVbm1hdGNoZWQgKSBvciBcKQBVbm1hdGNoZWQgWywgW14sIFs6LCBbLiwgb3IgWz0AVW5tYXRjaGVkIFx7AFVwZGF0ZSB0aGUgYWNjZXNzIGFuZCBtb2RpZmljYXRpb24gdGltZXMgb2YgZWFjaCBGSUxFIHRvIHRoZSBjdXJyZW50IHRpbWUuCgpBIEZJTEUgYXJndW1lbnQgdGhhdCBkb2VzIG5vdCBleGlzdCBpcyBjcmVhdGVkIGVtcHR5LCB1bmxlc3MgLWMgb3IgLWgKaXMgc3VwcGxpZWQuCgpBIEZJTEUgYXJndW1lbnQgc3RyaW5nIG9mIC0gaXMgaGFuZGxlZCBzcGVjaWFsbHkgYW5kIGNhdXNlcyB0b3VjaCB0bwpjaGFuZ2UgdGhlIHRpbWVzIG9mIHRoZSBmaWxlIGFzc29jaWF0ZWQgd2l0aCBzdGFuZGFyZCBvdXRwdXQuCgBVcmdlbnQgSS9PIGNvbmRpdGlvbgBVc2FnZTogJXMKAFVzYWdlOiAlcyAtLWNvcmV1dGlscy1wcm9nPVBST0dSQU1fTkFNRSBbUEFSQU1FVEVSU10uLi4gCgBVc2FnZTogJXMgQ09NTUFORCBbQVJHXS4uLgogIG9yOiAgJXMgT1BUSU9OCgBVc2FnZTogJXMgQ09OVEVYVCBDT01NQU5EIFthcmdzXQogIG9yOiAgJXMgWyAtYyBdIFstdSBVU0VSXSBbLXIgUk9MRV0gWy10IFRZUEVdIFstbCBSQU5HRV0gQ09NTUFORCBbYXJnc10KAFVzYWdlOiAlcyBFWFBSRVNTSU9OCiAgb3I6ICAlcyBPUFRJT04KAFVzYWdlOiAlcyBGSUxFCiAgb3I6ICAlcyBPUFRJT04KAFVzYWdlOiAlcyBGSUxFMSBGSUxFMgogIG9yOiAgJXMgT1BUSU9OCgBVc2FnZTogJXMgRk9STUFUIFtBUkdVTUVOVF0uLi4KICBvcjogICVzIE9QVElPTgoAVXNhZ2U6ICVzIE5BTUUgW1NVRkZJWF0KICBvcjogICVzIE9QVElPTi4uLiBOQU1FLi4uCgBVc2FnZTogJXMgTlVNQkVSW1NVRkZJWF0uLi4KICBvcjogICVzIE9QVElPTgpQYXVzZSBmb3IgTlVNQkVSIHNlY29uZHMuICBTVUZGSVggbWF5IGJlICdzJyBmb3Igc2Vjb25kcyAodGhlIGRlZmF1bHQpLAonbScgZm9yIG1pbnV0ZXMsICdoJyBmb3IgaG91cnMgb3IgJ2QnIGZvciBkYXlzLiAgVW5saWtlIG1vc3QgaW1wbGVtZW50YXRpb25zCnRoYXQgcmVxdWlyZSBOVU1CRVIgYmUgYW4gaW50ZWdlciwgaGVyZSBOVU1CRVIgbWF5IGJlIGFuIGFyYml0cmFyeSBmbG9hdGluZwpwb2ludCBudW1iZXIuICBHaXZlbiB0d28gb3IgbW9yZSBhcmd1bWVudHMsIHBhdXNlIGZvciB0aGUgYW1vdW50IG9mIHRpbWUKc3BlY2lmaWVkIGJ5IHRoZSBzdW0gb2YgdGhlaXIgdmFsdWVzLgoKAFVzYWdlOiAlcyBPUFRJT04uLi4gQ09NTUFORAoAVXNhZ2U6ICVzIE9QVElPTi4uLiBGSUxFLi4uCgBVc2FnZTogJXMgT1BUSU9OLi4uIFtGSUxFXS4uLgoAVXNhZ2U6ICVzIFstRiBERVZJQ0UgfCAtLWZpbGU9REVWSUNFXSBbU0VUVElOR10uLi4KICBvcjogICVzIFstRiBERVZJQ0UgfCAtLWZpbGU9REVWSUNFXSBbLWF8LS1hbGxdCiAgb3I6ICAlcyBbLUYgREVWSUNFIHwgLS1maWxlPURFVklDRV0gWy1nfC0tc2F2ZV0KAFVzYWdlOiAlcyBbLVdJRFRIXSBbT1BUSU9OXS4uLiBbRklMRV0uLi4KAFVzYWdlOiAlcyBbLXMgU0lHTkFMIHwgLVNJR05BTF0gUElELi4uCiAgb3I6ICAlcyAtbCBbU0lHTkFMXS4uLgogIG9yOiAgJXMgLXQgW1NJR05BTF0uLi4KAFVzYWdlOiAlcyBbRklMRV0uLi4KICBvcjogICVzIFtPUFRJT05dCgBVc2FnZTogJXMgW05BTUVdCiAgb3I6ICAlcyBPUFRJT04KUHJpbnQgb3Igc2V0IHRoZSBob3N0bmFtZSBvZiB0aGUgY3VycmVudCBzeXN0ZW0uCgoAVXNhZ2U6ICVzIFtOVU1CRVJdLi4uCiAgb3I6ICAlcyBPUFRJT04KAFVzYWdlOiAlcyBbT1BFUkFORF0uLi4KICBvcjogICVzIE9QVElPTgoAVXNhZ2U6ICVzIFtPUFRJT05dCgBVc2FnZTogJXMgW09QVElPTl0KUHJpbnQgdGhlIG51bWVyaWMgaWRlbnRpZmllciAoaW4gaGV4YWRlY2ltYWwpIGZvciB0aGUgY3VycmVudCBob3N0LgoKAFVzYWdlOiAlcyBbT1BUSU9OXSBEVVJBVElPTiBDT01NQU5EIFtBUkddLi4uCiAgb3I6ICAlcyBbT1BUSU9OXQoAVXNhZ2U6ICVzIFtPUFRJT05dIE5BTUUuLi4KAFVzYWdlOiAlcyBbT1BUSU9OXSBORVdST09UIFtDT01NQU5EIFtBUkddLi4uXQogIG9yOiAgJXMgT1BUSU9OCgBVc2FnZTogJXMgW09QVElPTl0gW0NPTU1BTkQgW0FSR10uLi5dCgBVc2FnZTogJXMgW09QVElPTl0gW0ZJTEVdCldyaXRlIHRvdGFsbHkgb3JkZXJlZCBsaXN0IGNvbnNpc3RlbnQgd2l0aCB0aGUgcGFydGlhbCBvcmRlcmluZyBpbiBGSUxFLgoAVXNhZ2U6ICVzIFtPUFRJT05dIFtGSUxFXS4uLgoAVXNhZ2U6ICVzIFtPUFRJT05dLi4uCgBVc2FnZTogJXMgW09QVElPTl0uLi4gQ09OVEVYVCBGSUxFLi4uCiAgb3I6ICAlcyBbT1BUSU9OXS4uLiBbLXUgVVNFUl0gWy1yIFJPTEVdIFstbCBSQU5HRV0gWy10IFRZUEVdIEZJTEUuLi4KICBvcjogICVzIFtPUFRJT05dLi4uIC0tcmVmZXJlbmNlPVJGSUxFIEZJTEUuLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBESVJFQ1RPUlkuLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBGSUxFIFBBVFRFUk4uLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBGSUxFLi4uCgBVc2FnZTogJXMgW09QVElPTl0uLi4gRklMRTEgRklMRTIKAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBHUk9VUCBGSUxFLi4uCiAgb3I6ICAlcyBbT1BUSU9OXS4uLiAtLXJlZmVyZW5jZT1SRklMRSBGSUxFLi4uCgBVc2FnZTogJXMgW09QVElPTl0uLi4gTEFTVAogIG9yOiAgJXMgW09QVElPTl0uLi4gRklSU1QgTEFTVAogIG9yOiAgJXMgW09QVElPTl0uLi4gRklSU1QgSU5DUkVNRU5UIExBU1QKAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBNT0RFWyxNT0RFXS4uLiBGSUxFLi4uCiAgb3I6ICAlcyBbT1BUSU9OXS4uLiBPQ1RBTC1NT0RFIEZJTEUuLi4KICBvcjogICVzIFtPUFRJT05dLi4uIC0tcmVmZXJlbmNlPVJGSUxFIEZJTEUuLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBOQU1FIFRZUEUgW01BSk9SIE1JTk9SXQoAVXNhZ2U6ICVzIFtPUFRJT05dLi4uIE5BTUUuLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBTRVQxIFtTRVQyXQoAVXNhZ2U6ICVzIFtPUFRJT05dLi4uIFsgRklMRSB8IEFSRzEgQVJHMiBdCgBVc2FnZTogJXMgW09QVElPTl0uLi4gWytGT1JNQVRdCiAgb3I6ICAlcyBbLXV8LS11dGN8LS11bml2ZXJzYWxdIFtNTUREaGhtbVtbQ0NdWVldWy5zc11dCgBVc2FnZTogJXMgW09QVElPTl0uLi4gWy1UXSBTT1VSQ0UgREVTVAogIG9yOiAgJXMgW09QVElPTl0uLi4gU09VUkNFLi4uIERJUkVDVE9SWQogIG9yOiAgJXMgW09QVElPTl0uLi4gLXQgRElSRUNUT1JZIFNPVVJDRS4uLgoAVXNhZ2U6ICVzIFtPUFRJT05dLi4uIFstVF0gU09VUkNFIERFU1QKICBvcjogICVzIFtPUFRJT05dLi4uIFNPVVJDRS4uLiBESVJFQ1RPUlkKICBvcjogICVzIFtPUFRJT05dLi4uIC10IERJUkVDVE9SWSBTT1VSQ0UuLi4KICBvcjogICVzIFtPUFRJT05dLi4uIC1kIERJUkVDVE9SWS4uLgoAVXNhZ2U6ICVzIFtPUFRJT05dLi4uIFstXSBbTkFNRT1WQUxVRV0uLi4gW0NPTU1BTkQgW0FSR10uLi5dCgBVc2FnZTogJXMgW09QVElPTl0uLi4gW0ZJTEUgW1BSRUZJWF1dCgBVc2FnZTogJXMgW09QVElPTl0uLi4gW0ZJTEVdCgBVc2FnZTogJXMgW09QVElPTl0uLi4gW0ZJTEVdCiAgb3I6ICAlcyAtZSBbT1BUSU9OXS4uLiBbQVJHXS4uLgogIG9yOiAgJXMgLWkgTE8tSEkgW09QVElPTl0uLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbRklMRV0KQmFzZSVkIGVuY29kZSBvciBkZWNvZGUgRklMRSwgb3Igc3RhbmRhcmQgaW5wdXQsIHRvIHN0YW5kYXJkIG91dHB1dC4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbRklMRV0uLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbRklMRV0uLi4KICBvcjogICVzIFstYWJjZGZpbG9zeF0uLi4gW0ZJTEVdIFtbK11PRkZTRVRbLl1bYl1dCiAgb3I6ICAlcyAtLXRyYWRpdGlvbmFsIFtPUFRJT05dLi4uIFtGSUxFXSBbWytdT0ZGU0VUWy5dW2JdIFsrXVtMQUJFTF1bLl1bYl1dCgBVc2FnZTogJXMgW09QVElPTl0uLi4gW0ZJTEVdLi4uCiAgb3I6ICAlcyBbT1BUSU9OXS4uLiAtLWZpbGVzMC1mcm9tPUYKAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbRklMRV0uLi4KUHJpbnQgb3IgY2hlY2sgJXMgKCVkLWJpdCkgY2hlY2tzdW1zLgoAVXNhZ2U6ICVzIFtPUFRJT05dLi4uIFtJTlBVVCBbT1VUUFVUXV0KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbSU5QVVRdLi4uICAgKHdpdGhvdXQgLUcpCiAgb3I6ICAlcyAtRyBbT1BUSU9OXS4uLiBbSU5QVVQgW09VVFBVVF1dCgBVc2FnZTogJXMgW09QVElPTl0uLi4gW05VTUJFUl0uLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbT1dORVJdWzpbR1JPVVBdXSBGSUxFLi4uCiAgb3I6ICAlcyBbT1BUSU9OXS4uLiAtLXJlZmVyZW5jZT1SRklMRSBGSUxFLi4uCgBVc2FnZTogJXMgW09QVElPTl0uLi4gW1RFTVBMQVRFXQoAVXNhZ2U6ICVzIFtPUFRJT05dLi4uIFtVU0VSTkFNRV0uLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbVVNFUl0KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbVVNFUl0uLi4KAFVzYWdlOiAlcyBbT1BUSU9OXS4uLiBbVkFSSUFCTEVdLi4uClByaW50IHRoZSB2YWx1ZXMgb2YgdGhlIHNwZWNpZmllZCBlbnZpcm9ubWVudCBWQVJJQUJMRShzKS4KSWYgbm8gVkFSSUFCTEUgaXMgc3BlY2lmaWVkLCBwcmludCBuYW1lIGFuZCB2YWx1ZSBwYWlycyBmb3IgdGhlbSBhbGwuCgoAVXNhZ2U6ICVzIFtTSE9SVC1PUFRJT05dLi4uIFtTVFJJTkddLi4uCiAgb3I6ICAlcyBMT05HLU9QVElPTgoAVXNhZ2U6ICVzIFtTVFJJTkddLi4uCiAgb3I6ICAlcyBPUFRJT04KAFVzYWdlOiAlcyBbaWdub3JlZCBjb21tYW5kIGxpbmUgYXJndW1lbnRzXQogIG9yOiAgJXMgT1BUSU9OCgBVc2FnZTogdGVzdCBFWFBSRVNTSU9OCiAgb3I6ICB0ZXN0CiAgb3I6ICBbIEVYUFJFU1NJT04gXQogIG9yOiAgWyBdCiAgb3I6ICBbIE9QVElPTgoAVXNlJQBVc2VkAFVzZXIgZGVmaW5lZCBzaWduYWwgMQBVc2VyIGRlZmluZWQgc2lnbmFsIDIAVmFsaWQgYXJndW1lbnRzIGFyZToAVmFsaWQgYXJndW1lbnRzIGFyZToKAFZhbGlkIGZvcm1hdCBzZXF1ZW5jZXMgZm9yIGZpbGUgc3lzdGVtczoKCiAgJWEgICBmcmVlIGJsb2NrcyBhdmFpbGFibGUgdG8gbm9uLXN1cGVydXNlcgogICViICAgdG90YWwgZGF0YSBibG9ja3MgaW4gZmlsZSBzeXN0ZW0KICAlYyAgIHRvdGFsIGZpbGUgbm9kZXMgaW4gZmlsZSBzeXN0ZW0KICAlZCAgIGZyZWUgZmlsZSBub2RlcyBpbiBmaWxlIHN5c3RlbQogICVmICAgZnJlZSBibG9ja3MgaW4gZmlsZSBzeXN0ZW0KAFZpcnR1YWwgdGltZXIgZXhwaXJlZABXQVJOSU5HOiBDaXJjdWxhciBkaXJlY3Rvcnkgc3RydWN0dXJlLgpUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnMgdGhhdCB5b3UgaGF2ZSBhIGNvcnJ1cHRlZCBmaWxlIHN5c3RlbS4KTk9USUZZIFlPVVIgU1lTVEVNIE1BTkFHRVIuClRoZSBmb2xsb3dpbmcgZGlyZWN0b3J5IGlzIHBhcnQgb2YgdGhlIGN5Y2xlOgogICVzCgBXQVJOSU5HOiBpZ25vcmluZyAtLXByZXNlcnZlLWNvbnRleHQ7IHRoaXMga2VybmVsIGlzIG5vdCBTRUxpbnV4LWVuYWJsZWQAV0FSTklORzogaWdub3JpbmcgLS1zdHJpcC1wcm9ncmFtIG9wdGlvbiBhcyAtcyBvcHRpb24gd2FzIG5vdCBzcGVjaWZpZWQAV2FybmluZzogAFdoZW4AV2hlcmUAV2luZG93IGNoYW5nZWQAV2l0aCAtLWZvbGxvdyAoLWYpLCB0YWlsIGRlZmF1bHRzIHRvIGZvbGxvd2luZyB0aGUgZmlsZSBkZXNjcmlwdG9yLCB3aGljaAptZWFucyB0aGF0IGV2ZW4gaWYgYSB0YWlsJ2VkIGZpbGUgaXMgcmVuYW1lZCwgdGFpbCB3aWxsIGNvbnRpbnVlIHRvIHRyYWNrCml0cyBlbmQuICBUaGlzIGRlZmF1bHQgYmVoYXZpb3IgaXMgbm90IGRlc2lyYWJsZSB3aGVuIHlvdSByZWFsbHkgd2FudCB0bwp0cmFjayB0aGUgYWN0dWFsIG5hbWUgb2YgdGhlIGZpbGUsIG5vdCB0aGUgZmlsZSBkZXNjcmlwdG9yIChlLmcuLCBsb2cKcm90YXRpb24pLiAgVXNlIC0tZm9sbG93PW5hbWUgaW4gdGhhdCBjYXNlLiAgVGhhdCBjYXVzZXMgdGFpbCB0byB0cmFjayB0aGUKbmFtZWQgZmlsZSBpbiBhIHdheSB0aGF0IGFjY29tbW9kYXRlcyByZW5hbWluZywgcmVtb3ZhbCBhbmQgY3JlYXRpb24uCgBXcmFwIGlucHV0IGxpbmVzIGluIGVhY2ggRklMRSwgd3JpdGluZyB0byBzdGFuZGFyZCBvdXRwdXQuCgBXcml0ZSBhIHJhbmRvbSBwZXJtdXRhdGlvbiBvZiB0aGUgaW5wdXQgbGluZXMgdG8gc3RhbmRhcmQgb3V0cHV0LgoAV3JpdGUgZWFjaCBGSUxFIHRvIHN0YW5kYXJkIG91dHB1dCwgbGFzdCBsaW5lIGZpcnN0LgoAV3JpdGUgZWFjaCBGSUxFIHRvIHN0YW5kYXJkIG91dHB1dCwgd2l0aCBsaW5lIG51bWJlcnMgYWRkZWQuCgBXcml0ZSBsaW5lcyBjb25zaXN0aW5nIG9mIHRoZSBzZXF1ZW50aWFsbHkgY29ycmVzcG9uZGluZyBsaW5lcyBmcm9tCmVhY2ggRklMRSwgc2VwYXJhdGVkIGJ5IFRBQnMsIHRvIHN0YW5kYXJkIG91dHB1dC4KAFdyaXRlIHNvcnRlZCBjb25jYXRlbmF0aW9uIG9mIGFsbCBGSUxFKHMpIHRvIHN0YW5kYXJkIG91dHB1dC4KAFdyaXR0ZW4gYnkgJXMgYW5kICVzLgoAV3JpdHRlbiBieSAlcywgJXMsICVzLAolcywgJXMsICVzLCAlcywKJXMsICVzLCBhbmQgb3RoZXJzLgoAV3JpdHRlbiBieSAlcywgJXMsICVzLAolcywgJXMsICVzLCAlcywKJXMsIGFuZCAlcy4KAFdyaXR0ZW4gYnkgJXMsICVzLCAlcywKJXMsICVzLCAlcywgJXMsCmFuZCAlcy4KAFdyaXR0ZW4gYnkgJXMsICVzLCAlcywKJXMsICVzLCAlcywgYW5kICVzLgoAV3JpdHRlbiBieSAlcywgJXMsICVzLAolcywgJXMsIGFuZCAlcy4KAFdyaXR0ZW4gYnkgJXMsICVzLCAlcywKJXMsIGFuZCAlcy4KAFdyaXR0ZW4gYnkgJXMsICVzLCAlcywKYW5kICVzLgoAV3JpdHRlbiBieSAlcywgJXMsIGFuZCAlcy4KAFdyaXR0ZW4gYnkgJXMuCgBbPWM9XSBleHByZXNzaW9ucyBtYXkgbm90IGFwcGVhciBpbiBzdHJpbmcyIHdoZW4gdHJhbnNsYXRpbmcAXiBubyBtYXRjaCBmb3Iga2V5CgBeW25OXQBeW3lZXQBgAGEgY29tbWFuZCBtdXN0IGJlIGdpdmVuIHdpdGggYW4gYWRqdXN0bWVudABhaV9mYW1pbHkgbm90IHN1cHBvcnRlZABhaV9zb2NrdHlwZSBub3Qgc3VwcG9ydGVkAGFtYmlndW91cyBhcmd1bWVudCAlcyBmb3IgJXMAYW4gaW5wdXQgZGVsaW1pdGVyIG1heSBiZSBzcGVjaWZpZWQgb25seSB3aGVuIG9wZXJhdGluZyBvbiBmaWVsZHMAYXBwZW5kaW5nIG91dHB1dCB0byAlcwBiYWNrdXAgdHlwZQBibG9jayBzcGVjaWFsIGZpbGUAYmxvY2sgc3BlY2lhbCBmaWxlcyBub3Qgc3VwcG9ydGVkAGJsb2NrcwBib3RoIGZpbGVzIGNhbm5vdCBiZSBzdGFuZGFyZCBpbnB1dABieXRlL2NoYXJhY3RlciBvZmZzZXQgJXMgaXMgdG9vIGxhcmdlAGJ5dGUvY2hhcmFjdGVyIHBvc2l0aW9ucyBhcmUgbnVtYmVyZWQgZnJvbSAxAGNhbid0IGFwcGx5IHBhcnRpYWwgY29udGV4dCB0byB1bmxhYmVsZWQgZmlsZSAlcwBjYW4ndCBnZXQgcHJvY2VzcyBjb250ZXh0AGNhbm5vdCBhY2Nlc3MgJXMAY2Fubm90IGFjY2VzcyAlczogb3Zlci1tb3VudGVkIGJ5IGFub3RoZXIgZGV2aWNlAGNhbm5vdCBiYWNrdXAgJXMAY2Fubm90IGJvdGggc3VtbWFyaXplIGFuZCBzaG93IGFsbCBlbnRyaWVzAGNhbm5vdCBjaGFuZ2Ugb3duZXJzaGlwIG9mICVzAGNhbm5vdCBjaGFuZ2UgcGVybWlzc2lvbnMgb2YgJXMAY2Fubm90IGNoYW5nZSByb290IGRpcmVjdG9yeSB0byAlcwBjYW5ub3QgY2hhbmdlIHRvIGRpcmVjdG9yeSAlcwBjYW5ub3QgY2hkaXIgdG8gcm9vdCBkaXJlY3RvcnkAY2Fubm90IGNvbWJpbmUgLS10YXJnZXQtZGlyZWN0b3J5ICgtdCkgYW5kIC0tbm8tdGFyZ2V0LWRpcmVjdG9yeSAoLVQpAGNhbm5vdCBjb21iaW5lIC0tdGFyZ2V0LWRpcmVjdG9yeSBhbmQgLS1uby10YXJnZXQtZGlyZWN0b3J5AGNhbm5vdCBjb21iaW5lIC1lIGFuZCAtaSBvcHRpb25zAGNhbm5vdCBjb21iaW5lIGFueSB0d28gb2Yge2FzY2lpLGViY2RpYyxpYm19AGNhbm5vdCBjb21iaW5lIGJsb2NrIGFuZCB1bmJsb2NrAGNhbm5vdCBjb21iaW5lIGRpcmVjdCBhbmQgbm9jYWNoZQBjYW5ub3QgY29tYmluZSBleGNsIGFuZCBub2NyZWF0AGNhbm5vdCBjb21iaW5lIGxjYXNlIGFuZCB1Y2FzZQBjYW5ub3QgY29tYmluZSBtb2RlIGFuZCAtLXJlZmVyZW5jZSBvcHRpb25zAGNhbm5vdCBjb21iaW5lIHNpZ25hbCB3aXRoIC1sIG9yIC10AGNhbm5vdCBjb21wYXJlIGZpbGUgbmFtZXMgJXMgYW5kICVzAGNhbm5vdCBjb252ZXJ0IFUrJTA0WCB0byBsb2NhbCBjaGFyYWN0ZXIgc2V0AGNhbm5vdCBjb252ZXJ0IFUrJTA0WCB0byBsb2NhbCBjaGFyYWN0ZXIgc2V0OiAlcwBjYW5ub3QgY29weSBhIGRpcmVjdG9yeSwgJXMsIGludG8gaXRzZWxmLCAlcwBjYW5ub3QgY29weSBjeWNsaWMgc3ltYm9saWMgbGluayAlcwBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcwBjYW5ub3QgY3JlYXRlIGZpZm8gJXMAY2Fubm90IGNyZWF0ZSBoYXJkIGxpbmsgJXMgdG8gJXMAY2Fubm90IGNyZWF0ZSBsaW5rICVzIHRvICVzAGNhbm5vdCBjcmVhdGUgcmVndWxhciBmaWxlICVzAGNhbm5vdCBjcmVhdGUgc3BlY2lhbCBmaWxlICVzAGNhbm5vdCBjcmVhdGUgc3ltYm9saWMgbGluayAlcwBjYW5ub3QgY3JlYXRlIHN5bWJvbGljIGxpbmsgJXMgdG8gJXMAY2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSBpbiAlcwBjYW5ub3QgZGVyZWZlcmVuY2UgJXMAY2Fubm90IGRldGVybWluZSBkZXZpY2UgYW5kIGlub2RlIG9mICVzAGNhbm5vdCBkZXRlcm1pbmUgaG9zdG5hbWUAY2Fubm90IGRldGVybWluZSBsb2NhdGlvbiBvZiAlcy4gcmV2ZXJ0aW5nIHRvIHBvbGxpbmcAY2Fubm90IGRvIC0tcmVsYXRpdmUgd2l0aG91dCAtLXN5bWJvbGljAGNhbm5vdCBkbyBpb2N0bCBvbiAlcwBjYW5ub3QgZmluZCBuYW1lIGZvciBncm91cCBJRCAlbHUAY2Fubm90IGZpbmQgbmFtZSBmb3IgdXNlciBJRCAlbHUAY2Fubm90IGZpbmQgbmFtZSBmb3IgdXNlciBJRCAlcwBjYW5ub3QgZm9sbG93ICVzIGJ5IG5hbWUAY2Fubm90IGZzdGF0ICVzAGNhbm5vdCBnZXQgY3VycmVudCBkaXJlY3RvcnkAY2Fubm90IGdldCBlZmZlY3RpdmUgR0lEAGNhbm5vdCBnZXQgZWZmZWN0aXZlIFVJRABjYW5ub3QgZ2V0IG5pY2VuZXNzAGNhbm5vdCBnZXQgcmVhbCBHSUQAY2Fubm90IGdldCByZWFsIFVJRABjYW5ub3QgZ2V0IHN5c3RlbSBuYW1lAGNhbm5vdCBnZXQgdGhlIHNpemUgb2YgJXMAY2Fubm90IGxzZWVrICVzAGNhbm5vdCBtYWtlIGJvdGggaGFyZCBhbmQgc3ltYm9saWMgbGlua3MAY2Fubm90IG1ha2UgZGlyZWN0b3J5ICVzAGNhbm5vdCBtb3ZlICVzIHRvICVzAGNhbm5vdCBtb3ZlICVzIHRvIGEgc3ViZGlyZWN0b3J5IG9mIGl0c2VsZiwgJXMAY2Fubm90IG1vdmUgZGlyZWN0b3J5IG9udG8gbm9uLWRpcmVjdG9yeTogJXMgLT4gJXMAY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmcAY2Fubm90IG9wZW4gJXMgZm9yIHdyaXRpbmcAY2Fubm90IG9wZW4gZGlyZWN0b3J5ICVzAGNhbm5vdCBvcGVyYXRlIG9uIGRhbmdsaW5nIHN5bWxpbmsgJXMAY2Fubm90IG92ZXJ3cml0ZSBkaXJlY3RvcnkgJXMgd2l0aCBub24tZGlyZWN0b3J5AGNhbm5vdCBvdmVyd3JpdGUgbm9uLWRpcmVjdG9yeSAlcyB3aXRoIGRpcmVjdG9yeSAlcwBjYW5ub3QgcGVyZm9ybSBmb3JtYXR0ZWQgb3V0cHV0AGNhbm5vdCBwcmVzZXJ2ZSBleHRlbmRlZCBhdHRyaWJ1dGVzLCBjcCBpcyBidWlsdCB3aXRob3V0IHhhdHRyIHN1cHBvcnQAY2Fubm90IHByZXNlcnZlIHNlY3VyaXR5IGNvbnRleHQgd2l0aG91dCBhbiBTRUxpbnV4LWVuYWJsZWQga2VybmVsAGNhbm5vdCBwcmludCAib25seSIgb2YgbW9yZSB0aGFuIG9uZSBjaG9pY2UAY2Fubm90IHByaW50IG9ubHkgbmFtZXMgb3IgcmVhbCBJRHMgaW4gZGVmYXVsdCBmb3JtYXQAY2Fubm90IHByaW50IHNlY3VyaXR5IGNvbnRleHQgd2hlbiB1c2VyIHNwZWNpZmllZABjYW5ub3QgcmVhZABjYW5ub3QgcmVhZCBkaXJlY3RvcnkgJXMAY2Fubm90IHJlYWQgZmlsZSBuYW1lcyBmcm9tICVzAGNhbm5vdCByZWFkIGZpbGUgc3lzdGVtIGluZm9ybWF0aW9uIGZvciAlcwBjYW5ub3QgcmVhZCByZWFsdGltZSBjbG9jawBjYW5ub3QgcmVhZCBzeW1ib2xpYyBsaW5rICVzAGNhbm5vdCByZWFkIHRhYmxlIG9mIG1vdW50ZWQgZmlsZSBzeXN0ZW1zAGNhbm5vdCByZW1vdmUgJXMAY2Fubm90IHJ1biAlcwBjYW5ub3Qgc2V0ICVzAGNhbm5vdCBzZXQgZGF0ZQBjYW5ub3Qgc2V0IGhvc3RuYW1lOyB0aGlzIHN5c3RlbSBsYWNrcyB0aGUgZnVuY3Rpb25hbGl0eQBjYW5ub3Qgc2V0IG5hbWUgdG8gJXMAY2Fubm90IHNldCBuaWNlbmVzcwBjYW5ub3Qgc2V0IHBlcm1pc3Npb25zIG9mICVzAGNhbm5vdCBzZXQgdGFyZ2V0IGNvbnRleHQgYW5kIHByZXNlcnZlIGl0AGNhbm5vdCBzZXQgdGltZXN0YW1wcyBmb3IgJXMAY2Fubm90IHNraXAgcGFzdCBlbmQgb2YgY29tYmluZWQgaW5wdXQAY2Fubm90IHNwZWNpZnkgLS1udWxsICgtMCkgd2l0aCBjb21tYW5kAGNhbm5vdCBzcGVjaWZ5IGJvdGggLS1kYXRhIGFuZCAtLWZpbGUtc3lzdGVtAGNhbm5vdCBzcGVjaWZ5IGJvdGggcHJpbnRpbmcgYWNyb3NzIGFuZCBwcmludGluZyBpbiBwYXJhbGxlbABjYW5ub3Qgc3BlY2lmeSBudW1iZXIgb2YgY29sdW1ucyB3aGVuIHByaW50aW5nIGluIHBhcmFsbGVsAGNhbm5vdCBzcGVjaWZ5IHRpbWVzIGZyb20gbW9yZSB0aGFuIG9uZSBzb3VyY2UAY2Fubm90IHNwbGl0IGluIG1vcmUgdGhhbiBvbmUgd2F5AGNhbm5vdCBzdGF0ICVzAGNhbm5vdCBzdGF0IGN1cnJlbnQgZGlyZWN0b3J5IChub3cgJXMpAGNhbm5vdCBzdGF0IHN0YW5kYXJkIGlucHV0AGNhbm5vdCB0b3VjaCAlcwBjYW5ub3QgdW4tYmFja3VwICVzAGNhbm5vdCB1bmxpbmsgJXMAY2Fubm90IHVuc2V0ICVzAGNhbm5vdCB3YXRjaCAlcwBjYW5ub3Qgd2F0Y2ggcGFyZW50IGRpcmVjdG9yeSBvZiAlcwBjYW5ub3Qgd29yayBhcm91bmQga2VybmVsIGJ1ZyBhZnRlciBhbGwAY2hhbmdlZCBncm91cCBvZiAlcyBmcm9tICVzIHRvICVzCgBjaGFuZ2VkIG93bmVyc2hpcCBvZiAlcyBmcm9tICVzIHRvICVzCgBjaGFuZ2luZyBncm91cCBvZiAlcwBjaGFuZ2luZyBvd25lcnNoaXAgb2YgJXMAY2hhbmdpbmcgcGVybWlzc2lvbnMgb2YgJXMAY2hhbmdpbmcgc2VjdXJpdHkgY29udGV4dCBvZiAlcwoAY2hhcmFjdGVyIG9mZnNldCBpcyB6ZXJvAGNoYXJhY3RlciBvdXQgb2YgcmFuZ2UAY2hhcmFjdGVyIHNwZWNpYWwgZmlsZQBjaGFyYWN0ZXIgc3BlY2lhbCBmaWxlcyBub3Qgc3VwcG9ydGVkAGNsZWFyaW5nIHBlcm1pc3Npb25zIGZvciAlcwBjbG9jayBjaGFuZ2UAY2xvc2UgZmFpbGVkAGNsb3NpbmcgJXMgKGZkPSVkKQBjbG9zaW5nIGRpcmVjdG9yeSAlcwBjbG9zaW5nIGlucHV0IGZpbGUgJXMAY2xvc2luZyBpbnB1dCBwaXBlAGNsb3Npbmcgb3V0cHV0IGZpbGUgJXMAY2xvc2luZyBvdXRwdXQgcGlwZQBjbG9zaW5nIHByaW9yIHBpcGUAY2xvc2luZyBzdGFuZGFyZCBpbnB1dABjb21wYXRpYmlsaXR5IG1vZGUgc3VwcG9ydHMgYXQgbW9zdCBvbmUgZmlsZQBjb25mbGljdGluZyBlbXB0eS1maWVsZCByZXBsYWNlbWVudCBzdHJpbmdzAGNvbmZsaWN0aW5nIHNlY3VyaXR5IGNvbnRleHQgc3BlY2lmaWVycyBnaXZlbgBjb250aWd1b3VzIGRhdGEAY291bGQgbm90IHNldCBidWZmZXJpbmcgb2YgJXMgdG8gbW9kZSAlcwoAY291bGRuJ3QgY3JlYXRlIHByb2Nlc3MgZm9yICVzIC1kAGNvdWxkbid0IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBjb3VsZG4ndCBmaW5kIGRpcmVjdG9yeSBlbnRyeSBpbiAlcyB3aXRoIG1hdGNoaW5nIGktbm9kZQBjb3VsZG4ndCBnZXQgYm9vdCB0aW1lAGNvdWxkbid0IHJlc2V0IG5vbi1ibG9ja2luZyBtb2RlICVzAGNyZWF0ZWQgZGlyZWN0b3J5ICVzAGNyZWF0aW5nIGRpcmVjdG9yeSAlcwBjcmVhdGluZyBmaWxlICVzCgBkZWxpbWl0ZXIgbGlzdCBlbmRzIHdpdGggYW4gdW5lc2NhcGVkIGJhY2tzbGFzaDogJXMAZGlyZWN0b3J5AGRpdmlzaW9uIGJ5IHplcm8AZG9vcgBlbXB0eSBmaWxlIG5hbWUAZW1wdHkgcmVjb3JkIHNlcGFyYXRvcgBlbXB0eSB0YWIAZXJyb3IgY2Fub25pY2FsaXppbmcgJXMAZXJyb3IgY2xvc2luZyBmaWxlAGVycm9yIGRlYWxsb2NhdGluZyAlcwBlcnJvciBpbiByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hlcgBlcnJvciBpbiByZWd1bGFyIGV4cHJlc3Npb24gc2VhcmNoAGVycm9yIG9wZW5pbmcgJXMAZXJyb3IgcmVhZGluZyAlcwBlcnJvciByZWFkaW5nIGlub3RpZnkgZXZlbnQAZXJyb3IgcmVhZGluZyBpbnB1dABlcnJvciBzeW5jaW5nICVzAGVycm9yIHdhaXRpbmcgZm9yIGNvbW1hbmQAZXJyb3Igd3JpdGluZyAlcwBleGVjdXRpbmcgd2l0aCBGSUxFPSVzCgBleGl0PQBleHRyYSBhcmd1bWVudCAlcwBleHRyYSBvcGVyYW5kICVzAGV4dHJhIG9wZXJhbmQgJXMgbm90IGFsbG93ZWQgd2l0aCAtJWMAZmFpbGVkIHRvIGFjY2VzcyAlcwBmYWlsZWQgdG8gY2Fub25pY2FsaXplICVzAGZhaWxlZCB0byBjaGFuZ2UgY29udGV4dCBvZiAlcyB0byAlcwBmYWlsZWQgdG8gY2hhbmdlIGdyb3VwIG9mICVzIGZyb20gJXMgdG8gJXMKAGZhaWxlZCB0byBjaGFuZ2UgZ3JvdXAgb2YgJXMgdG8gJXMKAGZhaWxlZCB0byBjaGFuZ2UgbW9kZSBvZiAlcyBmcm9tICUwNGxvICglcykgdG8gJTA0bG8gKCVzKQoAZmFpbGVkIHRvIGNoYW5nZSBvd25lcnNoaXAgb2YgJXMKAGZhaWxlZCB0byBjaGFuZ2Ugb3duZXJzaGlwIG9mICVzIGZyb20gJXMgdG8gJXMKAGZhaWxlZCB0byBjaGFuZ2Ugb3duZXJzaGlwIG9mICVzIHRvICVzCgBmYWlsZWQgdG8gY2hkaXIgdG8gJXMAZmFpbGVkIHRvIGNsb25lICVzIGZyb20gJXMAZmFpbGVkIHRvIGNsb3NlICVzAGZhaWxlZCB0byBjbG9zZSBpbnB1dCBwaXBlAGZhaWxlZCB0byBjb21wdXRlIGEgbmV3IGNvbnRleHQAZmFpbGVkIHRvIGNvbnZlcnQgc29tZSBvZiB0aGUgaW5wdXQgbnVtYmVycwBmYWlsZWQgdG8gY3JlYXRlIGRpcmVjdG9yeSB2aWEgdGVtcGxhdGUgJXMAZmFpbGVkIHRvIGNyZWF0ZSBmaWxlIHZpYSB0ZW1wbGF0ZSAlcwBmYWlsZWQgdG8gY3JlYXRlIGhhcmQgbGluayAlcwBmYWlsZWQgdG8gY3JlYXRlIGhhcmQgbGluayAlcyA9PiAlcwBmYWlsZWQgdG8gY3JlYXRlIGhhcmQgbGluayB0byAlLjBzJXMAZmFpbGVkIHRvIGNyZWF0ZSBwaXBlAGZhaWxlZCB0byBjcmVhdGUgc2VjdXJpdHkgY29udGV4dDogJXMAZmFpbGVkIHRvIGNyZWF0ZSBzeW1ib2xpYyBsaW5rICVzAGZhaWxlZCB0byBjcmVhdGUgc3ltYm9saWMgbGluayAlcyAtPiAlcwBmYWlsZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlIGluICVzAGZhaWxlZCB0byBkaXNjYXJkIGNhY2hlIGZvcjogJXMAZmFpbGVkIHRvIGV4dGVuZCAlcwBmYWlsZWQgdG8gZmluZCAlcwBmYWlsZWQgdG8gZ2V0IGF0dHJpYnV0ZXMgb2YgJXMAZmFpbGVkIHRvIGdldCBjdXJyZW50IGNvbnRleHQAZmFpbGVkIHRvIGdldCBncm91cHMgZm9yIHRoZSBjdXJyZW50IHByb2Nlc3MAZmFpbGVkIHRvIGdldCBncm91cHMgZm9yIHVzZXIgJXMAZmFpbGVkIHRvIGdldCBzZWN1cml0eSBjb250ZXh0IG9mICVzAGZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFsIGdyb3VwcwBmYWlsZWQgdG8gbG9va3VwIGZpbGUgJXMAZmFpbGVkIHRvIG9wZW4gJXMAZmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcAZmFpbGVkIHRvIG9wZW4gJXMgZm9yIHdyaXRpbmcAZmFpbGVkIHRvIHByZXBhcmUgdmFsdWUgJyVMZicgZm9yIHByaW50aW5nAGZhaWxlZCB0byBwcmVzZXJ2ZSBhdXRob3JzaGlwIGZvciAlcwBmYWlsZWQgdG8gcHJlc2VydmUgb3duZXJzaGlwIGZvciAlcwBmYWlsZWQgdG8gcHJlc2VydmUgcGVybWlzc2lvbnMgZm9yICVzAGZhaWxlZCB0byBwcmVzZXJ2ZSB0aW1lcyBmb3IgJXMAZmFpbGVkIHRvIHJlZGlyZWN0IHN0YW5kYXJkIGVycm9yAGZhaWxlZCB0byByZW1vdmUgJXMAZmFpbGVkIHRvIHJlbW92ZSBkaXJlY3RvcnkgJXMAZmFpbGVkIHRvIHJlbmRlciBzdGFuZGFyZCBpbnB1dCB1bnVzYWJsZQBmYWlsZWQgdG8gcmVzdG9yZSBjb250ZXh0IGZvciAlcwBmYWlsZWQgdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBmaWxlIGNyZWF0aW9uIGNvbnRleHQAZmFpbGVkIHRvIHJldHVybiB0byBpbml0aWFsIHdvcmtpbmcgZGlyZWN0b3J5AGZhaWxlZCB0byByZXdpbmQgc3RyZWFtIGZvciAlcwBmYWlsZWQgdG8gcnVuIGNvbW1hbmQgJXMAZmFpbGVkIHRvIHJ1biBjb21tYW5kOiAiJXMgLWMgJXMiAGZhaWxlZCB0byBzZXQgJXMgc2VjdXJpdHkgY29udGV4dCBjb21wb25lbnQgdG8gJXMAZmFpbGVkIHRvIHNldCBGSUxFIGVudmlyb25tZW50IHZhcmlhYmxlAGZhaWxlZCB0byBzZXQgZGVmYXVsdCBjcmVhdGlvbiBjb250ZXh0IGZvciAlcwBmYWlsZWQgdG8gc2V0IGRlZmF1bHQgZmlsZSBjcmVhdGlvbiBjb250ZXh0IGZvciAlcwBmYWlsZWQgdG8gc2V0IGRlZmF1bHQgZmlsZSBjcmVhdGlvbiBjb250ZXh0IHRvICVzAGZhaWxlZCB0byBzZXQgZmlsZSBkZXNjcmlwdG9yIHRleHQvYmluYXJ5IG1vZGUAZmFpbGVkIHRvIHNldCBncm91cC1JRABmYWlsZWQgdG8gc2V0IGxvY2FsZQBmYWlsZWQgdG8gc2V0IG5ldyByYW5nZTogJXMAZmFpbGVkIHRvIHNldCBuZXcgcm9sZTogJXMAZmFpbGVkIHRvIHNldCBuZXcgdHlwZTogJXMAZmFpbGVkIHRvIHNldCBuZXcgdXNlcjogJXMAZmFpbGVkIHRvIHNldCBzdXBwbGVtZW50YWwgZ3JvdXBzAGZhaWxlZCB0byBzZXQgdGhlIHNlY3VyaXR5IGNvbnRleHQgb2YgJXMAZmFpbGVkIHRvIHNldCB1c2VyLUlEAGZhaWxlZCB0byBzdGF0ICVzAGZhaWxlZCB0byB0dXJuIG9mZiBPX0RJUkVDVDogJXMAZmFpbGVkIHRvIHVwZGF0ZSB0aGUgZW52aXJvbm1lbnQgd2l0aCAlcwBmZGF0YXN5bmMgZmFpbGVkIGZvciAlcwBmZmx1c2ggZmFpbGVkAGZpZWxkIG51bWJlciAlcyBpcyB0b28gbGFyZ2UAZmllbGQgbnVtYmVyIGlzIHplcm8AZmllbGRzIGFyZSBudW1iZXJlZCBmcm9tIDEAZmlmbwBmaWxlICVkIGlzIG5vdCBpbiBzb3J0ZWQgb3JkZXIAZmlsZSBvcGVyYW5kcyBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAtLWZpbGVzMC1mcm9tAGZpbGUgb3BlcmFuZHMgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggLS1wcmludC1kYXRhYmFzZSAoLXApAGZpbGUgc3lzdGVtIHR5cGUgJXMgYm90aCBzZWxlY3RlZCBhbmQgZXhjbHVkZWQAZm9yayBzeXN0ZW0gY2FsbCBmYWlsZWQAZm9ybWF0ICVzIGVuZHMgaW4gJSUAZm9ybWF0ICVzIGhhcyBubyAlJSBkaXJlY3RpdmUAZm9ybWF0ICVzIGhhcyB0b28gbWFueSAlJSBkaXJlY3RpdmVzAGZvcm1hdCAlcyBoYXMgdW5rbm93biAlJSVjIGRpcmVjdGl2ZQBmb3JtYXQgc3RyaW5nIG1heSBub3QgYmUgc3BlY2lmaWVkIHdoZW4gcHJpbnRpbmcgZXF1YWwgd2lkdGggc3RyaW5ncwBmc3luYyBmYWlsZWQgZm9yICVzAGZ0c19jbG9zZSBmYWlsZWQAZnRzX3JlYWQgZmFpbGVkAGZ0c19yZWFkIGZhaWxlZDogJXMAZ2VuZXJhdGluZyByZWxhdGl2ZSBwYXRoAGdldHRpbmcgbmV3IGF0dHJpYnV0ZXMgb2YgJXMAZ3JvdXAgb2YgJXMgcmV0YWluZWQgYXMgJXMKAGdyb3VwaW5nIGFuZCBwcmludGluZyByZXBlYXQgY291bnRzIGlzIG1lYW5pbmdsZXNzAGdyb3VwaW5nIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIC0tdG8AZ3JvdXBpbmcgaGFzIG5vIGVmZmVjdCBpbiB0aGlzIGxvY2FsZQBpY29udiBmdW5jdGlvbiBub3QgYXZhaWxhYmxlAGljb252IGZ1bmN0aW9uIG5vdCB1c2FibGUAaWQ9AGlnbm9yaW5nIC0tbm8tbmV3bGluZSB3aXRoIG11bHRpcGxlIGFyZ3VtZW50cwBpZ25vcmluZyBpbnB1dABpZ25vcmluZyBpbnB1dCBhbmQgYXBwZW5kaW5nIG91dHB1dCB0byAlcwBpZ25vcmluZyBpbnB1dCBhbmQgcmVkaXJlY3Rpbmcgc3RkZXJyIHRvIHN0ZG91dABpZ25vcmluZyBpbnZhbGlkIHRhYiBzaXplIGluIGVudmlyb25tZW50IHZhcmlhYmxlIFRBQlNJWkU6ICVzAGlnbm9yaW5nIGludmFsaWQgdmFsdWUgb2YgZW52aXJvbm1lbnQgdmFyaWFibGUgUVVPVElOR19TVFlMRTogJXMAaWdub3JpbmcgaW52YWxpZCB3aWR0aCBpbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBDT0xVTU5TOiAlcwBpZ25vcmluZyBub24tb3B0aW9uIGFyZ3VtZW50cwBpbmNvbXBhdGlibGUgam9pbiBmaWVsZHMgJWx1LCAlbHUAaW5jb21wYXRpYmxlIHRhYnMAaW5vdGlmeSBjYW5ub3QgYmUgdXNlZCwgcmV2ZXJ0aW5nIHRvIHBvbGxpbmcAaW5vdGlmeSByZXNvdXJjZXMgZXhoYXVzdGVkAGlucHV0IGRpc2FwcGVhcmVkAGlucHV0IGxpbmUgaXMgdG9vIGxvbmcAaW50ZWdlciBvdmVyZmxvdwBpbnRlci1kZXZpY2UgbW92ZSBmYWlsZWQ6ICVzIHRvICVzOyB1bmFibGUgdG8gcmVtb3ZlIHRhcmdldABpbnZhbGlkICVzIGFyZ3VtZW50OiAlcwBpbnZhbGlkICVzJXMgYXJndW1lbnQgJyVzJwBpbnZhbGlkIC0tJXMgYXJndW1lbnQgJXMAaW52YWxpZCAtLXRocmVzaG9sZCBhcmd1bWVudCAnLTAnAGludmFsaWQgSU8gYmxvY2sgc2l6ZQBpbnZhbGlkIFBJRABpbnZhbGlkIFplcm8gaW5jcmVtZW50IHZhbHVlOiAlcwBpbnZhbGlkIGFkanVzdG1lbnQgJXMAaW52YWxpZCBhcmd1bWVudCAlcwBpbnZhbGlkIGFyZ3VtZW50ICVzIGZvciAlcwBpbnZhbGlkIGJvZHkgbnVtYmVyaW5nIHN0eWxlOiAlcwBpbnZhbGlkIGJ1ZmZlcmluZyBtb2RlICVzIGZvciAlcwoAaW52YWxpZCBieXRlIG9yIGNoYXJhY3RlciByYW5nZQBpbnZhbGlkIGJ5dGUvY2hhcmFjdGVyIHBvc2l0aW9uICVzAGludmFsaWQgY2hhcmFjdGVyICclYycgaW4gdHlwZSBzdHJpbmcgJXMAaW52YWxpZCBjaGFyYWN0ZXIgY2xhc3MgJXMAaW52YWxpZCBjaHVuayBudW1iZXIAaW52YWxpZCBjb250ZXh0OiAlcwBpbnZhbGlkIGNvbnZlcnNpb24AaW52YWxpZCBjb252ZXJzaW9uIHNwZWNpZmllciBpbiBzdWZmaXg6ICVjAGludmFsaWQgY29udmVyc2lvbiBzcGVjaWZpZXIgaW4gc3VmZml4OiBcJS4zbwBpbnZhbGlkIGRhdGUgJXMAaW52YWxpZCBkYXRlIGZvcm1hdCAlcwBpbnZhbGlkIGRlY3JlYXNpbmcgcmFuZ2UAaW52YWxpZCBkZXZpY2UgJXMgJXMAaW52YWxpZCBkZXZpY2UgdHlwZSAlcwBpbnZhbGlkIGZpZWxkIG51bWJlcjogJXMAaW52YWxpZCBmaWVsZCByYW5nZQBpbnZhbGlkIGZpZWxkIHNwZWNpZmllcjogJXMAaW52YWxpZCBmaWVsZCB2YWx1ZSAlcwBpbnZhbGlkIGZpZWxkIHdpZHRoOiAlcwBpbnZhbGlkIGZpbGUgbnVtYmVyIGluIGZpZWxkIHNwZWM6ICVzAGludmFsaWQgZmlsZSBzaXplAGludmFsaWQgZmxhZ3MgaW4gY29udmVyc2lvbiBzcGVjaWZpY2F0aW9uOiAlJSVjJWMAaW52YWxpZCBmbG9hdGluZyBwb2ludCBhcmd1bWVudDogJXMAaW52YWxpZCBmb290ZXIgbnVtYmVyaW5nIHN0eWxlOiAlcwBpbnZhbGlkIGZvcm1hdCAlcyAod2lkdGggb3ZlcmZsb3cpAGludmFsaWQgZm9ybWF0ICVzLCBkaXJlY3RpdmUgbXVzdCBiZSAlJVswXVsnXVstXVtOXVsuXVtOXWYAaW52YWxpZCBnYXAgd2lkdGg6ICVzAGludmFsaWQgZ3JvdXAAaW52YWxpZCBncm91cCAlcwBpbnZhbGlkIGdyb3VwIGxpc3QgJXMAaW52YWxpZCBncm91cDogJXMAaW52YWxpZCBoZWFkZXIgbnVtYmVyaW5nIHN0eWxlOiAlcwBpbnZhbGlkIGhlYWRlciB2YWx1ZSAlcwBpbnZhbGlkIGlucHV0AGludmFsaWQgaW5wdXQgZmxhZwBpbnZhbGlkIGlucHV0IHJhbmdlAGludmFsaWQgaW50ZWdlciAlcwBpbnZhbGlkIGludGVnZXIgYXJndW1lbnQAaW52YWxpZCBsZW5ndGgAaW52YWxpZCBsZW5ndGg6ICVzAGludmFsaWQgbGluZSBjb3VudDogJXMAaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgJXMAaW52YWxpZCBsaW5lIG51bWJlciBmaWVsZCB3aWR0aABpbnZhbGlkIGxpbmUgbnVtYmVyIGluY3JlbWVudABpbnZhbGlkIGxpbmUgbnVtYmVyIG9mIGJsYW5rIGxpbmVzAGludmFsaWQgbGluZSBudW1iZXJpbmcgZm9ybWF0OiAlcwBpbnZhbGlkIGxpbmUgd2lkdGgAaW52YWxpZCBsaW5lIHdpZHRoOiAlcwBpbnZhbGlkIG1ham9yIGRldmljZSBudW1iZXIgJXMAaW52YWxpZCBtYXhpbXVtIGRlcHRoICVzAGludmFsaWQgbWF4aW11bSBudW1iZXIgb2YgdW5jaGFuZ2VkIHN0YXRzIGJldHdlZW4gb3BlbnMAaW52YWxpZCBtaW5vciBkZXZpY2UgbnVtYmVyICVzAGludmFsaWQgbW9kZQBpbnZhbGlkIG1vZGUgJXMAaW52YWxpZCBtb2RlOiAlcwBpbnZhbGlkIG51bWJlcgBpbnZhbGlkIG51bWJlciBhZnRlciAnLCcAaW52YWxpZCBudW1iZXIgYWZ0ZXIgJy0nAGludmFsaWQgbnVtYmVyIGFmdGVyICcuJwBpbnZhbGlkIG51bWJlciBhdCBmaWVsZCBzdGFydABpbnZhbGlkIG51bWJlciBvZiBieXRlcwBpbnZhbGlkIG51bWJlciBvZiBieXRlcyB0byBjb21wYXJlAGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIHRvIHNraXAAaW52YWxpZCBudW1iZXIgb2YgY2h1bmtzAGludmFsaWQgbnVtYmVyIG9mIGNvbHVtbnMAaW52YWxpZCBudW1iZXIgb2YgZmllbGRzIHRvIHNraXAAaW52YWxpZCBudW1iZXIgb2YgbGluZXMAaW52YWxpZCBudW1iZXIgb2YgcGFzc2VzAGludmFsaWQgbnVtYmVyIG9mIHNlY29uZHM6ICVzAGludmFsaWQgbnVtYmVyOiAlcwBpbnZhbGlkIG9wdGlvbiAtLSAlYwBpbnZhbGlkIG9wdGlvbiAtLSAlYzsgLVdJRFRIIGlzIHJlY29nbml6ZWQgb25seSB3aGVuIGl0IGlzIHRoZSBmaXJzdApvcHRpb247IHVzZSAtdyBOIGluc3RlYWQAaW52YWxpZCBvdXRwdXQgYWRkcmVzcyByYWRpeCAnJWMnOyBpdCBtdXN0IGJlIG9uZSBjaGFyYWN0ZXIgZnJvbSBbZG94bl0AaW52YWxpZCBvdXRwdXQgZmxhZwBpbnZhbGlkIHBhZGRpbmcgdmFsdWUgJXMAaW52YWxpZCBwYWdlIHJhbmdlICVzAGludmFsaWQgcHJlY2lzaW9uIGluIGZvcm1hdCAlcwBpbnZhbGlkIHByZWNpc2lvbjogJXMAaW52YWxpZCByYW5nZSB3aXRoIG5vIGVuZHBvaW50OiAtAGludmFsaWQgcmVwZWF0IGNvdW50ICVzIGluIFtjKm5dIGNvbnN0cnVjdABpbnZhbGlkIHNwZWMAaW52YWxpZCBzdGFydGluZyBsaW5lIG51bWJlcgBpbnZhbGlkIHN0YXR1cyBsZXZlbABpbnZhbGlkIHN1ZmZpeCAlcywgY29udGFpbnMgZGlyZWN0b3J5IHNlcGFyYXRvcgBpbnZhbGlkIHN1ZmZpeCBpbiAlcyVzIGFyZ3VtZW50ICclcycAaW52YWxpZCBzdWZmaXggaW4gaW5wdXQgJXM6ICVzAGludmFsaWQgc3VmZml4IGluIGlucHV0OiAlcwBpbnZhbGlkIHN1ZmZpeCBsZW5ndGgAaW52YWxpZCB0YWIgc2l6ZQBpbnZhbGlkIHRlbXBsYXRlLCAlcywgY29udGFpbnMgZGlyZWN0b3J5IHNlcGFyYXRvcgBpbnZhbGlkIHRlbXBsYXRlLCAlczsgd2l0aCAtLXRtcGRpciwgaXQgbWF5IG5vdCBiZSBhYnNvbHV0ZQBpbnZhbGlkIHRpbWUgaW50ZXJ2YWwgJXMAaW52YWxpZCB0aW1lIHN0eWxlIGZvcm1hdCAlcwBpbnZhbGlkIHRyYWlsaW5nIG9wdGlvbiAtLSAlYwBpbnZhbGlkIHR5cGUgc3RyaW5nICVzAGludmFsaWQgdHlwZSBzdHJpbmcgJXM7CnRoaXMgc3lzdGVtIGRvZXNuJ3QgcHJvdmlkZSBhICVsdS1ieXRlIGZsb2F0aW5nIHBvaW50IHR5cGUAaW52YWxpZCB0eXBlIHN0cmluZyAlczsKdGhpcyBzeXN0ZW0gZG9lc24ndCBwcm92aWRlIGEgJWx1LWJ5dGUgaW50ZWdyYWwgdHlwZQBpbnZhbGlkIHVuaXQgc2l6ZTogJXMAaW52YWxpZCB1bml2ZXJzYWwgY2hhcmFjdGVyIG5hbWUgXCVjJTAqeABpbnZhbGlkIHVzZXIAaW52YWxpZCB1c2VyICVzAGludmFsaWQgd2lkdGgAaW52YWxpZCB3cmFwIHNpemUAaW52YWxpZCB6ZXJvLWxlbmd0aCBmaWxlIG5hbWUAaXQgaXMgZGFuZ2Vyb3VzIHRvIG9wZXJhdGUgcmVjdXJzaXZlbHkgb24gJXMAaXQgaXMgZGFuZ2Vyb3VzIHRvIG9wZXJhdGUgcmVjdXJzaXZlbHkgb24gJXMgKHNhbWUgYXMgJXMpAGtleSAlbHUgaGFzIHplcm8gd2lkdGggYW5kIHdpbGwgYmUgaWdub3JlZABrZXkgJWx1IGlzIG51bWVyaWMgYW5kIHNwYW5zIG11bHRpcGxlIGZpZWxkcwBsYXJnZSBpbnB1dCB2YWx1ZSAlczogcG9zc2libGUgcHJlY2lzaW9uIGxvc3MAbGFzdD0AbGVhZGluZyAnLScgaW4gYSBjb21wb25lbnQgb2YgZmlsZSBuYW1lICVzAGxlYWRpbmcgYmxhbmtzIGFyZSBzaWduaWZpY2FudCBpbiBrZXkgJWx1OyBjb25zaWRlciBhbHNvIHNwZWNpZnlpbmcgJ2InAGxlbmd0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA4AGxpbWl0ICVsdSBleGNlZWRlZCBieSBsZW5ndGggJWx1IG9mIGZpbGUgbmFtZSAlcwBsaW1pdCAlbHUgZXhjZWVkZWQgYnkgbGVuZ3RoICVsdSBvZiBmaWxlIG5hbWUgY29tcG9uZW50ICVzAGxpbmUgYnVmZmVyaW5nIHN0ZGluIGlzIG1lYW5pbmdsZXNzAGxpbmUgY291bnQgb3B0aW9uIC0lcyVjLi4uIGlzIHRvbyBsYXJnZQBsaW5lIG51bWJlciAlcyBpcyBzbWFsbGVyIHRoYW4gcHJlY2VkaW5nIGxpbmUgbnVtYmVyLCAlcwBsaW5lIG51bWJlciBvdmVyZmxvdwBtYXhpbXVtIC0tJXMgYXJndW1lbnQgd2l0aCBjdXJyZW50IHJsaW1pdCBpcyAlcwBtZW1vcnkgZXhoYXVzdGVkAG1lc3NhZ2UgcXVldWUAbWlncmF0ZWQgZmlsZSB3aXRoIGRhdGEAbWlncmF0ZWQgZmlsZSB3aXRob3V0IGRhdGEAbWluaW11bSAtLSVzIGFyZ3VtZW50IGlzICVzAG1pc2FsaWduZWQgWzp1cHBlcjpdIGFuZC9vciBbOmxvd2VyOl0gY29uc3RydWN0AG1pc3NpbmcgJSUgY29udmVyc2lvbiBzcGVjaWZpY2F0aW9uIGluIHN1ZmZpeABtaXNzaW5nICVzAG1pc3NpbmcgJ2knIHN1ZmZpeCBpbiBpbnB1dDogJXMgKGUuZyBLaS9NaS9HaSkAbWlzc2luZyBhcmd1bWVudCBhZnRlciAlcwBtaXNzaW5nIGFyZ3VtZW50IHRvICVzAG1pc3NpbmcgY2hhcmFjdGVyIGNsYXNzIG5hbWUgJ1s6Ol0nAG1pc3NpbmcgY29udmVyc2lvbiBzcGVjaWZpZXIgaW4gc3VmZml4AG1pc3NpbmcgZGVzdGluYXRpb24gZmlsZSBvcGVyYW5kIGFmdGVyICVzAG1pc3NpbmcgZXF1aXZhbGVuY2UgY2xhc3MgY2hhcmFjdGVyICdbPT1dJwBtaXNzaW5nIGZpbGUgb3BlcmFuZABtaXNzaW5nIGhleGFkZWNpbWFsIG51bWJlciBpbiBlc2NhcGUAbWlzc2luZyBsaXN0IG9mIGJ5dGUvY2hhcmFjdGVyIHBvc2l0aW9ucwBtaXNzaW5nIGxpc3Qgb2YgZmllbGRzAG1pc3Npbmcgb3BlcmFuZABtaXNzaW5nIG9wZXJhbmQgYWZ0ZXIgJXMAbW9kZSBtdXN0IHNwZWNpZnkgb25seSBmaWxlIHBlcm1pc3Npb24gYml0cwBtb2RlIG9mICVzIGNoYW5nZWQgZnJvbSAlMDRsbyAoJXMpIHRvICUwNGxvICglcykKAG1vZGUgb2YgJXMgcmV0YWluZWQgYXMgJTA0bG8gKCVzKQoAbW92aW5nIGlucHV0IHBpcGUAbXVsdGktY2hhcmFjdGVyIHNlcGFyYXRvciAlcwBtdWx0aS1jaGFyYWN0ZXIgdGFiICVzAG11bHRpcGxlIC1pIG9wdGlvbnMgc3BlY2lmaWVkAG11bHRpcGxlIC1sIG9yIC10IG9wdGlvbnMgc3BlY2lmaWVkAG11bHRpcGxlIGNvbXByZXNzIHByb2dyYW1zIHNwZWNpZmllZABtdWx0aXBsZSBmaWVsZCBzcGVjaWZpY2F0aW9ucwBtdWx0aXBsZSBsZXZlbHJhbmdlcwBtdWx0aXBsZSBvdXRwdXQgZGVsaW1pdGVycyBzcGVjaWZpZWQAbXVsdGlwbGUgb3V0cHV0IGZpbGVzIHNwZWNpZmllZABtdWx0aXBsZSBvdXRwdXQgZm9ybWF0cyBzcGVjaWZpZWQAbXVsdGlwbGUgcmFuZG9tIHNvdXJjZXMgc3BlY2lmaWVkAG11bHRpcGxlIHJlbGF0aXZlIG1vZGlmaWVycyBzcGVjaWZpZWQAbXVsdGlwbGUgcm9sZXMAbXVsdGlwbGUgc2VwYXJhdG9yIGNoYXJhY3RlcnMgc3BlY2lmaWVkAG11bHRpcGxlIHRhcmdldCBkaXJlY3RvcmllcyBzcGVjaWZpZWQAbXVsdGlwbGUgdHlwZXMAbXVsdGlwbGUgdXNlcnMAbXVsdGlwbGV4ZWQgYmxvY2sgc3BlY2lhbCBmaWxlAG11bHRpcGxleGVkIGNoYXJhY3RlciBzcGVjaWFsIGZpbGUAbXVsdGlwbGV4ZWQgZmlsZQBuYW1lZCBmaWxlAG5laXRoZXIgc3ltYm9saWMgbGluayAlcyBub3IgcmVmZXJlbnQgaGFzIGJlZW4gY2hhbmdlZAoAbmV0d29yayBzcGVjaWFsIGZpbGUAbm8gU0hFTEwgZW52aXJvbm1lbnQgdmFyaWFibGUsIGFuZCBubyBzaGVsbCB0eXBlIG9wdGlvbiBnaXZlbgBubyBjaGFuZ2UgdG8gb3duZXJzaGlwIG9mICVzCgBubyBjb21tYW5kIHNwZWNpZmllZABubyBjb252ZXJzaW9uIG9wdGlvbiBzcGVjaWZpZWQAbm8gZmlsZSBzeXN0ZW1zIHByb2Nlc3NlZABubyBmaWxlcyByZW1haW5pbmcAbm8gZ3JvdXAgc3BlY2lmaWVkIGZvciB1bmtub3duIHVpZDogJWQAbm8gaW5wdXQgZnJvbSAlcwBubyBsaW5lcyB0byByZXBlYXQAbm8gbG9naW4gbmFtZQBubyBwcm9jZXNzIElEIHNwZWNpZmllZABubyB0eXBlIG1heSBiZSBzcGVjaWZpZWQgd2hlbiBkdW1waW5nIHN0cmluZ3MAbm8gdXNlcm5hbWUgc3BlY2lmaWVkOyBhdCBsZWFzdCBvbmUgbXVzdCBiZSBzcGVjaWZpZWQgd2hlbiB1c2luZyAtbABub24taW50ZWdlciBhcmd1bWVudABub25wb3J0YWJsZSBjaGFyYWN0ZXIgJXMgaW4gZmlsZSBuYW1lICVzAG5vdCBhIHR0eQBub3Qgd3JpdGluZyB0aHJvdWdoIGRhbmdsaW5nIHN5bWxpbmsgJXMAbnVtYmVyIGluIHBhcmFsbGVsIG11c3QgYmUgbm9uemVybwBudW1lcmljYWwgc3VmZml4IHN0YXJ0IHZhbHVlIGlzIHRvbyBsYXJnZSBmb3IgdGhlIHN1ZmZpeCBsZW5ndGgAb2Jzb2xlc2NlbnQga2V5ICVzIHVzZWQ7IGNvbnNpZGVyICVzIGluc3RlYWQAb2ZmAG9mZnNldCBvdmVyZmxvdyB3aGlsZSByZWFkaW5nIGZpbGUgJXMAb21pdHRpbmcgZGlyZWN0b3J5ICVzAG9uAG9ubHkgb25lIFtjKl0gcmVwZWF0IGNvbnN0cnVjdCBtYXkgYXBwZWFyIGluIHN0cmluZzIAb25seSBvbmUgZGV2aWNlIG1heSBiZSBzcGVjaWZpZWQAb25seSBvbmUgdHlwZSBvZiBsaXN0IG1heSBiZSBzcGVjaWZpZWQAb3BlbiBmYWlsZWQAb3B0aW9uICctJXMnIGlzIGlnbm9yZWQAb3B0aW9ucyAnLSVzJyBhcmUgaWdub3JlZABvcHRpb24gJy1yJyBvbmx5IGFwcGxpZXMgdG8gbGFzdC1yZXNvcnQgY29tcGFyaXNvbgBvcHRpb24gLS1vdXRwdXQ6IGZpZWxkICVzIHVua25vd24Ab3B0aW9uIC0tb3V0cHV0OiBmaWVsZCAlcyB1c2VkIG1vcmUgdGhhbiBvbmNlAG9wdGlvbiAtLXNraXAtY2hkaXIgb25seSBwZXJtaXR0ZWQgaWYgTkVXUk9PVCBpcyBvbGQgJXMAb3B0aW9uIC0temVybyBub3QgcGVybWl0dGVkIGluIGRlZmF1bHQgZm9ybWF0AG9wdGlvbiB1c2VkIGluIGludmFsaWQgY29udGV4dCAtLSAlYwBvcHRpb25zICVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlAG9wdGlvbnMgJy0lcycgYXJlIGluY29tcGF0aWJsZQBvcHRpb25zIC0tYmFja3VwIGFuZCAtLW5vLWNsb2JiZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZQBvcHRpb25zIC0tY29tcGFyZSAoLUMpIGFuZCAtLXByZXNlcnZlLXRpbWVzdGFtcHMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZQBvcHRpb25zIC0tY29tcGFyZSAoLUMpIGFuZCAtLXN0cmlwIGFyZSBtdXR1YWxseSBleGNsdXNpdmUAb3IgYXZhaWxhYmxlIGxvY2FsbHkgdmlhOiBpbmZvICcoY29yZXV0aWxzKSAlcyVzJwoAb3V0cHV0IGZpbGUgc3VmZml4ZXMgZXhoYXVzdGVkAG92ZXJmbG93IGV4dGVuZGluZyBzaXplIG9mIGZpbGUgJXMAb3ZlcmZsb3cgcmVhZGluZyAlcwBvdmVyZmxvdyByb3VuZGluZyB1cCBzaXplIG9mIGZpbGUgJXMAb3duZXJzaGlwIG9mICVzIHJldGFpbmVkCgBvd25lcnNoaXAgb2YgJXMgcmV0YWluZWQgYXMgJXMKAHBhZ2UgbnVtYmVyIG92ZXJmbG93AHBhZ2Ugd2lkdGggdG9vIG5hcnJvdwBwb3J0AHByZXNlcnZpbmcgcGVybWlzc2lvbnMgZm9yICVzAHByZXNlcnZpbmcgdGltZXMgZm9yICVzAHByaW50aW5nIGFsbCBkdXBsaWNhdGVkIGxpbmVzIGFuZCByZXBlYXQgY291bnRzIGlzIG1lYW5pbmdsZXNzAHJhbmdlLWVuZHBvaW50cyBvZiAnJXMtJXMnIGFyZSBpbiByZXZlcnNlIGNvbGxhdGluZyBzZXF1ZW5jZSBvcmRlcgByZWFkIGVycm9yAHJlYWQgZmFpbGVkAHJlYWRpbmcgZGlyZWN0b3J5ICVzAHJlY29yZCB0b28gbGFyZ2UAcmVkaXJlY3Rpbmcgc3RkZXJyIHRvIHN0ZG91dAByZWZ1c2luZyB0byByZW1vdmUgJXMgb3IgJXMgZGlyZWN0b3J5OiBza2lwcGluZyAlcwByZWd1bGFyIGVtcHR5IGZpbGUAcmVndWxhciBmaWxlAHJlamVjdGluZyBzdWZmaXggaW4gaW5wdXQ6ICVzIChjb25zaWRlciB1c2luZyAtLWZyb20pAHJlbW92ZWQgJXMKAHJlbW92ZWQgZGlyZWN0b3J5ICVzCgByZW1vdmluZyBkaXJlY3RvcnksICVzAHJ1bi1sZXZlbABzZW1hcGhvcmUAc2VwYXJhdG9yIGNhbm5vdCBiZSBlbXB0eQBzZXQgTENfQUxMPSdDJyB0byB3b3JrIGFyb3VuZCB0aGUgcHJvYmxlbQBzZXR0aW5nIGZsYWdzIGZvciAlcwBzZXR0aW5nIHBlcm1pc3Npb25zIGZvciAlcwBzZXR0aW5nIHRpbWVzIG9mICVzAHNoYXJlZCBtZW1vcnkgb2JqZWN0AHNraXAtYnl0ZXMgKyByZWFkLWJ5dGVzIGlzIHRvbyBsYXJnZQBza2lwcGluZyAlcywgc2luY2UgaXQncyBvbiBhIGRpZmZlcmVudCBkZXZpY2UAc2tpcHBpbmcgZmlsZSAlcywgYXMgaXQgd2FzIHJlcGxhY2VkIHdoaWxlIGJlaW5nIGNvcGllZABzb2NrZXQAc3F1Zm9mIHF1ZXVlIG92ZXJmbG93AHN0YW5kYXJkIGVycm9yAHN0YW5kYXJkIGlucHV0AHN0YW5kYXJkIGlucHV0IGlzIGNsb3NlZABzdGFuZGFyZCBvdXRwdXQAc3RhdCBmYWlsZWQAc3RyYXkgY2hhcmFjdGVyIGluIGZpZWxkIHNwZWMAc3RyaW5nIGNvbXBhcmlzb24gZmFpbGVkAHN0cmluZyB0cmFuc2Zvcm1hdGlvbiBmYWlsZWQAc3RyaXAgcHJvY2VzcyB0ZXJtaW5hdGVkIGFibm9ybWFsbHkAc3VwcHJlc3Npbmcgbm9uLWRlbGltaXRlZCBsaW5lcyBtYWtlcyBzZW5zZQoJb25seSB3aGVuIG9wZXJhdGluZyBvbiBmaWVsZHMAc3ltYm9saWMgbGluawBzeXN0ZW0gYm9vdAB0YWIgc2l6ZSBjYW5ub3QgYmUgMAB0YWIgc2l6ZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcihzKTogJXMAdGFiIHNpemVzIG11c3QgYmUgYXNjZW5kaW5nAHRhYiBzdG9wIGlzIHRvbyBsYXJnZSAlcwB0YWIgc3RvcCB2YWx1ZSBpcyB0b28gbGFyZ2UAdGFicyBhcmUgdG9vIGZhciBhcGFydAB0YXJnZXQgJXMgaXMgbm90IGEgZGlyZWN0b3J5AHRhcmdldCBkaXJlY3Rvcnkgbm90IGFsbG93ZWQgd2hlbiBpbnN0YWxsaW5nIGEgZGlyZWN0b3J5AHRlcm09AHRlc3QgYW5kL29yIFsAdGhlIC0tYmluYXJ5IGFuZCAtLXRleHQgb3B0aW9ucyBhcmUgbWVhbmluZ2xlc3Mgd2hlbiB2ZXJpZnlpbmcgY2hlY2tzdW1zAHRoZSAtLWNvbXBhcmUgKC1DKSBvcHRpb24gaXMgaWdub3JlZCB3aGVuIHlvdSBzcGVjaWZ5IGEgbW9kZSB3aXRoIG5vbi1wZXJtaXNzaW9uIGJpdHMAdGhlIC0taWdub3JlLW1pc3Npbmcgb3B0aW9uIGlzIG1lYW5pbmdmdWwgb25seSB3aGVuIHZlcmlmeWluZyBjaGVja3N1bXMAdGhlIC0tcXVpZXQgb3B0aW9uIGlzIG1lYW5pbmdmdWwgb25seSB3aGVuIHZlcmlmeWluZyBjaGVja3N1bXMAdGhlIC0tc3RhdHVzIG9wdGlvbiBpcyBtZWFuaW5nZnVsIG9ubHkgd2hlbiB2ZXJpZnlpbmcgY2hlY2tzdW1zAHRoZSAtLXN0cmljdCBvcHRpb24gaXMgbWVhbmluZ2Z1bCBvbmx5IHdoZW4gdmVyaWZ5aW5nIGNoZWNrc3VtcwB0aGUgLS10YWcgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIHdoZW4gdmVyaWZ5aW5nIGNoZWNrc3VtcwB0aGUgLS13YXJuIG9wdGlvbiBpcyBtZWFuaW5nZnVsIG9ubHkgd2hlbiB2ZXJpZnlpbmcgY2hlY2tzdW1zAHRoZSBbYypdIGNvbnN0cnVjdCBtYXkgYXBwZWFyIGluIHN0cmluZzIgb25seSB3aGVuIHRyYW5zbGF0aW5nAHRoZSBbYypdIHJlcGVhdCBjb25zdHJ1Y3QgbWF5IG5vdCBhcHBlYXIgaW4gc3RyaW5nMQB0aGUgYXJndW1lbnQgJXMgbGFja3MgYSBsZWFkaW5nICcrJzsKd2hlbiB1c2luZyBhbiBvcHRpb24gdG8gc3BlY2lmeSBkYXRlKHMpLCBhbnkgbm9uLW9wdGlvbgphcmd1bWVudCBtdXN0IGJlIGEgZm9ybWF0IHN0cmluZyBiZWdpbm5pbmcgd2l0aCAnKycAdGhlIGRlbGltaXRlciBtdXN0IGJlIGEgc2luZ2xlIGNoYXJhY3RlcgB0aGUgbW9uaXRvcmVkIGNvbW1hbmQgZHVtcGVkIGNvcmUAdGhlIG9wdGlvbnMgZm9yIHZlcmJvc2UgYW5kIHN0dHktcmVhZGFibGUgb3V0cHV0IHN0eWxlcyBhcmUKbXV0dWFsbHkgZXhjbHVzaXZlAHRoZSBvcHRpb25zIHRvIG91dHB1dCBkaXJjb2xvcnMnIGludGVybmFsIGRhdGFiYXNlIGFuZAp0byBzZWxlY3QgYSBzaGVsbCBzeW50YXggYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZQB0aGUgb3B0aW9ucyB0byBwcmludCBhbmQgc2V0IHRoZSB0aW1lIG1heSBub3QgYmUgdXNlZCB0b2dldGhlcgB0aGUgb3B0aW9ucyB0byBzcGVjaWZ5IGRhdGVzIGZvciBwcmludGluZyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlAHRoZSBzdHJpbmdzIGNvbXBhcmVkIHdlcmUgJXMgYW5kICVzAHRoZSBzdHJpcCBvcHRpb24gbWF5IG5vdCBiZSB1c2VkIHdoZW4gaW5zdGFsbGluZyBhIGRpcmVjdG9yeQB0aGUgdW50cmFuc2Zvcm1lZCBzdHJpbmcgd2FzICVzAHRpbWUgJXMgaXMgb3V0IG9mIHJhbmdlAHRvbyBmZXcgWCdzIGluIHRlbXBsYXRlICVzAHRvbyBtYW55ICUlIGNvbnZlcnNpb24gc3BlY2lmaWNhdGlvbnMgaW4gc3VmZml4AHRvbyBtYW55IGNoYXJhY3RlcnMgaW4gc2V0AHRvbyBtYW55IGlucHV0IGxpbmVzAHRvbyBtYW55IHJlcGVhdGVkIGxpbmVzAHRvbyBtYW55IHRlbXBsYXRlcwB0b3RhbAB0cmF2ZXJzYWwgZmFpbGVkOiAlcwB0eXBlZCBtZW1vcnkgb2JqZWN0AHVpZD0lcwB1bmFibGUgdG8gZGlzcGxheSBlcnJvciBtZXNzYWdlAHVuYWJsZSB0byByZWNvcmQgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeQB1bmFibGUgdG8gc2V0IHNlY3VyaXR5IGNvbnRleHQgJXMAdW5leHBlY3RlZCBmYWlsdXJlOiBmdHNfaW5mbz0lZDogJXMKcGxlYXNlIHJlcG9ydCB0byAlcwB1bmtub3duIHByb2dyYW0gJXMAdW5rbm93biBzdGF0dXMgZnJvbSBjb21tYW5kICglZCkAdW5rbm93biBzdGF0dXMgZnJvbSBjb21tYW5kICgweCVYKQB1bnBhcnNhYmxlIHZhbHVlIGZvciBMU19DT0xPUlMgZW52aXJvbm1lbnQgdmFyaWFibGUAdW5yZWNvZ25pemVkIG9wZXJhbmQgJXMAdW5yZWNvZ25pemVkIHByZWZpeDogJXMAdXAgICUyZDolMDJkLCAgAHVwICVsZCBkYXkgJTJkOiUwMmQsICAAdXAgJWxkIGRheXMgJTJkOiUwMmQsICAAdXAgPz8/PyBkYXlzID8/Oj8/LCAgAHVzZSAtLW5vLXByZXNlcnZlLXJvb3QgdG8gb3ZlcnJpZGUgdGhpcyBmYWlsc2FmZQB1c2luZyAlcyBzb3J0aW5nIHJ1bGVzAHVzaW5nICVzIHRvIGRlbm90ZSBzdGFuZGFyZCBpbnB1dCBkb2VzIG5vdCB3b3JrIGluIGZpbGUgc3lzdGVtIG1vZGUAdXNpbmcgc2ltcGxlIGJ5dGUgY29tcGFyaXNvbgB2YWx1ZSB0b28gbGFyZ2UgdG8gYmUgY29udmVydGVkOiAlcwB2YWx1ZSB0b28gbGFyZ2UgdG8gYmUgcHJpbnRlZDogJyVMZycgKGNhbm5vdCBoYW5kbGUgdmFsdWVzID4gOTk5WSkAdmFsdWUgdG9vIGxhcmdlIHRvIGJlIHByaW50ZWQ6ICclTGcnIChjb25zaWRlciB1c2luZyAtLXRvKQB3YWl0aW5nIGZvciAlcyBbLWRdAHdhaXRpbmcgZm9yIGNoaWxkIHByb2Nlc3MAd2FpdGluZyBmb3Igc3RyaXAAd2FybmluZzogJXMgaXMgYSB6ZXJvIG11bHRpcGxpZXI7IHVzZSAlcyBpZiB0aGF0IGlzIGludGVuZGVkAHdhcm5pbmc6ICVzOiBjaGFyYWN0ZXIocykgZm9sbG93aW5nIGNoYXJhY3RlciBjb25zdGFudCBoYXZlIGJlZW4gaWdub3JlZAB3YXJuaW5nOiAlczogZmFpbGVkIHRvIGNoYW5nZSBjb250ZXh0IHRvICVzAHdhcm5pbmc6ICd0b3VjaCAlcycgaXMgb2Jzb2xldGU7IHVzZSAndG91Y2ggLXQgJTA0bGQlMDJkJTAyZCUwMmQlMDJkLiUwMmQnAHdhcm5pbmc6IC0tcGlkPVBJRCBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgc3lzdGVtAHdhcm5pbmc6IC0tcmV0cnkgaWdub3JlZDsgLS1yZXRyeSBpcyB1c2VmdWwgb25seSB3aGVuIGZvbGxvd2luZwB3YXJuaW5nOiAtLXJldHJ5IG9ubHkgZWZmZWN0aXZlIGZvciB0aGUgaW5pdGlhbCBvcGVuAHdhcm5pbmc6IFBJRCBpZ25vcmVkOyAtLXBpZD1QSUQgaXMgdXNlZnVsIG9ubHkgd2hlbiBmb2xsb3dpbmcAd2FybmluZzogYW4gdW5lc2NhcGVkIGJhY2tzbGFzaCBhdCBlbmQgb2Ygc3RyaW5nIGlzIG5vdCBwb3J0YWJsZQB3YXJuaW5nOiBiYWNrc2xhc2ggYXQgZW5kIG9mIGZvcm1hdAB3YXJuaW5nOiBjYW5ub3QgcmVtb3ZlOiAlcwB3YXJuaW5nOiBkaXNhYmxpbmcgY29yZSBkdW1wcyBmYWlsZWQAd2FybmluZzogZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGluZGVmaW5pdGVseSBpcyBpbmVmZmVjdGl2ZQB3YXJuaW5nOiBpZ25vcmluZyAtLWNvbnRleHQ7IGl0IHJlcXVpcmVzIGFuIFNFTGludXgtZW5hYmxlZCBrZXJuZWwAd2FybmluZzogaWdub3JpbmcgLS1jb250ZXh0OyBpdCByZXF1aXJlcyBhbiBTRUxpbnV4L1NNQUNLLWVuYWJsZWQga2VybmVsAHdhcm5pbmc6IGlnbm9yaW5nIGV4Y2VzcyBhcmd1bWVudHMsIHN0YXJ0aW5nIHdpdGggJXMAd2FybmluZzogaW52YWxpZCBmaWxlIG9mZnNldCBhZnRlciBmYWlsZWQgcmVhZAB3YXJuaW5nOiBpbnZhbGlkIHdpZHRoICVsdTsgdXNpbmcgJWQgaW5zdGVhZAB3YXJuaW5nOiBsaW5lIG51bWJlciAlcyBpcyB0aGUgc2FtZSBhcyBwcmVjZWRpbmcgbGluZSBudW1iZXIAd2FybmluZzogb3B0aW9ucyAtLWFwcGFyZW50LXNpemUgYW5kIC1iIGFyZSBpbmVmZmVjdGl2ZSB3aXRoIC0taW5vZGVzAHdhcm5pbmc6IHNpZ3Byb2NtYXNrAHdhcm5pbmc6IHNvdXJjZSBkaXJlY3RvcnkgJXMgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlAHdhcm5pbmc6IHNvdXJjZSBmaWxlICVzIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZQB3YXJuaW5nOiBzdW1tYXJpemluZyBjb25mbGljdHMgd2l0aCAtLW1heC1kZXB0aD0lbHUAd2FybmluZzogc3VtbWFyaXppbmcgaXMgdGhlIHNhbWUgYXMgdXNpbmcgLS1tYXgtZGVwdGg9MAB3YXJuaW5nOiB0aGUgYW1iaWd1b3VzIG9jdGFsIGVzY2FwZSBcJWMlYyVjIGlzIGJlaW5nCglpbnRlcnByZXRlZCBhcyB0aGUgMi1ieXRlIHNlcXVlbmNlIFwwJWMlYywgJWMAd2FybmluZzogdGltZXJfY3JlYXRlAHdhcm5pbmc6IHRpbWVyX3NldHRpbWUAd2FybmluZzogdW5yZWNvZ25pemVkIGVzY2FwZSAnXCVjJwB3YXJuaW5nOiB3b3JraW5nIGFyb3VuZCBsc2VlayBrZXJuZWwgYnVnIGZvciBmaWxlICglcykKICBvZiBtdF90eXBlPTB4JTBseCAtLSBzZWUgPHN5cy9tdGlvLmg+IGZvciB0aGUgbGlzdCBvZiB0eXBlcwB3ZWlyZCBmaWxlAHdoZW4gbm90IHRydW5jYXRpbmcgc2V0MSwgc3RyaW5nMiBtdXN0IGJlIG5vbi1lbXB0eQB3aGVuIHJlYWRpbmcgZmlsZSBuYW1lcyBmcm9tIHN0ZGluLCBubyBmaWxlIG5hbWUgb2YgJXMgYWxsb3dlZAB3aGVuIHNwZWNpZnlpbmcgYW4gb3V0cHV0IHN0eWxlLCBtb2RlcyBtYXkgbm90IGJlIHNldAB3aGVuIHRyYW5zbGF0aW5nIHdpdGggY29tcGxlbWVudGVkIGNoYXJhY3RlciBjbGFzc2VzLApzdHJpbmcyIG11c3QgbWFwIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBkb21haW4gdG8gb25lAHdoZW4gdHJhbnNsYXRpbmcgd2l0aCBzdHJpbmcxIGxvbmdlciB0aGFuIHN0cmluZzIsCnRoZSBsYXR0ZXIgc3RyaW5nIG11c3Qgbm90IGVuZCB3aXRoIGEgY2hhcmFjdGVyIGNsYXNzAHdoZW4gdHJhbnNsYXRpbmcsIHRoZSBvbmx5IGNoYXJhY3RlciBjbGFzc2VzIHRoYXQgbWF5IGFwcGVhciBpbgpzdHJpbmcyIGFyZSAndXBwZXInIGFuZCAnbG93ZXInAHdoaXRlb3V0AHdpbGwgbm90IGNvcHkgJXMgdGhyb3VnaCBqdXN0LWNyZWF0ZWQgc3ltbGluayAlcwB3aWxsIG5vdCBjcmVhdGUgaGFyZCBsaW5rICVzIHRvIGRpcmVjdG9yeSAlcwB3aWxsIG5vdCBvdmVyd3JpdGUganVzdC1jcmVhdGVkICVzIHdpdGggJXMAd2l0aCAtLXBhcmVudHMsIHRoZSBkZXN0aW5hdGlvbiBtdXN0IGJlIGEgZGlyZWN0b3J5AHdpdGggLS1zdWZmaXgsIHRlbXBsYXRlICVzIG11c3QgZW5kIGluIFgAd2l0aCBGSUxFPSVzLCBleGl0ICVkIGZyb20gY29tbWFuZDogJXMAd2l0aCBGSUxFPSVzLCBzaWduYWwgJXMgZnJvbSBjb21tYW5kOiAlcwB3cml0ZSBlcnJvcgB3cml0ZSBlcnJvciBmb3IgJXMAd3JpdGUgZmFpbGVkAHdyaXRpbmcgdG8gJXMAeW91IG1heSBub3QgYWJicmV2aWF0ZSB0aGUgLS1uby1wcmVzZXJ2ZS1yb290IG9wdGlvbgB5b3UgbXVzdCBzcGVjaWZ5IC1jLCAtdCwgLXUsIC1sLCAtciwgb3IgY29udGV4dAB5b3UgbXVzdCBzcGVjaWZ5IGEgYnVmZmVyaW5nIG1vZGUgb3B0aW9uAHlvdSBtdXN0IHNwZWNpZnkgYSBsaXN0IG9mIGJ5dGVzLCBjaGFyYWN0ZXJzLCBvciBmaWVsZHMAeW91IG11c3Qgc3BlY2lmeSBhIHJlbGF0aXZlICVzIHdpdGggJXMAeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgJXMgb3IgJXMAUHJvamVjdC1JZC1WZXJzaW9uOiBjb3JldXRpbHMgOC4yNy1wcmUxClJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctY29yZXV0aWxzQGdudS5vcmcKUE9ULUNyZWF0aW9uLURhdGU6IDIwMTgtMDctMDEgMTc6NTktMDcwMApQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTA0LTIzIDExOjI4KzAxMDAKTGFzdC1UcmFuc2xhdG9yOiBCZW5ubyBTY2h1bGVuYmVyZyA8YmVubm9AdmVydGFhbHQubmw+Ckxhbmd1YWdlLVRlYW06IER1dGNoIDx2ZXJ0YWxpbmdAdnJpanNjaHJpZnQub3JnPgpMYW5ndWFnZTogbmwKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKWC1CdWdzOiBSZXBvcnQgdHJhbnNsYXRpb24gZXJyb3JzIHRvIHRoZSBMYW5ndWFnZS1UZWFtIGFkZHJlc3MuClBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPW4gIT0gMTsKWC1HZW5lcmF0b3I6IExva2FsaXplIDEuMAoACgAKSGV0IGdldGFsIEJZVEVTIGthbiBoZXhhZGVjaW1hYWwgemlqbiBtZXQgbWV0IHZvb3J2b2Vnc2VsICcweCcgb2YgJzBYJwplbiBtYWcgZ2V2b2xnZCB3b3JkZW4gZG9vciBlZW4gdmVybWVuaWd2dWxkaWdpbmdzYWNodGVydm9lZ3NlbDoKYiA9IDUxMiwga0IgPSAxMDAwLCBLID0gMTAyNCwgTUIgPSAxMDAwKjEwMDAsIE0gPSAxMDI0KjEwMjQsCkdCID0gMTAwMCoxMDAwKjEwMDAsIEcgPSAxMDI0KjEwMjQqMTAyNCwgZW4gem8gdmVyZGVyIHZvb3IgVCwgUCwgRSwgWiBlbiBZLgoAClRZUEUgYmVzdGFhdCB1aXQgw6nDqW4gb2YgbWVlciB2YW4gZGUgdm9sZ2VuZGUgYWFuZHVpZGlnZW46CiAgYSAgICAgICAgICB0ZWtlbm5hYW0sIGhldCBob29nc3RlIGJpdCBuZWdlcmVuZAogIGMgICAgICAgICAgQVNDSUktdGVrZW4gb2YgYmFja3NsYXNoLWNvZGUKAApUcmFkaXRpb25lbGUgb3BtYWFrc3BlY2lmaWNhdGllcyBtb2dlbiBvb2sgZ2VicnVpa3Qgd29yZGVuOyB6aWogYWNjdW11bGVyZW46CiAgLWEgICBhbHMgJy10IGEnLCAgdGVrZW5uYW1lbiB0b25lbiwgaGV0IGhvb2dzdGUgYml0IG5lZ2VyZW5kCiAgLWIgICBhbHMgJy10IG8xJywgb2N0YWxlIGdldGFsbGVuIHZhbiAxIGJ5dGUgdG9uZW4KICAtYyAgIGFscyAnLXQgYycsICBhZmRydWtiYXJlIHRla2VucyBvZiBiYWNrc2xhc2gtY29kZXMgdG9uZW4KICAtZCAgIGFscyAnLXQgdTInLCBkZWNpbWFsZSBnZXRhbGxlbiB2YW4gMiBieXRlcyB6b25kZXIgdGVrZW4gdG9uZW4KAAogICggRVhQUkVTU0lFICkgICAgICAgICAgICAgICB3YWFyIGFscyBFWFBSRVNTSUUgd2FhciBpcwogICEgRVhQUkVTU0lFICAgICAgICAgICAgICAgICB3YWFyIGFscyBFWFBSRVNTSUUgb253YWFyIGlzCiAgRVhQUkVTU0lFMSAtYSBFWFBSRVNTSUUyICAgIHdhYXIgYWxzIGJlaWRlIGV4cHJlc3NpZXMgd2FhciB6aWpuCiAgRVhQUkVTU0lFMSAtbyBFWFBSRVNTSUUyICAgIG9ud2FhciBhbHMgYmVpZGUgZXhwcmVzc2llcyBvbndhYXIgemlqbgoACiAgLS1jaGVjay1vcmRlciAgICAgIGNvbnRyb2xlcmVuIG9mIGRlIGludm9lciBqdWlzdCBnZXNvcnRlZXJkIGlzLCB6ZWxmcyBhbHMKICAgICAgICAgICAgICAgICAgICAgICB2YW4gYWxsZSBpbnZvZXJyZWdlbHMgcGFyZW4gZ2VtYWFrdCBrdW5uZW4gd29yZGVuCiAgLS1ub2NoZWNrLW9yZGVyICAgIG5pZXQgY29udHJvbGVyZW4gb2YgZGUgaW52b2VyIGp1aXN0IGdlc29ydGVlcmQgaXMKAAogIC0xICAgIHJlZ2VscyBkaWUgYWxsZWVuIGluIEJFU1RBTkQxIHZvb3Jrb21lbiB3ZWdsYXRlbgogIC0yICAgIHJlZ2VscyBkaWUgYWxsZWVuIGluIEJFU1RBTkQyIHZvb3Jrb21lbiB3ZWdsYXRlbgogIC0zICAgIHJlZ2VscyBkaWUgaW4gYmVpZGUgYmVzdGFuZGVuIHZvb3Jrb21lbiB3ZWdsYXRlbgoACiAgLUEsIC0tc2hvdy1hbGwgICAgICAgICAgIGhldHplbGZkZSBhbHMgJy12RVQnCiAgLWIsIC0tbnVtYmVyLW5vbmJsYW5rICAgIG5pZXQtYmxhbmNvIHVpdHZvZXJyZWdlbHMgbnVtbWVyZW4gKG5lZ2VlcnQgJy1uJykKICAtZSAgICAgICAgICAgICAgICAgICAgICAgaGV0emVsZmRlIGFscyAnLXZFJwogIC1FLCAtLXNob3ctZW5kcyAgICAgICAgICBlZW4gJCB3ZWVyZ2V2ZW4gYWFuIGhldCBlaW5kZSB2YW4gZWxrZSByZWdlbAogIC1uLCAtLW51bWJlciAgICAgICAgICAgICBhbGxlIHVpdHZvZXJyZWdlbHMgbnVtbWVyZW4KICAtcywgLS1zcXVlZXplLWJsYW5rICAgICAgb3BlZW52b2xnZW5kZSBibGFuY28gcmVnZWxzIGNvbXByaW1lcmVuIHRvdCDDqcOpbgoACiAgLWEgTlVNTUVSICAgICAgICAgIG9vayBvbnBhYXJiYXJlIHJlZ2VscyB1aXQgYmVzdGFuZCBOVU1NRVIgdG9uZW4sIHdhYXIgTlVNTUVSCiAgICAgICAgICAgICAgICAgICAgICAgMSBvZiAyIGlzLCBvdmVyZWVua29tZW5kIG1ldCBCRVNUQU5EMSBvZiBCRVNUQU5EMgogIC1lIFRFS1NUICAgICAgICAgICBvbnRicmVrZW5kZSBpbnZvZXJ2ZWxkZW4gdmVydmFuZ2VuIGRvb3IgIlRFS1NUIgoACiAgLWEsIC0tYWxsICAgICAgICAgaGV0emVsZmRlIGFscyAnLWIgLWQgLS1sb2dpbiAtcCAtciAtdCAtVCAtdScKICAtYiwgLS1ib290ICAgICAgICB0aWpkc3RpcCB2YW4gZGUgbGFhdHN0ZSBzeXN0ZWVtc3RhcnQgdG9uZW4KICAtZCwgLS1kZWFkICAgICAgICBkb2RlIHByb2Nlc3NlbiB0b25lbgogIC1ILCAtLWhlYWRpbmcgICAgIGVlbiByZWdlbCBtZXQga29sb21rb3BwZW4gdG9uZW4KAAogIC1iIEJFU1RBTkQgICAgd2FhciBhbHMgYmVzdGFuZCBlZW4gYmxvay1hcHBhcmFhdCBpcwogIC1jIEJFU1RBTkQgICAgd2FhciBhbHMgYmVzdGFuZCBlZW4gYnl0ZS1hcHBhcmFhdCBpcwogIC1kIEJFU1RBTkQgICAgd2FhciBhbHMgYmVzdGFuZCBlZW4gbWFwIGlzCiAgLWUgQkVTVEFORCAgICB3YWFyIGFscyBiZXN0YW5kIGJlc3RhYXQKAAogIC1iLCAtLWJpbmFyeSAgICBpbiBiaW5haXJlIG1vZHVzIGxlemVuCgAKICAtYiwgLS1iaW5hcnkgICAgaW4gYmluYWlyZSBtb2R1cyBsZXplbiAoc3RhbmRhYXJkLCBiZWhhbHZlIGJpaiBzdGFuZGFhcmRpbnZvZXIpCgAKICAtbCAgICBkZSBsYW5nZSB1aXR2b2VyIHRvbmVuICh2b29yIGRlIGdlZ2V2ZW4gR0VCUlVJS0VSKHMpKQogIC1iICAgIGRlIHN0YW5kYWFyZG1hcCBlbiAtc2hlbGwgd2VnbGF0ZW4gaW4gZGUgbGFuZ2UgdWl0dm9lcgogIC1oICAgIGhldCBwcm9qZWN0YmVzdGFuZCB3ZWdsYXRlbiBpbiBkZSBsYW5nZSB1aXR2b2VyCiAgLXAgICAgaGV0IHBsYW5iZXN0YW5kIHdlZ2xhdGVuIGluIGRlIGxhbmdlIHVpdHZvZXIKICAtcyAgICBkZSBrb3J0ZSB1aXR2b2VyIHRvbmVuIChzdGFuZGFhcmQpCgAKICAtbiBURUtTVCAgICAgICAgICAgIHdhYXIgYWxzIGRlIGxlbmd0ZSB2YW4gVEVLU1QgbmlldCBudWwgaXMKICBURUtTVCAgICAgICAgICAgICAgIGhldHplbGZkZSBhbHMgJy1uIFRFS1NUJwogIC16IFRFS1NUICAgICAgICAgICAgd2FhciBhbHMgZGUgbGVuZ3RlIHZhbiBURUtTVCBudWwgaXMKICBURUtTVDEgPSBURUtTVDIgICAgIHdhYXIgYWxzIGRlIHR3ZWUgdGVrc3RlbiBnZWxpamsgemlqbgogIFRFS1NUMSAhPSBURUtTVDIgICAgd2FhciBhbHMgZGUgdHdlZSB0ZWtzdGVuIHZlcnNjaGlsbGVuZCB6aWpuCgAKICAtciAgICAgICAgICAgICAgQlNELXNvbW1hdGllLWFsZ29yaXRtZSBnZWJydWlrZW4gZW4gMUstYmxva2tlbgogIC1zLCAtLXN5c3YgICAgICBTeXN0ZW0gVi1zb21tYXRpZS1hbGdvcml0bWUgZ2VicnVpa2VuIGVuIGJsb2trZW4gdmFuIDUxMiBieXRlcwoACiAgQVJHMSAqIEFSRzIgICAgICAgcmVrZW5rdW5kaWcgcHJvZHVjdCB2YW4gQVJHMSBlbiBBUkcyCiAgQVJHMSAvIEFSRzIgICAgICAgcmVrZW5rdW5kaWcgcXVvdGllbnQgdmFuIEFSRzEgZ2VkZWVsZCBkb29yIEFSRzIKICBBUkcxICUgQVJHMiAgICAgICByZWtlbmt1bmRpZ2UgcmVzdCB2YW4gQVJHMSBnZWRlZWxkIGRvb3IgQVJHMgoACiAgQVJHMSArIEFSRzIgICAgICAgcmVrZW5rdW5kaWdlIHNvbSB2YW4gQVJHMSBlbiBBUkcyCiAgQVJHMSAtIEFSRzIgICAgICAgcmVrZW5rdW5kaWcgdmVyc2NoaWwgdmFuIEFSRzEgZW4gQVJHMgoACiAgQVJHMSA8IEFSRzIgICAgICAgMSBhbHMgQVJHMSBrbGVpbmVyIGlzIGRhbiBBUkcyLCBhbmRlcnMgMAogIEFSRzEgPD0gQVJHMiAgICAgIDEgYWxzIEFSRzEga2xlaW5lciBvZiBnZWxpamsgaXMgYWFuIEFSRzIsIGFuZGVycyAwCiAgQVJHMSA9IEFSRzIgICAgICAgMSBhbHMgQVJHMSBnZWxpamsgaXMgYWFuIEFSRzIsIGFuZGVycyAwICgnPT0nID0gJz0nKQogIEFSRzEgIT0gQVJHMiAgICAgIDEgYWxzIEFSRzEgbmlldCBnZWxpamsgaXMgYWFuIEFSRzIsIGFuZGVycyAwCiAgQVJHMSA+PSBBUkcyICAgICAgMSBhbHMgQVJHMSBncm90ZXIgb2YgZ2VsaWprIGlzIGFhbiBBUkcyLCBhbmRlcnMgMAogIEFSRzEgPiBBUkcyICAgICAgIDEgYWxzIEFSRzEgZ3JvdGVyIGlzIGRhbiBBUkcyLCBhbmRlcnMgMAoACiAgQkVTVEFORDEgLWVmIEJFU1RBTkQyICAgIHdhYXIgYWxzIGh1biBhcHBhcmFhdC0gZW4gaW5vZGUtbnVtbWVycyBnZWxpamsgemlqbgogIEJFU1RBTkQxIC1udCBCRVNUQU5EMiAgICB3YWFyIGFscyBCRVNUQU5EMSBuaWV1d2VyIGlzIGRhbiBCRVNUQU5EMgogIEJFU1RBTkQxIC1vdCBCRVNUQU5EMiAgICB3YWFyIGFscyBCRVNUQU5EMSBvdWRlciBpcyBkYW4gQkVTVEFORDIKAAogIEdFVEFMMSAtZXEgR0VUQUwyICAgIHdhYXIgYWxzIGRlIHR3ZWUgZ2VoZWxlIGdldGFsbGVuIGdlbGlqayB6aWpuCiAgR0VUQUwxIC1nZSBHRVRBTDIgICAgd2FhciBhbHMgR0VUQUwxIGdyb3RlciBvZiBnZWxpamsgaXMgYWFuIEdFVEFMMgogIEdFVEFMMSAtZ3QgR0VUQUwyICAgIHdhYXIgYWxzIEdFVEFMMSBncm90ZXIgaXMgZGFuIEdFVEFMMgogIEdFVEFMMSAtbGUgR0VUQUwyICAgIHdhYXIgYWxzIEdFVEFMMSBrbGVpbmVyIG9mIGdlbGlqayBpcyBhYW4gR0VUQUwyCiAgR0VUQUwxIC1sdCBHRVRBTDIgICAgd2FhciBhbHMgR0VUQUwxIGtsZWluZXIgaXMgZGFuIEdFVEFMMgogIEdFVEFMMSAtbmUgR0VUQUwyICAgIHdhYXIgYWxzIEdFVEFMMSBlbiBHRVRBTDIgdmVyc2NoaWxsZW5kIHppam4KAAogIFRFS0VOUkVFS1MgOiBSRUdFWFAgICBkZSB0ZWtlbnMgdmFuYWYgaGV0IGJlZ2luIHZhbiBkZSBURUtFTlJFRUtTIGRpZQogICAgICAgICAgICAgICAgICAgICAgICB2b2xkb2VuIGFhbiBkZSByZWd1bGllcmUgZXhwcmVzc2llIFJFR0VYUAoKICBtYXRjaCBURUtFTlJFRUtTIFJFR0VYUCAgICAgICAgICAgaGV0emVsZmRlIGFscyAnVEVLRU5SRUVLUyA6IFJFR0VYUCcKICBzdWJzdHIgVEVLRU5SRUVLUyBQT1NJVElFIExFTkdURSAgc3VicmVla3MgdmFuIFRFS0VOUkVFS1M7IFBPU0lUSUUgdGVsdCB2YW4gMQogIGluZGV4IFRFS0VOUkVFS1MgVEVLRU5TICAgICAgICAgICBsYWFnc3RlIGluZGV4IGluIFRFS0VOUkVFS1Mgd2FhciBlZW4gdGVrZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWl0IFRFS0VOUyBnZXZvbmRlbiBpcywgYW5kZXJzIDAKICBsZW5ndGggVEVLRU5SRUVLUyAgICAgICAgICAgICAgICAgZGUgbGVuZ3RlIHZhbiBkZSBURUtFTlJFRUtTCgAKICBiICAgICAgZWVuIGJsb2stYXBwYXJhYXRiZXN0YW5kIGFhbm1ha2VuIChnZWJ1ZmZlcmQpCiAgYywgdSAgIGVlbiBieXRlLWFwcGFyYWF0YmVzdGFuZCBhYW5tYWtlbiAob25nZWJ1ZmZlcmQpCiAgcCAgICAgIGVlbiBGSUZPIGFhbm1ha2VuCgAKYWFudGFsIGdlYnJ1aWtlcnM9JWx1CgAKT25saW5lIGh1bHAgYmlqICVzOiA8JXM+CgAKRWVuIHZlbGQgaXMgd2l0cnVpbXRlIChnZXdvb25saWprIHNwYXRpZXMgZW4vb2YgdGFicyksIGRhYXJuYSB0ZWtlbnMgZGllCmdlZW4gd2l0cnVpbXRlIHppam4uICBFZXJzdCB3b3JkZW4gdmVsZGVuIG92ZXJnZXNsYWdlbiwgZGFuIHRla2Vucy4KAApFZW4gbGljaHRnZXdpY2h0ICdmaW5nZXInLXByb2dyYW1tYSBkYXQgZ2VicnVpa2Vyc2luZm9ybWF0aWUgdG9vbnQuCkhldCBnZXJhYWRwbGVlZ2RlICd1dG1wJy1iZXN0YW5kIGlzICVzLgoACkVlbiBsb3NzZSAnLScgYmV0ZWtlbnQgaGV0emVsZmRlIGFscyAnLWknLgpab25kZXIgQ09NTUFORE8gd29yZHQgZGUgcmVzdWx0ZXJlbmRlIG9tZ2V2aW5nIGdldG9vbmQuCgAKTWV0IGhldCBhY2h0ZXJ2b2Vnc2VsICd6JyBhY2h0ZXIgZWVuIFRZUEUsIHdvcmRlbiBhYW4gaGV0IGVpbmQKdmFuIGVsa2UgdWl0dm9lcnJlZ2VsIGFscyBleHRyYSBkZSBhZmRydWtiYXJlIHRla2VucyBnZXRvb25kLgoACk5hIGVlbiBvcG1hYWtjb2RlIG1hZyBub2cgZWVuIHZlbGRicmVlZHRlIChlZW4gZGVjaW1hYWwgZ2V0YWwpIHZvbGdlbi4KQmlqIHNvbW1pZ2Ugb3BtYWFrbGV0dGVycyBtYWcgbm9nIGVlbiBhYW5wYXNzZXIgZ2VicnVpa3Qgd29yZGVuOgplZW4gRSBiZXRla2VudCBhbHRlcm5hdGlldmUgcmVwcmVzZW50YXRpZXMgdWl0IGRlIHRhYWxyZWdpbyBnZWJydWlrZW4sCmVuIGVlbiBPIGJldGVrZW50IGFsdGVybmF0aWV2ZSBjaWpmZXJzIHVpdCBkZSB0YWFscmVnaW8gdGUgZ2VicnVpa2VuLAp3YWFyYmlqIHZvb3IgYmVpZGUgZ2VsZHQ6IGluZGllbiBiZXNjaGlrYmFhci4KAApFZW4gb250YnJla2VuZGUgRVhQUkVTU0lFIGV2YWx1ZWVydCB0b3Qgb253YWFyLiAgVm9vciBoZXQgb3ZlcmlnZSBrYW4gZGUKRVhQUkVTU0lFIHdhYXIgb2Ygb253YWFyIHppam4sIGVuIG1hZyDDqcOpbiB2YW4gZGUgdm9sZ2VuZGUgemlqbjoKAApTcGVjaWFhbCBnZXZhbDogJ2NwJyBtYWFrdCBlZW4gcmVzZXJ2ZWtvcGllIHZhbiBCUk9OIGFscyBkZSBvcHRpZXMKJy0tZm9yY2UnIGVuICctLWJhY2t1cCcgZ2VnZXZlbiB6aWpuIMOpbiBCUk9OIGVuIEJFU1RFTU1JTkcgZGV6ZWxmZGUKbmFhbSB2YW4gZWVuIGJlc3RhYW5kIGdld29vbiBiZXN0YW5kIHppam4uCgAKV2VlcyBlcm9wIGJlZGFjaHQgZGF0IGluIGRlIG1lZXN0ZSBzaGVsbHMgdmVlbCBvcGVyYXRvcmVuIG9wIGRlIGVlbiBvZiBhbmRlcmUKbWFuaWVyIGFhbmdlaGFhbGQgbW9ldGVuIHdvcmRlbi4gIFZlcmdlbGlqa2luZ2VuIHppam4gcmVrZW5rdW5kaWcgYWxzIGJlaWRlCmFyZ3VtZW50ZW4gZ2V0YWxsZW4gemlqbiwgYW5kZXJzIGxleGljb2dyYWZpc2NoLiAgUGF0cm9vbm92ZXJlZW5rb21zdGVuIGdldmVuCmRlIGdldm9uZGVuIHRla2VucmVla3MgdHVzc2VuIFwoIGVuIFwpIHRlcnVnIG9mIGVlbiBsZWdlIHRla2VucmVla3M7IHpvbmRlcgpcKCBlbiBcKSBnZXZlbiB6ZSBoZXQgYWFudGFsIG92ZXJlZW5rb21lbmRlIHRla2VucyB0ZXJ1Zywgb2YgMC4KAApab3dlbCBIT09GRC0gYWxzIFNVQk5VTU1FUiBtb2V0ZW4gZ2VnZXZlbiB3b3JkZW4gd2FubmVlciBUWVBFICdiJywgJ2MnIG9mICd1JwppcywgZW4gd2VnZ2VsYXRlbiBhbHMgVFlQRSAncCcgaXMuICBBbHMgSE9PRkQtIG9mIFNVQk5VTU1FUiBiZWdpbnQgbWV0ICcweCcKb2YgJzBYJywgZGFuIGlzIGRlIGludGVycHJldGF0aWUgaGV4YWRlY2ltYWFsOyBhbmRlcnMsIGFscyBoZXQgYmVnaW50IG1ldCAwLApvY3RhYWw7IGFuZGVycyBkZWNpbWFhbC4gIFRZUEUgbWFnIHppam46CgAKU3RhbmRhYXJkIHZlcndpamRlcnQgJ3JtJyBnZWVuIG1hcHBlbi4gIEdlYnJ1aWsgZGUgb3B0aWUgJy0tcmVjdXJzaXZlJwooJy1yJyBvZiAnLVInKSBvbSBvb2sgaWVkZXJlIGdlbm9lbWRlIG1hcCBlbiBkaWVucyBpbmhvdWQgdGUgdmVyd2lqZGVyZW4uCgAKQlJPS0tFTiBtYWcgemlqbjoKICBOICAgICAgIGluIE4gYmVzdGFuZGVuIHNwbGl0c2VuIGFmaGFua2VsaWprIHZhbiBpbnZvZXJncm9vdHRlCiAgSy9OICAgICBkZSBLLWRlIHVpdCBOIG5hYXIgc3RhbmRhYXJkdWl0dm9lciBzdHVyZW4KICBsL04gICAgIGluIE4gYmVzdGFuZGVuIHNwbGl0c2VuIHpvbmRlciByZWdlbHMgb2YgcmVjb3JkcyBhZiB0ZSBicmVrZW4KICBsL0svTiAgIGRlIEstZGUgdWl0IE4gbmFhciBzdGFuZGFhcmR1aXR2b2VyIHN0dXJlbiB6b25kZXIgZGluZ2VuIGFmIHRlIGJyZWtlbgogIHIvTiAgICAgYWxzICdsL04nIG1hYXIgcm91bmRyb2Jpbi12ZXJkZWxpbmcgZ2VicnVpa2VuCiAgci9LL04gICBhbHMgJ3IvTicgbWFhciBhbGxlZW4gZGUgSy1kZSB1aXQgTiBuYWFyIHN0YW5kYWFyZHVpdHZvZXIgc3R1cmVuCgAKQ29tYmluYXRpZS1pbnN0ZWxsaW5nZW46CgAKQmVzdHVyaW5nc2luc3RlbGxpbmdlbjoKICAgWy1dY2xvY2FsICAgICBtb2RlbS1iZXN0dXJpbmdzc2lnbmFsZW4gdWl0c2NoYWtlbGVuCiAgIFstXWNyZWFkICAgICAgaGV0IG9udHZhbmdlbiB2YW4gaW52b2VyIHRvZXN0YWFuCgAKQWxzICctLXJlbW92ZScgKC11KSBnZWdldmVuIGlzLCB3b3JkZW4gZGUgZ2VnZXZlbiBCRVNUQU5EZW4gdmVyd2lqZGVyZC4KU3RhbmRhYXJkIHdvcmRlbiBiZXN0YW5kZW4gbmlldCB2ZXJ3aWpkZXJkIG9tZGF0ICdzaHJlZCcgdmFhayB0b2VnZXBhc3Qgd29yZHQKb3AgYXBwYXJhYXRiZXN0YW5kZW4gKHpvYWxzIC9kZXYvaGRhKSBlbiBtZWVzdGFsIHdpbCBtZW4gZGllIG5pZXQgdmVyd2lqZGVyZW4uCgpEZSBwYXJhbWV0ZXIgSE9FIGdlZWZ0IGFhbiBob2UgZWVuIGl0ZW0gdWl0IGVlbiBtYXAgdmVyd2lqZGVyZCBtb2V0IHdvcmRlbjoKICAndW5saW5rJyA9PiBlZW4gc3RhbmRhYXJkIHVubGluaygpLWFhbnJvZXAgZ2VicnVpa2VuOy4KICAnd2lwZScgPT4gb29rIGVlcnN0IGRlIGJ5dGVzIHZhbiBkZSBuYWFtIHZlcmRvZXplbGVuOwogICd3aXBlc3luYycgPT4gb29rIGVsa2UgdmVyZG9lemVsZGUgYnl0ZSBuYWFyIHNjaGlqZiBzY2hyaWp2ZW4uCkRlIHN0YW5kYWFyZG1vZHVzIGlzICd3aXBlc3luYycsIG1hYXIgbWVyayBvcCBkYXQgZGl0ICJkdXVyIiBrYW4gemlqbi4KCgAKR2V0b29uZGUgd2FhcmRlbiB6aWpuIGluIGVlbmhlZGVuIHZhbiBkZSBlZXJzdCBiZXNjaGlrYmFyZSBHUk9PVFRFIHVpdAonLS1ibG9jay1zaXplJyBlbiBkZSBvbWdldmluZ3N2YXJpYWJlbGVuICVzX0JMT0NLX1NJWkUsIEJMT0NLX1NJWkUgZW4KQkxPQ0tTSVpFLiAgQW5kZXJzIGlzIGRlIGVlbmhlaWQgc3RhbmRhYXJkIDEwMjQgYnl0ZXMgKG9mIDUxMiBhbHMKUE9TSVhMWV9DT1JSRUNUIGdlemV0IGlzKS4KAApWTEFHR0VOIGlzIGVlbiBrb21tYWdlc2NoZWlkZW4gbGlqc3QgdWl0IGRlIHZvbGdlbmRlIGVpZ2Vuc2NoYXBwZW46CgogIGFwcGVuZCAgICAgYWNodGVydm9lZ2VuIChhbGxlZW4gemludm9sIGJpaiB1aXR2b2VyOyBzdWdnZXN0aWU6IGNvbnY9bm90cnVuYykKAApJZWRlcmUgTU9EVVMgaXMgdmFuIGRlIHZvcm0gJ1t1Z29hXSooWy0rPV0oW3J3eFhzdF0qfFt1Z29dKSkrfFstKz1dWzAtN10rJy4KAApFbGsgUEFUUk9PTiBtYWcgemlqbjoKICBOVU1NRVIgICAgICAgICAgICAga29wacOrcmVuIHRvdCBoZXQgZ2VnZXZlbiByZWdlbG51bW1lciAobmlldCB0b3QgZW4gbWV0KQogIC9SRUdFWFAvW1BPU0lUSUVdICBrb3Bpw6tyZW4gdG90IGRlIG92ZXJlZW5rb21lbmRlIHJlZ2VsIChuaWV0IHRvdCBlbiBtZXQpCiAgJVJFR0VYUCVbUE9TSVRJRV0gIG92ZXJzbGFhbiB0b3QgZGUgb3ZlcmVlbmtvbWVuZGUgcmVnZWwgKG5pZXQgdG90IGVuIG1ldCkKICB7QUFOVEFMfSAgICAgICAgICAgaGV0IHZvb3JnYWFuZGUgcGF0cm9vbiBkaXQgYWFudGFsIGtlcmVuIGhlcmhhbGVuCiAgeyp9ICAgICAgICAgICAgICAgIGhldCB2b29yZ2FhbmRlIHBhdHJvb24gem8gdmFhayBhbHMgbW9nZWxpamsgaGVyaGFsZW4KCkVlbiByZWdlbC1QT1NJVElFIGlzIGVlbiAnKycgb2YgJy0nIGdldm9sZ2QgZG9vciBlZW4gcG9zaXRpZWYgZ2VoZWVsIGdldGFsLgoAClZvb3JiZWVsZGVuOgogICQgJXMgLS10bz1zaSAxMDAwCiAgICAgICAgICAgIC0+ICIxLjBLIgogICQgJXMgLS10bz1pZWMgMjA0OAogICAgICAgICAgIC0+ICIyLjBLIgogICQgJXMgLS10bz1pZWMtaSA0MDk2CiAgICAgICAgICAgLT4gIjQuMEtpIgogICQgZWNobyAxSyB8ICVzIC0tZnJvbT1zaQogICAgICAgICAgIC0+ICIxMDAwIgogICQgZWNobyAxSyB8ICVzIC0tZnJvbT1pZWMKICAgICAgICAgICAtPiAiMTAyNCIKICAkIGRmIC1CMSB8ICVzIC0taGVhZGVyIC0tZmllbGQgMi00IC0tdG89c2kKICAkIGxzIC1sICB8ICVzIC0taGVhZGVyIC0tZmllbGQgNSAtLXRvPWllYwogICQgbHMgLWxoIHwgJXMgLS1oZWFkZXIgLS1maWVsZCA1IC0tZnJvbT1pZWMgLS1wYWRkaW5nPTEwCiAgJCBscyAtbGggfCAlcyAtLWhlYWRlciAtLWZpZWxkIDUgLS1mcm9tPWllYyAtLWZvcm1hdCAlJTEwZgoAClZvb3JiZWVsZGVuOgogICVzIC0xMiBiZXN0YW5kMSBiZXN0YW5kMiAgIEFsbGVlbiByZWdlbHMgZGllIGluIGJlaWRlIGJlc3RhbmRlbiB2b29ya29tZW4uCiAgJXMgLTMgIGJlc3RhbmQxIGJlc3RhbmQyICAgUmVnZWxzIGRpZSBhbGxlZW4gaW4gw6nDqW4gdmFuIGRlIGJlc3RhbmRlbiBzdGFhbi4KAApWb29yYmVlbGRlbjoKICAlcyAvdXNyL2Jpbi8gICAgICAgICAgLT4gIi91c3IiCiAgJXMgbWFwMS9ya3MgbWFwMi9ya3MgIC0+ICJtYXAxIiBnZXZvbGdkIGRvb3IgIm1hcDIiCiAgJXMgc3RkaW8uaCAgICAgICAgICAgIC0+ICIuIgoAClZvb3JiZWVsZGVuOgogICVzIC91c3IvYmluL3NvcnQgICAgICAgICAgLT4gInNvcnQiCiAgJXMgaW5jbHVkZS9zdGRpby5oIC5oICAgICAtPiAic3RkaW8iCiAgJXMgLXMgLmggaW5jbHVkZS9zdGRpby5oICAtPiAic3RkaW8iCiAgJXMgLWEgZWVuL3JrczEgZWVuL3JrczIgICAtPiAicmtzMSIgZ2V2b2xnZCBkb29yICJya3MyIgoAClZvb3JiZWVsZGVuOgogICVzIGYgLSBnICAgVG9vbnQgZGUgaW5ob3VkIHZhbiBmLCBkYW4gc3RhbmRhYXJkaW52b2VyLCBkYW4gZGUgaW5ob3VkIHZhbiBnLgogICVzICAgICAgICAgS29waWVlcnQgc3RhbmRhYXJkaW52b2VyIG5hYXIgc3RhbmRhYXJkdWl0dm9lci4KAApWb29yYmVlbGRlbjoKICAlcyByb290IC93ICAgICAgICBWZXJhbmRlcnQgZGUgZWlnZW5hYXIgdmFuIC93IG5hYXIgInJvb3QiLgogICVzIHJvb3Q6dGVhbSAvdyAgIElkZW0sIG1hYXIgdmVyYW5kZXJ0IG9vayBkZSBncm9lcCBuYWFyICJ0ZWFtIi4KICAlcyAtaFIgcm9vdCAvdyAgICBWZXJhbmRlcnQgZGUgZWlnZW5hYXIgdmFuIC93IGVuIHN1YmJlc3RhbmRlbiBuYWFyICJyb290Ii4KAApWb29yYmVlbGRlbjoKICAlcyB0ZWFtIC93ICAgICAgIFZlcmFuZGVydCBkZSBncm9lcCB2YW4gL3cgbmFhciAidGVhbSIuCiAgJXMgLWhSIHRlYW0gL3cgICBWZXJhbmRlcnQgZGUgZ3JvZXAgdmFuIC93IGVuIHN1YmJlc3RhbmRlbiBuYWFyICJ0ZWFtIi4KAApWb29yYmVlbGRlbjoKRWVuIGFhbnRhbCBzZWNvbmRlbiBzaW5kcyB0aWpkcGVya2JlZ2luICgxOTcwLTAxLTAxIFVUQykgb216ZXR0ZW4gbmFhciBkZSBkYXR1bToKICAkIGRhdGUgLS1kYXRlPSdAMjE0NzQ4MzY0NycKCkRlIGh1aWRpZ2UgdGlqZCBhYW4gZGUgd2VzdGt1c3QgdmFuIGRlIFZlcmVuaWdkZSBTdGF0ZW4gdG9uZW46CiAgJCBUWj0nQW1lcmljYS9Mb3NfQW5nZWxlcycgZGF0ZQoKRGUgbG9rYWxlIHRpamQgaGllciB0b25lbiB2b29yIG5lZ2VuIHV1ciAncyBtb3JnZW5zIHZvbGdlbmRlIHZyaWpkYWcKYWFuIGRlIHdlc3RrdXN0IHZhbiBkZSBWZXJlbmlnZGUgU3RhdGVuOgogICQgZGF0ZSAtLWRhdGU9J1RaPSJBbWVyaWNhL0xvc19BbmdlbGVzIiAwOTowMCBuZXh0IEZyaScKAApCZWhhbHZlIGJpaiAnLWgnIGVuICctTCcsIHZvbGdlbiBhbGxlIHRlc3RlbiBvcCBCRVNUQU5EZW4gZXZlbnR1ZWxlCnN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuLiAgV2VlcyBlcm9wIGJlZGFjaHQgZGF0IGluIGRlIG1lZXN0ZSBzaGVsbHMKaGFha2plcyBhYW5nZWhhYWxkIG1vZXRlbiB3b3JkZW4gKGJpanZvb3JiZWVsZCBtZXQgYmFja3NsYXNoZXMpLgpHRVRBTCBtYWcgb29rICctbCBURUtTVCcgemlqbiwgd2F0IGV2YWx1ZWVydCB0b3QgZGUgbGVuZ3RlIHZhbiBURUtTVC4KAApEZSBhZnNsdWl0d2FhcmRlIGlzIDAgYWxzIEVYUFJFU1NJRSBub2NoIGxlZWcgbm9jaCAwIGlzLCAxIGFscyBFWFBSRVNTSUUgbGVlZwpvZiAwIGlzLCAyIGFscyBFWFBSRVNTSUUgc3ludGFjdGlzY2ggb25nZWxkaWcgaXMsIGVuIDMgYWxzIGVyIGVlbiBmb3V0IG9wdHJhZC4KAApEZSBhZnNsdWl0d2FhcmRlIGlzOgogMCAgaW5kaWVuIE9LLAogMSAgYmlqIGtsZWluZSBwcm9ibGVtZW4gKGJpanYuIGdlZW4gdG9lZ2FuZyB0b3QgZWVuIHN1Ym1hcCksCiAyICBiaWogc2VyaWV1emUgcHJvYmxlbWVuICAoYmlqdi4gZ2VlbiB0b2VnYW5nIHRvdCBhcmd1bWVudCBvcCBvcGRyYWNodHJlZ2VsKS4KAApWRUxERU4ga2FuIHppam46ICBOICAgICBOLWRlIHZlbGQgKHRlbGxlbmQgdmFuYWYgMSkKICBOLSAgICB2YW4gTi1kZSB2ZWxkIHRvdCBoZXQgZWluZGUgdmFuIGRlIHJlZ2VsCiAgTi1NICAgdmFuIE4tZGUgdG90IGVuIG1ldCBNLWRlIHZlbGQKICAtTSAgICB2YW4gZWVyc3RlIHRvdCBlbiBtZXQgTS1kZSB2ZWxkCiAgLSAgICAgYWxsZSB2ZWxkZW4KTWVlcmRlcmUgdmVsZGVuIGVuL29mIGJlcmVpa2VuIHppam4gbW9nZWxpamssIGdlc2NoZWlkZW4gZG9vciBrb21tYSdzLgoAClZFTERFTkxJSlNUIGlzIGVlbiBrb21tYWdlc2NoZWlkZW4gbGlqc3QgdmFuIHRlIHRvbmVuIGtvbG9tbWVuLiAgR2VsZGlnZQp2ZWxkbmFtZW4gemlqbjogJ3NvdXJjZScsICdmc3R5cGUnLCAnaXRvdGFsJywgJ2l1c2VkJywgJ2lhdmFpbCcsICdpcGNlbnQnLAonc2l6ZScsICd1c2VkJywgJ2F2YWlsJywgJ3BjZW50JywgJ2ZpbGUnIGVuICd0YXJnZXQnICh6aWUgZGUgSW5mby1wYWdpbmEpLgoACkRlIE9QTUFBSyBiZXN0dXVydCBkZSB1aXR2b2VyIG5ldCBhbHMgYmlqIHByaW50ZigpIGluIGRlIHRhYWwgQy4KQmVncmVwZW4gc2VxdWVudGllcyB6aWpuOgoKICBcIiAgICAgIGVlbiBhYW5oYWxpbmdzdGVrZW4gKCIpCgAKT1BNQUFLIGJlc3R1dXJ0IGRlIHVpdHZvZXIuICBCZWdyZXBlbiBjb2RlcyB6aWpuOgoKICAlJSAgIGhldCBwcm9jZW50dGVrZW4KICAlYSAgIGRlIGFma29ydGluZyB2YW4gZGUgZGFnIHZvbGdlbnMgZGUgdGFhbHJlZ2lvIChiaWp2LiB6bykKAApCZXN0dXVydCBkZSBUVFkgZGllIG1ldCBzdGFuZGFhcmRpbnZvZXIgdmVyYm9uZGVuIGlzLgoKWm9uZGVyIGFyZ3VtZW50ZW4gd29yZGVuIGJhdWRyYXRlLCBsaWpucHJvdG9jb2wsIGVuIGFmd2lqa2luZ2VuIHZhbiAnc3R0eSBzYW5lJwpnZXRvb25kLiAgQmlqIGluc3RlbGxpbmdlbiB3b3JkdCBURUtFTiBsZXR0ZXJsaWprIGdlYnJ1aWt0LCBvZiBnZWNvZGVlcmQgYWxzCmluIF5jLCAweDM3LCAwMTc3IG9mIDEyNzsgZGUgc3BlY2lhbGUgd2FhcmRlbiAnXi0nIG9mICd1bmRlZicga3VubmVuIGdlYnJ1aWt0CndvcmRlbiBvbSBzcGVjaWFsZSB0ZWtlbnMgaW5hY3RpZWYgdGUgbWFrZW4uCgAKQmlqICctZScgd29yZGVuIGRlIHZvbGdlbmRlIGNvZGVzIGhlcmtlbmQgZW4gdWl0Z2V2b2VyZDoKCgAKQWxzIEJFU1RBTkQgJy0nIGlzLCBkYW4gd29yZHQgc3RhbmRhYXJkdWl0dm9lciBnZS1zaHJlZC4KAApBbHMgZ2VlbiBCRVNUQU5EIGdlZ2V2ZW4gaXMsIHdvcmR0ICVzIGdlYnJ1aWt0LgpHZXdvb25saWprIHdvcmR0ICVzIGFscyBCRVNUQU5EIG1lZWdlZ2V2ZW4uCgpBbHMgQVJHVU1FTlQxIEFSR1VNRU5UMiBnZWdldmVuIHppam4sIGRhbiB3b3JkdCAnLW0nIGJlZ3JlcGVuOwpkZSBjb21iaW5hdGllcyAnYW0gaScgb3IgJ21vbSBsaWtlcycgemlqbiBnZWJydWlrZWxpamsuCgAKQWxzIEJFU1RBTkQgZ2VnZXZlbiBpcywgd29yZHQgZGF0IGdlbGV6ZW4gb20gdGUgYmVwYWxlbiB3ZWxrZSBrbGV1cmVuIHZvb3IKd2Vsa2UgYmVzdGFuZHN0eXBlcyBnZWJydWlrdCBtb2V0ZW4gd29yZGVuLiAgQW5kZXJzIHdvcmR0IGVlbiBzdGFuZGFhcmRsaWpzdApnZWJydWlrdC4gIFR5cCAnZGlyY29sb3JzIC1wJyB2b29yIGRldGFpbHMgb3ZlciBkZSBvcG1hYWsgdmFuIGRlemUgYmVzdGFuZGVuLgoACkFscyBFRVJTVEUgb2YgU1RBUCB3ZWdnZWxhdGVuIHdvcmR0LCBkYW4gd29yZHQgMSBnZWJydWlrdC4gIERhdCBiZXRla2VudApkYXQgZWVuIHdlZ2dlbGF0ZW4gU1RBUCBvb2sgMSBpcyBhbHMgTEFBVFNURSBrbGVpbmVyIGlzIGRhbiBFRVJTVEUuCkRlIHJpaiBnZXRhbGxlbiBlaW5kaWd0IHdhbm5lZXIgZGUgc29tIHZhbiBoZXQgaHVpZGlnZSBnZXRhbCBwbHVzIGRlIFNUQVAKZ3JvdGVyIHpvdSB6aWpuIGRhbiBMQUFUU1RFLgpFRVJTVEUsIFNUQVAgZW4gTEFBVFNURSB3b3JkZW4gZ2XDr250ZXJwcmV0ZWVyZCBhbHMgZHJpanZlbmRla29tbWFnZXRhbGxlbi4KU1RBUCB6YWwgZ2V3b29ubGlqayBwb3NpdGllZiB6aWpuIGFscyBFRVJTVEUga2xlaW5lciBpcyBkYW4gTEFBVFNURSwKZW4gbmVnYXRpZWYgYWxzIEVFUlNURSBrbGVpbmVyIGlzIGRhbiBMQUFUU1RFLiAgU1RBUCBtYWcgbmlldCAwIHppam47IGVuZ2VlbiB2YW4gRUVSU1RFLCBTVEFQIGVuIExBQVRTVEUgbWFnIGlldHMgYW5kZXJzIGRhbiBlZW4gZ2V0YWwgemlqbi4KCgAKQWxzIE1PRFVTICcwJyBpcywgemFsIGRlIG92ZXJlZW5rb21zdGlnZSBzdHJlYW0gb25nZWJ1ZmZlcmQgemlqbi4KAApBbHMgTU9EVVMgJ0wnIGlzLCB6YWwgZGUgb3ZlcmVlbmtvbWVuZGUgc3RyZWFtIHJlZ2VsZ2VidWZmZXJkIHppam4uCkRlemUgbW9kdXMgaXMgb25nZWxkaWcgdm9vciBzdGFuZGFhcmRpbnZvZXIuCgAKQWxzIG5pZXQgJy0tdHJhZGl0aW9uYWwnIGdlYnJ1aWt0IGlzLCBkYW4gZ2VsZHQgZGUgdHdlZWRlIHZvcm0gdmFuICdHZWJydWlrJwp3YW5uZWVyIGhldCBsYWF0c3RlIGFyZ3VtZW50IG1ldCBlZW4gJysnIGJlZ2ludCBvZiAoYmlqIHR3ZWUgYXJndW1lbnRlbikgbWV0CmVlbiBjaWpmZXIuICBFZW4gUE9TSVRJRS1hcmd1bWVudCBiZXRla2VudCBoZXR6ZWxmZGUgYWxzICctaiBQT1NJVElFJy4KTEFCRUwgaXMgZWVuIHBzZXVkby1hZHJlcyB2b29yIGRlIGVlcnN0ZSBnZXRvb25kZSBieXRlLCB3b3JkdCB0dXNzZW4gaGFha2plcwpnZXRvb25kLCBlbiB3b3JkdCBuZXQgYWxzIGhldCBlY2h0ZSBhZHJlcyBvcGdlaG9vZ2QgdGlqZGVucyBkZSB2b29ydGdhbmcuClZvb3IgUE9TSVRJRSBlbiBMQUJFTCBiZXRla2VuZW4gZWVuIHZvb3JnZXZvZWdkZSAnMHgnIG9mICcwWCcgaGV4YWRlY2ltYWFsOwpoZXQgYWNodGVydm9lZ3NlbCAnLicgYmV0ZWtlbnQgb2N0YWFsIGVuICdiJyB2ZXJtZW5pZ3Z1bGRpZ2luZyBtZXQgNTEyLgoACkFscyBnZWVuIG9wdGllIGdlZ2V2ZW4gaXMsIGRhbiB3b3JkdCAnLVAnIGFhbmdlbm9tZW4uCgAKQWxzIHN0YW5kYWFyZGludm9lciBlZW4gdGVybWluYWwgaXMsIGRhbiBkZSBpbnZvZXIgbmFhciAnL2Rldi9udWxsJyBvbWxlaWRlbi4KQWxzIHN0YW5kYWFyZHVpdHZvZXIgZWVuIHRlcm1pbmFsIGlzLCBkYW4gZXZlbnR1ZWxlIHVpdHZvZXIgem8gbW9nZWxpamsgYWFuCidub2h1cC5vdXQnIHRvZXZvZWdlbiwgYW5kZXJzIGFhbiAnJEhPTUUvbm9odXAub3V0Jy4gIEFscyBzdGFuZGFhcmRmb3V0dWl0dm9lcgplZW4gdGVybWluYWwgaXMsIGRhbiBkZXplIG5hYXIgc3RhbmRhYXJkdWl0dm9lciBvbWxlaWRlbi4KR2VicnVpayAnJXMgQ09NTUFORE8gPiBCRVNUQU5EJyBvbSBkZSB1aXR2b2VyIG5hYXIgZWVuIEJFU1RBTkQgdGUgc3R1cmVuLgoACkFscyBkZSB0aWpkc2xpbWlldCB2YW4gaGV0IGNvbW1hbmRvIHZlcmxvb3B0LCBlbiAnLS1wcmVzZXJ2ZS1zdGF0dXMnIGlzIG5pZXQKZ2VnZXZlbiwgZGFuIGlzIGRlIGFmc2x1aXR3YWFyZGUgMTI0LCBhbmRlcnMgZGUgYWZzbHVpdHdhYXJkZSB2YW4gQ09NTUFORE8uCkFscyBnZWVuIHNpZ25hYWwgZ2VnZXZlbiBpcywgZGFuIHdvcmR0IGJpaiB0aWpkc292ZXJzY2hyaWpkaW5nIGhldCBURVJNLXNpZ25hYWwKdmVyem9uZGVuIC0tIGRpdCBzaWduYWFsIGJlw6tpbmRpZ3QgcHJvY2Vzc2VuIGRpZSBoZXQgc2lnbmFhbCBuaWV0IGJsb2trZXJlbiBvZgphZnZhbmdlbi4gIEhldCBrYW4gbm9kaWcgemlqbiBvbSBoZXQgS0lMTC1zaWduYWFsICg5KSB0ZSBnZWJydWlrZW4sIG9tZGF0IGRpdApzaWduYWFsIG5pZXQgYWZnZXZhbmdlbiBrYW4gd29yZGVuIC0tIGluIGRhdCBnZXZhbCBpcyBkZSBhZnNsdWl0d2FhcmRlIDEyOCs5CmluIHBsYWF0cyB2YW4gMTI0LgoACkludm9lcmluc3RlbGxpbmdlbjoKICAgWy1dYnJraW50ICAgICBlZW4gYnJlYWsgdmVyb29yemFha3QgZWVuIGludGVycnVwdHNpZ25hYWwKICAgWy1daWNybmwgICAgICBDUi10ZWtlbiAobmFhciByZWdlbGJlZ2luKSBvbXpldHRlbiBpbiBMRi10ZWtlbiAobmlldXdlcmVnZWwpCiAgIFstXWlnbmJyayAgICAgYnJlYWstdGVrZW5zIG5lZ2VyZW4KICAgWy1daWduY3IgICAgICBDUi10ZWtlbnMgbmVnZXJlbgogICBbLV1pZ25wYXIgICAgIHRla2VucyBtZXQgZWVuIHBhcml0ZWl0c2ZvdXQgbmVnZXJlbgoAClNMRVVURUxPUEdBVkUgaXMgdmFuIGRlIHZvcm0gVk5bLlRQXVtPUFRJRVNdWyxWTlsuVFBdW09QVElFU11dIHZvb3IgZGUgc3RhcnQtCmVuIHN0b3Bwb3NpdGllcywgd2FhcmluIFZOIGhldCB2ZWxkbnVtbWVyIGlzIGVuIFRQIGRlIHRla2VucG9zaXRpZSBpbiBoZXQgdmVsZCwKYmVpZGUgdGVsbGVuZCB2YW5hZiAxLCBlbiBkZSBzdG9wcG9zaXRpZSBpcyBzdGFuZGFhcmQgaGV0IGVpbmQgdmFuIGRlIHJlZ2VsLgpBbHMgbm9jaCAnLXQnIG5vY2ggJy1iJyBnZWdldmVuIGlzLCB3b3JkZW4gdGVrZW5zIGluIGVlbiB2ZWxkIGdldGVsZCB2YW5hZiBoZXQKYmVnaW4gdmFuIGRlIHZvb3JhZmdhYW5kZSB3aXRydWltdGUuICBPUFRJRVMgYmVzdGFhdCB1aXQgw6nDqW4gb2YgbWVlciDDqcOpbmxldHRlcgpzb3J0ZWVyb3B0aWVzIFtiZGZnaU1uUnJWXSwgZGllIGdsb2JhbGUgc29ydGVlcm9wdGllcyB2b29yIGRpZSBzb3J0ZWVyc2xldXRlbApvdmVyc3Rpamdlbi4gIEFscyBlciBnZWVuIGVua2VsZSBzbGV1dGVsIGdlZ2V2ZW4gaXMsIGRhbiB3b3JkdCBkZSBoZWxlIHJlZ2VsCmFscyBzbGV1dGVsIGdlYnJ1aWt0LiAgR2VicnVpayAnLS1kZWJ1Zycgb20gc2xldXRlbGdlYnJ1aWsgdGUgZGlhZ25vc3RpY2VyZW4uCgpHUk9PVFRFIG1hZyBnZXZvbGdkIHdvcmRlbiBkb29yIGVlbiB2ZXJtZW5pZ3Z1bGRpZ2luZ3NhY2h0ZXJ2b2Vnc2VsOgoACkxva2FsZSBpbnN0ZWxsaW5nZW46CiAgIFstXWNydGVyYXNlICAgZXJhc2UtdGVrZW5zIGVjaG/Dq24gYWxzIGJhY2tzcGFjZS1zcGF0aWUtYmFja3NwYWNlCgAKTU9EVVMgYmVwYWFsdCBoZXQgZ2VkcmFnIGJpaiBzY2hyaWpmZm91dGVuOgogICd3YXJuJyAgICAgICAgIGZvdXRlbiBtZWxkZW4gYmlqIHNjaHJpanZlbiBuYWFyIGVsayBzb29ydCB1aXR2b2VyCiAgJ3dhcm4tbm9waXBlJyAgZm91dGVuIGFsbGVlbiBtZWxkZW4gYmlqIHNjaHJpanZlbiBuYWFyIGVlbiBuaWV0LXBpanAKICAnZXhpdCcgICAgICAgICBwcm9jZXMgYmXDq2luZGlnZW4gYmlqIHNjaHJpamZmb3V0IG5hYXIgZWxrIHNvb3J0IHVpdHZvZXIKICAnZXhpdC1ub3BpcGUnICBwcm9jZXMgYWxsZWVuIGJlw6tpbmRpZ2VuIGJpaiBzY2hyaWpmZm91dCBuYWFyIGVlbiBuaWV0LXBpanAKRGUgc3RhbmRhYXJkbW9kdXMgdm9vciBvcHRpZSAnLXAnIGlzICd3YXJuLW5vcGlwZScuCkhldCBzdGFuZGFhcmRnZWRyYWcgd2FubmVlciBvcHRpZSAnLS1vdXRwdXQtZXJyb3InIG5pZXQgZ2VnZXZlbiBpcywKaXMgb20gaGV0IHByb2NlcyBtZXRlZW4gdGUgYmXDq2luZGlnZW4gYmlqIHNjaHJpamZmb3V0ZW4gbmFhciBlZW4gcGlqcCwKZW4gb20gZm91dGVuIHRlIG1lbGRlbiBiaWogaGV0IHNjaHJpanZlbiBuYWFyIGFsbGVzIHdhdCBnZWVuIHBpanAgaXMuCgAKKEVlbiB2ZXJwbGljaHQgYXJndW1lbnQgYmlqIGVlbiBsYW5nZSBvcHRpZSBnZWxkdCBvb2sgdm9vciBkZSBrb3J0ZSB2b3JtLikKAApCTE9LS0VOIGVuIEJZVEVTIGt1bm5lbiBkZSB2b2xnZW5kZSB2ZXJtZW5pZ3Z1bGRpZ2luZ3NhY2h0ZXJ2b2Vnc2VscyBrcmlqZ2VuOgpjID0xLCB3ID0yLCBiID01MTIsIGtCID0xMDAwLCBLID0xMDI0LCBNQiA9MTAwMCoxMDAwLCBNID0xMDI0KjEwMjQsIHhNID1NLApHQiA9MTAwMCoxMDAwKjEwMDAsIEcgPTEwMjQqMTAyNCoxMDI0LCBlbiB6byB2ZXJkZXIgdm9vciBULCBQLCBFLCBaIGVuIFkuCgpNb2dlbGlqa2UgQ09OVkVSU0lFUyB6aWpuOgoACk9wbWVya2luZzogZWVuIHR3ZWV6aWpkaWdlICctYScgb2YgJy1vJyBpcyBpbmhlcmVudCBtZWVyZHVpZGlnLgpHZWJydWlrIGxpZXZlciAndGVzdCBFWFBSMSAmJiB0ZXN0IEVYUFIyJyBvZiAndGVzdCBFWFBSMSB8fCB0ZXN0IEVYUFIyJy4KAApPUE1FUktJTkc6IEFscyBDT01NQU5ETyBkZSBidWZmZXJpbmcgdmFuIHppam4gc3RhbmRhYXJkIHN0cmVhbXMgYWFucGFzdCAoem9hbHMKYmlqdm9vcmJlZWxkICd0ZWUnIGRvZXQpLCBkYW4gemFsIGRhdCBkZSBvdmVyZWVua29tc3RpZ2UgaW5zdGVsbGluZ2VuIGRpZSB6aWpuCmdld2lqemlnZCBkb29yICdzdGRidWYnIG92ZXJ2bGV1Z2VsZW4uICBPb2sgc29tbWlnZSBmaWx0ZXJzICh6b2FscyAnZGQnLCAnY2F0JywKZW56b3Zvb3J0KSBnZWJydWlrZW4gZ2VlbiBzdHJlYW1zIHZvb3IgaW52b2VyL3VpdHZvZXIsIGVuIHdvcmRlbiBkdXMgbmlldApiZcOvbnZsb2VkIGRvb3IgaW5zdGVsbGluZ2VuIHZhbiAnc3RkYnVmJy4KAApPcG1lcmtpbmc6ICdbJyBrZW50IGRlIG9wdGllcyAnLS1oZWxwJyBlbiAnLS12ZXJzaW9uJywgbWFhciAndGVzdCcgbmlldDsgJ3Rlc3QnCmJlaGFuZGVsdCBkZXplIG9wdGllcyB6b2FscyBoZXQgZWxrZSBhbmRlcmUgbmlldC1sZWdlIHRla2VucmVla3MgYmVoYW5kZWx0LgoACk9wbWVya2luZzogVXcgc2hlbGwga2FuIGVlbiBlaWdlbiB2ZXJzaWUgdmFuICVzIGhlYmJlbiwgZGllIGdld29vbmxpamsKcHJldmFsZWVydCBib3ZlbiBkZSBoaWVyIGJlc2NocmV2ZW4gdmVyc2llLiAgS2lqayBpbiBkZSBkb2N1bWVudGF0aWUgdmFuCnV3IHNoZWxsIHZvb3IgZGV0YWlscyBvdmVyIGRlIG9uZGVyc3RldW5kZSBvcHRpZXMuCgAKQUFOVEFMIG1hZyBnZXZvbGdkIHdvcmRlbiBkb29yIGVlbiB2ZXJtZW5pZ3Z1bGRpZ2luZ3NhY2h0ZXJ2b2Vnc2VsOgpiIDUxMiwga0IgMTAwMCwgSyAxMDI0LCBNQiAxMDAwKjEwMDAsIE0gMTAyNCoxMDI0LApHQiAxMDAwKjEwMDAqMTAwMCwgRyAxMDI0KjEwMjQqMTAyNCwgZW4gem8gdmVyZGVyIHZvb3IgVCwgUCwgRSwgWiBlbiBZLgoACkhldCBHRVRBTCBtYWcgZ2V2b2xnZCB3b3JkZW4gZG9vciBlZW4gdmVybWVuaWd2dWxkaWdpbmdzYWNodGVydm9lZ3NlbDoKYiA9IDUxMiwga0IgPSAxMDAwLCBLID0gMTAyNCwgTUIgPSAxMDAwKjEwMDAsIE0gPSAxMDI0KjEwMjQsCkdCID0gMTAwMCoxMDAwKjEwMDAsIEcgPSAxMDI0KjEwMjQqMTAyNCwgZW4gem8gdmVyZGVyIHZvb3IgVCwgUCwgRSwgWiBlbiBZLgoACk9wbWVya2luZzogYWxzIGVlbiBiZXN0YW5kIG1ldCAncm0nIHZlcndpamRlcmQgd29yZHQsIGlzIGhldCB2YWFrIG5vZwptb2dlbGlqayBvbSBpZXRzIHZhbiBkZSBpbmhvdWQgdmFuIGhldCBiZXN0YW5kIHRlIGhlcnN0ZWxsZW4uICBBbHMgdSBtZWVyCnpla2VyaGVpZCB3aWx0IG92ZXIgZGUgb25oZXJzdGVsYmFhcmhlaWQgdmFuIGRlIGluaG91ZCwgZ2VicnVpayBkYW4gJ3NocmVkJy4KAApNZXJrIG9wIGRhdCAnLWQnIGVuICctdCcgZWVuIHZlcnNjaGlsbGVuZGUgb3BtYWFrIHZhbiBkYXR1bSt0aWpkIHZlcndhY2h0ZW4uCgAKT3BtZXJraW5nOiBoZXQgdmVyZ2VsaWprZW4gdm9sZ3QgZGUgcmVnZWxzIGdlc3BlY2lmaWNlZXJkIGRvb3IgJ0xDX0NPTExBVEUnLgoACk9wbWVya2luZzogJ3VuaXEnIGRldGVjdGVlcnQgaGVyaGFhbGRlIHJlZ2VscyBuaWV0IGFscyB6ZSBuaWV0IGJpaiBlbGthYXIgc3RhYW47CnUgem91IGRlIGludm9lciBlZXJzdCBrdW5uZW4gc29ydGVyZW4sIG9mICdzb3J0IC11JyBnZWJydWlrZW4gem9uZGVyICd1bmlxJy4KVmVyZGVyIHZvbGd0IGRlIHZlcmdlbGlqa2luZyBkZSByZWdlbHMgZ2VzcGVjaWZpY2VlcmQgZG9vciAnTENfQ09MTEFURScuCgAKRGUgb3B0aW9uZWxlICctJyB2b29yIGVlbiBJTlNURUxMSU5HIGJldGVrZW50IG5lZ2F0aWUgKG9mdGV3ZWwgJ25pZXQtJykuCk5pZXQtUE9TSVgtaW5zdGVsbGluZ2VuIHppam4gbWV0IGVlbiAnKicgZ2VtYXJrZWVyZC4gIEhldCBoYW5ndCB2YW4gaGV0Cm9uZGVybGlnZ2VuZGUgc3lzdGVlbSBhZiB3ZWxrZSBpbnN0ZWxsaW5nZW4gYmVzY2hpa2JhYXIgemlqbi4KAApBbmRlcnMgaXMgTU9EVVMgZWVuIGdlaGVlbCBnZXRhbCBnZXZvbGdkIGRvb3Igw6nDqW4gdmFuIGRlIHZvbGdlbmRlOgpLQiAxMDAwLCBLIDEwMjQsIE1CIDEwMDAqMTAwMCwgTSAxMDI0KjEwMjQsIGVuei4gdm9vciBHLCBULCBQLCBFLCBaIGVuIFkuCkluIGRlemUgZ2V2YWxsZW4gemFsIGRlIG92ZXJlZW5rb21zdGlnZSBzdHJlYW0gdm9sbGVkaWcgZ2VidWZmZXJkIHppam4KbWV0IGRlIGdyb290dGUgaW5nZXN0ZWxkIG9wIE1PRFVTIGJ5dGVzLgoAClVpdHZvZXJpbnN0ZWxsaW5nZW46CgAKQWxzIEVJR0VOQUFSIG9udGJyZWVrdCwgYmxpamZ0IGRlemUgb252ZXJhbmRlcmQuCkFscyBHUk9FUCBvbnRicmVla3QsIGJsaWpmdCBkZXplIG9udmVyYW5kZXJkLCB0ZW56aWogbWV0IGVlbiAnOicKbmEgZWVuIHN5bWJvbGlzY2hlIEVJR0VOQUFSIGltcGxpY2lldCBkZSBpbmxvZ2dyb2VwIGdlZ2V2ZW4gaXMuClZlcmRlciBtb2dlbiBFSUdFTkFBUiBlbiBHUk9FUCB6b3dlbCBudW1lcmllayBhbHMgc3ltYm9saXNjaCB6aWpuLgoACkRlIHdhYXJkZSB2YW4gRVhQUkVTU0lFIG5hYXIgc3RhbmRhYXJkdWl0dm9lciBzdHVyZW4uICBFWFBSRVNTSUUgbWFnIHppam4KKGVlbiBsZWdlIHJlZ2VsIHNjaGVpZHQgZ3JvZXBlbiBtZXQgdmVyc2NoaWxsZW5kZSwgb3Bsb3BlbmRlIHZvb3JyYW5nKToKCiAgQVJHMSB8IEFSRzIgICAgICAgQVJHMSBhbHMgZGV6ZSBuaWV0IGxlZWcgb2YgMCBpcywgYW5kZXJzIEFSRzIKCiAgQVJHMSAmIEFSRzIgICAgICAgQVJHMSBhbHMgYmVpZGUgYXJndW1lbnRlbiBub2NoIGxlZWcgbm9jaCAwIHppam4sIGFuZGVycyAwCgAKQWxzIEJFU1RBTkQgJy0nIGlzLCBkYW4gd29yZHQgdmFuIHN0YW5kYWFyZGludm9lciBnZWxlemVuLgoAClJhcHBvcnRlZXIgZ2VicmVrZW4gaW4gaGV0IHByb2dyYW1tYSBhYW4gPCVzPjsKbWVsZCBmb3V0ZW4gaW4gZGUgdmVydGFsaW5nIGFhbiA8dmVydGFsaW5nQHZyaWpzY2hyaWZ0Lm9yZz4uCgAKU0VUcyB3b3JkZW4gZ2VnZXZlbiBhbHMgdGVrZW5yZWVrc2VuLiAgRGUgbWVlc3RlIHRla2VucyByZXByZXNlbnRlcmVuIHppY2h6ZWxmLgpCZWdyZXBlbiBjb2RlcyB6aWpuOgoKICBcTk5OICAgICAgICAgICAgaGV0IHRla2VuIG1ldCBBU0NJSS1jb2RlIE5OTiAob2N0YWFsLCAxIHRvdCAzIGNpamZlcnMpCiAgXFwgICAgICAgICAgICAgIGVlbiBiYWNrc2xhc2ggKFwpCiAgXGEgICAgICAgICAgICAgIGdlbHVpZHNzaWduYWFsCiAgXGIgICAgICAgICAgICAgIGJhY2tzcGFjZQogIFxmICAgICAgICAgICAgICBuaWV1d2UgcGFnaW5hIChGRi10ZWtlbikKICBcbiAgICAgICAgICAgICAgbmlldXdlIHJlZ2VsIChMRi10ZWtlbikKICBcciAgICAgICAgICAgICAgbmFhciBiZWdpbiB2YW4gcmVnZWwgKENSLXRla2VuKQogIFx0ICAgICAgICAgICAgICBob3Jpem9udGFsZSB0YWIKAApTSUdOQUFMIG1hZyBlZW4gc2lnbmFhbG5hYW0gemlqbiB6b2FscyAnSFVQJywgb2YgZWVuIHNpZ25hYWxudW1tZXIgem9hbHMgJzEnLApvZiBkZSBhZnNsdWl0d2FhcmRlIHZhbiBlZW4gcHJvY2VzIGRhdCBiZcOraW5kaWdkIHdvcmR0IGRvb3IgZWVuIHNpZ25hYWwuClBJRCBpcyBlZW4gZ2VoZWVsIGdldGFsOyBhbHMgaGV0IG5lZ2F0aWVmIGlzIGRhbiBkdWlkdCBoZXQgZWVuIHByb2Nlc2dyb2VwIGFhbi4KAApBQU5UQUwgaXMgZWVuIGdldGFsLiAgQWxzIFRZUEUgZWVuIHZhbiBbZG91eF0gaXMsIGRhbiBtYWcgQUFOVEFMIG9vayB6aWpuOgpDIHZvb3Igc2l6ZW9mKGNoYXIpLCBTIHZvb3Igc2l6ZW9mKHNob3J0KSwgSSB2b29yIHNpemVvZihpbnQpLCBvZiBMIHZvb3IKc2l6ZW9mKGxvbmcpLiAgQWxzIFRZUEUgJ2YnIGlzLCBtYWcgQUFOVEFMIG9vayB6aWpuOiBGIHZvb3Igc2l6ZW9mKGZsb2F0KSwKRCB2b29yIHNpemVvZihkb3VibGUpLCBvZiBMIHZvb3Igc2l6ZW9mKGxvbmcgZG91YmxlKS4gIChEZSBtYWNoaW5lYWZoYW5rZWxpamtlCmZ1bmN0aWUgc2l6ZW9mKCkgZ2VlZnQgZGUgbGVuZ3RlIGluIGJ5dGVzIGFhbiB2YW4gZGUgZ2VnZXZlbiBlZW5oZWlkLikKAApHUk9PVFRFIG1hZyBvb2sgZWVuIHZvb3J2b2Vnc2VsIGhlYmJlbiwgbWV0IGRlIHZvbGdlbmRlIGJldGVrZW5pc3NlbjoKJysnIHZlcmdyb3RlbiBtZXQsICctJyB2ZXJrbGVpbmVuIG1ldCwgJzwnIG1heGltYWFsLCAnPicgbWluaW1hYWwsCicvJyBuYWFyIGJlbmVkZW4gYWZyb25kZW4gb3AgZWVuIHZlZWx2b3VkIHZhbiwKJyUnIG5hYXIgYm92ZW4gYWZyb25kZW4gb3AgZWVuIHZlZWx2b3VkIHZhbi4KAApIZXQgemVuZGVuIHZhbiBlZW4gJXMtc2lnbmFhbCBuYWFyIGVlbiBkcmFhaWVuZCAnZGQnLXByb2NlcwptYWFrdCBkYXQgaGV0IGluLS91aXR2b2Vyc3RhdGlzdGlla2VuIG5hYXIgc3RhbmRhYXJkZm91dHVpdHZvZXIKc3R1dXJ0IGVuIGRhbiBkb29yZ2FhdCBtZXQga29wacOrcmVuLgoKT3B0aWVzIHppam46CgoAClNwZWNpYWxlIHRla2VuczoKAApTcGVjaWFsZSBpbnN0ZWxsaW5nZW46CiAgIE4gICAgICAgICAgICAgZGUgaW4tIGVuIHVpdHZvZXJzbmVsaGVpZCBvcCBOIGJpdHMgcGVyIHNlY29uZGUgemV0dGVuCgAKR1JPT1RURSBpcyBlZW4gZ2VoZWVsIGdldGFsIG1ldCBlZW4gb3B0aW9uZWxlIGVlbmhlaWQgKGJpanYuIDEwSyBpcyAxMCoxMDI0KS4KTW9nZWxpamtlIGVlbmhlZGVuIHppam46IEssIE0sIEcsIFQsIFAsIEUsIFosIFkgKG1hY2h0ZW4gdmFuIDEwMjQpCm9mIEtCLCBNQiwgLi4uIChtYWNodGVuIHZhbiAxMDAwKS4gIEJpanZvb3JiZWVsZDogMTBNQiBpcyAxMCoxMDAwKjEwMDAuCgAKSGV0IHJlc2VydmVrb3BpZS1hY2h0ZXJ2b2Vnc2VsIGlzICd+JywgdGVuemlqIGFuZGVycyBpbmdlc3RlbGQgbWV0ICctLXN1ZmZpeCcKb2YgdmlhIG9tZ2V2aW5nc3ZhcmlhYmxlIFNJTVBMRV9CQUNLVVBfU1VGRklYLiAgSGV0IHZlcnNpZWJlaGVlciBrYW4gd29yZGVuCmluZ2VzdGVsZCBtZXQgZGUgb3B0aWUgJy0tYmFja3VwJyBvZiB2aWEgb21nZXZpbmdzdmFyaWFiZWxlIFZFUlNJT05fQ09OVFJPTDsKZGl0IHppam4gZGUgbW9nZWxpamtlIHdhYXJkZW4gKG1ldGhvZGVzKToKCgAKRGUgZ2VnZXZlbnMgemlqbiBnZWNvZGVlcmQgaW4gaGV0ICVzLWFsZmFiZXQgem9hbHMgYmVzY2hyZXZlbiBpbiBSRkMgNDY0OC4KQmlqIGRlY29kZXJpbmcgbWFnIGRlIGludm9lciBuYWFzdCBkZSBmb3JtZWxlIHRla2VucyB2YW4gaGV0ICVzLWFsZmFiZXQKb29rIG5vZyBuaWV1d2VyZWdlbC10ZWtlbnMgYmV2YXR0ZW4uICBNZXQgJy0taWdub3JlLWdhcmJhZ2UnIGt1bnQgdSBwcm9iZXJlbgpvdmVyIGFuZGVyZSBuaWV0LWFsZmFiZXRpc2NoZSB0ZWtlbnMgaW4gZGUgZ2Vjb2RlZXJkZSByZWVrcyBieXRlcyB0ZSBzdGFwcGVuLgoACkRlIHZvbGdlbmRlIHZpamYgb3B0aWVzIGdlbGRlbiBhbGxlZW4gYmlqIGhldCBjb250cm9sZXJlbiB2YW4gY29udHJvbGVzb21tZW46CiAgICAgIC0taWdub3JlLW1pc3NpbmcgICAgb250YnJla2VuZGUgYmVzdGFuZGVuIHN0aWx6d2lqZ2VuZCBvdmVyc2xhYW4KICAgICAgLS1xdWlldCAgICAgZ2VlbiAnZ29lZCcgdG9uZW4gdm9vciBlbGsgbWV0IHN1Y2NlcyBnZWNvbnRyb2xlZXJkIGJlc3RhbmQKICAgICAgLS1zdGF0dXMgICAgbmlldHMgbmFhciBkZSB1aXR2b2VyIHN0dXJlbjsgZGUgYWZzbHVpdHdhYXJkZSB0b29udCBzdWNjZXMKICAgICAgLS1zdHJpY3QgICAgbmlldC1udWwgYWZzbHVpdGVuIGJpaiBvbmp1aXN0IG9wZ2VtYWFrdGUgY29udHJvbGVzb21yZWdlbHMKICAtdywgLS13YXJuICAgICAgd2FhcnNjaHV3ZW4gYmlqIG9uanVpc3Qgb3BnZW1hYWt0ZSBjb250cm9sZXNvbXJlZ2VscwoKAApEZSB2b2xnZW5kZSBvcHRpZXMgdmVyYW5kZXJlbiBkZSB3aWp6ZSB2YW4gZG9vcmxvcGVuIHZhbiBkZSBtYXBwZW5oacOrcmFyY2hpZQphbHMgb3B0aWUgJy1SJyBnZWdldmVuIGlzLiAgQmlqIG1lZXJkZXJlIHZhbiBkZXplIG9wdGllcywgZ2VsZHQgZGUgbGFhdHN0ZS4KCiAgLUggICAgICBhbHMgZWVuIGFyZ3VtZW50IG9wIGRlIG9wZHJhY2h0cmVnZWwgZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZwogICAgICAgICAgbmFhciBlZW4gbWFwIGlzLCBkYW4gZGV6ZSBtYXAgZG9vcmxvcGVuCiAgLUwgICAgICBlbGtlIHN5bWJvbGlzY2hlIGtvcHBlbGluZyBuYWFyIGVlbiBtYXAgdm9sZ2VuCiAgLVAgICAgICBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiBuaWV0IHZvbGdlbiAoc3RhbmRhYXJkKQoKAApNZXQgb25kZXJzdGFhbmRlIG9wdGllcyBrdW50IHUga2llemVuIHdlbGtlIGFhbnRhbGxlbiB3ZWVyZ2V2ZW4gd29yZGVuLAphbHRpamQgaW4gZGV6ZSB2b2xnb3JkZTogcmVnZWxzLCB3b29yZGVuLCB0ZWtlbnMsIGJ5dGVzLCBtYXhpbXVtIHJlZ2VsbGVuZ3RlLgoKICAtYywgLS1ieXRlcyAgICAgICAgICAgIGhldCBhYW50YWwgYnl0ZXMgdG9uZW4KICAtbSwgLS1jaGFycyAgICAgICAgICAgIGhldCBhYW50YWwgdGVrZW5zIHRvbmVuCiAgLWwsIC0tbGluZXMgICAgICAgICAgICBoZXQgYWFudGFsIHJlZ2VscyB0b25lbiAoaW4gZmVpdGUgaGV0IGFhbnRhbCBMRi10ZWtlbnMpCgAKRGUgc29tbWVuIHdvcmRlbiBiZXJla2VuZCB6b2FscyBiZXNjaHJldmVuIGluICVzLiAgQmlqIGhldCBjb250cm9sZXJlbgptb2V0IGRlIGludm9lciB2b29ybWFsaWdlIHVpdHZvZXIgdmFuIGRpdCBwcm9ncmFtbWEgemlqbi4gIERlIHN0YW5kYWFyZG1vZHVzCnRvb250IHZvb3IgZWxrIEJFU1RBTkQgZWVuIHJlZ2VsIG1ldCBlZW4gY29udHJvbGVzb20sIGVlbiB0ZWtlbiBkYXQgaGV0IHR5cGUKYWFuZ2VlZnQgKCcqJyB2b29yIGJpbmFpciwgJyAnIHZvb3IgdGVrc3QpLCBlbiBkZSBuYWFtIHZhbiBoZXQgYmVzdGFuZC4KAApHZWxkaWdlIG9wbWFha3NwZWNpZmljYXRpZXMgdm9vciBiZXN0YW5kZW4gKHpvbmRlciAnLS1maWxlLXN5c3RlbScpIHppam46CgogICVhICAgdG9lZ2FuZ3NyZWNodGVuIGluIG9jdGFsZSB2b3JtICAoYmVtZXJrICcjJyBlbiAnMCcgcHJpbnRmLXZsYWdnZW4pCiAgJUEgICB0b2VnYW5nc3JlY2h0ZW4gaW4gbGVlc2JhcmUgdm9ybQogICViICAgYWFudGFsIHRvZWdld2V6ZW4gYmxva2tlbiAoemllICVCKQogICVCICAgZGUgZ3Jvb3R0ZSBpbiBieXRlcyB2YW4gZWxrIGJsb2sgZ2VyYXBwb3J0ZWVyZCBkb29yICViCiAgJUMgICBTRUxpbnV4LWJldmVpbGlnaW5nc2NvbnRleHQtdGVrZW5yZWVrcwoACkRpdCBwcm9ncmFtbWEga29waWVlcnQgYmVzdGFuZGVuICh2YWFrIHpvanVpc3QgZ2Vjb21waWxlZXJkKSBuYWFyIGRvb3IgdQpnZWtvemVuIGJlc3RlbW1pbmdlbi4gIEFscyB1IGVlbiBrYW50LWVuLWtsYWFyIHBha2tldCB3aWx0IGRvd25sb2FkZW4gZW4KaW5zdGFsbGVyZW4gb3AgZWVuIEdOVS9MaW51eC1zeXN0ZWVtLCBkYW4ga3VudCB1IGJldGVyIGVlbiBwYWtrZXRiZWhlZXJkZXIKem9hbHMgeXVtKDEpIG9mIGFwdC1nZXQoMSkgZ2VicnVpa2VuLgoKQmlqIGRlIGVlcnN0ZSBkcmllIGFhbnJvZXB2b3JtZW4gd29yZHQgQlJPTiBuYWFyIERPRUwgZ2Vrb3BpZWVyZCwgb2YgQlJPTm5lbgpuYWFyIGVlbiBiZXN0YWFuZGUgTUFQLCB0ZXJ3aWpsIHJlY2h0ZW4gZW4gZWlnZW5hYXIgZW4gZ3JvZXAgaW5nZXN0ZWxkIHdvcmRlbi4KQmlqIGRlIHZpZXJkZSB2b3JtIHdvcmRlbiBhbGxlIGNvbXBvbmVudGVuIHZhbiBkZSBnZWdldmVuIE1BUChwZW4pIGFhbmdlbWFha3QuCgAKT20gZWVuIGJlc3RhbmQgdGUgdmVyd2lqZGVyZW4gZGF0IGJlZ2ludCBtZXQgZWVuICctJywgYmlqdm9vcmJlZWxkICctZm9vJywKa3VudCB1IGVlbiB2YW4gZGV6ZSBjb21tYW5kbydzIGdlYnJ1aWtlbjoKICAlcyAtLSAtZm9vCiAgJXMgLi8tZm9vCgAKT216ZXR0aW5nIHRyZWVkdCBvcCBhbHMgJy1kJyBuaWV0IGdlZ2V2ZW4gaXMgZW4gem93ZWwgU0VUMSBhbHMgU0VUMiBnZWdldmVuCnppam4uICBPcHRpZSAnLXQnIG1hZyBhbGxlZW4gZ2VicnVpa3Qgd29yZGVuIGJpaiBvbXpldHRlbi4gIFNFVDIgd29yZHQgdmVyZ3Jvb3QKdG90IGRlIGxlbmd0ZSB2YW4gU0VUMSBkb29yIGhldCBsYWF0c3RlIHRla2VuIHRlIGhlcmhhbGVuOyB0ZSB2ZWVsIHRla2VucyBpbgpTRVQyIHdvcmRlbiBnZW5lZ2VlcmQuICBBbGxlZW4gWzpsb3dlcjpdIGVuIFs6dXBwZXI6XSB3b3JkZW4gZ2VnYXJhbmRlZXJkCnVpdGdlYnJlaWQgaW4gb3Bsb3BlbmRlIHZvbGdvcmRlOyBiaWogb216ZXR0ZW4ga3VubmVuIHppaiBhbGxlZW4gaW4gcGFyZW4KZ2VicnVpa3Qgd29yZGVuIHZvb3Igb216ZXR0aW5nIHZhbiBob29mZC0gaW4ga2xlaW5lIGxldHRlcnMgb2Ygb21nZWtlZXJkLgpPcHRpZSAnLXMnIGdlYnJ1aWt0IGRlIGxhYXRzdCBvcGdlZ2V2ZW4gc2V0LCBlbiBoZXQgc2FtZW5kcnVra2VuIGdlYmV1cnQKbmEgb216ZXR0aW5nIG9mIHZlcndpamRlcmluZy4KAApNb2dlbGlqa2hlZGVuIHZvb3IgRUVOSEVJRCB6aWpuOgoAClN0YW5kYWFyZCBpcyB2b29ybG9vcHdpdHJ1aW10ZSBkZSB2ZWxkc2NoZWlkaW5nIGVuIHdvcmR0IHZlcmRlciBnZW5lZ2VlcmQuCkFscyAnLXQgVEVLRU4nIGdlZ2V2ZW4gaXMsIHdvcmRlbiB2ZWxkZW4gZ2VzY2hlaWRlbiBkb29yIFRFS0VOLiAgRWxrIFZFTEQKaGVlZnQgZWVuIHZlbGRudW1tZXIsIHRlbGxlbmQgdmFuYWYgMS4KCk9QTUFBSyBpcyBlZW4ga29tbWEtIG9mIHNwYXRpZWdlc2NoZWlkZW4gbGlqc3QgYWFuZHVpZGluZ2VuLCBlbGsgdmFuIGRlIHZvcm0KJ05VTU1FUi5WRUxEJyBvZiAnMCcsIHdhYXIgTlVNTUVSIGhldCBiZXN0YW5kc251bW1lciBlbiBWRUxEIGhldCB2ZWxkbnVtbWVyIGlzLgpEZSBzdGFuZGFhcmRvcG1hYWsgdm9lcnQgZWVyc3QgaGV0IHNhbWVudm9lZ3ZlbGQgdWl0LCBkYW4gZGUgb3ZlcmlnZSB2ZWxkZW4gdmFuCkJFU1RBTkQxLCBlbiBkYW4gZGUgb3ZlcmlnZSB2ZWxkZW4gdmFuIEJFU1RBTkQyLCBhbGxlcyBnZXNjaGVpZGVuIGRvb3IgVEVLRU4uCkFscyBPUE1BQUsgaGV0IHNsZXV0ZWx3b29yZCAnYXV0bycgaXMsIGRhbiBiZXBhYWx0IGRlIGVlcnN0ZSByZWdlbCB2YW4gZWxrCmJlc3RhbmQgaG9ldmVlbCB2ZWxkZW4gZXIgdm9vciBlbGtlIHJlZ2VsIHVpdGdldm9lcmQgd29yZGVuLgoKQmVsYW5ncmlqazogQkVTVEFORDEgZW4gQkVTVEFORDIgbW9ldGVuIGdlc29ydGVlcmQgemlqbiBvcCBkZSBzYW1lbnZvZWd2ZWxkZW4uCkdlYnJ1aWsgYmlqdm9vcmJlZWxkICJzb3J0IC1rIDFiLDEiIGFscyBhYW4gJ2pvaW4nIGdlZW4gb3B0aWVzIGdlZ2V2ZW4gd29yZGVuCm9mIGdlYnJ1aWsgImpvaW4gLXQiIGFscyAnc29ydCcgZ2VlbiBvcHRpZXMgaGVlZnQuCgpPcG1lcmtpbmc6IGhldCB2ZXJnZWxpamtlbiB2b2xndCBkZSByZWdlbHMgZ2VzcGVjaWZpY2VlcmQgZG9vciAnTENfQ09MTEFURScuCkFscyBkZSBpbnZvZXIgbmlldCBnZXNvcnRlZXJkIGlzIGVuIHNvbW1pZ2UgcmVnZWxzIG5pZXQgc2FtZW5nZXZvZWdkIGt1bm5lbgp3b3JkZW4sIGRhbiB3b3JkdCBlciBlZW4gd2FhcnNjaHV3aW5nIGdlZ2V2ZW4uCgAKVmFuIGRlIG9wdGllcyAnLWInLCAnLWMnIGVuICctZicgbWFnIGVyIHNsZWNodHMgw6nDqW4gZ2VnZXZlbiB3b3JkZW4uCkVlbiBMSUpTVCBiZXN0YWF0IHVpdCDDqcOpbiBvZiBtZWVyIGJlcmVpa2VuIGdlc2NoZWlkZW4gZG9vciBrb21tYSdzLApiaWp2b29yYmVlbGQ6IDEtNCw3LDksMTItMTUuICBHZXNlbGVjdGVlcmRlIGludm9lciB3b3JkdCB1aXRnZXZvZXJkCmluIGRlemVsZmRlIHZvbGdvcmRlIGFscyB6ZSBnZWxlemVuIHdlcmQgZW4gc2xlY2h0cyBwcmVjaWVzIMOpw6luIGtlZXIuCgoAClR5cCAnJXMgLS1jb3JldXRpbHMtcHJvZz1QUk9HUkFNTUFOQUFNIC0taGVscCcgdm9vciBodWxwIGJpaiBlZW4gcHJvZ3JhbW1hLgoACk9wdGllICctcycgbmVnZWVydCAnLUwnIGVuICctUCcuICBBbmRlcnMgYmVwYWFsdCBkZSBsYWF0c3QgZ2VnZXZlbiBvcHRpZSBoZXQKZ2VkcmFnIHdhbm5lZXIgZGUgYnJvbiBlZW4gc3ltYm9saXNjaGUga29wcGVsaW5nIGlzOyBzdGFuZGFhcmQgaXMgZGl0ICclcycuCgAKSGV0IGdlYnJ1aWsgdmFuIGtsZXVyZW4gb20gYmVzdGFuZHN0eXBlcyB0ZSBvbmRlcnNjaGVpZGVuIGthbiB1aXRnZXNjaGFrZWxkCndvcmRlbiBtZXQgJy0tY29sb3I9bmV2ZXInIChzdGFuZGFhcmQpLiAgTWV0ICctLWNvbG9yPWF1dG8nIHByb2R1Y2VlcnQgJ2xzJwphbGxlZW4ga2xldXJjb2RlcyBhbHMgc3RhbmRhYXJkdWl0dm9lciB2ZXJib25kZW4gaXMgbWV0IGVlbiB0ZXJtaW5hbC4KT21nZXZpbmdzdmFyaWFiZWxlIExTX0NPTE9SUyBrYW4gZGV6ZSBpbnN0ZWxsaW5nZW4gd2lqemlnZW4uICBHZWJydWlrCmhldCBjb21tYW5kbyAnZGlyY29sb3JzJyBvbSBkZXplIHZhcmlhYmVsZSBpbiB0ZSBzdGVsbGVuLgoACldhbm5lZXIgQkVTVEFORDEgb2YgQkVTVEFORDIgKG5pZXQgYmVpZGUpICctJyBpcywgd29yZHQgc3RhbmRhYXJkaW52b2VyIGdlbGV6ZW4uCgAKWm9uZGVyIEJFU1RBTkQsIG9mIHdhbm5lZXIgQkVTVEFORCAnLScgaXMsIHdvcmR0IHN0YW5kYWFyZGludm9lciBnZWxlemVuLgoAClpvbmRlciBvcHRpZXMgd29yZGVuIGRyaWUga29sb21tZW4gZ2V0b29uZC4gIERlIGVlcnN0ZSBrb2xvbSBiZXZhdCBkZSByZWdlbHMKZGllIHVuaWVrIHppam4gdm9vciBCRVNUQU5EMSwgZGUgdHdlZWRlIGtvbG9tIGRlIHJlZ2VscyBkaWUgdW5pZWsgemlqbiB2b29yCkJFU1RBTkQyLCBlbiBkZSBkZXJkZSBrb2xvbSBkZSByZWdlbHMgZGllIGluIGJlaWRlIGJlc3RhbmRlbiB2b29ya29tZW4uCgAKWm9uZGVyIGVuaWdlIE9QVElFIHdvcmR0IGVlbiBudXR0aWdlIHNldCBpZGVudGlmaWNhdGllLWluZm9ybWF0aWUgZ2V0b29uZC4KAApTdHV1cnQgZWVuIGVlbmR1aWRpZ2UgcmVwcmVzZW50YXRpZSAoc3RhbmRhYXJkIGluIG9jdGFsZSBieXRlcykgdmFuIGhldApnZWdldmVuIEJFU1RBTkQgbmFhciBzdGFuZGFhcmR1aXR2b2VyLiAgQmlqIG1lZXIgZGFuIMOpw6luIEJFU1RBTkQsIHBsYWt0CmhldCBkZXplIGluIGRlIGdlZ2V2ZW4gdm9sZ29yZGUgYWNodGVyIGVsa2FhciBvbSBkZSBpbnZvZXIgdGUgdm9ybWVuLgoAICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGxlZW4gbnV0dGlnIG9wIHN5c3RlbWVuIHdhYXIgZGUgZWlnZW5hYXIgdmFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyB2ZXJhbmRlcmQga2FuIHdvcmRlbikKACAgICAgICAgPz8/ACAgICAgIC0tYmFja3VwWz1NRVRIT0RFXSAgICAgICB2YW4gZWxrIGJlc3RlbW1pbmdzYmVzdGFuZCBlZW4gcmVzZXJ2ZWtvcGllIG1ha2VuCiAgLWIgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHMgJy0tYmFja3VwJywgbWFhciBhY2NlcHRlZXJ0IGdlZW4gYXJndW1lbnQKICAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgIG5pZXRzIHZyYWdlbiBhbHZvcmVucyB0ZSBvdmVyc2NocmlqdmVuCiAgLWksIC0taW50ZXJhY3RpdmUgICAgICAgICAgICB2b29yIG92ZXJzY2hyaWp2ZW4gb20gdG9lc3RlbW1pbmcgdnJhZ2VuCiAgLW4sIC0tbm8tY2xvYmJlciAgICAgICAgICAgICBnZWVuIGJlc3RhYW5kIGJlc3RhbmQgb3ZlcnNjaHJpanZlbgpBbHMgdSBtZWVyIGRhbiDDqcOpbiB2YW4gLWksIC1mLCAtbiBzcGVjaWZpY2VlcnQgZGFuIGlzIGFsbGVlbiBkZSBsYWF0c3RlIGVmZmVjdGllZi4KACAgICAgIC0tYmFja3VwWz1NRVRIT0RFXSAgICAgIHZhbiBlbGsgYmVzdGVtbWluZ3NiZXN0YW5kIGVlbiByZXNlcnZla29waWUgbWFrZW4KICAtYiAgICAgICAgICAgICAgICAgICAgICAgICAgem9hbHMgJy0tYmFja3VwJywgbWFhciBhY2NlcHRlZXJ0IGdlZW4gYXJndW1lbnQKICAtZCwgLUYsIC0tZGlyZWN0b3J5ICAgICAgICAgZGUgc3lzdGVlbWJlaGVlcmRlciB0b2VzdGFhbiBlZW4gaGFyZGUga29wcGVsaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGUgbWFrZW4gbmFhciBtYXBwZW4gKGhvZXdlbCBkaXQgd2FhcnNjaGlqbmxpamsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaWV0IHphbCB3ZXJrZW4sIHZhbndlZ2Ugc3lzdGVlbWJlcGVya2luZ2VuKQogIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgICBiZXN0YWFuZGUgYmVzdGVtbWluZ3NiZXN0YW5kZW4gdmVyd2lqZGVyZW4KACAgICAgIC0tYmFja3VwWz1NRVRIT0RFXSAgdmFuIGVsayBiZXN0ZW1taW5nc2Jlc3RhbmQgZWVuIHJlc2VydmVrb3BpZSBtYWtlbgogIC1iICAgICAgICAgICAgICAgICAgICAgIHpvYWxzICctLWJhY2t1cCcsIG1hYXIgYWNjZXB0ZWVydCBnZWVuIGFyZ3VtZW50CiAgLWMgICAgICAgICAgICAgICAgICAgICAgKGdlbmVnZWVyZGUgb3B0aWUpCiAgLUMsIC0tY29tcGFyZSAgICAgICAgICAgZWxrIHBhYXIgdmFuIGJyb24tIGVuIGJlc3RlbW1pbmdzYmVzdGFuZCB2ZXJnZWxpamtlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuIChzb21zKSBuaWV0cyBhYW4gYmVzdGVtbWluZ3NiZXN0YW5kIHdpanppZ2VuCiAgLWQsIC0tZGlyZWN0b3J5ICAgICAgICAgYWxsZSBhcmd1bWVudGVuIGFscyBtYXBuYW1lbiBiZWhhbmRlbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFuIGRlIGdlZ2V2ZW4gbWFwcGVuIGFsbGUgY29tcG9uZW50ZW4gYWFubWFrZW4KACAgICAgIC0tYmF0Y2gtc2l6ZT1BQU5UQUwgICAgaG9vZ3N0ZW5zIGRpdCBhYW50YWwgaW52b2VyZW4gaW5lZW5zIHNhbWVudm9lZ2VuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlqIG1lZXIsIHRpamRlbGlqa2UgYmVzdGFuZGVuIGdlYnJ1aWtlbgoAICAgICAgLS1jb21wbGVtZW50ICAgICAgICBoZXQgY29tcGxlbWVudCBtYWtlbiB2YW4gZGUgc2V0IHZhbiBnZXNlbGVjdGVlcmRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlcywgdGVrZW5zIG9mIHZlbGRlbgoAICAgICAgLS1kZWJ1ZyAgICAgICAgICAgICAgICBkZSBiZWdyZXBlbiBkYXR1bSBhbm5vdGVyZW4sIGVuIHdhYXJzY2h1d2VuIG9wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFhcmRmb3V0dWl0dm9lciB2b29yIGR1YmlldXMgZ2VicnVpawoAICAgICAgLS1kZWJ1ZyAgICAgICAgICAgICAgICBoZXQgcmVnZWxkZWVsIG1hcmtlcmVuIHdhYXJvcCBnZXNvcnRlZXJkIHdvcmR0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gd2FhcnNjaHV3aW5nZW4gZ2V2ZW4gYmlqIHZyZWVtZCBnZWJydWlrCiAgICAgIC0tZmlsZXMwLWZyb209QkVTVEFORCAgZGUgaW52b2VyIGxlemVuIHVpdCBiZXN0YW5kZW4gZGllIG9wZ2Vzb21kIHN0YWFuIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCRVNUQU5EIChlbGtlIG5hYW0gZWluZGlndCBvcCBOVUwpOyBhbHMgQkVTVEFORAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0nIGlzLCBkYW4gZGUgbmFtZW4gdmFuIHN0YW5kYWFyZGludm9lciBsZXplbgoAICAgICAgLS1kZWJ1ZyAgICAgICAgICB3YWFyc2NodXdpbmdlbiB0b25lbiBiaWogb25nZWxkaWdlIGludm9lcgoAICAgICAgLS1kZXJlZmVyZW5jZSAgICAgIG5pZXQgZGUgc3ltYm9saXNjaGUga29wcGVsaW5nZW4gYmV3ZXJrZW4gbWFhcgogICAgICAgICAgICAgICAgICAgICAgICAgICBkZSBiZXN0YW5kZW4gd2Fhcm5hYXIgemUgdmVyd2lqemVuIChzdGFuZGFhcmQpCiAgLWgsIC0tbm8tZGVyZWZlcmVuY2UgICBkZSBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiB6ZWxmIGJld2Vya2VuIGluIHBsYWF0cwogICAgICAgICAgICAgICAgICAgICAgICAgICB2YW4gZGUgYmVzdGFuZGVuIHdhYXJuYWFyIHplIHZlcndpanplbgoAICAgICAgLS1maWVsZD1WRUxERU4gICBnZXRhbGxlbiBpbiBkZXplIHZlbGRlbiB2ZXJ2YW5nZW4gKHppZSBvbmRlcikKACAgICAgIC0tZmlsZXMwLWZyb209TFNUICBpbnZvZXIgbGV6ZW4gdWl0IGRlIGJlc3RhbmRlbiBkaWUgb3BnZXNvbWQgc3RhYW4gaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVzdGFuZCBMU1QsIHdhYXIgZWxrZSBuYWFtIGVpbmRpZ3Qgb3AgZWVuIDAtYnl0ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxzIExTVCAnLScgaXMsIGRhbiBuYW1lbiB2YW4gc3RhbmRhYXJkaW52b2VyIGxlemVuCiAgLUwsIC0tbWF4LWxpbmUtbGVuZ3RoICBkZSBtYXhpbXVtIHdlZXJnYXZlYnJlZWR0ZSB0b25lbgogIC13LCAtLXdvcmRzICAgICAgICAgICAgaGV0IGFhbnRhbCB3b29yZGVuIHRvbmVuCgAgICAgICAtLWZpbGVzMC1mcm9tPUxTVCAgIGhldCBzY2hpamZnZWJydWlrIHRvbmVuIHZhbiBkZSBiZXN0YW5kZW4gZGllIG9wZ2Vzb21kCiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhYW4gaW4gYmVzdGFuZCBMU1QsIHdhYXIgZWxrZSBuYWFtIGVpbmRpZ3Qgb3AgTlVMOwogICAgICAgICAgICAgICAgICAgICAgICAgIGFscyBMU1QgJy0nIGlzLCBkYW4gZGUgbmFtZW4gdmFuIHN0YW5kYWFyZGludm9lciBsZXplbgogIC1IICAgICAgICAgICAgICAgICAgICAgIGhldHplbGZkZSBhbHMgJy0tZGVyZWZlcmVuY2UtYXJncycgKC1EKQogIC1oLCAtLWh1bWFuLXJlYWRhYmxlICAgIGdyb290dGVzIGluIGxlZXNiYXJlIHZvcm0gdG9uZW4gKGJpanYuIDE1SywgMjM0TSwgMkcpCiAgICAgIC0taW5vZGVzICAgICAgICAgICAgaW5mb3JtYXRpZSBvdmVyIGlub2RlLWdlYnJ1aWsgaS5wLnYuIGJsb2tnZWJydWlrIHRvbmVuCgAgICAgICAtLWZyb20tdW5pdD1HRVRBTCAgZGUgZ3Jvb3R0ZSB2YW4gZGUgaW52b2VyZWVuaGVpZCAoaW4gcGxhYXRzIHZhbiAxKQoAICAgICAgLS1mcm9tPUhVSURJR0VfRUlHRU5BQVI6SFVJRElHRV9HUk9FUAogICAgICAgICAgICAgICAgICAgICAgICAgICBlaWdlbmFhciBlbi9vZiBncm9lcCB2YW4gZWVuIGJlc3RhbmQgYWxsZWVuIHdpanppZ2VuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscyBodWlkaWdlIGVpZ2VuYWFyIGVuIGdyb2VwIG92ZXJlZW5rb21lbiBtZXQgZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgaGllciBnZWdldmVuOyDDqcOpbiB2YW4gZGUgZWxlbWVudGVuIG1hZyB3ZWdnZWxhdGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRlbiwgZWVuIG92ZXJlZW5rb21zdCBkYWFybWVlIGlzIGRhbiBuaWV0IHZlcmVpc3QKACAgICAgIC0tZnJvbT1FRU5IRUlEICAgaW52b2VyZ2V0YWxsZW4gaGVyc2NoYWxlbiBuYWFyIGRlemUgRUVOSEVJRCAoemllIG9uZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHN0YW5kYWFyZCBpcyAnbm9uZScKACAgICAgIC0tZ3JvdXAtZGlyZWN0b3JpZXMtZmlyc3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwZW4gdsOzw7NyIGJlc3RhbmRlbiBncm9lcGVyZW47IGthbiBhYW5nZXZ1bGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRlbiBtZXQgZWVuICctLXNvcnQnLCBtYWFyIGdlYnJ1aWsgdmFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1zb3J0PW5vbmUnIG9mICctVScgZGVhY3RpdmVlcnQgZ3JvZXBlcmluZwoAICAgICAgLS1ncm91cFs9U0NIRUlESU5HU01FVEhPREVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsZSBpdGVtcyB0b25lbjsgcmVnZWxzIHNjaGVpZGVuIG1ldCBibGFuY28gcmVnZWw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgU0NIRUlESU5HU01FVEhPREU6ICdzZXBhcmF0ZScgKGdlc2NoZWlkZW4sIHN0YW5kYWFyZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ByZXBlbmQnICh2b29ydm9lZ2VuKSwgJ2FwcGVuZCcgKGFjaHRlcnZvZWdlbiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgJ2JvdGgnIChiZWlkZSwgem93ZWwgdm9vci0gYWxzIGFjaHRlcnZvZWdlbikKACAgICAgIC0tZ3JvdXBpbmcgICAgICAgZG9vciBkZSB0YWFscmVnaW8gYmVwYWFsZGUgY2lqZmVyZ3JvZXBlcmluZyBnZWJydWlrZW4KICAgICAgICAgICAgICAgICAgICAgICAgIChoZWVmdCBkdXMgZ2VlbiBlZmZlY3QgaW4gQy0gb2YgUE9TSVgtdGFhbHJlZ2lvKQoAICAgICAgLS1oZWFkZXJbPU5dICAgICBkZSBlZXJzdGUgTiBrb3ByZWdlbHMgem9uZGVyIGNvbnZlcnRlcmVuIHRvbmVuOwogICAgICAgICAgICAgICAgICAgICAgICAgTiBpcyAxIHdhbm5lZXIgbmlldCBvcGdlZ2V2ZW4KACAgICAgIC0taGVscCAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW4KACAgICAgIC0taW52YWxpZD1NT0RVUyAgd2F0IHRlIGRvZW4gYmlqIG9uZ2VsZGlnZSBnZXRhbGxlbjsgTU9EVVMga2FuIHppam46CiAgICAgICAgICAgICAgICAgICAgICAgICAnYWJvcnQnIChzdGFuZGFhcmQpLCAnZmFpbCcsICd3YXJuJywgJ2lnbm9yZScKACAgICAgIC0tbG9va3VwICAgICAgcHJvYmVyZW4gZGUgZWNodGUgaG9zdG5hbWVuIHRlIHZpbmRlbiB2aWEgRE5TCiAgLW0gICAgICAgICAgICAgICAgYWxsZWVuIGhvc3RuYWFtIGVuIGdlYnJ1aWtlciB2ZXJib25kZW4gbWV0IHN0YW5kYWFyZGludm9lcgogIC1wLCAtLXByb2Nlc3MgICAgIGRlIGFjdGlldmUgcHJvY2Vzc2VuIGdlc3RhcnQgZG9vciAnaW5pdCcgdG9uZW4KACAgICAgIC0tbm8tcHJlc2VydmUtcm9vdCAgJy8nIG5pZXQgc3BlY2lhYWwgYmVoYW5kZWxlbiAoc3RhbmRhYXJkKQogICAgICAtLXByZXNlcnZlLXJvb3QgICAgIG9wICcvJyBuaWV0IHJlY3Vyc2llZiB3ZXJrZW4KACAgICAgIC0tbm8tcHJlc2VydmU9TElKU1QgICBkZSBnZW5vZW1kZSBlaWdlbnNjaGFwcGVuIGp1aXN0IG5pZXQgYmVob3VkZW4KICAgICAgLS1wYXJlbnRzICAgICAgICAgICAgIHZvbGxlZGlnZSBuYWFtIGdlYnJ1aWtlbiB2YW4gYnJvbmJlc3RhbmQgb25kZXIgTUFQCgAgICAgICAtLW9uZS1maWxlLXN5c3RlbSAgIGJpaiByZWN1cnNpZWYgdmVyd2lqZGVyZW4sIG1hcHBlbiBvdmVyc2xhYW4gZGllCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aWNoIG9wIGVlbiBhbmRlciBiZXN0YW5kc3N5c3RlZW0gYmV2aW5kZW4gZGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXQgYmlqYmVob3JlbmRlIG9wZHJhY2h0cmVnZWxhcmd1bWVudAoAICAgICAgLS1vdXRwdXRbPVZFTERFTkxJSlNUXSAgICBkZSBnZWdldmVuIHVpdHZvZXJvcG1hYWsgZ2VicnVpa2VuLCBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsZSB2ZWxkZW4gdG9uZW4gYWxzIFZFTERFTkxJSlNUIG9udGJyZWVrdAogIC1QLCAtLXBvcnRhYmlsaXR5ICAgICAgICAgZGUgUE9TSVgtdWl0dm9lcm9wbWFhayBnZWJydWlrZW4KICAgICAgLS1zeW5jICAgICAgICAgICAgICAgIGVlbiAnc3luYycgZG9lbiB2w7PDs3IgaGV0IG9waGFsZW4gdmFuIGdlYnJ1aWtzaW5mbwoAICAgICAgLS1wYWRkaW5nPUdFVEFMICBkZSB1aXR2b2VyIHVpdHZ1bGxlbiB0b3QgZGl0IGFhbnRhbCB0ZWtlbnM7IGVlbiBwb3NpdGllZgogICAgICAgICAgICAgICAgICAgICAgICAgZ2V0YWwgbGlqbnQgcmVjaHRzIHVpdCwgZWVuIG5lZ2F0aWVmIGdldGFsIGxpbmtzOwogICAgICAgICAgICAgICAgICAgICAgICAgdWl0dnVsbGluZyB3b3JkdCBnZW5lZ2VlcmQgYWxzIGRlIHVpdHZvZXIgYnJlZGVyIGlzOwogICAgICAgICAgICAgICAgICAgICAgICAgc3RhbmRhYXJkIHdvcmR0IHVpdGdldnVsZCBhbHMgd2l0cnVpbXRlIGdldm9uZGVuIHdvcmR0CgAgICAgICAtLXBpZD1QSUQgICAgICAgICAgICBtZXQgJy1mJzogYWZzbHVpdGVuIHdhbm5lZXIgcHJvY2VzIFBJRCBlaW5kaWd0CiAgLXEsIC0tcXVpZXQsIC0tc2lsZW50ICAgIGdlZW4gYmVzdGFuZHNuYWFta29wamVzIHRvbmVuCiAgICAgIC0tcmV0cnkgICAgICAgICAgICAgIGJsaWp2ZW4gcHJvYmVyZW4gb20gZWVuIGJlc3RhbmQgdGUgb3BlbmVuIHplbGZzIGFscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhldCBvbnRvZWdhbmtlbGlqayBpcyBvZiB3b3JkdDsgbnV0dGlnIHdhbm5lZXIgb3AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYWFtIGdldm9sZ2Qgd29yZHQgKGJpaiAnLS1mb2xsb3c9bmFtZScgZHVzKQoAICAgICAgLS1wcmVzZXJ2ZS1jb250ZXh0ICBkZSBTRUxpbnV4LWJldmVpbGlnaW5nc2NvbnRleHQgYmVob3VkZW4KICAtWiAgICAgICAgICAgICAgICAgICAgICBkZSBTRUxpbnV4LWJldmVpbGlnaW5nc2NvbnRleHQgdmFuIGRvZWxiZXN0YW5kIGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGtlIGFhbmdlbWFha3RlIG1hcCBvcCBzdGFuZGFhcmQgaW5zdGVsbGVuCiAgICAgIC0tY29udGV4dFs9Q05UWFRdICAgZGUgYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gZG9lbGJlc3RhbmQgb3Agc3RhbmRhYXJkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWxsZW4gKG9mIG9wIENOVFhUIGluZGllbiBnZWdldmVuKQoAICAgICAgLS1wcmVzZXJ2ZS1zdGF0dXMKICAgICAgICAgICAgICAgICAgIGFsdGlqZCBlaW5kaWdlbiBtZXQgZGUgYWZzbHVpdHdhYXJkZSB2YW4gQ09NTUFORE8sIG9vayBhbHMKICAgICAgICAgICAgICAgICAgIGhldCBjb21tYW5kbyBkZSB0aWpkc2R1dXIgb3ZlcnNjaHJpamR0CiAgICAgIC0tZm9yZWdyb3VuZAogICAgICAgICAgICAgICAgICAgd2FubmVlciBuaWV0IGRpcmVjdCB2YW5hZiBlZW4gc2hlbGwtcHJvbXB0IGFhbmdlcm9lcGVuLCBoZXQKICAgICAgICAgICAgICAgICAgIENPTU1BTkRPIHRvZXN0YWFuIHZhbiBkZSB0ZXJtaW5hbCB0ZSBsZXplbiBlbiBzaWduYWxlbiBlcnZhbgogICAgICAgICAgICAgICAgICAgdGUgb250dmFuZ2VuOyBpbiBkZXplIG1vZHVzIHdvcmRlbiBkb2NodGVycHJvY2Vzc2VuIHZhbiBoZXQKICAgICAgICAgICAgICAgICAgIENPTU1BTkRPIG5pZXQgZG9vciBEVVVSIGJlZ3JlbnNkCiAgLWssIC0ta2lsbC1hZnRlcj1EVVVSCiAgICAgICAgICAgICAgICAgICBlZW4gS0lMTC1zaWduYWFsIHZlcnplbmRlbiBhbHMgQ09NTUFORE8gbm9nIHN0ZWVkcyBhY3RpZWYKICAgICAgICAgICAgICAgICAgIGlzIG5hIERVVVIgbmFkYXQgaGV0IGVlcnN0ZSBzaWduYWFsIHZlcnpvbmRlbiBpcwogIC1zLCAtLXNpZ25hbD1TSUdOQUFMCiAgICAgICAgICAgICAgICAgICBoZXQgdGUgemVuZGVuIHNpZ25hYWwgYWxzIGRlIHRpamRzZHV1ciB2ZXJsb3BlbiBpczsKICAgICAgICAgICAgICAgICAgIFNJR05BQUwga2FuIGVlbiBuYWFtIHppam4gYWxzICdIVVAnIG9mIGVlbiBudW1tZXI7CiAgICAgICAgICAgICAgICAgICB6aWUgJ2tpbGwgLWxgIHZvb3IgZWVuIGxpanN0IHZhbiBtb2dlbGlqa2Ugc2lnbmFsZW4KACAgICAgIC0tcmVmZXJlbmNlPVJGQlNUTkQgIGRlIGdyb2VwIHZhbiBSRkJTVE5EIGdlYnJ1aWtlbiBpLnAudi4gR1JPRVAtd2FhcmRlCgAgICAgICAtLXJlZmVyZW5jZT1SRkJTVE5EICBtb2R1cyB2YW4gUkZCU1RORCBnZWJydWlrZW4gaS5wLnYuIGVlbiBNT0RVUy13YWFyZGUKACAgICAgIC0tcmVmZXJlbmNlPVJGQlNUTkQgIGRlIGVpZ2VuYWFyIGVuIGdyb2VwIHZhbiBSRkJTVE5EIGdlYnJ1aWtlbgoAICAgICAgLS1yZWZlcmVuY2U9UkVGQkVTVEFORCAgZGUgYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gUkVGQkVTVEFORCBnZWJydWlrZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBwbGFhdHMgdmFuIGVlbiBDT05URVhULXdhYXJkZQoAICAgICAgLS1yZmMtMzMzOT1TT09SVCAgICAgICAgIGRhdHVtIGVuIHRpamQgaW4gUkZDIDMzMzktb3BtYWFrIHRvbmVuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0ZScgdG9vbnQgYWxsZWVuIGRlIGRhdHVtLCAnc2Vjb25kcycgdG9vbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb29rIGRlIHRpamQsICducycgdG9vbnQgb29rIGRlIG5hbm9zZWNvbmRlbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlqdm9vcmJlZWxkOiAyMDA2LTA4LTE0IDAyOjM0OjU2LTA2OjAwCgAgICAgICAtLXJvdW5kPU1FVEhPREUgIHRlIGdlYnJ1aWtlbiBhZnJvbmRpbmdzbWV0aG9kZSBiaWogaGVyc2NoYWxlbjsKICAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhPREUga2FuIHppam46ICd1cCcsICdkb3duJywKICAgICAgICAgICAgICAgICAgICAgICAgICdmcm9tLXplcm8nIChzdGFuZGFhcmQpLCAndG93YXJkcy16ZXJvJywgJ25lYXJlc3QnCgAgICAgICAtLXNvcnQ9V09PUkQgICAgICAgICAgICB2b2xnZW5zIGRlemUgIG1ldGhvZGUgc29ydGVyZW47IFdPT1JEIGthbiB6aWpuOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYWwtbnVtZXJpYyAoLWcpLCBodW1hbi1udW1lcmljICgtaCksIG1vbnRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC1NKSwgbnVtZXJpYyAoLW4pLCByYW5kb20gKC1SKSwgdmVyc2lvbiAoLVYpCiAgLVYsIC0tdmVyc2lvbi1zb3J0ICAgICAgICAgICh2ZXJzaWUpbnVtbWVycyBpbiBkZSB0ZWtzdCBuYXR1dXJsaWprIHNvcnRlcmVuCgoAICAgICAgLS1zcGFyc2U9V0FOTkVFUiAgICAgICAgICBoZXQgYWFubWFrZW4gdmFuIGJlc3RhbmRlbiBtZXQgZ2F0ZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xlcmVuOyB6aWUgaGllcm9uZGVyCiAgICAgIC0tc3RyaXAtdHJhaWxpbmctc2xhc2hlcyAgc2NodWluZSBzdHJlcGVuIGFjaHRlciBlbGsgQlJPTi1hcmd1bWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyd2lqZGVyZW4KACAgICAgIC0tc3RyaXAtdHJhaWxpbmctc2xhc2hlcyAgIHNjaHVpbmUgc3RyZXBlbiBhY2h0ZXIgZWxrZSBCUk9OIHZlcndpamRlcmVuCiAgLVMsIC0tc3VmZml4PUFDSFRFUlZPRUdTRUwgICB0ZcKgZ2VicnVpa2VuIGFjaHRlcnZvZWdzZWwgdm9vciByZXNlcnZla29waWXDq24KACAgICAgIC0tc3VmZml4PVZHU0wgICBkaXQgYWNodGVydm9lZ3NlbCBhY2h0ZXIgU0pBQkxPT04gcGxha2tlbjsgVkdTTCBtYWcgZ2VlbgogICAgICAgICAgICAgICAgICAgICAgICBzY2h1aW5lIHN0cmVlcCBiZXZhdHRlbjsgZGV6ZSBvcHRpZSBpcyBpbXBsaWNpZXQgYWxzCiAgICAgICAgICAgICAgICAgICAgICAgIFNKQUJMT09OIG5pZXQgb3AgZWVuIFggZWluZGlndAoAICAgICAgLS1zdWZmaXg9U1VGRklYICBkaXQgYWNodGVydm9lZ3NlbCB0b2V2b2VnZW4gYWFuIHVpdHZvZXJnZXRhbGxlbiwKICAgICAgICAgICAgICAgICAgICAgICAgIGVuIGFjY2VwdGVyZW4gYmlqIGludm9lcmdldGFsbGVuCgAgICAgICAtLXN1cHByZXNzLW1hdGNoZWQgICAgICByZWdlbHMgZGllIG92ZXJlZW5rb21lbiBtZXQgUEFUUk9PTiBvbmRlcmRydWtrZW4KACAgICAgIC0tdGFnICAgICAgIGVlbiBjb250cm9sZXNvbSBpbiBCU0Qtc3RpamwgZ2VuZXJlcmVuCgAgICAgICAtLXRvLXVuaXQ9R0VUQUwgIGRlIGdyb290dGUgdmFuIGRlIHVpdHZvZXJlZW5oZWlkIChpbiBwbGFhdHMgdmFuIDEpCgAgICAgICAtLXRvPUVFTkhFSUQgICAgIHVpdHZvZXJnZXRhbGxlbiBoZXJzY2hhbGVuIG5hYXIgZGV6ZSBFRU5IRUlEICh6aWUgb25kZXIpCgAgICAgICAtLXRvdGFsICAgICAgICAgICAgICAgYWxsZSBpdGVtcyBkaWUgaXJyZWxldmFudCB6aWpuIHZvb3IgZGUgYmVzY2hpa2JhcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVpbXRlIHdlZ2xhdGVuIGVuIGVlbiBlaW5kdG90YWFsIHRvbmVuCgAgICAgICAtLXZlcmJvc2UgICAgICAgICAgIGVlbiBtZWxkaW5nIHRvbmVuIHbDs8OzciBvcGVuZW4gdmFuIGVsayB1aXR2b2VyYmVzdGFuZAoAICAgICAgLS12ZXJzaW9uICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuIGVuIHN0b3BwZW4KACAgIFstXWNzdG9wYiAgICAgdHdlZSBzdG9wYml0cyBwZXIgdGVrZW4gZ2VicnVpa2VuICjDqcOpbiBtZXQgJy0nKQogICBbLV1odXAgICAgICAgICdvcGdlaGFuZ2VuJy1zaWduYWFsIHN0dXJlbiB3YW5uZWVyIGxhYXRzdGUgcHJvY2VzIGRlIFRUWSBzbHVpdAogICBbLV1odXBjbCAgICAgIGhldHplbGZkZSBhbHMgJ1stXWh1cCcKICAgWy1dcGFyZW5iICAgICBwYXJpdGVpdHNiaXQgaW4gdWl0dm9lciBnZW5lcmVyZW4gZW4gaW4gaW52b2VyIHZlcndhY2h0ZW4KICAgWy1dcGFyb2RkICAgICBvbmV2ZW4gcGFyaXRlaXQgaW5zdGVsbGVuIChvZiBldmVuIHBhcml0ZWl0IG1ldCAnLScpCgAgICBbLV1lY2hvICAgICAgIGludm9lcnRla2VucyBlY2hvw6tuCgAgICBbLV1lY2hvZSAgICAgIGhldHplbGZkZSBhbHMgJ1stXWNydGVyYXNlJwogICBbLV1lY2hvayAgICAgIGVlbiBuaWV1d2VyZWdlbC10ZWtlbiBlY2hvw6tuIG5hIGVlbiBraWxsLXRla2VuCgAgICBbLV1lY2hvbmwgICAgIG5pZXV3ZXJlZ2VsIGVjaG/Dq24gemVsZnMgYWxzIGdlZW4gYW5kZXJlIHRla2VucyB3b3JkZW4gZ2XDq2Nob29kCgAgICBbLV1pY2Fub24gICAgIHNwZWNpYWxlIHRla2VucyBpbnNjaGFrZWxlbjogJXMKICAgWy1daWV4dGVuICAgICBuaWV0LVBPU0lYIHNwZWNpYWxlIHRla2VucyBpbnNjaGFrZWxlbgoAICAgWy1daW5sY3IgICAgICBMRi10ZWtlbiAobmlldXdlcmVnZWwpIG9temV0dGVuIGluIENSLXRla2VuIChuYWFyIHJlZ2VsYmVnaW4pCiAgIFstXWlucGNrICAgICAgY29udHJvbGUgb3AgaW52b2VycGFyaXRlaXQgaW5zY2hha2VsZW4KICAgWy1daXN0cmlwICAgICBob29nc3RlIGJpdCAoaGV0IGFjaHRzdGUpIHZhbiBpbnZvZXJ0ZWtlbnMgbnVsIG1ha2VuCgAgICBbLV1pc2lnICAgICAgIHNwZWNpYWxlIHRla2VucyB2b29yIGludGVycnVwdCwgcXVpdCwgZW4gc3VzcGVuZCBpbnNjaGFrZWxlbgogICBbLV1ub2Zsc2ggICAgIGxlZ2VuIHZhbiBidWZmZXIgbmEgaW50ZXJydXB0IG9mIHF1aXQgdWl0c2NoYWtlbGVuCgAgICBbLV1peG9mZiAgICAgIGhldCB6ZW5kZW4gdmFuIHN0YXJ0LS9zdG9wdGVrZW5zIGluc2NoYWtlbGVuCiAgIFstXWl4b24gICAgICAgWE9OL1hPRkYtYmVzdHVyaW5nIGluc2NoYWtlbGVuCiAgIFstXXBhcm1yayAgICAgcGFyaXRlaXRzZm91dGVuIG1hcmtlcmVuIChtZXQgZWVuIDI1NS0wLXRla2VuY29tYmluYXRpZSkKICAgWy1ddGFuZGVtICAgICBoZXR6ZWxmZGUgYWxzICdbLV1peG9mZicKACAgIFstXW9wb3N0ICAgICAgdWl0dm9lciBuYWJld2Vya2VuCgAgICBjYnJlYWsgICAgICAgIGhldHplbGZkZSBhbHMgJy1pY2Fub24nCiAgIC1jYnJlYWsgICAgICAgaGV0emVsZmRlIGFscyAnaWNhbm9uJwoAICAgY29va2VkICAgICAgICBoZXR6ZWxmZGUgYWxzICdicmtpbnQgaWducGFyIGlzdHJpcCBpY3JubCBpeG9uIG9wb3N0IGlzaWcKICAgICAgICAgICAgICAgICAgIGljYW5vbicsIG1ldCBlb2YtIGVuIGVvbC10ZWtlbnMgb3AgaHVuIHN0YW5kYWFyZHdhYXJkZW4KICAgLWNvb2tlZCAgICAgICBoZXR6ZWxmZGUgYWxzICdyYXcnCgAgICBjcnQgICAgICAgICAgIGhldHplbGZkZSBhbHMgJyVzJwoAICAgY3NOICAgICAgICAgICB0ZWtlbmdyb290dGUgb3AgTiBiaXRzIGluc3RlbGxlbjsgTiBpbiBbNS4uOF0KACAgIGRlYyAgICAgICAgICAgaGV0emVsZmRlIGFscyAnJXMgaW50ciBeYwogICAgICAgICAgICAgICAgICAgZXJhc2UgMDE3NyBraWxsIF51JwoAICAgZWsgICAgICAgICAgICBkZSBlcmFzZS0gZW4ga2lsbC10ZWtlbnMgb3AgaHVuIHN0YW5kYWFyZHdhYXJkZW4gemV0dGVuCiAgIGV2ZW5wICAgICAgICAgaGV0emVsZmRlIGFscyAncGFyZW5iIC1wYXJvZGQgY3M3JwogICAtZXZlbnAgICAgICAgIGhldHplbGZkZSBhbHMgJy1wYXJlbmIgY3M4JwoAICAgZW9mIFRFS0VOICAgICAgICBURUtFTiB6ZW5kdCBlZW4gZWluZGUgdmFuIGJlc3RhbmQgKGJlw6tpbmRpZ3QgZGUgaW52b2VyKQogICBlb2wgVEVLRU4gICAgICAgIFRFS0VOIGJlw6tpbmRpZ3QgZGUgcmVnZWwKACAgIGVyYXNlIFRFS0VOICAgICAgVEVLRU4gdmVyd2lqZGVydCBoZXQgbGFhdHN0IGdldHlwdGUgdGVrZW4KICAgaW50ciBURUtFTiAgICAgICBURUtFTiB6ZW5kdCBlZW4gaW50ZXJydXB0c2lnbmFhbAogICBraWxsIFRFS0VOICAgICAgIFRFS0VOIHZlcndpamRlcnQgZGUgaHVpZGlnZSByZWdlbAoAICAgaXNwZWVkIE4gICAgICBkZSBpbnZvZXJzbmVsaGVpZCBvcCBOIHpldHRlbgoAICAgbGl0b3V0ICAgICAgICBoZXR6ZWxmZGUgYWxzICctcGFyZW5iIC1pc3RyaXAgLW9wb3N0IGNzOCcKICAgLWxpdG91dCAgICAgICBoZXR6ZWxmZGUgYWxzICdwYXJlbmIgaXN0cmlwIG9wb3N0IGNzNycKACAgIG1pbiBOICAgICAgICAgbWV0ICctaWNhbm9uJzogbWluaW11bSB2b29yIGNvbXBsZXRlIGxlZXNvcGRyYWNodCBpcyBOIHRla2VucwogICBvc3BlZWQgTiAgICAgIGRlIHVpdHZvZXJzbmVsaGVpZCBvcCBOIHpldHRlbgoAICAgbmwgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICclcycKICAgLW5sICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICclcycKACAgIG9kZHAgICAgICAgICAgaGV0emVsZmRlIGFscyAncGFyZW5iIHBhcm9kZCBjczcnCiAgIC1vZGRwICAgICAgICAgaGV0emVsZmRlIGFscyAnLXBhcmVuYiBjczgnCiAgIFstXXBhcml0eSAgICAgaGV0emVsZmRlIGFscyAnWy1dZXZlbnAnCiAgIHBhc3M4ICAgICAgICAgaGV0emVsZmRlIGFscyAnLXBhcmVuYiAtaXN0cmlwIGNzOCcKICAgLXBhc3M4ICAgICAgICBoZXR6ZWxmZGUgYWxzICdwYXJlbmIgaXN0cmlwIGNzNycKACAgIHF1aXQgVEVLRU4gICAgICAgVEVLRU4gemVuZHQgZWVuIFFVSVQtc2lnbmFhbAoAICAgcmF3ICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctaWduYnJrIC1icmtpbnQgLWlnbnBhciAtcGFybXJrIC1pbnBjawogICAgICAgICAgICAgICAgICAgLWlzdHJpcCAtaW5sY3IgLWlnbmNyIC1pY3JubCAtaXhvbiAtaXhvZmYgLWljYW5vbgogICAgICAgICAgICAgICAgICAgLW9wb3N0IC1pc2lnJXMgbWluIDEgdGltZSAwJwogICAtcmF3ICAgICAgICAgIGhldHplbGZkZSBhbHMgJ2Nvb2tlZCcKACAgIHNhbmUgICAgICAgICAgaGV0emVsZmRlIGFscyAnY3JlYWQgLWlnbmJyayBicmtpbnQgLWlubGNyIC1pZ25jciBpY3JubAogICAgICAgICAgICAgICAgICAgaWNhbm9uIGlleHRlbiBlY2hvIGVjaG9lIGVjaG9rIC1lY2hvbmwgLW5vZmxzaAogICAgICAgICAgICAgICAgICAgJXMKICAgICAgICAgICAgICAgICAgICVzCiAgICAgICAgICAgICAgICAgICAlcycsCiAgICAgICAgICAgICAgICAgICBtZXQgYWxsZSBzcGVjaWFsZSB0ZWtlbnMgb3AgaHVuIHN0YW5kYWFyZHdhYXJkZW4KACAgIHNwZWVkICAgICAgICAgZGUgc25lbGhlaWQgdmFuIGRlIHRlcm1pbmFsIHRvbmVuCiAgIHRpbWUgTiAgICAgICAgbWV0ICctaWNhbm9uJzogbGVlc3RpamRzbGltaWV0IG9wIE4gdGllbmRlIHNlY29uZGUgaW5zdGVsbGVuCgAgICBzdGFydCBURUtFTiAgICAgIFRFS0VOIGhlcnN0YXJ0IGRlIHVpdHZvZXIgYWxzIGRlemUgZ2VzdG9wdCBpcwogICBzdG9wIFRFS0VOICAgICAgIFRFS0VOIHN0b3B0IGRlIHVpdHZvZXIKICAgc3VzcCBURUtFTiAgICAgICBURUtFTiB6ZW5kdCBlZW4gdGVybWluYWwtc3RvcHNpZ25hYWwKACAgJSUgICAgICBlZW4gZW5rZWwgJS10ZWtlbgogICViICAgICAgQVJHVU1FTlQgaW50ZXJwcmV0ZXJlbiBhbHMgdGVrZW5yZWVrcyBtZXQgYm92ZW5zdGFhbmRlICdcJy1jb2RlcywKICAgICAgICAgIGJlaGFsdmUgZGF0IG9jdGFsZSBjb2RlcyB2YW4gZGUgdm9ybSBcMCBvZiBcME5OTiB6aWpuCiAgJXEgICAgICBBUkdVTUVOVCB3ZWVyZ2V2ZW4gaW4gZWVuIHZvcm0gZGllIGhlcmdlYnJ1aWt0IGthbiB3b3JkZW4gYWxzCiAgICAgICAgICBzaGVsbC1pbnZvZXIsIG5pZXQtYWZkcnVrYmFyZSB0ZWtlbnMgdG9uZW5kIG1ldCBkZSAkJyctc3ludGF4CgpWZXJkZXIgd29yZGVuIGFsbGUgQy1vcG1hYWtjb2RlcyBiZWdyZXBlbiBkaWUgZWluZGlnZW4gb3AgZWVuIHZhbiBkZSB0ZWtlbnMKdWl0ICdkaW91eFhmZUVnR2NzJywgd2FhcmJpaiBkZSBBUkdVTUVOVGVuIGVlcnN0IGdlY29udmVydGVlcmQgd29yZGVuIG5hYXIKaGV0IGp1aXN0ZSB0eXBlLiAgVmFyaWFiZWxlIGJyZWVkdGVzIHdvcmRlbiBiZWdyZXBlbi4KACAgJUEgICBkZSB2b2xsZWRpZ2UgbmFhbSB2YW4gZGUgZGFnIHZvbGdlbnMgZGUgdGFhbHJlZ2lvLCAoYmlqdi4gem9uZGFnKQogICViICAgZGUgYWZnZWtvcnRlIG5hYW0gdmFuIGRlIG1hYW5kIHZvbGdlbnMgZGUgdGFhbHJlZ2lvIChiaWp2LiBqYW4pCiAgJUIgICBkZSB2b2xsZWRpZ2UgbmFhbSB2YW4gZGUgbWFhbmQgdm9sZ2VucyBkZSB0YWFscmVnaW8gKGJpanYuIGphbnVhcmkpCiAgJWMgICBkZSBkYXR1bS90aWpkIHZvbGdlbnMgZGUgdGFhbHJlZ2lvIChiaWp2LiB6YSAwMSBva3QgMjAwNSAxNjo1NzowOSBDRVNUKQoAICAlQyAgIGRlIGVldXc7IGFscyAlWSBtYWFyIHpvbmRlciBkZSBsYWF0c3RlIHR3ZWUgY2lqZmVycyAoYmlqdi4gMjApCiAgJWQgICBkZSBkYWcgaW4gZGUgbWFhbmQgKGJpanYuIDAxKQogICVEICAgZGUgZGF0dW0gb3AgQW1lcmlrYWFuc2UgbWFuaWVyOyBoZXR6ZWxmZGUgYWxzICVtLyVkLyV5CiAgJWUgICBkZSBkYWcgaW4gZGUgbWFhbmQsIG1ldCB2b29ybG9vcHNwYXRpZTsgaGV0emVsZmRlIGFscyAlX2QKACAgJUYgICBkZSB2b2xsZWRpZ2UgZGF0dW0gb3AgSVNPLW1hbmllcjsgaGV0emVsZmRlIGFscyAlWS0lbS0lZAogICVnICAgZGUgbGFhdHN0ZSB0d2VlIGNpamZlcnMgdmFuIGhldCBqYWFyIHZhbiBoZXQgSVNPLXdlZWtudW1tZXIgKHppZSAlRykKICAlRyAgIGhldCBqYWFyIHZhbiBoZXQgSVNPLXdlZWtudW1tZXIgKHppZSAlVik7IG5vcm1hYWwgYWxsZWVuIG51dHRpZyBtZXQgJVYKACAgJVMgICBkZSBzZWNvbmRlICgwMC4uLjYwKSAoNjAga2FuIG9vaywgdmFud2VnZSBzY2hyaWtrZWxzZWNvbmRlKQogICV0ICAgZWVuIGhvcml6b250YWxlIHRhYgogICVUICAgZGUgdGlqZDsgaGV0emVsZmRlIGFscyAlSDolTTolUwogICV1ICAgZGUgZGFnIHZhbiBkZSB3ZWVrICgxLi4uNyk7IDEgaXMgbWFhbmRhZwoAICAlVSAgIHdlZWtudW1tZXIgaW4gaGV0IGphYXIsIG1ldCB6b25kYWcgYWxzIGVlcnN0ZSBkYWcgdmFuIGRlIHdlZWsgKDAwLi4uNTMpCiAgJVYgICBJU08td2Vla251bW1lciwgbWV0IG1hYW5kYWcgYWxzIGVlcnN0ZSBkYWcgdmFuIGRlIHdlZWsgKDAxLi4uNTMpCiAgJXcgICBkZSBkYWcgdmFuIGRlIHdlZWsgKDAuLi42KTsgMCBpcyB6b25kYWcKICAlVyAgIHdlZWtudW1tZXIgaW4gaGV0IGphYXIsIG1ldCBtYWFuZGFnIGFscyBlZXJzdGUgZGFnIHZhbiBkZSB3ZWVrICgwMC4uLjUzKQoAICAlZCAgIGFwcGFyYWF0bnVtbWVyIGluIGRlY2ltYWFsCiAgJUQgICBhcHBhcmFhdG51bW1lciBpbiBoZXgKICAlZiAgIHJ1d2UgbW9kdXMgaW4gaGV4CiAgJUYgICBiZXN0YW5kc3R5cGUKICAlZyAgIGdyb2Vwcy1JRCB2YW4gZWlnZW5hYXIKICAlRyAgIGdyb2Vwc25hYW0gdmFuIGVpZ2VuYWFyCgAgICVoICAgYWFudGFsIGhhcmRlIGtvcHBlbGluZ2VuCiAgJWkgICBpbm9kZS1udW1tZXIKICAlbSAgIGFhbmtvcHBlbGluZ3NwdW50CiAgJW4gICBiZXN0YW5kc25hYW0KICAlTiAgIGFhbmdlaGFhbGRlIGJlc3RhbmRzbmFhbSAocGx1cyBkb2VsIGJpaiBlZW4gc3ltYm9saXNjaGUga29wcGVsaW5nKQogICVvICAgaGludCB2b29yIG9wdGltYWxlIGJsb2tncm9vdHRlIHZvb3IgaW52b2VyL3VpdHZvZXIKICAlcyAgIHRvdGFsZSBncm9vdHRlLCBpbiBieXRlcwogICV0ICAgaG9vZmRhcHBhcmFhdHR5cGUgaW4gaGV4ICh2b29yIGFwcGFyYWF0YmVzdGFuZGVuKQogICVUICAgc3ViYXBwYXJhYXR0eXBlIGluIGhleCAodm9vciBhcHBhcmFhdGJlc3RhbmRlbikKACAgJWggICBoZXR6ZWxmZGUgYWxzICViCiAgJUggICBoZXQgdXVyICgwMC4uLjIzKQogICVJICAgaGV0IHV1ciAoMDEuLi4xMikKICAlaiAgIGRlIGRhZyBpbiBoZXQgamFhciAoMDAxLi4uMzY2KQoAICAlaSAgIGJlc3RhbmRzc3lzdGVlbS1JRCBpbiBoZXgKICAlbCAgIG1heGltdW0gbGVuZ3RlIHZhbiBiZXN0YW5kc25hbWVuCiAgJW4gICBiZXN0YW5kc25hYW0KICAlcyAgIG9wdGltYWxlIGdyb290dGUgdmFuIHRyYW5zcG9ydGJsb2sKICAlUyAgIGZ1bmRhbWVudGVsZSBibG9rZ3Jvb3R0ZSAodm9vciBibG9rYWFudGFsbGVuKQogICV0ICAgYmVzdGFuZHNzeXN0ZWVtdHlwZSBpbiBoZXgKICAlVCAgIGJlc3RhbmRzc3lzdGVlbXR5cGUgaW4gbGVlc2JhcmUgdm9ybQoAICAlayAgIGhldCB1dXIsIG1ldCB2b29ybG9vcHNwYXRpZSAoIDAuLi4yMyk7IGhldHplbGZkZSBhbHMgJV9ICiAgJWwgICBoZXQgdXVyLCBtZXQgdm9vcmxvb3BzcGF0aWUgKCAxLi4uMTIpOyBoZXR6ZWxmZGUgYWxzICVfSQogICVtICAgZGUgbWFhbmQgKDAxLi4uMTIpCiAgJU0gICBkZSBtaW51dXQgKDAwLi4uNTkpCgAgICVuICAgZWVuIG5pZXV3ZSByZWdlbAogICVOICAgZGUgbmFub3NlY29uZGVuICgwMDAwMDAwMDAuLi45OTk5OTk5OTkpCiAgJXAgICBoZXQgZXF1aXZhbGVudCB2YW4gQU0gb2YgUE0gdm9sZ2VucyBkZSB0YWFscmVnaW87IG1lZXN0YWwgYmxhbmNvCiAgJVAgICBhbHMgJXAgbWFhciBpbiBrbGVpbmUgbGV0dGVycwogICVxICAga3dhcnRhYWwgdmFuIGhldCBqYWFyICgxLi40KQogICVyICAgZGUgdGlqZCBpbiAxMi11dXJzYWFuZHVpZGluZyB2b2xnZW5zIGRlIHRhYWxyZWdpbyAoYmlqdi4gMTE6MTE6MDQgUE0pCiAgJVIgICBkZSB0aWpkIGluIDI0LXV1cnNhYW5kdWlkaW5nOyBoZXR6ZWxmZGUgYWxzICVIOiVNCiAgJXMgICBkZSBzZWNvbmRlbiBzaW5kcyAxOTcwLTAxLTAxIDAwOjAwOjAwIFVUQwoAICAldSAgIGdlYnJ1aWtlcnMtSUQgdmFuIGVpZ2VuYWFyCiAgJVUgICBnZWJydWlrZXJzbmFhbSB2YW4gZWlnZW5hYXIKICAldyAgIHRpamRzdGlwIHZhbiBvbnRzdGFhbiB2YW4gYmVzdGFuZCwgb2YgJy0nIGFscyBvbmJla2VuZAogICVXICAgdGlqZHN0aXAgdmFuIG9udHN0YWFuLCBpbiBzZWNvbmRlbiBzaW5kcyBFcG9jaCwgb2YgMCBhbHMgb25iZWtlbmQKICAleCAgIHRpamRzdGlwIHZhbiBsYWF0c3RlIHRvZWdhbmcKICAlWCAgIHRpamRzdGlwIHZhbiBsYWF0c3RlIHRvZWdhbmcsIGluIHNlY29uZGVuIHNpbmRzIEVwb2NoCiAgJXkgICB0aWpkc3RpcCB2YW4gbGFhdHN0ZSBnZWdldmVuc3dpanppZ2luZwogICVZICAgdGlqZHN0aXAgdmFuIGxhYXRzdGUgZ2VnZXZlbnN3aWp6aWdpbmcsIGluIHNlY29uZGVuIHNpbmRzIEVwb2NoCiAgJXogICB0aWpkc3RpcCB2YW4gbGFhdHN0ZSBzdGF0dXN2ZXJhbmRlcmluZwogICVaICAgdGlqZHN0aXAgdmFuIGxhYXRzdGUgc3RhdHVzdmVyYW5kZXJpbmcsIGluIHNlY29uZGVuIHNpbmRzIEVwb2NoCgoAICAleCAgIGRlIGRhdHVtd2VlcmdhdmUgdm9sZ2VucyBkZSB0YWFscmVnaW8gKGJpanYuIDMxLTEyLTA1KQogICVYICAgZGUgdGlqZHdlZXJnYXZlIHZvbGdlbnMgZGUgdGFhbHJlZ2lvIChiaWp2LiAyMzoxMzo0OCkKICAleSAgIGRlIGxhYXRzdGUgdHdlZSBjaWpmZXJzIHZhbiBoZXQgamFhciAoMDAuLi45OSkKICAlWSAgIGhldCBqYWFyCgAgICV6ICAgICBudW1lcmlla2UgdGlqZHpvbmUgaW4gZGUgdm9ybSAraGhtbSAoYmlqdi4gLTA0MDApCiAgJTp6ICAgIG51bWVyaWVrZSB0aWpkem9uZSBpbiBkZSB2b3JtICtoaDptbSAoYmlqdi4gLTA0OjAwKQogICU6OnogICBudW1lcmlla2UgdGlqZHpvbmUgaW4gZGUgdm9ybSAraGg6bW06c3MgKGJpanYuIC0wNDowMDowMCkKICAlOjo6eiAgbnVtZXJpZWtlIHRpamR6b25lIHpvbmRlciBvbm5vZGlnZSBuYWtvbWVuZGUgbnVsbGVuIChiaWp2LiAtMDQpCiAgJVogICAgIEVuZ2Vsc2UgbGV0dGVyYWZrb3J0aW5nIHZvb3IgZGUgdGlqZHpvbmUgKGJpanYuIENFU1QpCgpTdGFuZGFhcmQgZ2VicnVpa3QgJ2RhdGUnIHZvb3Jsb29wbnVsbGVuIGJpaiBudW1lcmlla2UgdmVsZGVuLgoAICArIFNZTUJPT0wgICAgICAgICAgICAgU1lNQk9PTCBhbHMgdGVrZW5yZWVrcyBpbnRlcnByZXRlcmVuLCB6ZWxmcyBhbHMgaGV0CiAgICAgICAgICAgICAgICAgICAgICAgIGVlbiBzbGV1dGVsd29vcmQgb2Ygb3BlcmF0b3IgaXMsIHpvYWxzICdtYXRjaCcgb2YgJy8nCgogICggRVhQUkVTU0lFICkgICAgICAgICB3YWFyZGUgdmFuIEVYUFJFU1NJRQoAICArRUVSU1RFX1BBR0lOQVs6TEFBVFNURV9QQUdJTkFdLCAtLXBhZ2VzPUVFUlNURV9QQUdJTkFbOkxBQVRTVEVfUEFHSU5BXQogICAgICAgICAgICAgICAgICAgIG1ldCBhZmRydWtrZW4gYmVnaW5uZW4gYmlqIEVFUlNURV9QQUdJTkEKICAgICAgICAgICAgICAgICAgICAoZW4gc3RvcHBlbiBiaWogTEFBVFNURV9QQUdJTkEpCiAgLUtPTE9NTUVOLCAtLWNvbHVtbnM9S09MT01NRU4KICAgICAgICAgICAgICAgICAgICBkaXQgYWFudGFsIGtvbG9tbWVuIGdlYnJ1aWtlbiwgZW4gdmVydGljYWFsIGFmZHJ1a2tlbgogICAgICAgICAgICAgICAgICAgIHRlbnppaiAnLWEnIGdlZ2V2ZW4gaXM7IGhldCBhYW50YWwgcmVnZWxzIHBlciBrb2xvbQogICAgICAgICAgICAgICAgICAgIHZvb3IgZWxrZSBwYWdpbmEgZ2VsaWprIGhvdWRlbgoAICAtICtPUE1BQUsgKGJpanZvb3JiZWVsZDogKyVIOiVNKSB2b29yIGVlbiBvcG1hYWsgem9hbHMgbWV0ICdkYXRlJwoAICAtLWdyb3Vwcz1HUk9FUEVOTElKU1QgICAgICAgZXh0cmEgZ3JvZXBlbiAoa29tbWFnZXNjaGVpZGVuIGxpanN0KQoAICAtLW91dHB1dC1kZWxpbWl0ZXI9UkVFS1MgICAgZGV6ZSB0ZWtlbnJlZWtzIGFscyBrb2xvbXNjaGVpZGluZyBnZWJydWlrZW4KACAgLS1za2lwLWNoZGlyICAgICAgICAgICAgICAgIGh1aWRpZ2UgbWFwIG5pZXQgd2lqemlnZW4gbmFhciAlcwoAICAtLXRvdGFsICAgIGVlbiBzYW1lbnZhdHRpbmcgd2VlcmdldmVuCgAgIC0tdXNlcnNwZWM9R0VCUlVJS0VSOkdST0VQICB0ZSBnZWJydWlrZW4gZ2VicnVpa2VyIGVuIGdyb2VwIChJRCBvZiBuYWFtKQoAICAtMCwgLS1udWxsICAgICAgICAgICAgICBlbGtlIHJlZ2VsIGFmc2x1aXRlbiBtZXQgMC1ieXRlLCBuaWV0IG1ldCBuaWV1d2VyZWdlbAogIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHdhYXJkZXMgdG9uZW4gdm9vciBhbGxlIGJlc3RhbmRlbiwgbmlldCBhbGxlZW4gbWFwcGVuCiAgICAgIC0tYXBwYXJlbnQtc2l6ZSAgICAgd2Vya2VsaWprZSBncm9vdHRlcyB0b25lbiBpbiBwbGFhdHMgdmFuIHNjaGlqZmJlc2xhZzsKICAgICAgICAgICAgICAgICAgICAgICAgICBob2V3ZWwgbWVlc3RhbCBrbGVpbmVyLCBrYW4gZGUgd2Vya2VsaWprZSBncm9vdHRlIG9vawogICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3RlciB6aWpuIGRhbiBoZXQgc2NoaWpmYmVzbGFnLCBiaWp2b29yYmVlbGQgYmlqCiAgICAgICAgICAgICAgICAgICAgICAgICAgbHVjaHRpZ2UgYmVzdGFuZGVuIChtZXQgb25vcGdlc2xhZ2VuIGdhdGVuKSwgaW50ZXJuZQogICAgICAgICAgICAgICAgICAgICAgICAgIGZyYWdtZW50YXRpZSwgaW5kaXJlY3RlIGJsb2trZW4gZW4gZGVyZ2VsaWprZQoAICAtMCwgLS1udWxsICAgICBlbGtlIHJlZ2VsIGFmc2x1aXRlbiBtZXQgMC1ieXRlLCBuaWV0IG1ldCBuaWV1d2VyZWdlbAoAICAtQSwgLS1hZGRyZXNzLXJhZGl4PUdST05EICB0ZSBnZWJydWlrZW4gZ3JvbmR0YWwgdm9vciBhZHJlc3NlbjsgJ3gnIHZvb3IgaGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2QnIHZvb3IgZGVjaW1hYWwsICdvJyB2b29yIG9jdGFhbCwgJ24nIHZvb3IgZ2VlbgogICAgICAtLWVuZGlhbj17YmlnfGxpdHRsZX0gIGludm9lcmJ5dGVzIHZlcndpc3NlbGVuIHZvbGdlbnMgYWFuZ2V2ZW4gdm9sZ29yZGUKICAtaiwgLS1za2lwLWJ5dGVzPUJZVEVTICAgICBkaXQgYWFudGFsIGJ5dGVzIGFhbiBiZWdpbiB2YW4gaW52b2VyIG92ZXJzbGFhbgoAICAtQSwgLS1hdXRvLXJlZmVyZW5jZSAgICAgICAgICAgYmVzdGFuZHNuYWFtLSBlbiByZWdlbG51bW1lciB0b2V2b2VnZW4KICAtRywgLS10cmFkaXRpb25hbCAgICAgICAgICAgICAgbWVlciB6b2FscyBkZSBvdWRlICdwdHgnIHZhbiBTeXN0ZW0gVgoAICAtQiwgLS1ibG9jay1zaXplPUdST09UVEUgIGRlIHRlIHRvbmVuIGdyb290dGVzIHNjaGFsZW4gbmFhciBkZXplIHdhYXJkZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICctQk0nIGJpanZvb3JiZWVsZCB0b29udCBkZSBncm9vdHRlcyBpbiBlZW5oZWRlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFuIDEuMDQ4LjU3NiBieXRlczsgemllIGhpZXJvbmRlciB2b29yIG1lZXIgaW5mbwogIC1iLCAtLWJ5dGVzICAgICAgICAgICAgIGhldHplbGZkZSBhbHMgJy0tYXBwYXJlbnQtc2l6ZSAtLWJsb2NrLXNpemU9MScKICAtYywgLS10b3RhbCAgICAgICAgICAgICBlZW4gZWluZHRvdGFhbCB0b25lbgogIC1ELCAtLWRlcmVmZXJlbmNlLWFyZ3MgIGFsbGVlbiBkaXJlY3QgZ2VnZXZlbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiB2b2xnZW4KICAtZCwgLS1tYXgtZGVwdGg9TiAgICAgICBoZXQgdG90YWFsIHZvb3IgZWVuIG1hcCAob2YgZWVuIGJlc3RhbmQsIG1ldCAnLS1hbGwnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsZWVuIHRvbmVuIGFscyBkZXplIE4gb2YgbWluZGVyIG5pdmVhdXMgb25kZXIgaGV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGRyYWNodHJlZ2VsYXJndW1lbnQgbGlndDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW1heC1kZXB0aD0wJyBpcyBoZXR6ZWxmZGUgYWxzICctLXN1bW1hcml6ZScKACAgLUMgICAgICAgICAgICAgICAgICAgICAgICAgZGUgaXRlbXMgaW4ga29sb21tZW4gcHJlc2VudGVyZW4KICAgICAgLS1jb2xvcls9V0FOTkVFUl0gICAgICBiZXN0YW5kc3R5cGVuIG1ldCBrbGV1cmVuIG9uZGVyc2NoZWlkZW47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXQU5ORUVSIGlzICdhbHdheXMnIChhbHRpamQpLCAnbmV2ZXInIChub29pdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiAnYXV0bycgKHVpdHZvZXJhcHBhcmFhdGFmaGFua2VsaWprKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppZSBoaWVyb25kZXIgdm9vciBtZWVyIGluZm9ybWF0aWUKICAtZCwgLS1kaXJlY3RvcnkgICAgICAgICAgICBhbGxlZW4gbWFwbmFtZW4gdG9uZW4sIG5pZXQgaHVuIGluaG91ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIG5pZXQgdm9sZ2VuCiAgLUQsIC0tZGlyZWQgICAgICAgICAgICAgICAgdWl0dm9lciBwcm9kdWNlcmVuIHZvb3IgZGUgJ2RpcmVkJy1tb2R1cyB2YW4gRW1hY3MKACAgLUQgICAgICAgICAgICAgICAgICAgICBhbGxlIHJlZ2VscyB0b25lbiBkaWUgbWVlcmRlcmUga2VyZW4gdm9vcmtvbWVuCiAgICAgIC0tYWxsLXJlcGVhdGVkWz1TQ0hFSURJTkdTTUVUSE9ERV0KICAgICAgICAgICAgICAgICAgICAgICAgIGFscyAnLUQnLCBtYWFyIGdyb2VwZW4gZXZlbnR1ZWVsIHNjaGVpZGVuIG1ldCB3aXRyZWdlbDsKICAgICAgICAgICAgICAgICAgICAgICAgIFNDSEVJRElOR1NNRVRIT0RFIGthbiB6aWpuOiAnbm9uZScgKG5pZXRzLCBzdGFuZGFhcmQpLAogICAgICAgICAgICAgICAgICAgICAgICAgJ3ByZXBlbmQnICh2b29ydm9lZ2VuKSBvZiAnc2VwYXJhdGUnIChnZXNjaGVpZGVuKTsKACAgLUQgICAgICAgICAgICAgICAgICAgICAgYWxsZSBjb21wb25lbnRlbiB2YW4gRE9FTCBhYW5tYWtlbiBiZWhhbHZlIGRlIGxhYXRzdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhbGxlIGNvbXBvbmVudGVuIHZhbiBkZSAtLXRhcmdldCBtYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbiBkYW4gQlJPTiBuYWFyIERPRUwga29wacOrcmVuCiAgLWcsIC0tZ3JvdXA9R1JPRVAgICAgICAgZGV6ZSBncm9lcCBpbnN0ZWxsZW4gaS5wLnYuIGdyb2VwIHZhbiBodWlkaWcgcHJvY2VzCiAgLW0sIC0tbW9kZT1NT0RVUyAgICAgICAgZGV6ZSB0b2VnYW5nc3JlY2h0ZW4gaW5zdGVsbGVuIGkucC52LiAncnd4ci14ci14JwogIC1vLCAtLW93bmVyPUdFQlJVSUtFUiAgIGRlemUgZWlnZW5hYXIgaW5zdGVsbGVuIChhbGxlZW4gdm9vciBzeXN0ZWVtYmVoZWVyZGVyKQoAICAtRCwgLS1kYXRlLWZvcm1hdD1PUE1BQUsKICAgICAgICAgICAgICAgICAgICB0ZSBnZWJydWlrZW4gb3BtYWFrIHZvb3IgZGUga29wZGF0dW0KICAtZSwgLS1leHBhbmQtdGFic1s9VEVLRU5bQlJFRURURV1dCiAgICAgICAgICAgICAgICAgICAgZWxrIFRFS0VOIChzdGFuZGFhcmQgZGUgdGFiKSBpbiBkZSBpbnZvZXIgdmVydmFuZ2VuIGRvb3IKICAgICAgICAgICAgICAgICAgICBCUkVFRFRFIChzdGFuZGFhcmQgOCkgYWFuIHNwYXRpZXMKICAtRiwgLWYsIC0tZm9ybS1mZWVkCiAgICAgICAgICAgICAgICAgICAgbmlldXdlcGFnaW5hLXRla2VucyBpLnAudi4gbmlldXdlcmVnZWwtdGVrZW5zIGdlYnJ1aWtlbiBvbQogICAgICAgICAgICAgICAgICAgIHBhZ2luYSdzIHRlIHNjaGVpZGVuOyBwYWdpbmFrb3AgYmVrb3J0ZW4gdmFuIDUgdG90IDMgcmVnZWxzCiAgICAgICAgICAgICAgICAgICAgZW4gZ2VlbiBwYWdpbmF2b2V0IHByaW50ZW4KACAgLUYsIC0tZmxhZy10cnVuY2F0aW9uPVRFS1NUICAgIHRla2VucmVla3MgZGllIHppbnNhZmJyZWtpbmdlbiBhYW5nZWVmdDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhbmRhYXJkIGlzICcvJwoAICAtSCwgLS1kZXJlZmVyZW5jZS1jb21tYW5kLWxpbmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiBvcCBvcGRyYWNodHJlZ2VsIHZvbGdlbgogICAgICAtLWRlcmVmZXJlbmNlLWNvbW1hbmQtbGluZS1zeW1saW5rLXRvLWRpcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIG9wIG9wZHJhY2h0cmVnZWwgZGllIG5hYXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVlbiBtYXAgdmVyd2lqemVuIHZvbGdlbgogICAgICAtLWhpZGU9UEFUUk9PTiAgICAgICAgIGRlIG5hbWVuIGRpZSB2b2xkb2VuIGFhbiBQQVRST09OIG5pZXQgdG9uZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbGR0IG5pZXQgc2FtZW4gbWV0ICctYScgb2YgJy1BJykKACAgLUkgICAgICAgICAgICAgICAgICAgICAgdm9vciBoZXQgdmVyd2lqZGVyZW4gdmFuIG1lZXIgZGFuIGRyaWUgYmVzdGFuZGVuLCBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlqIHJlY3Vyc2lldmUgdmVyd2lqZGVyaW5nLCBvbSBiZXZlc3RpZ2luZyB2cmFnZW47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXQgaXMgbWluZGVyIGJlcGVya2VuZCBkYW4gJy1pJywgbWFhciBiaWVkdCB0b2NoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZXNjaGVybWluZyB0ZWdlbiBkZSBtZWVzdGUgdmVyZ2lzc2luZ2VuCiAgICAgIC0taW50ZXJhY3RpdmVbPVdBTk5FRVJdICBhbCBkYW4gbmlldCBvbSBiZXZlc3RpZ2luZyB2cmFnZW47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXQU5ORUVSIGthbiB6aWpuOiAnbmV2ZXInIChub29pdCksICdvbmNlJyAoLUkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgJ2Fsd2F5cycgKC1pKTsgem9uZGVyIFdBTk5FRVIgYWx0aWpkIHZyYWdlbgoAICAtSVtQUkVDSVNJRV0sIC0taXNvLTg2MDFbPVBSRUNJU0lFXSAgZGF0dW0gZW4gdGlqZCBpbiBJU08gODYwMS1vcG1hYWsgdG9uZW47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBSRUNJU0lFIGthbiB6aWpuOiAnZGF0ZScgdm9vciBhbGxlZW4gZGUgZGF0dW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0YW5kYWFyZCksICdob3VycycsICdtaW51dGVzJywgJ3NlY29uZHMnIG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICducycgdm9vciBkYXR1bSt0aWpkIGluIGRlIGFhbmdlZ2V2ZW4gcHJlY2lzaWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpanZvb3JiZWVsZDogMjAwNi0wOC0xNFQwMjozNDo1Ni0wNjowMAoAICAtTCBCRVNUQU5EICAgIHdhYXIgYWxzIGJlc3RhbmQgZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyBpcyAoPT0gJy1oJykKICAtTyBCRVNUQU5EICAgIHdhYXIgYWxzIHV3IGVmZmVjdGlldmUgZ2VicnVpa2Vycy1JRCBoZXQgYmVzdGFuZCBiZXppdAogIC1wIEJFU1RBTkQgICAgd2FhciBhbHMgYmVzdGFuZCBlZW4gYmVub2VtZGUgcGlqcCBpcwogIC1yIEJFU1RBTkQgICAgd2FhciBhbHMgYmVzdGFuZCB2b29yIHUgbGVlc2JhYXIgaXMKICAtcyBCRVNUQU5EICAgIHdhYXIgYWxzIGJlc3RhbmQgbmlldCBsZWVnIGlzCgAgIC1MLCAtLWRlcmVmZXJlbmNlICAgICBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiB2b2xnZW4KICAtZiwgLS1maWxlLXN5c3RlbSAgICAgc3RhdHVzIHRvbmVuIHZhbiBiZXN0YW5kc3N5c3RlZW0gaS5wLnYuIHZhbiBiZXN0YW5kCgAgIC1MLCAtLWxvZ2ljYWwgICBQV0QgdWl0IGRlIG9tZ2V2aW5nIGdlYnJ1aWtlbiwgemVsZnMgYWxzIGRlemUgc3ltYm9saXNjaGUKICAgICAgICAgICAgICAgICAgICBrb3BwZWxpbmdlbiBiZXZhdAogIC1QLCAtLXBoeXNpY2FsICBhbGxlIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIHZlcm1pamRlbgoAICAtTSwgLS1tYWNyby1uYW1lPU5BQU0gICAgICAgICAgdGUgZ2VicnVpa2VuIG1hY3JvbmFhbSBpbiBwbGFhdHMgdmFuICd4eCcKICAtTywgLS1mb3JtYXQ9cm9mZiAgICAgICAgICAgICAgYWxzIHVpdHZvZXIgJ25yb2ZmJy1kaXJlY3RpZXZlbiBwcm9kdWNlcmVuCiAgLVIsIC0tcmlnaHQtc2lkZS1yZWZzICAgICAgICAgIHJlZmVyZW50aWVzIHJlY2h0cywgbmlldCBtZWV0ZWxsZW4gaW4gJy13JwogIC1TLCAtLXNlbnRlbmNlLXJlZ2V4cD1SRUdFWFAgICBkZWZpbmllZXJ0IGVpbmQgdmFuIHJlZ2VscyBvZiBlaW5kIHZhbiB6aW5uZW4KICAtVCwgLS1mb3JtYXQ9dGV4ICAgICAgICAgICAgICAgYWxzIHVpdHZvZXIgJ1RlWCctZGlyZWN0aWV2ZW4gcHJvZHVjZXJlbgoAICAtTiwgLS1yZWFkLWJ5dGVzPUJZVEVTICAgICBkZSB1aXR2b2VyIGJlcGVya2VuIHRvdCBkaXQgYWFudGFsIGJ5dGVzIHZhbiBpbnZvZXIKICAtUywgLS1zdHJpbmdzWz1MRU5HVEVdICAgICBhbGxlZW4gc3ltYm9vbG5hbWVuIHRvbmVuLCB2YW4gbWluc3RlbnMgZGV6ZSBsZW5ndGUKICAtdCwgLS1mb3JtYXQ9VFlQRSAgICAgICAgICB0ZSBnZWJydWlrZW4gdHlwZSBvcG1hYWsgdm9vciBkZSB1aXR2b2VyCiAgLXYsIC0tb3V0cHV0LWR1cGxpY2F0ZXMgICAgZHVwbGljYXRlbiB0b25lbiwgaS5wLnYuICcqJyB2b29yIHJlZ2Vsd2VnbGF0aW5nCiAgLXcsIC0td2lkdGhbPUdFVEFMXSAgICAgICAgYWFudGFsIHRlIHRvbmVuIGJ5dGVzIHBlciB1aXR2b2VycmVnZWwKICAgICAgLS10cmFkaXRpb25hbCAgICAgICAgICBvb2sgYXJndW1lbnRlbiBpbiB0cmFkaXRpb25lbGUgdm9ybSBhY2NlcHRlcmVuCgAgIC1QLCAtLW5vLWRlcmVmZXJlbmNlICAgIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIG5pZXQgdm9sZ2VuIChzdGFuZGFhcmQpCiAgLVMsIC0tc2VwYXJhdGUtZGlycyAgICAgYmlqIG1hcHBlbiBkZSBncm9vdHRlIHZhbiBzdWJtYXBwZW4gbmlldCBtZWV0ZWxsZW4KICAgICAgLS1zaSAgICAgICAgICAgICAgICBhbHMgJy1oJywgbWFhciBtYWNodGVuIHZhbiAxMDAwIGkucC52LiAxMDI0IGdlYnJ1aWtlbgogIC1zLCAtLXN1bW1hcml6ZSAgICAgICAgIHZvb3IgZWxrIGdlZ2V2ZW4gYXJndW1lbnQgYWxsZWVuIGVlbiB0b3RhYWwgdG9uZW4KACAgLVIsIC0tcmVjdXJzaXZlICAgICAgICBiZXN0YW5kZW4gZW4gbWFwcGVuIHJlY3Vyc2llZiBiZWhhbmRlbGVuCgAgIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgYmVzdGFuZGVuIGVuIG1hcHBlbiByZWN1cnNpZWYgYmVoYW5kZWxlbgoAICAtUiwgLS1yZmMtZW1haWwgICAgICAgICAgICAgIGRhdHVtIGVuIHRpamQgaW4gUkZDIDUzMjItb3BtYWFrIHRvbmVuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWp2b29yYmVlbGQ6IE1vbiwgMTQgQXVnIDIwMDYgMDI6MzQ6NTYgLTA2MDAKACAgLVIsIC1yLCAtLXJlY3Vyc2l2ZSAgICAgICAgICBtYXBwZW4gcmVjdXJzaWVmIGtvcGnDq3JlbgogICAgICAtLXJlZmxpbmtbPVdIRU5dICAgICAgICAga2xvb24vQ29XLWtvcGllw6tuIGNvbnRyb2xlcmVuOyB6aWUgaGllcm9uZGVyCiAgICAgIC0tcmVtb3ZlLWRlc3RpbmF0aW9uICAgICBlbGtlIGJlc3RhYW5kZSBkb2VsbWFwIHZlcndpamRlcmVuIHZvb3JkYXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdSBkZXplIHByb2JlZXJ0IHRlIG9wZW5lbiAoYW5kZXJzIGRhbiAnLS1mb3JjZScpCgAgIC1TICAgICAgICAgICAgICAgICAgICAgICAgIG9wIGJlc3RhbmRzZ3Jvb3R0ZSBzb3J0ZXJlbiAoZ3Jvb3RzdGUgZWVyc3QpCiAgICAgIC0tc29ydD1XSUpaRSAgICAgICAgICAgdGUgZ2VicnVpa2VuIHNvcnRlZXJ3aWp6ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdJSlpFIGthbiB6aWpuOiAnc2l6ZScgKC1TKSwgJ3RpbWUnICgtdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbm9uZScgKC1VKSwgJ3ZlcnNpb24nICgtdiksICdleHRlbnNpb24nICgtWCkKICAgICAgLS10aW1lPVNPT1JUICAgICAgICAgICAobWV0ICctbCcpIHRlIHRvbmVuIHNvb3J0IHRpamQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTT09SVCBrYW4gemlqbjogJ2N0aW1lJyBvZiAnc3RhdHVzJyAoLWMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F0aW1lJyBvZiAnYWNjZXNzJyBvZiAndXNlJyAoLXUpOyBnZWdldmVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWpkc3Nvb3J0IG9vayBnZWJydWlrZW4gYWxzIHNvcnRlZXJzbGV1dGVsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHMgJy0tc29ydD10aW1lJyBnZWdldmVuIGlzIChuaWV1d3N0ZSBlZXJzdCkKACAgLVMgQkVTVEFORCAgICB3YWFyIGFscyBiZXN0YW5kIGVlbiBzb2NrZXQgaXMKICAtdCBEU0NSSVBUUiAgIHdhYXIgYWxzIGRlemUgYmVzdGFuZHNkZXNjcmlwdG9yIGdlb3BlbmQgaXMgb3AgZWVuIHRlcm1pbmFsCiAgLXUgQkVTVEFORCAgICB3YWFyIGFscyBiZXN0YW5kIFNFVFVJRCBpcwogIC13IEJFU1RBTkQgICAgd2FhciBhbHMgYmVzdGFuZCB2b29yIHUgc2NocmlqZmJhYXIgaXMKICAteCBCRVNUQU5EICAgIHdhYXIgYWxzIGJlc3RhbmQgZG9vciB1IHVpdHZvZXJiYWFyIChvZiBkb29yem9la2JhYXIpIGlzCgAgIC1TLCAtLXN1ZmZpeD1TVUZGSVggICAgICAgICB0ZcKgZ2VicnVpa2VuIGFjaHRlcnZvZWdzZWwgdm9vciByZXNlcnZla29waWXDq24KICAtdCwgLS10YXJnZXQtZGlyZWN0b3J5PU1BUCAgbWFwIHdhYXJpbiBkZSBrb3BwZWxpbmdlbiBnZW1hYWt0IG1vZXRlbiB3b3JkZW4KICAtVCwgLS1uby10YXJnZXQtZGlyZWN0b3J5ICAgS09QUEVMSU5HU05BQU0gYWxzIGVlbiBub3JtYWFsIGJlc3RhbmQgYmVoYW5kZWxlbgogIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBuYWFtIGVuIGRvZWwgdmFuIGVsa2UgZ2VtYWFrdGUga29wcGVsaW5nIHRvbmVuCgAgIC1TW1RFS1NUXSwgLS1zZXAtc3RyaW5nWz1URUtTVF0KICAgICAgICAgICAgICAgICAgICAga29sb21tZW4gc2NoZWlkZW4gZG9vciBURUtTVDsgem9uZGVyICctUycgaXMgZGV6ZSB0ZWtzdAogICAgICAgICAgICAgICAgICAgICBzdGFuZGFhcmQgZWVuIFRBQi10ZWtlbiBhbHMgbWV0ICctSicsIGFuZGVycyBlZW4gc3BhdGllCiAgICAgICAgICAgICAgICAgICAgIChoZXR6ZWxmZGUgYWxzICctUyIgIicpOyBoZWVmdCBnZWVuIGludmxvZWQgb3Aga29sb21vcHRpZXMKACAgLVQsIC0tb21pdC1wYWdpbmF0aW9uCiAgICAgICAgICAgICAgICAgICAgcGFnaW5ha29wLSBlbiB2b2V0dGVrc3RlbiB3ZWdsYXRlbiBlbiBuaWV1d2VwYWdpbmEtdGVrZW5zCiAgICAgICAgICAgICAgICAgICAgaW4gZGUgaW52b2VyIG5lZ2VyZW4KICAtdiwgLS1zaG93LW5vbnByaW50aW5nCiAgICAgICAgICAgICAgICAgICAgb2N0YWxlIGJhY2tzbGFzaC0gbm90YXRpZSBnZWJydWlrZW4gdm9vciBzdHV1cmNvZGVzCiAgLXcsIC0td2lkdGg9UEFHSU5BQlJFRURURQogICAgICAgICAgICAgICAgICAgIHRlIGdlYnJ1aWtlbiBwYWdpbmFicmVlZHRlIChzdGFuZGFhcmQgNzIpIGJpaiBtZWVyZGVyZQogICAgICAgICAgICAgICAgICAgIHRla3N0a29sb21tZW47IC1zW1RFS0VOXSBzY2hha2VsdCBkZSBzdGFuZGFhcmRicmVlZHRlIHVpdAoAICAtVCwgLXcsIC0tbWVzZyAgICBiZXJpY2h0ZW5zdGF0dXMgdmFuIGdlYnJ1aWtlciB0b2V2b2VnZW4gYWxzICcrJywgJy0nIG9mJyA/JwogIC11LCAtLXVzZXJzICAgICAgIGRlIGluZ2Vsb2dkZSBnZWJydWlrZXJzIHRvbmVuCiAgICAgIC0tbWVzc2FnZSAgICAgaGV0emVsZmRlIGFscyAnLVQnCiAgICAgIC0td3JpdGFibGUgICAgaGV0emVsZmRlIGFscyAnLVQnCgAgIC1XLCAtLXBhZ2Utd2lkdGg9UEFHSU5BQlJFRURURQogICAgICAgICAgICAgICAgICAgIHRlIGdlYnJ1aWtlbiBwYWdpbmFicmVlZHRlIChzdGFuZGFhcmQgNzIpOwogICAgICAgICAgICAgICAgICAgIGxhbmdlIHJlZ2VscyBhZmthcHBlbiwgdGVuemlqICctSicgZ2VnZXZlbiBpczsKICAgICAgICAgICAgICAgICAgICAnLVMnIGVuICctcycgaGViYmVuIGdlZW4gaW52bG9lZAoAICAtVywgLS13b3JkLXJlZ2V4cD1SRUdFWFAgICAgICAgUkVHRVhQIGRlZmluaWVlcnQgc2xldXRlbHdvb3JkZW4KICAtYiwgLS1icmVhay1maWxlPUJFU1RBTkQgICAgICAgd29vcmRhZmJyZWVrdGVrZW5zIHN0YWFuIGluIGRpdCBCRVNUQU5ECiAgLWYsIC0taWdub3JlLWNhc2UgICAgICAgICAgICAgIGtsZWluZSBsZXR0ZXJzIGFscyBob29mZGxldHRlcnMgYmVzY2hvdXdlbgogIC1nLCAtLWdhcC1zaXplPUdFVEFMICAgICAgICAgICBydWltdGUgKGluIGtvbG9tbWVuKSB0dXNzZW4gdWl0dm9lcnZlbGRlbgogIC1pLCAtLWlnbm9yZS1maWxlPUJFU1RBTkQgICAgICBCRVNUQU5EIG1ldCB3b29yZGVuIGRpZSBuaWV0IG1lZWRvZW4KICAtbywgLS1vbmx5LWZpbGU9QkVTVEFORCAgICAgICAgQkVTVEFORCBtZXQgd29vcmRlbiBkaWUgYWxsZWVuIG1lZWRvZW4KACAgLVgsIC0tZXhjbHVkZS1mcm9tPUJFU1RBTkQgICBiZXN0YW5kZW4gd2VnbGF0ZW4gZGllIG92ZXJlZW5rb21lbiBtZXQgZWVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRyb29uIGluIEJFU1RBTkQKICAgICAgLS1leGNsdWRlPVBBVFJPT04gICAgYmVzdGFuZGVuIHdlZ2xhdGVuIGRpZSBvdmVyZWVua29tZW4gbWV0IFBBVFJPT04KICAteCwgLS1vbmUtZmlsZS1zeXN0ZW0gICAgbWFwcGVuIG9wIGFuZGVyZSBiZXN0YW5kc3N5c3RlbWVuIG92ZXJzbGFhbgoAICAtWiAgICAgICAgICAgICAgICAgICAgICAgZGUgU0VMaW51eC1iZXZlaWxpZ2luZ3Njb250ZXh0IHZhbiBkb2VsYmVzdGFuZCBvcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YW5kYWFyZCBpbnN0ZWxsZW4KICAgICAgLS1jb250ZXh0Wz1DTlRYVF0gICAgZGUgYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gZG9lbGJlc3RhbmQgb3Agc3RhbmRhYXJkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVsbGVuIChvZiBvcCBDTlRYVCBpbmRpZW4gZ2VnZXZlbikKACAgLVogICAgICAgICAgICAgICAgICAgICAgICBkZSBTRUxpbnV4LWJldmVpbGlnaW5nc2NvbnRleHQgdmFuIGRvZWxiZXN0YW5kIG9wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YW5kYWFyZCBpbnN0ZWxsZW4KICAgICAgLS1jb250ZXh0Wz1DTlRYVF0gICAgIGRlIGJldmVpbGlnaW5nc2NvbnRleHQgdmFuIGRvZWxiZXN0YW5kIG9wIHN0YW5kYWFyZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWxsZW4gKG9mIG9wIENOVFhUIGluZGllbiBnZWdldmVuKQoAICAtWiAgICAgICAgICAgICAgICAgICAgICAgZGUgU0VMaW51eC1iZXZlaWxpZ2luZ3Njb250ZXh0IHZhbiBkb2VsYmVzdGFuZCBvcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YW5kYWFyZCBpbnN0ZWxsZW4KICAgICAgLS1jb250ZXh0Wz1DTlRYVF0gICAgZGUgYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gZG9lbGJlc3RhbmQgb3Agc3RhbmRhYXJkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVsbGVuIChvZiBvcCBDTlRYVCBpbmRpZW4gZ2VnZXZlbikKACAgLWEgICAgICAgICAgICAgICAgICBhbGxlZW4gZGUgdG9lZ2FuZ3N0aWpkIHZlcmFuZGVyZW4KICAtYywgLS1uby1jcmVhdGUgICAgIGdlZW4gbmlldXdlIGJlc3RhbmRlbiBhYW5tYWtlbgogIC1kLCAtLWRhdGU9VEVLU1QgICAgZGV6ZSBURUtTVCBpbnRlcnByZXRlcmVuIGVuIGFscyB0aWpkc3N0ZW1wZWwgZ2VicnVpa2VuCiAgICAgICAgICAgICAgICAgICAgICAgIGluIHBsYWF0cyB2YW4gZGUgaHVpZGlnZSB0aWpkCiAgLWYgICAgICAgICAgICAgICAgICAoZ2VuZWdlZXJkZSBvcHRpZSkKACAgLWEgICAgICAgICAgICAgIChnZW5lZ2VlcmRlIG9wdGllLCB2b29yIGNvbXBhdGliaWxpdGVpdCBtZXQgYW5kZXJlIHZlcnNpZXMpCiAgLWcsIC0tZ3JvdXAgICAgIGFsbGVlbiBoZXQgZ3JvZXBzLUlEIHRvbmVuCiAgLUcsIC0tZ3JvdXBzICAgIGFsbGVlbiBhbGxlIGdyb2Vwcy1JRCdzIHRvbmVuCiAgLW4sIC0tbmFtZSAgICAgIG5hbWVuIGluIHBsYWF0cyB2YW4gbnVtbWVycyB0b25lbiAoYmlqIC1nLCAtRyBvZiAtdSkKICAtciwgLS1yZWFsICAgICAgZWNodGUgSUQgaW4gcGxhYXRzIHZhbiBlZmZlY3RpZXZlIElEIHRvbmVuIChiaWogLWcsIC1HIG9mIC11KQogIC11LCAtLXVzZXIgICAgICBhbGxlZW4gaGV0IGdlYnJ1aWtlcnMtSUQgdG9uZW4KICAtWiwgLS1jb250ZXh0ICAgYWxsZWVuIGRlIGJldmVpbGlnaW5nc2NvbnRleHQgdmFuIGhldCBwcm9jZXMgdG9uZW4KICAteiwgLS16ZXJvICAgICAgaXRlbXMgc2NoZWlkZW4gbWV0IGVlbiAwLWJ5dGUsIG5pZXQgbWV0IHdpdHJ1aW10ZTsKICAgICAgICAgICAgICAgICAgICAobmlldCB0b2VnZXN0YWFuIGluIHN0YW5kYWFyZG9wbWFhaykKACAgLWEsIC0tYWNyb3NzICAgICAga29sb21tZW4gaG9yaXpvbnRhYWwgaS5wLnYuIHZlcnRpY2FhbCBhZmRydWtrZW4KICAgICAgICAgICAgICAgICAgICAod29yZHQgc2FtZW4gbWV0IC1LT0xPTU1FTiBnZWJydWlrdCkKICAtYywgLS1zaG93LWNvbnRyb2wtY2hhcnMKICAgICAgICAgICAgICAgICAgICBkYWtqZS1ub3RhdGllICheRykgZW4gb2N0YWxlIGJhY2tzbGFzaC1ub3RhdGllIGdlYnJ1aWtlbgogIC1kLCAtLWRvdWJsZS1zcGFjZQogICAgICAgICAgICAgICAgICAgIHR1c3NlbiBlbGsgcGFhciByZWdlbHMgZWVuIGxlZ2UgcmVnZWwgdG9ldm9lZ2VuCgAgIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgIG9vayBkZSBuYW1lbiB0b25lbiBkaWUgYmVnaW5uZW4gbWV0IGVlbiAnLicKICAtQSwgLS1hbG1vc3QtYWxsICAgICAgICAgICBhbHMgJy1hJywgbWFhciBkZSBpdGVtcyAnLicgZW4gJy4uJyB3ZWdsYXRlbgogICAgICAtLWF1dGhvciAgICAgICAgICAgICAgIChtZXQgJy1sJykgZGUgYXV0ZXVyIHZhbiBlbGsgYmVzdGFuZCB0b25lbgogIC1iLCAtLWVzY2FwZSAgICAgICAgICAgICAgIG5pZXQtZ3JhZmlzY2hlIHRla2VucyB0b25lbiBhbHMgY29kZXMgaW4gQy1zdGlqbAoAICAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIG9vayBwc2V1ZG8tLCBkdXBsaWNhYXQsIGVuIG9udG9lZ2Fua2VsaWprZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZXN0YW5kc3N5c3RlbWVuIHRvbmVuCiAgLUIsIC0tYmxvY2stc2l6ZT1HUk9PVFRFICBkZSB0ZSB0b25lbiBncm9vdHRlcyBzY2hhbGVuIG5hYXIgZGV6ZSB3YWFyZGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctQk0nIGJpanZvb3JiZWVsZCB0b29udCBkZSBncm9vdHRlcyBpbiBlZW5oZWRlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YW4gMS4wNDguNTc2IGJ5dGVzOyB6aWUgaGllcm9uZGVyIHZvb3IgbWVlciBpbmZvCiAgLWgsIC0taHVtYW4tcmVhZGFibGUgICAgICBncm9vdHRlcyBpbiBtYWNodGVuIHZhbiAxMDI0IHRvbmVuIChiaWp2LiAyMzRNKQogIC1ILCAtLXNpICAgICAgICAgICAgICAgICAgZ3Jvb3R0ZXMgaW4gbWFjaHRlbiB2YW4gMTAwMCB0b25lbiAoYmlqdi4gMjQ1TSkKACAgLWEsIC0tYWxsICAgICAgICAgICAgYWxsZSBodWlkaWdlIGluc3RlbGxpbmdlbiBpbiBsZWVzYmFyZSB2b3JtIHRvbmVuCiAgLWcsIC0tc2F2ZSAgICAgICAgICAgYWxsZSBodWlkaWdlIGluc3RlbGxpbmdlbiBpbiBoZXJicnVpa2JhcmUgdm9ybSB0b25lbgogIC1GLCAtLWZpbGU9QVBQQVJBQVQgIHRlIGdlYnJ1aWtlbiBhcHBhcmFhdCBpbiBwbGFhdHMgdmFuIHN0YW5kYWFyZGludm9lcgoAICAtYSwgLS1hcmNoaXZlICAgICAgICAgICAgIGhldHplbGZkZSBhbHMgJy1kUiAtLXByZXNlcnZlPWFsbCcKICAgICAgLS1hdHRyaWJ1dGVzLW9ubHkgICAgIGFsbGVlbiBlaWdlbnNjaGFwcGVuIGtvcGnDq3JlbiwgbmlldCBiZXN0YW5kc2luaG91ZAogICAgICAtLWJhY2t1cFs9TUVUSE9ERV0gICAgdmFuIGVsayBiZXN0ZW1taW5nc2Jlc3RhbmQgZWVuIHJlc2VydmVrb3BpZSBtYWtlbgogIC1iICAgICAgICAgICAgICAgICAgICAgICAgYWxzICctLWJhY2t1cCcsIG1hYXIgYWNjZXB0ZWVydCBnZWVuIGFyZ3VtZW50CiAgICAgIC0tY29weS1jb250ZW50cyAgICAgICBkZSBpbmhvdWQgdmFuIHNwZWNpYWxlIGJlc3RhbmRlbiBrb3Bpw6tyZW4gYWxzIGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3Vyc2llZiBnZWtvcGllZXJkIHdvcmR0CiAgLWQgICAgICAgICAgICAgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bGlua3MnCgAgIC1hLCAtLW11bHRpcGxlICAgICAgICBtZWVyZGVyZSBhcmd1bWVudGVuIHRvZXN0YWFuIGVuIGVsayBhbHMgTkFBTSBiZWhhbmRlbGVuCiAgLXMsIC0tc3VmZml4PVZPRUdTRUwgIGRpdCBhY2h0ZXJ2b2Vnc2VsIHZlcndpamRlcmVuOyBpbXBsaWNlZXJ0ICctYScKICAteiwgLS16ZXJvICAgICAgICAgICAgZWxrZSByZWdlbCBhZnNsdWl0ZW4gbWV0IDAtYnl0ZSwgbmlldCBtZXQgbmlldXdlcmVnZWwKACAgLWIsIC0tYmVmb3JlICAgICAgICAgICAgc2NoZWlkZXIgdsOzw7NyIGkucC52LiBhY2h0ZXIgZGUgcmVnZWwgcGxhYXRzZW4KICAtciwgLS1yZWdleCAgICAgICAgICAgICBzY2hlaWRlciBhbHMgcmVndWxpZXJlIGV4cHJlc3NpZSBpbnRlcnByZXRlcmVuCiAgLXMsIC0tc2VwYXJhdG9yPVRFS1NUICAgZGV6ZSBzY2hlaWRlciBnZWJydWlrZW4gaW4gcGxhYXRzIHZhbiBuaWV1d2VyZWdlbAoAICAtYiwgLS1ib2R5LW51bWJlcmluZz1TVElKTCAgICAgdGUgZ2VicnVpa2VuIHN0aWpsIHZvb3IgcmVnZWxudW1tZXJpbmcKICAtZCwgLS1zZWN0aW9uLWRlbGltaXRlcj1UVCAgICAgdGUgZ2VicnVpa2VuIHRla2VucGFhciB2b29yIHBhZ2luYXNjaGVpZGluZwogIC1mLCAtLWZvb3Rlci1udW1iZXJpbmc9U1RJSkwgICBzdGlqbCB2b29yIGRlIG51bW1lcmluZyB2YW4gdm9ldHJlZ2VscwoAICAtYiwgLS1ieXRlcyAgICAgICAgIGJ5dGVzIHRlbGxlbiBpbiBwbGFhdHMgdmFuIHRla2VucwogIC1zLCAtLXNwYWNlcyAgICAgICAgYmlqIHZvb3JrZXVyIGFmYnJla2VuIG9wIHNwYXRpZXMKICAtdywgLS13aWR0aD1HRVRBTCAgIHRlIGdlYnJ1aWtlbiBhZmJyZWVrYnJlZWR0ZSBpbiBwbGFhdHMgdmFuIDgwCgAgIC1iLCAtLWJ5dGVzPUxJSlNUICAgICAgIGFsbGVlbiBkZXplIGJ5dGVzIHRvbmVuCiAgLWMsIC0tY2hhcmFjdGVycz1MSUpTVCAgYWxsZWVuIGRlemUgdGVrZW5zIHRvbmVuCiAgLWQsIC0tZGVsaW1pdGVyPVRFS0VOICAgZGl0IHZlbGRzY2hlaWRpbmdzdGVrZW4gZ2VicnVpa2VuIGluIHBsYWF0cyB2YW4gVEFCCgAgIC1iLCAtLWlnbm9yZS1sZWFkaW5nLWJsYW5rcyAgIHZvb3Jsb29wd2l0cnVpbXRlIG5lZ2VyZW4KICAtZCwgLS1kaWN0aW9uYXJ5LW9yZGVyICAgICAgYWxsZWVuIHdpdHJ1aW10ZSwgbGV0dGVycyBlbiBjaWpmZXJzIGJlc2Nob3V3ZW4KICAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgICAga2xlaW5lIGxldHRlcnMgYWxzIGhvb2ZkbGV0dGVycyBiZXNjaG91d2VuCgAgIC1iLCAtLXN1ZmZpeC1mb3JtYXQ9T1BNQUFLICB0ZSBnZWJydWlrZW4gc3ByaW50Zi1vcG1hYWsgaW4gcGxhYXRzIHZhbiAnJTAyZCcKICAtZiwgLS1wcmVmaXg9Vk9PUlZPRUdTRUwgICAgdGUgZ2VicnVpa2VuIHZvb3J2b2Vnc2VsIGluIHBsYWF0cyB2YW4gJ3h4JwogIC1rLCAtLWtlZXAtZmlsZXMgICAgICAgICAgICB1aXR2b2VyYmVzdGFuZGVuIG5pZXQgdmVyd2lqZGVyZW4gYmlqIGZvdXRlbgoAICAtYyAgLS1mb3JtYXQ9T1BNQUFLICAgdGUgZ2VicnVpa2VuIG9wbWFhayBpbiBwbGFhdHMgdmFuIGRlIHN0YW5kYWFyZG9wbWFhazsKICAgICAgICAgICAgICAgICAgICAgICAgICBlbGsgZ2VicnVpayB2YW4gT1BNQUFLIG1ldCBuaWV1d2VyZWdlbCBhZnNsdWl0ZW4KICAgICAgLS1wcmludGY9T1BNQUFLICAgYWxzICctLWZvcm1hdCcsIG1hYXIgYmFja3NsYXNoLWNvZGVzIGludGVycHJldGVyZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gZ2VlbiBhdXRvbWF0aXNjaGUgbmlldXdlcmVnZWwgdG9ldm9lZ2VuOyBhbHMgdQogICAgICAgICAgICAgICAgICAgICAgICAgIGVlbiBuaWV1d2VyZWdlbCB3aWx0LCB2b2VnIGRhbiBcbiB0b2UgaW4gT1BNQUFLCiAgLXQsIC0tdGVyc2UgICAgICAgICAgIGRlIGluZm9ybWF0aWUgaW4gYmVrbm9wdGUgdm9ybSB0b25lbgoAICAtYywgLS1ieXRlcz1bK11HRVRBTCAgICAgZGUgbGFhdHN0ZSBHRVRBTCBieXRlcyB1aXR2b2VyZW47IGJpaiAnLWMgK0dFVEFMJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpdHZvZXJlbiB2YW5hZiBieXRlIEdFVEFMIHZhbiBlbGsgYmVzdGFuZAoAICAtYywgLS1ieXRlcz1bLV1BQU5UQUwgICAgZGUgZWVyc3RlIEFBTlRBTCBieXRlcyB2YW4gZWxrIGJlc3RhbmQgdG9uZW47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0IGVlbiBtaW50ZWtlbiwgYWxsZW4gYmVoYWx2ZSBkZSBsYWF0c3RlIEFBTlRBTAogIC1uLCAtLWxpbmVzPVstXUFBTlRBTCAgICBkZSBlZXJzdGUgQUFOVEFMIHJlZ2VscyB0b25lbiAoaS5wLnYuIGRlIGVlcnN0ZSAlZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0IGVlbiBtaW50ZWtlbiwgYWxsZW4gYmVoYWx2ZSBkZSBsYWF0c3RlIEFBTlRBTAoAICAtYywgLS1jaGFuZ2VzICAgICAgICAgICAgZWVuIG1lbGRpbmcgZ2V2ZW4gdm9vciBlbGsgdmVyYW5kZXJkIGJlc3RhbmQKICAtZiwgLS1zaWxlbnQsIC0tcXVpZXQgICAgZGUgbWVlc3RlIGZvdXRtZWxkaW5nZW4gb25kZXJkcnVra2VuCiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGVlbiBtZWxkaW5nIGdldmVuIHZvb3IgZWxrIGdlemllbiBiZXN0YW5kCgAgIC1jLCAtLWNoZWNrICAgICAlcy1jb250cm9sZXNvbW1lbiB1aXQgQkVTVEFORChlbikgbGV6ZW4gZW4gY29udHJvbGVyZW4KACAgLWMsIC0tY2hlY2ssIC0tY2hlY2s9ZGlhZ25vc2UtZmlyc3QgIGNvbnRyb2xlcmVuIG9mIGludm9lciBnZXNvcnRlZXJkIGlzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pZXQgc29ydGVyZW4KICAtQywgLS1jaGVjaz1xdWlldCwgLS1jaGVjaz1zaWxlbnQgIGFscyAnLWMnLCBtYWFyIGdlZW4gbWVsZGluZyBnZXZlbiBiaWoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGUgZWVyc3RlIHZlcmtlZXJkZSByZWdlbAogICAgICAtLWNvbXByZXNzLXByb2dyYW09UFJPRyAgdGlqZGVsaWprZSBiZXN0YW5kZW4gbWV0IFBST0cgY29tcHJpbWVyZW47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29tcHJpbWVyZW4gbWV0ICdQUk9HIC1kJwoAICAtYywgLS1jb3VudCAgICAgICAgICAgIGhldCBhYW50YWwgZ2VsaWprZSByZWdlbHMgdm9vcmFhbiBkZSByZWdlbCB6ZXR0ZW4KICAtZCwgLS1yZXBlYXRlZCAgICAgICAgIGFsbGVlbiBkZSByZWdlbHMgdG9uZW4gZGllIG1lZXJkZXJlIGtlcmVuIHZvb3Jrb21lbgoAICAtYywgLS1jcm93bi1tYXJnaW4gICAgICAgIGluc3ByaW5naW5nIHZhbiBlZXJzdGUgdHdlZSByZWdlbHMgYmVob3VkZW4KICAtcCwgLS1wcmVmaXg9VEVLU1QgICAgICAgIGFsbGVlbiByZWdlbHMgZGllIGJlZ2lubmVuIG1ldCBkZXplIFRFS1NUIG9wbmlldXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZWxlbiwgZGFhcmJpaiBURUtTVCBvcG5pZXV3IHZvb3J2b2VnZW4KICAtcywgLS1zcGxpdC1vbmx5ICAgICAgICAgIGxhbmdlIHJlZ2VscyBzcGxpdHNlbiBtYWFyIG5pZXQgb3BuaWV1dyB1aXR2dWxsZW4KACAgLWMsIC0tbm8tY3JlYXRlICAgICAgICBnZWVuIGJlc3RhbmRlbiBhYW5tYWtlbgoAICAtZCwgLS1kYXRhICAgICAgICAgICBhbGxlZW4gZGUgYmVzdGFuZHNnZWdldmVucyBzeW5jZW4sIGdlZW4gb25ub2RpZ2UgbWV0YWRhdGEKACAgLWQsIC0tZGF0ZT1EQVRVTVRJSkQgICAgICAgICBkZXplIERBVFVNVElKRCB0b25lbiBpLnAudi4gZGUgaHVpZGlnZSB0aWpkCgAgIC1kLCAtLWRlY29kZSAgICAgICAgICBkZSBnZWdldmVucyBkZWNvZGVyZW4KICAtaSwgLS1pZ25vcmUtZ2FyYmFnZSAgKGJpaiBkZWNvZGVyZW4pIG5pZXQtYWxmYWJldGlzY2hlIHRla2VucyBuZWdlcmVuCiAgLXcsIC0td3JhcD1BQU5UQUwgICAgIG5hYXIgZGUgdm9sZ2VuZGUgcmVnZWwgZ2FhbiBuYSBkaXQgYWFudGFsIGdlY29kZWVyZGUKICAgICAgICAgICAgICAgICAgICAgICAgdGVrZW5zIChzdGFuZGFhcmQgNzYpOyBnZWJydWlrIDAgdm9vciDDqcOpbiBsYW5nZSByZWdlbAoKACAgLWQsIC0tZGVsaW1pdGVyPVggICAgdGUgZ2VicnVpa2VuIHNjaGVpZGluZ3N0ZWtlbiAoaW4gcGxhYXRzIHZhbiB3aXRydWltdGUpCgAgIC1kLCAtLWRlbGltaXRlcnM9TElKU1QgIHRlIGdlYnJ1aWtlbiBzY2hlaWRpbmdzdGVrZW5zIGluIHBsYWF0cyB2YW4gdGFicwogIC1zLCAtLXNlcmlhbCAgICAgICAgICAgIGRlIGJlc3RhbmRlbiBhbHMgcmlqZW4gc2FtZW52b2VnZW4KACAgLWQsIC0tZGlyZWN0b3J5ICAgICBlZW4gbWFwIGFhbm1ha2VuLCBnZWVuIGJlc3RhbmQKICAtdSwgLS1kcnktcnVuICAgICAgIG5pZXRzIGFhbm1ha2VuOyBlbmtlbCBlZW4gbmFhbSB0b25lbiAob252ZWlsaWcpCiAgLXEsIC0tcXVpZXQgICAgICAgICBmb3V0bWVsZGluZ2VuIG92ZXIgbWlzbHVrdGUgYWFubWFraW5nZW4gb25kZXJkcnVra2VuCgAgIC1lICAgIGludGVycHJldGF0aWUgdmFuIGJhY2tzbGFzaCBlc2NhcGUtdGVrZW5zIGluc2NoYWtlbGVuCiAgLUUgICAgaW50ZXJwcmV0YXRpZSB2YW4gYmFja3NsYXNoIGVzY2FwZS10ZWtlbnMgdWl0c2NoYWtlbGVuIChzdGFuZGFhcmQpCgAgIC1lICAgIGludGVycHJldGF0aWUgdmFuIG9uZGVyc3RhYW5kZSBjb2RlcyBpbnNjaGFrZWxlbiAoc3RhbmRhYXJkKQogIC1FICAgIGludGVycHJldGF0aWUgdmFuIG9uZGVyc3RhYW5kZSBjb2RlcyB1aXRzY2hha2VsZW4KACAgLWUsIC0tZWNobyAgICAgICAgICAgICAgICAgZ2VnZXZlbiBBUkdVTUVOVGVuIGFscyBpbnZvZXJyZWdlbHMgZ2VicnVpa2VuCiAgLWksIC0taW5wdXQtcmFuZ2U9TEctSEcgICAgZ2V0YWxsZW5yZWVrcyB2YW4gTEcgdG90IEhHIGFscyBpbnZvZXJyZWdlbHMgemllbgogIC1uLCAtLWhlYWQtY291bnQ9QUFOVEFMICAgIG1heGltdW0gYWFudGFsIHVpdCB0ZSB2b2VyZW4gcmVnZWxzCiAgLW8sIC0tb3V0cHV0PUJFU1RBTkQgICAgICAgdWl0dm9lciBuYWFyIEJFU1RBTkQgaS5wLnYuIG5hYXIgc3RhbmRhYXJkdWl0dm9lcgogICAgICAtLXJhbmRvbS1zb3VyY2U9QlNUTkQgIGJlc3RhbmQgQlNUTkQgaXMgYnJvbiB2YW4gd2lsbGVrZXVyaWdlIGJ5dGVzCiAgLXIsIC0tcmVwZWF0ICAgICAgICAgICAgICAgdWl0dm9lcnJlZ2VscyBtb2dlbiBoZXJoYWFsZCB3b3JkZW4KACAgLWYgICAgICAgICAgICAgICAgICAgICAgICAgaGV0emVsZmRlIGFscyAnLWEgLVUnIHpvbmRlciAnLWwgLXMgLS1jb2xvcicKICAtRiwgLS1jbGFzc2lmeSAgICAgICAgICAgICBhY2h0ZXIgZWxrIGl0ZW0gaGV0IHR5cGUgYWFuZHVpZGVuICjDqcOpbiB2YW4gKi89PkB8KQogICAgICAtLWZpbGUtdHlwZSAgICAgICAgICAgIGlkZW0sIG1hYXIgJyonIG5pZXQgdG9uZW4KICAgICAgLS1mb3JtYXQ9V09PUkQgICAgICAgICB0ZSBnZWJydWlrZW4gb3BtYWFrOyBXT09SRCBrYW4gemlqbiAnY29tbWFzJyAoLW0pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fjcm9zcycgb2YgJ2hvcml6b250YWwnICgteCksICd2ZXJ0aWNhbCcgKC1DKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb25nJyBvZiAndmVyYm9zZScgKC1sKSwgJ3NpbmdsZS1jb2x1bW4nICgtMSkKICAgICAgLS1mdWxsLXRpbWUgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctbCAtLXRpbWUtc3R5bGU9ZnVsbC1pc28nCgAgIC1mICAgIGRlIGtvcHJlZ2VsIHdlZ2xhdGVuIGluIGRlIGtvcnRlIHVpdHZvZXIKICAtdyAgICBkZSB2b2xsZWRpZ2UgbmFhbSB2YW4gZGUgZ2VicnVpa2VyIHdlZ2xhdGVuIGluIGRlIGtvcnRlIHVpdHZvZXIKICAtaSAgICBkZSB2b2xsZWRpZ2UgbmFhbSBlbiBkZSBleHRlcm5lIGhvc3Qgd2VnbGF0ZW4gaW4gZGUga29ydGUgdWl0dm9lcgogIC1xICAgIHZvbGxlZGlnZSBuYWFtLCBleHRlcm5lIGhvc3QgZW4gaW5hY3RpZWYgd2VnbGF0ZW4gaW4gZGUga29ydGUgdWl0dm9lcgoAICAtZiAgIGFscyAnLXQgZkYnLCBkcmlqdmVuZGVrb21tYWdldGFsbGVuIHRvbmVuCiAgLWkgICBhbHMgJy10IGRJJywgZGVjaW1hbGUga29ydGUgZ2VoZWxlIGdldGFsbGVuIHRvbmVuCiAgLWwgICBhbHMgJy10IGRMJywgZGVjaW1hbGUgbGFuZ2UgZ2VoZWxlIGdldGFsbGVuIHRvbmVuCiAgLW8gICBhbHMgJy10IG8yJywgb2N0YWxlIGdldGFsbGVuIHZhbiAyIGJ5dGVzIHRvbmVuCiAgLXMgICBhbHMgJy10IGQyJywgZGVjaW1hbGUgZ2V0YWxsZW4gdmFuIDIgYnl0ZXMgdG9uZW4KICAteCAgIGFscyAnLXQgeDInLCBoZXhhZGVjaW1hbGUgZ2V0YWxsZW4gdmFuIDIgYnl0ZXMgdG9uZW4KACAgLWYgQkVTVEFORCAgICB3YWFyIGFscyBiZXN0YW5kIGVlbiBnZXdvb24gYmVzdGFuZCBpcwogIC1nIEJFU1RBTkQgICAgd2FhciBhbHMgaGV0IGJlc3RhbmQgU0VUR1VJRCBpcwogIC1HIEJFU1RBTkQgICAgd2FhciBhbHMgdXcgZWZmZWN0aWV2ZSBncm9lcCBoZXQgYmVzdGFuZCBiZXppdAogIC1oIEJFU1RBTkQgICAgd2FhciBhbHMgYmVzdGFuZCBlZW4gc3ltYm9saXNjaGUga29wcGVsaW5nIGlzICg9PSAnLUwnKQogIC1rIEJFU1RBTkQgICAgd2FhciBhbHMgYmVzdGFuZCBoZXQgInN0aWNreSItYml0IGFhbiBoZWVmdCBzdGFhbgoAICAtZiwgLS1jYW5vbmljYWxpemUgICAgICAgICAgICBjYW5vbmllayBtYWtlbiBkb29yIGVsa2Uga29wcGVsaW5nIGluIGVsa2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQgdmFuIGhldCBwYWQgcmVjdXJzaWVmIHRlIHZvbGdlbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxlIGJlaGFsdmUgbGFhdHN0ZSBjb21wb25lbnQgbW9ldGVuIGJlc3RhYW4KICAtZSwgLS1jYW5vbmljYWxpemUtZXhpc3RpbmcgICBjYW5vbmllayBtYWtlbiBkb29yIGVsa2Uga29wcGVsaW5nIGluIGVsa2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQgdmFuIGhldCBwYWQgcmVjdXJzaWVmIHRlIHZvbGdlbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxlIGNvbXBvbmVudGVuIG1vZXRlbiBiZXN0YWFuCgAgIC1mLCAtLWZpZWxkcz1MSUpTVCAgICAgIGFsbGVlbiBkZXplIHZlbGRlbiB0b25lbjsgb29rIGFsbGUgcmVnZWxzIHRvbmVuIGRpZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VlbiBzY2hlaWRpbmdzdGVrZW4gYmV2YXR0ZW4sIHRlbnppaiAnLXMnIGdlZ2V2ZW4KICAtbiAgICAgICAgICAgICAgICAgICAgICAoZ2VuZWdlZXJkZSBvcHRpZSkKACAgLWYsIC0tZmlsZS1zeXN0ZW0gICAgZGUgYmVzdGFuZHNzeXN0ZW1lbiBzeW5jZW4gd2Fhcm9wIGdlZ2V2ZW4gYmVzdGFuZGVuIHN0YWFuCgAgIC1mLCAtLWZpbGU9REFUVU1USUpEQkVTVEFORCAgYWxzICctLWRhdGUnLCB2b29yIGVsa2UgcmVnZWwgaW4gREFUVU1USUpEQkVTVEFORAoAICAtZiwgLS1mb2xsb3dbPXtuYW1lfGRlc2NyaXB0b3J9XQogICAgICAgICAgICAgICAgICAgICAgICAgICB0b2VnZXZvZWdkZSBnZWdldmVucyB0b25lbiB0ZXJ3aWpsIGJlc3RhbmQgZ3JvZWl0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWZvbGxvdycgaXMgaGV0emVsZmRlIGFscyAnLS1mb2xsb3c9ZGVzY3JpcHRvcicKICAtRiAgICAgICAgICAgICAgICAgICAgICAgaGV0emVsZmRlIGFscyAnLS1mb2xsb3c9bmFtZSAtLXJldHJ5JwoAICAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFscyBiZXN0YWFuZCBiZXN0ZW1taW5nc2Jlc3RhbmQgbmlldCBnZW9wZW5kIGthbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkZW4sIGhldCB2ZXJ3aWpkZXJlbiBlbiBoZXQgb3BuaWV1dyBwcm9iZXJlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod29yZHQgZ2VuZWdlZXJkIGFscyBvb2sgb3B0aWUgJy1uJyBnZWdldmVuIGlzKQogIC1pLCAtLWludGVyYWN0aXZlICAgICAgICAgdm9vciBvdmVyc2NocmlqdmVuIG9tIHRvZXN0ZW1taW5nIHZyYWdlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2FhdCBib3ZlbiBlZW4gZWVyZGVyZSBvcHRpZSAnLW4nKQogIC1IICAgICAgICAgICAgICAgICAgICAgICAgZ2VnZXZlbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiBpbiBCUk9OIHZvbGdlbgoAICAtZiwgLS1mb3JjZSAgICB6byBub2RpZyB0b2VnYW5nc3JlY2h0ZW4gd2lqemlnZW4gb20gc2NocmlqdmVuIHRvZSB0ZSBzdGFhbgogIC1uLCAtLWl0ZXJhdGlvbnM9TiAgZGl0IGFhbnRhbCBtYWxlbiBvdmVyc2NoaWp2ZW4gKGkucC52LiBkZSBzdGFuZGFhcmQgJWQpCiAgICAgIC0tcmFuZG9tLXNvdXJjZT1CU1RORCAgYmVzdGFuZCBCU1RORCBpcyBicm9uIHZhbiB3aWxsZWtldXJpZ2UgYnl0ZXMKICAtcywgLS1zaXplPU4gICBkaXQgYWFudGFsIGJ5dGVzIHZlcm5pZXRpZ2VuIChhY2h0ZXJ2b2Vnc2VscyBhbHMgSywgTSwgRyBtb2dlbikKACAgLWYsIC0tZm9ybWF0PU9QTUFBSyAgICAgdGUgZ2VicnVpa2VuIGRyaWp2ZW5kZWtvbW1hLW9wbWFhayAoYWxzIGJpaiAncHJpbnRmJykKICAtcywgLS1zZXBhcmF0b3I9VEVLU1QgICB0ZSBnZWJydWlrZW4gZ2V0YWxsZW5zY2hlaWRpbmcgKHN0YW5kYWFyZDogXG4pCiAgLXcsIC0tZXF1YWwtd2lkdGggICAgICAgYnJlZWR0ZSBnZWxpamttYWtlbiBkb29yIHRvZXZvZWdlbiB2YW4gdm9vcmxvb3BudWxsZW4KACAgLWYsIC0tc2tpcC1maWVsZHM9TiAgICBkZSBlZXJzdGUgTiB2ZWxkZW4gbmlldCB2ZXJnZWxpamtlbgoAICAtZyAgICAgICAgICAgICAgICAgICAgICAgICBhbHMgJy1sJywgbWFhciBnZWVuIGVpZ2VuYWFyIHRvbmVuCgAgIC1nLCAtLWdlbmVyYWwtbnVtZXJpYy1zb3J0ICB2b2xnZW5zIGFsZ2VtZW5lIG51bWVyaWVrZSB3YWFyZGVuIHZlcmdlbGlqa2VuCiAgLWksIC0taWdub3JlLW5vbnByaW50aW5nICAgIGFsbGVlbiBhZmRydWtiYXJlIHRla2VucyBiZXNjaG91d2VuCiAgLU0sIC0tbW9udGgtc29ydCAgICAgICAgICAgIG9yZGVuZW46IChvbmJla2VuZCkgPCAnSkFOJyA8IC4uLiA8ICdERUMnCgAgIC1oLCAtLWhlYWRlci1udW1iZXJpbmc9U1RJSkwgICBzdGlqbCB2b29yIGRlIG51bW1lcmluZyB2YW4ga29wcmVnZWxzCiAgLWksIC0tcGFnZS1pbmNyZW1lbnQ9R0VUQUwgICAgIHJlZ2VsbnVtbWVyIG5hIGVsa2UgcmVnZWwgbWV0IGRpdCBnZXRhbCBvcGhvZ2VuCiAgLWwsIC0tam9pbi1ibGFuay1saW5lcz1BQU5UQUwgIGRpdCBhYW50YWwgbGVnZSByZWdlbHMgYWxzIMOpw6luIHJlZ2VsIHRlbGxlbgogIC1uLCAtLW51bWJlci1mb3JtYXQ9T1BNQUFLICAgICB0ZSBnZWJydWlrZW4gT1BNQUFLIHZvb3IgcmVnZWxudW1tZXJzCiAgLXAsIC0tbm8tcmVudW1iZXIgICAgICAgICAgICAgIHJlZ2VsbnVtbWVyIG5pZXQgcmVzZXR0ZW4gdm9vciBlbGtlIHNlY3RpZQogIC1zLCAtLW51bWJlci1zZXBhcmF0b3I9VEVLU1QgICB0b2UgdGUgdm9lZ2VuIHRla3N0IG5hIChtb2dlbGlqaykgcmVnZWxudW1tZXIKACAgLWgsIC0taGVhZGVyPUtPUFRFS1NUCiAgICAgICAgICAgICAgICAgICAgZ2VjZW50cmVlcmRlIHRla3N0IGlwdiBiZXN0YW5kc25hYW0gZ2VicnVpa2VuIGluIHBhZ2luYWtvcDsKICAgICAgICAgICAgICAgICAgICAnLWggIiInIHpvdSBlZW4gYmxhbmNvIHJlZ2VsIHByaW50ZW47IGdlYnJ1aWsgbmlldCAnLWgiIicKICAtaVtURUtFTltCUkVFRFRFXV0sIC0tb3V0cHV0LXRhYnNbPVRFS0VOW0JSRUVEVEVdXQogICAgICAgICAgICAgICAgICAgIEJSRUVEVEUgKHN0YW5kYWFyZCA4KSBhYW4gc3BhdGllcyB2ZXJ2YW5nZW4gZG9vciBURUtFTgogICAgICAgICAgICAgICAgICAgIChzdGFuZGFhcmQgZWVuIHRhYikKICAtSiwgLS1qb2luLWxpbmVzICB2b2xsZSByZWdlbHMgYWFuIGVsa2FhciBwbGFra2VuOyBzY2hha2VsdCByZWdlbGFmYnJla2luZwogICAgICAgICAgICAgICAgICAgIHZhbiAnLVcnIHVpdDsga29sb21tZW4gd29yZGVuIG5pZXQgdWl0Z2VsaWpuZDsKICAgICAgICAgICAgICAgICAgICAnLS1zZXAtc3RyaW5nWz1URUtTVF0nIHN0ZWx0IHNjaGVpZGluZ3N0ZWtlbnMgaW4KACAgLWgsIC0taHVtYW4tbnVtZXJpYy1zb3J0ICAgIGxlZXNiYXJlIGdldGFsbGVuIHZlcmdlbGlqa2VuIChiaWp2LjogMksgMUcpCgAgIC1oICAtLW5vLWRlcmVmZXJlbmNlICAgc3ltYm9saXNjaGUga29wcGVsaW5nZW4gYmV3ZXJrZW4gaW4gcGxhYXRzIHZhbiBkZQogICAgICAgICAgICAgICAgICAgICAgICAgICBiZXN0YW5kZW4gd2Fhcm5hYXIgemUgdmVyd2lqemVuIChhbGxlZW4gbnV0dGlnCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wIHN5c3RlbWVuIHdhYXIgaGV0IHRpamRzc3RlbXBlbCB2YW4gZWVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbGlzY2hlIGtvcHBlbGluZyB2ZXJhbmRlcmQga2FuIHdvcmRlbikKICAtbSAgICAgICAgICAgICAgICAgIGFsbGVlbiBkZSB3aWp6aWdpbmdzdGlqZCB2ZXJhbmRlcmVuCgAgIC1pLCAtLWlnbm9yZS1jYXNlICAgICAgdmVyc2NoaWwgdHVzc2VuIGhvb2ZkLSBlbiBrbGVpbmUgbGV0dGVycyBuZWdlcmVuCiAgLXMsIC0tc2tpcC1jaGFycz1OICAgICBkZSBlZXJzdGUgTiB0ZWtlbnMgbmlldCB2ZXJnZWxpamtlbgogIC11LCAtLXVuaXF1ZSAgICAgICAgICAgYWxsZWVuIHVuaWVrZSByZWdlbHMgdG9uZW4KACAgLWksIC0taWdub3JlLWNhc2UgIHZlcnNjaGlsIGluIGhvb2ZkLSBlbiBrbGVpbmXCoGxldHRlcnMgbmVnZXJlbgogIC1qIFZFTEQgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctMSBWRUxEIC0yIFZFTEQnCiAgLW8gT1BNQUFLICAgICAgICAgIHRlIGdlYnJ1aWtlbiBvcG1hYWsgKHppZSBvbmRlcikgdmFuIGVsa2UgdWl0dm9lcnJlZ2VsCiAgLXQgVEVLRU4gICAgICAgICAgIHRlIGdlYnJ1aWtlbiB2ZWxkc2NoZWlkaW5nc3Rla2VuIHZvb3IgaW52b2VyIGVuIHVpdHZvZXIKACAgLWksIC0taWdub3JlLWVudmlyb25tZW50ICAgYWxsZSBvbmdlbm9lbWRlIG9tZ2V2aW5nc3ZhcmlhYmVsZW4gdmVyd2lqZGVyZW4KICAtMCwgLS1udWxsICAgICAgICAgICBlbGtlIHJlZ2VsIGFmc2x1aXRlbiBtZXQgZWVuIDAtYnl0ZSwgbmlldCBtZXQgbmlldXdlcmVnZWwKICAtdSwgLS11bnNldD1OQUFNICAgICBkZSBnZW5vZW1kZSB2YXJpYWJlbGUgdWl0IGRlIG9tZ2V2aW5nIHZlcndpamRlcmVuCgAgIC1pLCAtLWlub2RlcyAgICAgICAgICAgICAgaW5vZGUtaW5mb3JtYXRpZSB0b25lbiBpbiBwbGFhdHMgdmFuIGJsb2tnZWJydWlrCiAgLWsgICAgICAgICAgICAgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctLWJsb2NrLXNpemU9MUsnCiAgLWwsIC0tbG9jYWwgICAgICAgICAgICAgICBkZSBvcHNvbW1pbmcgYmVwZXJrZW4gdG90IGxva2FsZSBiZXN0YW5kc3N5c3RlbWVuCiAgICAgIC0tbm8tc3luYyAgICAgICAgICAgICBnZWVuICdzeW5jJyBkb2VuIHbDs8OzciBvcGhhbGVuIHZhbiBpbmZvIChzdGFuZGFhcmQpCgAgIC1pLCAtLWlucHV0PU1PRFVTICAgZGUgc3RhbmRhYXJkaW52b2VyLXN0cmVhbWJ1ZmZlcmluZyBhYW5wYXNzZW4KICAtbywgLS1vdXRwdXQ9TU9EVVMgIGRlIHN0YW5kYWFyZHVpdHZvZXItc3RyZWFtYnVmZmVyaW5nIGFhbnBhc3NlbgogIC1lLCAtLWVycm9yPU1PRFVTICAgZGUgc3RhbmRhYXJkZm91dHVpdHZvZXItc3RyZWFtYnVmZmVyaW5nIGFhbnBhc3NlbgoAICAtaSwgLS1pbnRlcmFjdGl2ZSAgICAgICAgICAgdnJhZ2VuIG9mIHJlZWRzIGJlc3RhYW5kZSBuYW1lbiB2ZXJ3aWpkZXJkIG1vZ2VuCiAgLUwsIC0tbG9naWNhbCAgICAgICAgICAgICAgIG5hYXIgZGllbnMgZG9lbCBrb3BwZWxlbiBhbHMgRE9FTCBzeW1ib2xpc2NoIGlzCiAgLW4sIC0tbm8tZGVyZWZlcmVuY2UgICAgICAgIEtPUFBFTElOR1NOQUFNIGFscyBub3JtYWFsIGJlc3RhbmQgYmVoYW5kZWxlbiBhbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZXQgZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyBuYWFyIGVlbiBtYXAgaXMKICAtUCwgLS1waHlzaWNhbCAgICAgICAgICAgICAgaGFyZGUga29wcGVsaW5nZW4gZGlyZWN0IG5hYXIgc3ltYm9saXNjaGUgbWFrZW4KICAtciwgLS1yZWxhdGl2ZSAgICAgICAgICAgICAgc3ltYm9saXNjaGUga29wcGVsaW5nZW4gcmVsYXRpZWYgbWFrZW4gdC5vLnYuIHBsZWsKICAtcywgLS1zeW1ib2xpYyAgICAgICAgICAgICAgc3ltYm9saXNjaGUgaW4gcGxhYXRzIHZhbiBoYXJkZSBrb3BwZWxpbmdlbiBtYWtlbgoAICAtayAgICAgICAgICAgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctLWJsb2NrLXNpemU9MUsnCiAgLUwsIC0tZGVyZWZlcmVuY2UgICAgICAgYWxsZSBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiB2b2xnZW4KICAtbCwgLS1jb3VudC1saW5rcyAgICAgICBkZSBncm9vdHRlIHRlbGxlbiB2b29yIGVsa2UgaGFyZGUga29wcGVsaW5nCiAgLW0gICAgICAgICAgICAgICAgICAgICAgaGV0emVsZmRlIGFscyAnLS1ibG9jay1zaXplPTFNJwoAICAtaywgLS1rZXk9U0xFVVRFTE9QR0FWRSAgICBzb3J0ZXJlbiB2aWEgZWVuIHNsZXV0ZWw7IGRlIFNMRVVURUxPUEdBVkUgZ2VlZnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aWUgZW4gdHlwZSAoemllIGhpZXJvbmRlcikKICAtbSwgLS1tZXJnZSAgICAgICAgICAgICAgICBnZXNvcnRlZXJkZSBiZXN0YW5kZW4gc2FtZW52b2VnZW47IG5pZXQgc29ydGVyZW4KACAgLWwgICAgICAgICAgICAgICAgICAgICAgICAgdWl0Z2VicmVpZGUgYmVzdGFuZHNpbmZvcm1hdGllIHRvbmVuCiAgLUwsIC0tZGVyZWZlcmVuY2UgICAgICAgICAgYmlqIGhldCB0b25lbiB2YW4gYmVzdGFuZHNpbmZvcm1hdGllIHZvb3IgZWVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xpc2NoZSBrb3BwZWxpbmcsIGRlIGluZm9ybWF0aWUgb3ZlciBoZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlc3RhbmQgd2FhciBkZSBrb3BwZWxpbmcgbmFhciB2ZXJ3aWpzdCB0b25lbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gcGxhYXRzIHZhbiBvdmVyIGRlIGtvcHBlbGluZyB6ZWxmCiAgLW0gICAgICAgICAgICAgICAgICAgICAgICAgZ2VlbiBrb2xvbW1lbiBtYWFyIGtvbW1hZ2VzY2hlaWRlbiBsaWpzdCB0b25lbgoAICAtbCwgLS1sZW5ndGggICAgbGVuZ3RlIHZhbiBkZSBzb20gaW4gYml0czsgbWFnIG5pZXQgZ3JvdGVyIHppam4gZGFuIGhldAogICAgICAgICAgICAgICAgICAgIG1heGltdW0gdm9vciBibGFrZTIsIGVuIG1vZXQgZWVuIHZlZWx2b3VkIHZhbiA4IHppam4KACAgLWwsIC0tbGVuZ3RoPVBBR0lOQUxFTkdURQogICAgICAgICAgICAgICAgICAgIHRlIGdlYnJ1aWtlbiBwYWdpbmFsZW5ndGUgKHN0YW5kYWFyZCA2NiByZWdlbHMsCiAgICAgICAgICAgICAgICAgICAgd2FhcnZhbiA1NiByZWdlbHMgdGVrc3QsIG9mIG1ldCAnLUYnIDYzKQoAICAtbCwgLS1saW5rICAgICAgICAgICAgICAgIGhhcmRlIGtvcHBlbGluZ2VuIG1ha2VuIGluIHBsYWF0cyB2YW4ga29waWXDq24KICAtTCwgLS1kZXJlZmVyZW5jZSAgICAgICAgIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIGluIEJST04gYWx0aWpkIHZvbGdlbgoAICAtbCwgLS1sb2dpbiAgICAgICBkZSBpbmxvZ3Byb2Nlc3NlbiB0b25lbgoAICAtbSwgLS1tZXJnZSAgICAgICBkZSBiZXN0YW5kZW4gbmFhc3QgZWxrYWFyIHByaW50ZW4sIGVsayBpbiBlZW4ga29sb207CiAgICAgICAgICAgICAgICAgICAgbGFuZ2UgcmVnZWxzIGFma2FwcGVuLCB0ZW56aWogJy1KJyBnZWdldmVuIGlzCgAgIC1tLCAtLW1vZGU9TU9EVVMgICBpbiB0ZSBzdGVsbGVuIHJlY2h0ZW4gKHppZSAnY2htb2QnKSwgaS5wLnYuICdhPXJ3IC0gdW1hc2snCgAgIC1tLCAtLW1vZGU9TU9EVVMgICBpbiB0ZSBzdGVsbGVuIHJlY2h0ZW4gKHppZSAnY2htb2QnKSwgaS5wLnYuICdhPXJ3eCAtIHVtYXNrJwogIC1wLCAtLXBhcmVudHMgICAgICBib3ZlbmxpZ2dlbmRlIG1hcHBlbiBhYW5tYWtlbiwgaW5kaWVuIG5vZGlnOwogICAgICAgICAgICAgICAgICAgICAgIGVuIGdlZW4gZm91dCBtZWxkZW4gYWxzIGVlbiBtYXAgYWwgYmVzdGFhdAogIC12LCAtLXZlcmJvc2UgICAgICBlZW4gbWVsZGluZyBnZXZlbiB2b29yIGVsa2UgYWFuZ2VtYWFrdGUgbWFwCgAgIC1uLCAtLWFkanVzdG1lbnQ9R0VUQUwgIGRpdCBnZXRhbCAoc3RhbmRhYXJkIDEwKSBvcHRlbGxlbiBiaWogZGUgYmVsZWVmZGhlaWQKACAgLW4sIC0tZGlnaXRzPUFBTlRBTCAgICAgICAgIHRlIGdlYnJ1aWtlbiBhYW50YWwgY2lqZmVycyBpbiBwbGFhdHMgdmFuIDIKICAtcywgLS1xdWlldCwgLS1zaWxlbnQgICAgICAgZGUgbGVuZ3RlIHZhbiBkZSB1aXR2b2VyYmVzdGFuZGVuIG5pZXQgdG9uZW4KICAteiwgLS1lbGlkZS1lbXB0eS1maWxlcyAgICAgbGVnZSB1aXR2b2VyYmVzdGFuZGVuIHZlcndpamRlcmVuCgAgIC1uLCAtLWxpbmVzPVsrXUdFVEFMICAgICBkZSBsYWF0c3RlIEdFVEFMIChpLnAudi4gJWQpIHJlZ2VscyB1aXR2b2VyZW47IGJpagogICAgICAgICAgICAgICAgICAgICAgICAgICAgICtHRVRBTCB1aXR2b2VyZW4gdmFuYWYgcmVnZWwgR0VUQUwgdmFuIGVsayBiZXN0YW5kCiAgICAgIC0tbWF4LXVuY2hhbmdlZC1zdGF0cz1OCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldCAnLS1mb2xsb3c9bmFtZScsIGVlbiBCRVNUQU5EIGhlcm9wZW5lbiBhbHMgZGllbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm9vdHRlIG5hIE4gaXRlcmF0aWVzIChzdGFuZGFhcmQgJWQpIG9udmVyYW5kZXJkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMsIG9tIHRlIHppZW4gb2YgaGV0IGlzIG9udGtvcHBlbGQgb2YgaGVybm9lbWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2VicnVpa2VsaWprIGJpaiByb3RlcmVuZGUgbG9nYmVzdGFuZGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXQgJ2lub3RpZnknIGlzIGRlemUgb3B0aWUgemVsZGVuIG51dHRpZwoAICAtbiwgLS1uby1jbG9iYmVyICAgICAgICAgIGJlc3RhYW5kZSBiZXN0YW5kZW4gbmlldCBvdmVyc2NocmlqdmVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnYWF0IGJvdmVuIGVlbiBlZXJkZXJlIG9wdGllICctaScpCiAgLVAsIC0tbm8tZGVyZWZlcmVuY2UgICAgICBnZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIGluIEJST04gdm9sZ2VuCgAgIC1uLCAtLW51bWVyaWMtc29ydCAgICAgICAgICBvcmRlbmVuIHZvbGdlbnMgbnVtZXJpZWtlIHdhYXJkZW4KICAtUiwgLS1yYW5kb20tc29ydCAgICAgICAgICAgaHVzc2VsZW4sIG1hYXIgaWRlbnRpZWtlIHNsZXV0ZWxzIGdyb2VwZXJlbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aWUgc2h1ZigxKQogICAgICAtLXJhbmRvbS1zb3VyY2U9QlNUTkQgICB3aWxsZWtldXJpZ2UgYnl0ZXMgdWl0IGRpdCBiZXN0YW5kIGhhbGVuCiAgLXIsIC0tcmV2ZXJzZSAgICAgICAgICAgICAgIGhldCByZXN1bHRhYXQgdmFuIGRlIHZlcmdlbGlqa2luZyBvbWtlcmVuCgAgIC1uLCAtLW51bWVyaWMtdWlkLWdpZCAgICAgIGFscyAnLWwnLCBtZXQgbnVtZXJpZWtlIGdlYnJ1aWtlcnMtIGVuIGdyb2Vwcy1JRCdzCiAgLU4sIC0tbGl0ZXJhbCAgICAgICAgICAgICAgZGUgaXRlbW5hbWVuIHRvbmVuIHpvbmRlciBhYW5oYWxpbmdlbiBvZiBlc2NhcGVzCiAgLW8gICAgICAgICAgICAgICAgICAgICAgICAgYWxzICctbCcsIG1hYXIgZ3JvZXBzaW5mb3JtYXRpZSBuaWV0IHRvbmVuCiAgLXAsIC0taW5kaWNhdG9yLXN0eWxlPXNsYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVuICcvJy1pbmRpY2F0b3IgYWNodGVyIG1hcG5hbWVuIHRvZXZvZWdlbgoAICAtbltURUtFTltBQU5UQUxdXSwgLS1udW1iZXItbGluZXNbPVRFS0VOW0FBTlRBTF1dCiAgICAgICAgICAgICAgICAgICAgcmVnZWxzIG51bW1lcmVuIChtZXQgZ2VnZXZlbiBBQU5UQUwgY2lqZmVycyAoc3RhbmRhYXJkIDUpCiAgICAgICAgICAgICAgICAgICAgZW4gZGFhcm5hIFRFS0VOIChzdGFuZGFhcmQgZWVuIHRhYikpOyBoZXQgdGVsbGVuIGJlZ2ludAogICAgICAgICAgICAgICAgICAgIHN0YW5kYWFyZCBiaWogZGUgZWVyc3RlIHJlZ2VsIHZhbiBoZXQgaW52b2VyYmVzdGFuZAogIC1OLCAtLWZpcnN0LWxpbmUtbnVtYmVyPUdFVEFMCiAgICAgICAgICAgICAgICAgICAgdGUgZ2VicnVpa2VuIHJlZ2VsbnVtbWVyIHZvb3IgZGUgZWVyc3RlIHRlIHByaW50ZW4gcmVnZWwKICAgICAgICAgICAgICAgICAgICBvcCBkZSBlZXJzdGUgdGUgcHJpbnRlbiBwYWdpbmEgKHppZSArRUVSU1RFUEFHSU5BKQoAICAtbywgLS1pbmRlbnQ9TUFSR0UKICAgICAgICAgICAgICAgICAgICBlbGtlIHJlZ2VsIGRpdCBhYW50YWwgc3BhdGllcyAoc3RhbmRhYXJkIG51bCkgbmFhciByZWNodHMKICAgICAgICAgICAgICAgICAgICB2ZXJzY2h1aXZlbjsgaGVlZnQgZ2VlbiBpbnZsb2VkIG9wICctdycgZW4gJy1XJzsgZGUgTUFSR0UKICAgICAgICAgICAgICAgICAgICB3b3JkdCBvcGdldGVsZCBiaWogUEFHSU5BQlJFRURURQogIC1yLCAtLW5vLWZpbGUtd2FybmluZ3MKICAgICAgICAgICAgICAgICAgICBnZWVuIHdhYXJzY2h1d2luZyBnZXZlbiBhbHMgYmVzdGFuZCBuaWV0IGdlb3BlbmQga2FuIHdvcmRlbgoAICAtbywgLS1pby1ibG9ja3MgICAgICAgIEdST09UVEUgemllbiBhbHMgYWFudGFsIElPLWJsb2trZW4gaW4gcGxhYXRzIHZhbiBieXRlcwoAICAtbywgLS1vdXRwdXQ9QkVTVEFORCAgICAgICByZXN1bHRhYXQgbmFhciBCRVNUQU5EIGkucC52LiBuYWFyIHN0YW5kYWFyZHVpdHZvZXIKICAtcywgLS1zdGFibGUgICAgICAgICAgICAgICBoZXQgc29ydGVyZW4gc3RhYmlsaXNlcmVuIGRvb3IgdWl0c2NoYWtlbGVuIHZhbiBkZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9vZHZlcmdlbGlqa2luZyBhbHMgbmlldHMgd2Vya3QKICAtUywgLS1idWZmZXItc2l6ZT1HUk9PVFRFICB0ZSBnZWJydWlrZW4gZ3Jvb3R0ZSB2b29yIGhvb2ZkZ2VoZXVnZW5idWZmZXIKACAgLXAgICAgICAgICAgICAgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctLXByZXNlcnZlPW1vZGUsb3duZXJzaGlwLHRpbWVzdGFtcHMnCiAgICAgIC0tcHJlc2VydmVbPUxJSlNUXSAgICBkZSBnZW5vZW1kZSBlaWdlbnNjaGFwcGVuIGluZGllbiBtb2dlbGlqayBiZWhvdWRlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RhbmRhYXJkIHppam46IG1vZGUsb3duZXJzaGlwLHRpbWVzdGFtcHMgLS0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Z0ZXdlbCBtb2R1cywgZWlnZW5hYXIgZW4gdGlqZHNzdGVtcGVsczsgdmVyZGVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2dlbGlqa2hlZGVuIHppam46IGNvbnRleHQsIGxpbmtzLCB4YXR0ciwgYWxsKQoAICAtcCAgICAgICAgICAgICAgICAgICAgICAgIHNjaHJpamZmb3V0ZW4gbmFhciBuaWV0LXBpanBlbiBkaWFnbm9zdGljZXJlbgogICAgICAtLW91dHB1dC1lcnJvcls9TU9EVVNdICAgIGdlZHJhZyBiaWogc2NocmlqZmZvdXQgaW5zdGVsbGVuOyB6aWUgaGllcm9uZGVyCgAgIC1wIE1BUCwgLS10bXBkaXJbPU1BUF0gIFNKQUJMT09OIHJlbGF0aWVmIHRlbiBvcHppY2h0ZSB2YW4gTUFQIGludGVycHJldGVyZW47CiAgICAgICAgICAgICAgICAgICAgICAgIGFscyBnZWVuIE1BUCBnZWdldmVuIGlzLCBkYW4gJFRNUERJUiBnZWJydWlrZW4gaW5kaWVuCiAgICAgICAgICAgICAgICAgICAgICAgIGluZ2VzdGVsZCwgYW5kZXJzIC90bXA7IG1ldCBkZXplIG9wdGllIG1hZyBTSkFCTE9PTiBnZWVuCiAgICAgICAgICAgICAgICAgICAgICAgIGFic29sdXV0IHBhZCB6aWpuOyBoZXQgbWFnIHdlbCBzY2h1aW5lIHN0cmVwZW4gYmV2YXR0ZW4sCiAgICAgICAgICAgICAgICAgICAgICAgIG1hYXIgJ21rdGVtcCcgemFsIHNsZWNodHMgZGUgbGFhdHN0ZSBjb21wb25lbnQgYWFubWFrZW4KACAgLXAsIC0tcGFyZW50cyAgIGRlIGdlZ2V2ZW4gTUFQIGVuIGllZGVyIG9uZGVyZGVlbCB2YW4gZGllbnMgcGFkIHZlcndpamRlcmVuOwogICAgICAgICAgICAgICAgICAgIGJpanYuICdybWRpciAtcCBhL2IvYycgaXMgZ2VsaWprIGFhbiAncm1kaXIgYS9iL2MgYS9iIGEnCiAgLXYsIC0tdmVyYm9zZSAgIHRvbmVuIHdhdCBlciBnZWRhYW4gd29yZHQKACAgLXAsIC0tcHJlc2VydmUtdGltZXN0YW1wcyAgIGFsbGUgdGlqZHNzdGVtcGVscyB2YW4gYnJvbmJlc3RhbmRlbiBvdmVybmVtZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBkZSBvdmVyZWVua29tc3RpZ2UgYmVzdGVtbWluZ3NiZXN0YW5kZW4KICAtcywgLS1zdHJpcCAgICAgICAgICAgICAgICAgc3ltYm9vbHRhYmVsbGVuIHVpdCBwcm9ncmFtbWEncyB2ZXJ3aWpkZXJlbgogICAgICAtLXN0cmlwLXByb2dyYW09UFJHUk1NICB0ZSBnZWJydWlrZW4gcHJvZ3JhbW1hIHZvb3IgaGV0IHN0cmlwcGVuCiAgLVMsIC0tc3VmZml4PUFDSFRFUlZPRUdTRUwgIHRlwqBnZWJydWlrZW4gYWNodGVydm9lZ3NlbCB2b29yIHJlc2VydmVrb3BpZcOrbgogIC10LCAtLXRhcmdldC1kaXJlY3Rvcnk9TUFQICBhbGxlIEJST04tYXJndW1lbnRlbiBuYWFyIE1BUCBrb3Bpw6tyZW4KICAtVCwgLS1uby10YXJnZXQtZGlyZWN0b3J5ICAgRE9FTCBhbHMgZWVuIG5vcm1hYWwgYmVzdGFuZCBiZWhhbmRlbGVuCiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGRlIG5hYW0gdmFuIGVsa2UgYWFuZ2VtYWFrdGUgbWFwIHRvbmVuCgAgIC1xLCAtLWNvdW50ICAgICAgIGRlIG5hbWVuIHZhbiBlbiBoZXQgdG90YWFsIGFhbnRhbCBpbmdlbG9nZGUgZ2VicnVpa2VycwogIC1yLCAtLXJ1bmxldmVsICAgIGhldCBodWlkaWdlIHJ1bi1sZXZlbCB0b25lbgogIC1zLCAtLXNob3J0ICAgICAgIGFsbGVlbiBuYWFtLCB0ZXJtaW5hbCwgZW4gaW5sb2d0aWpkIHRvbmVuIChzdGFuZGFhcmQpCiAgLXQsIC0tdGltZSAgICAgICAgZGUgbGFhdHN0ZSB3aWp6aWdpbmcgdmFuIGRlIHN5c3RlZW1rbG9rIHRvbmVuCgAgIC1xLCAtLXF1aWV0LCAtLXNpbGVudCAgICBnZWVuIGJlc3RhbmRzbmFhbWtvcGplcyB0b25lbgogIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBhbHRpamQgYmVzdGFuZHNuYWFta29wamVzIHRvbmVuCgAgIC1yLCAtLXJlZmVyZW5jZT1CRVNUQU5EICAgICAgZGUgbGFhdHN0ZSB3aWp6aWdpbmdzdGlqZCB2YW4gZGl0IGJlc3RhbmQgdG9uZW4KACAgLXIsIC0tcmVmZXJlbmNlPUJFU1RBTkQgICBkZSB0aWpkc3N0ZW1wZWxzIHZhbiBkaXQgYmVzdGFuZCBnZWJydWlrZW4KICAtdCBTVEVNUEVMICAgICAgICAgIFtbQ0NdWVldTU1ERGhobW1bLnNzXSBnZWJydWlrZW4gaS5wLnYuIGh1aWRpZ2UgdGlqZAogICAgICAtLXRpbWU9U09PUlQgICAgYWxsZWVuIGRpdCBzb29ydCB0aWpkc3N0ZW1wZWwgaW5zdGVsbGVuOyBTT09SVCBtYWcgemlqbjoKICAgICAgICAgICAgICAgICAgICAgICAgJ2FjY2VzcycsICdhdGltZScgb2YgJ3VzZSc6IGhldHplbGZkZSBhbHMgJy1hJzsKICAgICAgICAgICAgICAgICAgICAgICAgJ21vZGlmeScgb2YgJ210aW1lJzogaGV0emVsZmRlIGFscyAnLW0nCgAgIC1yLCAtLXJlZmVyZW5jZT1CRVNUQU5EICBkZSBncm9vdHRlIHZhbiBkaXQgQkVTVEFORCBnZWJydWlrZW4KICAtcywgLS1zaXplPUdST09UVEUgICAgIGRlemUgR1JPT1RURSBnZWJydWlrZW4KACAgLXIsIC0tcmVmZXJlbmNlcyAgICAgICAgICAgICAgIGVlcnN0ZSB2ZWxkIHZhbiBlbGtlIHJlZ2VsIGlzIGVlbiByZWZlcmVudGllCiAgLXQsIC0tdHlwZXNldC1tb2RlICAgICAgICAgICAgIChuaWV0IGdlw69tcGxlbWVudGVlcmQpCiAgLXcsIC0td2lkdGg9R0VUQUwgICAgICAgICAgICAgIHVpdHZvZXJicmVlZHRlIGluIGtvbG9tbWVuLCB6b25kZXIgcmVmZXJlbnRpZQoAICAtciwgLS1yZXZlcnNlICAgICAgICAgICAgICBkZSBzb3J0ZWVydm9sZ29yZGUgb21kcmFhaWVuCiAgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgICAgc3VibWFwcGVuIHJlY3Vyc2llZiB0b25lbgogIC1zLCAtLXNpemUgICAgICAgICAgICAgICAgIHRvZWdld2V6ZW4gYWFudGFsIGJsb2trZW4gdG9uZW4gdm9vciBpZWRlciBiZXN0YW5kCgAgIC1zLCAtLW9ubHktZGVsaW1pdGVkICAgIGFsbGVlbiByZWdlbHMgdG9uZW4gZGllIHNjaGVpZGluZ3N0ZWtlbnMgYmV2YXR0ZW4KICAgICAgLS1vdXRwdXQtZGVsaW1pdGVyPVRFS1NUICBkZXplIHRla3N0IGFscyB1aXR2b2Vyc2NoZWlkaW5nIGdlYnJ1aWtlbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YW5kYWFyZCBoZXQgaW52b2Vyc2NoZWlkaW5nc3Rla2VuCgAgIC1zLCAtLXNldD1EQVRVTVRJSkQgICAgICAgICAgZGV6ZSB0aWpkIGVuL29mIGRhdHVtIGluc3RlbGxlbgogIC11LCAtLXV0YywgLS11bml2ZXJzYWwgICAgICAgZGUgc3RhbmRhYXJkIHdlcmVsZHRpamQgKFVUQykgZ2VicnVpa2VuCgAgIC1zLCAtLXNpZ25hbD1TSUdOQUFMLCAtU0lHTkFBTAogICAgICAgICAgICAgICAgICAgbmFhbSBvZiBudW1tZXIgdmFuIGhldCB0ZSB2ZXJ6ZW5kZW4gc2lnbmFhbAogIC1sLCAtLWxpc3QgICAgICAgYWxsZSBiZXNjaGlrYmFyZSBzaWduYWFsbmFtZW4gb3Bzb21tZW4sIG9mIGVlbiBnZWdldmVuCiAgICAgICAgICAgICAgICAgICAgIHNpZ25hYWxuYWFtIGNvbnZlcnRlcmVuIG5hYXIgZWVuIG51bW1lciBvZiBvbWdla2VlcmQKICAtdCwgLS10YWJsZSAgICAgIGVlbiB0YWJlbCBtZXQgc2lnbmFhbG51bW1lcnMsIC1uYW1lbiBlbiBiZXRla2VuaXNzZW4gdG9uZW4KACAgLXMsIC0tc2xlZXAtaW50ZXJ2YWw9TiAgIG1ldCAnLWYnOiB0dXNzZW4gdHdlZSBpdGVyYXRpZXMgb25nZXZlZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOIHNlY29uZGVuIHNsYXBlbiAoc3RhbmRhYXJkIDEgc2Vjb25kZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0ICdpbm90aWZ5JyBlbiAnLS1waWQ9UCc6IGRpdCBwcm9jZXMgUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbnN0ZW5zIGVlbnMgcGVyIE4gc2Vjb25kZW4gY29udHJvbGVyZW4KICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYWx0aWpkIGJlc3RhbmRzbmFhbWtvcGplcyB0b25lbgoAICAtcywgLS1zeW1ib2xpYy1saW5rICAgICAgICAgICBzeW1ib2xpc2NoZSBrb3BwZWxpbmcgbWFrZW4gaS5wLnYuIGtvcGllCiAgLVMsIC0tc3VmZml4PVNVRkZJWCAgICAgICAgICAgdGXCoGdlYnJ1aWtlbiBhY2h0ZXJ2b2Vnc2VsIHZvb3IgcmVzZXJ2ZWtvcGllw6tuCiAgLXQsIC0tdGFyZ2V0LWRpcmVjdG9yeT1NQVAgICAgYWxsZSBCUk9OLWFyZ3VtZW50ZW4gbmFhciBNQVAga29wacOrcmVuCiAgLVQsIC0tbm8tdGFyZ2V0LWRpcmVjdG9yeSAgICAgQkVTVEVNTUlORyBiZWhhbmRlbGVuIGFscyBlZW4gbm9ybWFhbCBiZXN0YW5kCgAgIC1zW1RFS0VOXSwgLS1zZXBhcmF0b3JbPVRFS0VOXQogICAgICAgICAgICAgICAgICAgIGtvbG9tbWVuIHNjaGVpZGVuIGRvb3IgZWVuIGVua2VsIFRFS0VOOyBkaXQgdGVrZW4gaXMKICAgICAgICAgICAgICAgICAgICBzdGFuZGFhcmQgaGV0IFRBQi10ZWtlbiAoem9uZGVyICctdycpIG9mIGdlZW4gKG1ldCAnLXcnKTsKICAgICAgICAgICAgICAgICAgICAtc1tURUtFTl0gc2NoYWtlbHQgcmVnZWxhZmthcHBpbmcgdWl0IHZvb3IgZGUKICAgICAgICAgICAgICAgICAgICBkcmllIGtvbG9tb3B0aWVzICgnLUtPTE9NTUVOJ3wnLWEgLUtPTE9NTUVOJ3wnLW0nKQogICAgICAgICAgICAgICAgICAgIGJlaGFsdmUgYWxzIG9vayAnLXcnIGdlZ2V2ZW4gaXMKACAgLXQgICAgICAgICAgICAgICAgICAgICAgICAgb3AgZGUgdGlqZCB2YW4gbGFhdHN0ZSB3aWp6aWdpbmcgc29ydGVyZW4KICAtVCwgLS10YWJzaXplPUFBTlRBTCAgICAgICB0ZSBnZWJydWlrZW4gdGFiYnJlZWR0ZSBpbiBwbGFhdHMgdmFuIDgKACAgLXQgICAgICAgICAgICAgICAgICAgICAgIGhldHplbGZkZSBhbHMgJy12VCcKICAtVCwgLS1zaG93LXRhYnMgICAgICAgICAgdGFiLXRla2VucyB3ZWVyZ2V2ZW4gbWV0IF5JCiAgLXUgICAgICAgICAgICAgICAgICAgICAgIChnZW5lZ2VlcmRlIG9wdGllKQogIC12LCAtLXNob3ctbm9ucHJpbnRpbmcgICBub3RhdGllIG1ldCBeIGVuIE0tIGdlYnJ1aWtlbiwgYmVoYWx2ZSB2b29yIExGL1RBQgoAICAtdCAgICAgICAgICAgICAgICAgIFNKQUJMT09OIGFscyBlZW4gZW5rZWxlIGJlc3RhbmRzbmFhbWNvbXBvbmVudAogICAgICAgICAgICAgICAgICAgICAgICBnZWJydWlrZW4sIHJlbGF0aWVmIHRlbiBvcHppY2h0ZSBlZW4gbWFwOiAkVE1QRElSLAogICAgICAgICAgICAgICAgICAgICAgICBpbmRpZW4gaW5nZXN0ZWxkOyBhbmRlcnMgZGUgbWFwIGdlZ2V2ZW4gdmlhICctcCc7CiAgICAgICAgICAgICAgICAgICAgICAgIGFuZGVycyAvdG1wIFt2ZXJvdWRlcmRdCgAgIC10LCAtLWZpZWxkLXNlcGFyYXRvcj1US04gIHZlbGRzY2hlaWRpbmdzdGVrZW4gaS5wLnYuIG92ZXJnYW5nIG5hYXIgd2l0cnVpbXRlCiAgLVQsIC0tdGVtcG9yYXJ5LWRpcmVjdG9yeT1NQVAgIHRlIGdlYnJ1aWtlbiBtYXAgdm9vciB0aWpkZWxpamtlIGJlc3RhbmRlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBwbGFhdHMgdmFuICRUTVBESVIgb2YgJXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVlcmRlcmUgb3B0aWVzIGdldmVuIG1lZXJkZXJlIG1hcHBlbgogICAgICAtLXBhcmFsbGVsPUFBTlRBTCAgICAgIHRlIGdlYnJ1aWtlbiBhYW50YWwgcGFyYWxsZWxsZSBzb3J0ZWVycHJvY2Vzc2VuCiAgLXUsIC0tdW5pcXVlICAgICAgICAgICAgICAgem9uZGVyICctYyc6IHZhbiBnZWxpamtlbiBhbGxlZW4gZGUgZWVyc3RlIHRvbmVuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0ICctYyc6IG9wIHN0cmlrdGUgb3JkZW5pbmcgY29udHJvbGVyZW4KACAgLXQsIC0tb21pdC1oZWFkZXIgIHBhZ2luYWtvcC0gZW4gdm9ldHRla3N0ZW4gd2VnbGF0ZW47CiAgICAgICAgICAgICAgICAgICAgIHN0YW5kYWFyZCB3YW5uZWVyIFBBR0lOQUxFTkdURSA8PSAxMAoAICAtdCwgLS10YWdnZWQtcGFyYWdyYXBoICAgIGluc3ByaW5naW5nIHZhbiBlZXJzdGUgcmVnZWwgdmVyc2NoaWx0IHZhbiB0d2VlZGUKICAtdSwgLS11bmlmb3JtLXNwYWNpbmcgICAgIMOpw6luIHNwYXRpZSB0dXNzZW4gd29vcmRlbiwgdHdlZSBuYSBlZW4gemluCiAgLXcsIC0td2lkdGg9R0VUQUwgICAgICAgICBtYXhpbWFsZSByZWdlbGJyZWVkdGUgKHN0YW5kYWFyZCBpcyA3NSkKICAtZywgLS1nb2FsPUdFVEFMICAgICAgICAgIGRvZWxicmVlZHRlIChzdGFuZGFhcmQgOTMlIHZhbiBtYXhpbWFsZSByZWdlbGJyZWVkdGUpCgAgIC10LCAtLXRhcmdldC1kaXJlY3Rvcnk9TUFQICAgYWxsZSBCUk9OLWFyZ3VtZW50ZW4gbmFhciBkZXplIG1hcCB2ZXJwbGFhdHNlbgogIC1ULCAtLW5vLXRhcmdldC1kaXJlY3RvcnkgICAgQkVTVEVNTUlORyBhbHMgZWVuIG5vcm1hYWwgYmVzdGFuZCBiZWhhbmRlbGVuCiAgLXUsIC0tdXBkYXRlICAgICAgICAgICAgICAgICBhbGxlZW4gdmVycGxhYXRzZW4gYWxzIEJST04gbmlldXdlciBpcyBkYW4gZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVzdGVtbWluZyBvZiB3YW5uZWVyIGRlemUgbmlldCBiZXN0YWF0CiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICB0b25lbiB3YXQgZXIgZ2VkYWFuIHdvcmR0CiAgLVosIC0tY29udGV4dCAgICAgICAgICAgICAgICBkZSBTRUxpbnV4LWJldmVpbGlnaW5nc2NvbnRleHQgdmFuIGRvZWxiZXN0YW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wIHN0YW5kYWFyZHR5cGUgaW5zdGVsbGVuCgAgIC10LCAtLXRleHQgICAgICBpbiB0ZWtzdG1vZHVzIGxlemVuIChzdGFuZGFhcmQgYmlqIGxlemVuIHZhbiBzdGFuZGFhcmRpbnZvZXIpCgAgIC10LCAtLXRleHQgICAgICBpbiB0ZWtzdG1vZHVzIGxlemVuIChzdGFuZGFhcmQpCgAgIC10LCAtLXRocmVzaG9sZD1HUk9PVFRFICAgaXRlbXMgd2VnbGF0ZW4gZGllIGtsZWluZXIgemlqbiBkYW4gR1JPT1RURSBpbmRpZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aWVmLCBvZiBncm90ZXIgZGFuIEdST09UVEUgaW5kaWVuIG5lZ2F0aWVmCiAgICAgIC0tdGltZSAgICAgICAgICAgICAgdGlqZGVuIHZhbiBsYWF0c3RlIHdpanppZ2luZyB0b25lbgogICAgICAtLXRpbWU9U09PUlQgICAgICAgIHRlIHRvbmVuIHNvb3J0IHRpamQgaW4gcGxhYXRzIHZhbiB3aWp6aWdpbmdzdGlqZDsKICAgICAgICAgICAgICAgICAgICAgICAgICBtb2dlbGlqa2Ugd2FhcmRlbiB6aWpuICdhdGltZScsICdhY2Nlc3MnLCAndXNlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAnY3RpbWUnIG9mICdzdGF0dXMnCiAgICAgIC0tdGltZS1zdHlsZT1TVElKTCAgdGUgZ2VicnVpa2VuIG9wbWFhayB2b29yIHRpamRzc3RlbXBlbHM7IG1vZ2VsaWprZQogICAgICAgICAgICAgICAgICAgICAgICAgIHdhYXJkZW4gemlqbiAnaXNvJywgJ2xvbmctaXNvJywgJ2Z1bGwtaXNvJywgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAnK09QTUFBSycgKHppZSBiaWogJ2RhdGUnIHZvb3IgZGUgbW9nZWxpamtoZWRlbikKACAgLXQsIC0tdHlwZT1UWVBFICAgICAgICAgICBhbGxlZW4gYmVzdGFuZHNzeXN0ZW1lbiB2YW4gZGl0IHR5cGUgdG9uZW4KICAtVCwgLS1wcmludC10eXBlICAgICAgICAgIHZhbiBlbGsgYmVzdGFuZHNzeXN0ZWVtIG9vayBoZXQgdHlwZSB0b25lbgogIC14LCAtLWV4Y2x1ZGUtdHlwZT1UWVBFICAgYmVzdGFuZHNzeXN0ZW1lbiB2YW4gZGl0IHR5cGUgbmlldCB0b25lbgogIC12ICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVnZWVyZGUgb3B0aWUpCgAgIC11ICAgICAgICAgICAgICAgICAgICAgICAgIG1ldCAtbHQ6IG9wIHRvZWdhbmdzdGlqZCBzb3J0ZXJlbiBlbiBkZXplIHRvbmVuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0IC1sOiB0b2VnYW5nc3RpamQgdG9uZW4gZW4gb3AgbmFhbSBzb3J0ZXJlbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZGVyczogb3AgdG9lZ2FuZ3N0aWpkIHNvcnRlcmVuIChuaWV1d3N0ZSBlZXJzdCkKICAtVSAgICAgICAgICAgICAgICAgICAgICAgICBkZSBpdGVtcyBvbmdlc29ydGVlcmQgdG9uZW4sIG9wIHBsYWF0c2luZ3N2b2xnb3JkZQogIC12ICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2lzY2ggc29ydGVyZW4gb3AgKHZlcnNpZSludW1tZXJzIGluIGRlIG5hYW0KACAgLXUsIC0tdXBkYXRlICAgICAgICAgICAgIGFsbGVlbiBrb3Bpw6tyZW4gYWxzIEJST04gbmlldXdlciBpcyBkYW4gYmVzdGVtbWluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHdhbm5lZXIgZGl0IGJlc3RhbmQgbmlldCBiZXN0YWF0CiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHRvbmVuIHdhdCBlciBnZWRhYW4gd29yZHQKICAteCwgLS1vbmUtZmlsZS1zeXN0ZW0gICAgYmlubmVuIGRpdCBiZXN0YW5kc3N5c3RlZW0gYmxpanZlbgoAICAtdSwgLS11c2VyPUdFQlJVSUtFUiAgIGRlemUgZ2VicnVpa2VyIGluc3RlbGxlbiBpbiBkb2VsLWJldmVpbGlnaW5nc2NvbnRleHQKICAtciwgLS1yb2xlPVJPTCAgICAgICAgIGRlemUgcm9sIGluc3RlbGxlbiBpbiBkZSBkb2VsLWJldmVpbGlnaW5nc2NvbnRleHQKICAtdCwgLS10eXBlPVRZUEUgICAgICAgIGRpdCB0eXBlIGluc3RlbGxlbiBpbiBkZSBkb2VsLWJldmVpbGlnaW5nc2NvbnRleHQKICAtbCwgLS1yYW5nZT1CRVJFSUsgICAgIGRpdCBiZXJlaWsgaW5zdGVsbGVuIGluIGRlIGRvZWwtYmV2ZWlsaWdpbmdzY29udGV4dAoAICAtdiBOVU1NRVIgICAgICAgICAgYWxzICctYSBOVU1NRVInLCBtYWFyIHNhbWVuZ2V2b2VnZGUgcmVnZWxzIG9uZGVyZHJ1a2tlbgogIC0xIFZFTEQgICAgICAgICAgICBzYW1lbnZvZWdlbiBvcCBkaXQgVkVMRCBpbiBiZXN0YW5kIDEKICAtMiBWRUxEICAgICAgICAgICAgc2FtZW52b2VnZW4gb3AgZGl0IFZFTEQgaW4gYmVzdGFuZCAyCiAgLS1jaGVjay1vcmRlciAgICAgIGNvbnRyb2xlcmVuIG9mIGRlIGludm9lciBqdWlzdCBnZXNvcnRlZXJkIGlzLCB6ZWxmcyBhbHMKICAgICAgICAgICAgICAgICAgICAgICB2YW4gYWxsZSBpbnZvZXJyZWdlbHMgcGFyZW4gZ2VtYWFrdCBrdW5uZW4gd29yZGVuCiAgLS1ub2NoZWNrLW9yZGVyICAgIG5pZXQgY29udHJvbGVyZW4gb2YgZGUgaW52b2VyIGp1aXN0IGdlc29ydGVlcmQgaXMKICAtLWhlYWRlciAgICAgICAgICAgZGUgZWVyc3RlIHJlZ2VsIGluIGVsayBiZXN0YW5kIGFscyB2ZWxka29wcGVuIGJlaGFuZGVsZW47CiAgICAgICAgICAgICAgICAgICAgICAgZGV6ZSBzYW1lbnZvZWdlbiB6b25kZXIgcHJvYmVyZW4gemUgdGUgcGFyZW4KACAgLXYsIC0ta2VybmVsLXZlcnNpb24gICAgIGNvbXBpbGF0aWVudW1tZXIgZW4gLWRhdHVtIHZhbiBkZSBrZXJuZWwgdG9uZW4KICAtbSwgLS1tYWNoaW5lICAgICAgICAgICAgZGUgaGFyZHdhcmVrbGFzc2UgdmFuIGRlIG1hY2hpbmUgdG9uZW4KICAtcCwgLS1wcm9jZXNzb3IgICAgICAgICAgZGUgcHJvY2Vzc29ybmFhbSB0b25lbiAgKG5pZXQtb3ZlcmRyYWFnYmFhcikKICAtaSwgLS1oYXJkd2FyZS1wbGF0Zm9ybSAgaGV0IGhhcmR3YXJlcGxhdGZvcm0gdG9uZW4gIChuaWV0LW92ZXJkcmFhZ2JhYXIpCiAgLW8sIC0tb3BlcmF0aW5nLXN5c3RlbSAgIGhldCBzb29ydCBiZXN0dXJpbmdzc3lzdGVlbSB0b25lbgoAICAtdiwgLS1zdGFydGluZy1saW5lLW51bWJlcj1HRVRBTCAgZWVyc3RlIHJlZ2VsbnVtbWVyIHZvb3IgZWxrZSBzZWN0aWUKICAtdywgLS1udW1iZXItd2lkdGg9QUFOVEFMICAgICAgYWFudGFsIHRlIGdlYnJ1aWtlbiBrb2xvbW1lbiB2b29yIHJlZ2VsbnVtbWVycwoAICAtdiwgLS12ZXJib3NlICAgICAgICAgIGVlbiBtZWxkaW5nIGdldmVuIHZvb3IgZWxrIGdlemllbiBiZXN0YW5kCgAgIC13LCAtLWNoZWNrLWNoYXJzPU4gICAgbmlldCBtZWVyIGRhbiBOIHRla2VucyBwZXIgcmVnZWwgdmVyZ2VsaWprZW4KACAgLXcsIC0td2lkdGg9QlJFRURURSAgICAgICAgdGUgZ2VicnVpa2VuIHNjaGVybWJyZWVkdGU7IDAgYmV0ZWtlbnQgb25iZWdyZW5zZAogIC14ICAgICAgICAgICAgICAgICAgICAgICAgIGRlIGl0ZW1zIHBlciByZWdlbCB0b25lbiBpLnAudi4gaW4ga29sb21tZW4KICAtWCAgICAgICAgICAgICAgICAgICAgICAgICBhbGZhYmV0aXNjaCBzb3J0ZXJlbiBvcCBiZXN0YW5kc2V4dGVuc2llCiAgLVosIC0tY29udGV4dCAgICAgICAgICAgICAgYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gZWxrIGJlc3RhbmQgdG9uZW4KICAtMSAgICAgICAgICAgICAgICAgICAgICAgICDDqcOpbiBpdGVtIHBlciByZWdlbCB0b25lbjsgb25kZXJkcnVrIFxuIG1ldCAtcSBvZiAtYgoAICAteiwgLS16ZXJvICAgICBlbGtlIHJlZ2VsIGFmc2x1aXRlbiBtZXQgMC1ieXRlLCBuaWV0IG1ldCBuaWV1d2VyZWdlbAoAICAteiwgLS16ZXJvLXRlcm1pbmF0ZWQgICAgICByZWdlbHMgYWZzbHVpdGVuIG1ldCAwLWJ5dGUsIG5pZXQgbWV0IG5pZXV3ZXJlZ2VsCgAgIC16LCAtLXplcm8tdGVybWluYXRlZCAgICAgcmVnZWxzIGFmc2x1aXRlbiBtZXQgMC1ieXRlLCBuaWV0IG1ldCBuaWV1d2VyZWdlbAoAQ09OVEVYVCBpcyBlZW4gdm9sbGVkaWdlIFNFTGludXgtYmV2ZWlsaWdpbmdzY29udGV4dC4KCiAgLWMsIC0tY29tcHV0ZSAgICAgICAgIHByb2Nlc292ZXJnYW5nc2NvbnRleHQgYmVyZWtlbmVuIHbDs8OzciBoZXQgd2lqemlnZW4KICAtbCwgLS1yYW5nZT1CRVJFSUsgICAgdGUgZ2VicnVpa2VuIG5pdmVhdWJlcmVpawogIC1yLCAtLXJvbGU9Uk9MICAgICAgICB0ZSBnZWJydWlrZW4gcm9sCiAgLXQsIC0tdHlwZT1UWVBFICAgICAgIHRlIGdlYnJ1aWtlbiB0eXBlICh2b29yIGRlemVsZmRlIHJvbCBhbHMgZGUgb3VkZXIpCiAgLXUsIC0tdXNlcj1HRUJSVUlLRVIgIHRlIGdlYnJ1aWtlbiBnZWJydWlrZXJzaWRlbnRpdGVpdAoKACAgQmVzdGFuZDogIiVuIgogICAgICAgSUQ6ICUtOGkgICBOYWFtbGVuZ3RlOiAlLTdsICAgVHlwZTogJVQKQmxva2dyb290dGU6ICUtMTBzICAgRnVuZGFtZW50ZWxlIGJsb2tncm9vdHRlOiAlUwpCbG9ra2tlbjogdG90YWFsOiAlLTEwYiAgIHZyaWo6ICUtMTBmICAgYmVzY2hpa2JhYXI6ICVhCklub2RlczogICB0b3RhYWw6ICUtMTBjICAgdnJpajogJWQKACAgQmVzdGFuZDogJU4KICBHcm9vdHRlOiAlLTEwcyAgIEJsb2trZW46ICUtMTBiICAgSU8tYmxvazogJS02byAlRgoAICBQcm9jZXNzZW4gaW4KZWVuIG5pZXQtb25kZXJicmVla2JhcmUgc2xhYXBzdGF0dXMgZHJhZ2VuIG9vayBiaWogYWFuIGhldCBiZWxhc3RpbmdzZ2VtaWRkZWxkZS4KACAgWzpncmFwaDpdICAgICAgIGFsbGUgYWZkcnVrYmFyZSB0ZWtlbnMsIGV4Y2x1c2llZiBkZSBzcGF0aWUKICBbOmxvd2VyOl0gICAgICAgYWxsZSBrbGVpbmUgbGV0dGVycwogIFs6cHJpbnQ6XSAgICAgICBhbGxlIGFmZHJ1a2JhcmUgdGVrZW5zLCBpbmNsdXNpZWYgc3BhdGllCiAgWzpwdW5jdDpdICAgICAgIGFsbGUgaW50ZXJwdW5jdGlldGVrZW5zCiAgWzpzcGFjZTpdICAgICAgIGFsbGUgaG9yaXpvbnRhbGUgZW4gdmVydGljYWxlIHdpdHJ1aW10ZQogIFs6dXBwZXI6XSAgICAgICBhbGxlIGhvb2ZkbGV0dGVycwogIFs6eGRpZ2l0Ol0gICAgICBhbGxlIGhleGFkZWNpbWFsZSB0ZWtlbnMKICBbPVRFS0VOPV0gICAgICAgYWxsZSB0ZWtlbnMgZGllIGVxdWl2YWxlbnQgemlqbiBhYW4gVEVLRU4KACAgXDBOTk4gIGJ5dGUgbWV0IG9jdGFsZSB3YWFyZGUgTk5OICgxIHRvdCAzIGNpamZlcnMpCiAgXHhISCAgIGJ5dGUgbWV0IGhleGFkZWNpbWFsZSB3YWFyZGUgSEggKDEgdG90IDIgY2lqZmVycy9sZXR0ZXJzKQoAICBcTk5OICAgIGJ5dGUgbWV0IG9jdGFsZSB3YWFyZGUgTk5OICgxIHRvdCAzIGNpamZlcnMpCiAgXHhISCAgICBieXRlIG1ldCBoZXhhZGVjaW1hbGUgd2FhcmRlIEhIICgxIG9mIDIgY2lqZmVycykKICBcdUhISEggIFVuaWNvZGUtdGVrZW4gKElTTy9JRUMgMTA2NDYpIG1ldCBoZXhhZGVjaW1hbGUgd2FhcmRlIEhISEggKDQgY2lqZmVycykKICBcVUhISEhISEhIICBVbmljb2RlLXRla2VuIG1ldCBoZXhhZGVjaW1hbGUgd2FhcmRlIEhISEhISEhIICg4IGNpamZlcnMpCgAgIFxcICAgICBlZW4gYmFja3NsYXNoCiAgXGEgICAgIGdlbHVpZHNzaWduYWFsCiAgXGIgICAgIGJhY2tzcGFjZQogIFxjICAgICBnZWVuIHZlcmRlcmUgdWl0dm9lciBwcm9kdWNlcmVuCiAgXGUgICAgIGVzY2FwZQogIFxmICAgICBuaWV1d2UgcGFnaW5hIChGRi10ZWtlbikKICBcbiAgICAgbmlldXdlIHJlZ2VsIChMRi10ZWtlbikKICBcciAgICAgbmFhciBiZWdpbiB2YW4gcmVnZWwgKENSLXRla2VuKQogIFx0ICAgICBob3Jpem9udGFsZSB0YWIKICBcdiAgICAgdmVydGljYWxlIHRhYgoAICBcdiAgICAgICAgICAgICAgdmVydGljYWxlIHRhYgogIFRFS0VOMS1URUtFTjIgICBhbGxlIHRla2VucyB2YW4gVEVLRU4xIHQvbSBURUtFTjIgaW4gb3Bsb3BlbmRlIHZvbGdvcmRlCiAgW1RFS0VOKl0gICAgICAgIGluIFNFVDI6IGtvcGllw6tuIHZhbiBURUtFTiB0b3QgZGUgbGVuZ3RlIHZhbiBTRVQxCiAgW1RFS0VOKkFBTlRBTF0gIGVlbiBzcGVjaWZpZWsgYWFudGFsIGtvcGllw6tuIHZhbiBURUtFTjsKICAgICAgICAgICAgICAgICAgICBBQU5UQUwgaXMgb2N0YWFsIGFscyBoZXQgYmVnaW50IG1ldCAwCiAgWzphbG51bTpdICAgICAgIGFsbGUgbGV0dGVycyBlbiBjaWpmZXJzCiAgWzphbHBoYTpdICAgICAgIGFsbGUgbGV0dGVycwogIFs6Ymxhbms6XSAgICAgICBhbGxlIGhvcml6b250YWxlIHdpdHJ1aW10ZQogIFs6Y250cmw6XSAgICAgICBhbGxlIHN0dXVydGVrZW5zCiAgWzpkaWdpdDpdICAgICAgIGFsbGUgY2lqZmVycwoAICBhc2NpaSAgICAgIHZhbiBFQkNESUMgbmFhciBBU0NJSQogIGViY2RpYyAgICAgdmFuIEFTQ0lJIG1hYXIgRUJDRElDCiAgaWJtICAgICAgICB2YW4gQVNDSUkgbmFhciBhbHRlcm5hdGlldmUgRUJDRElDCiAgYmxvY2sgICAgICBtZXQgTEYgYWZnZXNsb3RlbiByZWNvcmRzIG1ldCBzcGF0aWVzIHVpdHZ1bGxlbiB0b3QgJ2NicyctbGVuZ3RlCiAgdW5ibG9jayAgICBuYWtvbWVuZGUgc3BhdGllcyBpbiByZWNvcmRzIG1ldCAnY2JzJy1sZW5ndGUgdmVydmFuZ2VuIGRvb3IgTEYKICBsY2FzZSAgICAgIGhvb2ZkbGV0dGVycyB2ZXJ2YW5nZW4gZG9vciBrbGVpbmUgbGV0dGVycwogIHVjYXNlICAgICAga2xlaW5lIGxldHRlcnMgdmVydmFuZ2VuIGRvb3IgaG9vZmRsZXR0ZXJzCiAgc3BhcnNlICAgICBwcm9iZXJlbiB0ZSBzcHJpbmdlbiBpLnAudi4gc2NocmlqdmVuIHZvb3IgYmxva2tlbiBtZXQgZW5rZWwgbnVsbGVuCiAgc3dhYiAgICAgICBlbGtlIHR3ZWUgaW52b2VyYnl0ZXMgdmFuIHBvc2l0aWUgb213aXNzZWxlbgogIHN5bmMgICAgICAgZWxrIGludm9lcmJsb2sgdWl0dnVsbGVuIG1ldCBOVUwtdGVrZW5zIHRvdCAnaWJzJy1sZW5ndGU7IHdhbm5lZXIKICAgICAgICAgICAgICAgc2FtZW4gbWV0ICdibG9jaycgb2YgJ3VuYmxvY2snLCBkYW4gdWl0dnVsbGVuIG1ldCBzcGF0aWVzCgAgIGF1dG8gICAgICAgZWVuIG9wdGlvbmVlbCBhY2h0ZXJ2b2Vnc2VsIHZhbiDDqcOpbiBvZiB0d2VlIGxldHRlcnMgYWNjZXB0ZXJlbjoKICAgICAgICAgICAgICAgMUsgPSAxMDAwLCAxS2kgPSAxMDI0LCAxTSA9IDEwMDAwMDAsIDFNaSA9IDEwNDg1NzYsIC4uLgoAICBiaW5hcnkgICAgIGJpbmFpcmUgSS9PIGdlYnJ1aWtlbiB2b29yIGRlIGdlZ2V2ZW5zCgAgIGNpbyAgICAgICAgZ2VsaWprdGlqZGlnZSBJL08gZ2VicnVpa2VuIHZvb3IgZGUgZ2VnZXZlbnMKACAgY291bnRfYnl0ZXMgICdjb3VudD1OJyBhbHMgZWVuIGJ5dGUtYWFudGFsIGJlZ3JpanBlbiAoYWxsZWVuICdpZmxhZycpCgAgIGRbQUFOVEFMXSAgZGVjaW1hYWwgZ2V0YWwgbWV0IHBsdXMtIG9mIG1pbnRla2VuLCBtZXQgQUFOVEFMIGJ5dGVzIHBlciBnZXRhbAogIGZbQUFOVEFMXSAgZHJpanZlbmRla29tbWFnZXRhbCwgbWV0IEFBTlRBTCBieXRlcyBwZXIgZ2V0YWwKICBvW0FBTlRBTF0gIG9jdGFhbCBnZXRhbCwgbWV0IEFBTlRBTCBieXRlcyBwZXIgZ2V0YWwKICB1W0FBTlRBTF0gIGRlY2ltYWFsIGdldGFsIHpvbmRlciB0ZWtlbiwgbWV0IEFBTlRBTCBieXRlcyBwZXIgZ2V0YWwKICB4W0FBTlRBTF0gIGhleGFkZWNpbWFhbCBnZXRhbCwgbWV0IEFBTlRBTCBieXRlcyBwZXIgZ2V0YWwKACAgZGlyZWN0ICAgICBkaXJlY3RlIEkvTyBnZWJydWlrZW4gdm9vciBkZSBnZWdldmVucwoAICBkaXJlY3RvcnkgIHdlaWdlcmVuIGFscyBoZXQgZ2VlbiBtYXAgaXMKACAgZHN5bmMgICAgICBnZXN5bmNocm9uaXNlZXJkZSBJL08gZ2VicnVpa2VuIHZvb3IgZGUgZ2VnZXZlbnMKACAgZXhjbCAgICAgICB3ZWlnZXJlbiBhbHMgaGV0IHVpdHZvZXJiZXN0YW5kIGFsIGJlc3RhYXQKICBub2NyZWF0ICAgIGhldCB1aXR2b2VyYmVzdGFuZCBuaWV0IGFhbm1ha2VuCiAgbm90cnVuYyAgICBoZXQgdWl0dm9lcmJlc3RhbmQgbmlldCB2ZXJrb3J0ZW4KICBub2Vycm9yICAgIGRvb3JnYWFuIG9vayBuYSBsZWVzZm91dGVuCiAgZmRhdGFzeW5jICBoZXQgdWl0dm9lcmJlc3RhbmQgZnlzaWVrIG5hYXIgc2NoaWpmIHNjaHJpanZlbiB2w7PDs3IgYWZzbHVpdGVuCiAgZnN5bmMgICAgICBpZGVtLCBtYWFyIG9vayBkZSBtZXRhZ2VnZXZlbnMgc2NocmlqdmVuCgAgIGZ1bGxibG9jayAgdm9sbGVkaWdlIGJsb2trZW4gaW52b2VyIHZlcnphbWVsZW4gKGFsbGVlbiBiaWogJ2lmbGFnJykKACAgaWVjICAgICAgICBlZW4gb3B0aW9uZWVsIGFjaHRlcnZvZWdzZWwgdmFuIMOpw6luIGxldHRlciBhY2NlcHRlcmVuOgogICAgICAgICAgICAgICAxSyA9IDEwMjQsIDFNID0gMTA0ODU3NiwgLi4uCgAgIGllYy1pICAgICAgZWVuIG9wdGlvbmVlbCBhY2h0ZXJ2b2Vnc2VsIHZhbiB0d2VlIGxldHRlcnMgYWNjZXB0ZXJlbjoKICAgICAgICAgICAgICAgMUtpID0gMTAyNCwgMU1pID0gMTA0ODU3NiwgLi4uCgAgIGlmPUJFU1RBTkQgICAgICAgdWl0IGRpdCBiZXN0YW5kIGxlemVuIGkucC52LiB2YW4gc3RhbmRhYXJkaW52b2VyCiAgaWZsYWc9VkxBR0dFTiAgICBsZXplbiBtZXQgZGV6ZSBrb21tYWdlc2NoZWlkZW4gZWlnZW5zY2hhcHBlbgogIG9icz1CWVRFUyAgICAgICAgYWFudGFsIHRlZ2VsaWprIHRlIHNjaHJpanZlbiBieXRlcyAoc3RhbmRhYXJkOiA1MTIpCiAgb2Y9QkVTVEFORCAgICAgICBuYWFyIGRpdCBiZXN0YW5kIHNjaHJpanZlbiBpLnAudi4gbmFhciBzdGFuZGFhcmR1aXR2b2VyCiAgb2ZsYWc9VkxBR0dFTiAgICBzY2hyaWp2ZW4gbWV0IGRlemUga29tbWFnZXNjaGVpZGVuIGVpZ2Vuc2NoYXBwZW4KICBzZWVrPUJMT0tLRU4gICAgIGRpdCBhYW50YWwgJ29icyctYmxva2tlbiBhYW4gYmVnaW4gdmFuIHVpdHZvZXIgb3ZlcnNsYWFuCiAgc2tpcD1CTE9LS0VOICAgICBkaXQgYWFudGFsICdpYnMnLWJsb2trZW4gYWFuIGJlZ2luIHZhbiBpbnZvZXIgb3ZlcnNsYWFuCiAgc3RhdHVzPVdPT1JEICAgICBiZXBhYWxkZSBpbmZvcm1hdGllIG5hYXIgc3RhbmRhYXJkZm91dHVpdHZvZXIgc3R1cmVuOwogICAgICAgICAgICAgICAgICAgICAncHJvZ3Jlc3MnIHRvb250IHJlZ2VsbWF0aWcgdmVycGxhYXRzaW5nc3N0YXRpc3RpZWtlbjsKICAgICAgICAgICAgICAgICAgICAgJ25veGZlcicgb25kZXJkcnVrdCBkZSBzbG90LXZlcnBsYWF0c2luZ3NzdGF0aXN0aWVrZW47CiAgICAgICAgICAgICAgICAgICAgICdub25lJyBvbmRlcmRydWt0IGFsbGVzIGJlaGFsdmUgZm91dG1lbGRpbmdlbgoAICBub2F0aW1lICAgIHRvZWdhbmdzdGlqZHNzdGVtcGVscyBuaWV0IHdpanppZ2VuCgAgIG5vY2FjaGUgICAgb20gaGV0IHZlcmdldGVuIHZhbiBjYWNoZSB2ZXJ6b2VrZW47IHppZSBvb2sgJ29mbGFnPXN5bmMnCgAgIG5vY3R0eSAgICAgYmVzdGFuZCBpcyBnZWVuIGJlc3R1cmVuZGUgdGVybWluYWwKACAgbm9mb2xsb3cgICBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiBuaWV0IHZvbGdlbgoAICBub2xpbmtzICAgIHdlaWdlcmVuIGFscyBiZXN0YW5kIG1lZXIgZGFuIMOpw6luIGhhcmRlIGtvcHBlbGluZyBoZWVmdAoAICBub25ibG9jayAgIG5pZXQtYmxva2tlcmVuZGUgSS9PIGdlYnJ1aWtlbgoAICBub25lICAgICAgIGdlZW4gYXV0b21hdGlzY2hlIGhlcnNjaGFsaW5nOyBhY2h0ZXJ2b2Vnc2VscyBnZXZlbiBlZW4gZm91dAoAICBub25lLCBvZmYgICAgICAgIG5vb2l0IHJlc2VydmVrb3BpZcOrbiBtYWtlbiAoemVsZnMgbmlldCBtZXQgJy0tYmFja3VwJykKICBudW1iZXJlZCwgdCAgICAgIGdlbnVtbWVyZGUgcmVzZXJ2ZWtvcGllw6tuIG1ha2VuCiAgZXhpc3RpbmcsIG5pbCAgICBnZW51bW1lcmRlIHJlc2VydmVzIG1ha2VuIGFscyBlciBhbCB6aWpuLCBhbmRlcnMgc2ltcGVsZQogIHNpbXBsZSwgbmV2ZXIgICAgYWx0aWpkIHNpbXBlbGUgcmVzZXJ2ZWtvcGllw6tuIG1ha2VuCgAgIHNlZWtfYnl0ZXMgICAnc2Vlaz1OJyBhbHMgZWVuIGJ5dGUtYWFudGFsIGJlZ3JpanBlbiAoYWxsZWVuICdvZmxhZycpCgAgIHNpICAgICAgICAgZWVuIG9wdGlvbmVlbCBhY2h0ZXJ2b2Vnc2VsIHZhbiDDqcOpbiBsZXR0ZXIgYWNjZXB0ZXJlbjoKICAgICAgICAgICAgICAgMUsgPSAxMDAwLCAxTSA9IDEwMDAwMDAsIC4uLgoAICBza2lwX2J5dGVzICAgJ3NraXA9TicgYWxzIGVlbiBieXRlLWFhbnRhbCBiZWdyaWpwZW4gKGFsbGVlbiAnaWZsYWcnKQoAICBzeW5jICAgICAgIGlkZW0sIG1hYXIgb29rIHZvb3IgZGUgbWV0YWdlZ2V2ZW5zCgAgIHRleHQgICAgICAgdGVrc3QtSS9PIGdlYnJ1aWtlbiB2b29yIGRlIGdlZ2V2ZW5zCgAgKHJlc2VydmVrb3BpZTogJXMpACAqIFstXUxDQVNFICAgICAgaGV0emVsZmRlIGFscyAnWy1dbGNhc2UnCgAgKiBbLV1jZHRyZHNyICAgIERUUi9EU1ItaGFuZHNoYWtlIGluc2NoYWtlbGVuCgAgKiBbLV1jbXNwYXIgICAgICJzdGljayItcGFyaXRlaXQgKGFsdGlqZCBhYW4gb2YgdWl0KSBnZWJydWlrZW4KACAqIFstXWNydHNjdHMgICAgUlRTL0NUUy1oYW5kc2hha2UgaW5zY2hha2VsZW4KACAqIFstXWN0bGVjaG8gICAgc3R1dXJ0ZWtlbnMgaW4gZGFramVzbm90YXRpZSBlY2hvw6tuICheYykKACAqIFstXWRlY2N0bHEgICAgaGV0emVsZmRlIGFscyAnWy1daXhhbnknCgAgKiBbLV1kcmFpbiAgICAgIG9wIHZlcnplbmRpbmcgd2FjaHRlbiB2w7PDs3IgdG9lcGFzc2VuIHZhbiBpbnN0ZWxsaW5nZW4gKHN0YW5kYWFyZCAlcykKACAqIFstXWVjaG9jdGwgICAgaGV0emVsZmRlIGFscyAnWy1dY3RsZWNobycKACAqIFstXWVjaG9rZSAgICAgaGV0emVsZmRlIGFscyAnWy1dY3J0a2lsbCcKACAqIFstXWVjaG9wcnQgICAgdmVyd2lqZGVyZGUgdGVrZW5zIGFjaHRlcndhYXJ0cyBlY2hvw6tuLCB0dXNzZW4gJ1wnIGVuICcvJwoAICogWy1dZXh0cHJvYyAgICAiTElORU1PREUiIGluc2NoYWtlbGVuOyBudXR0aWcgYmlqIHplZXIgdHJhZ2UgdmVyYmluZGluZ2VuCgAgKiBbLV1mbHVzaG8gICAgIHVpdHZvZXIgdmVyd2VycGVuCgAgKiBbLV1pbWF4YmVsICAgIHBpZXAgZ2V2ZW4gZW4gZWVuIHZvbGxlIGludm9lcmJ1ZmZlciBuaWV0IGxlZ2VuIGJpaiBlZW4gdGVrZW4KACAqIFstXWl1Y2xjICAgICAgaG9vZmRsZXR0ZXJzIG9temV0dGVuIGluIGtsZWluZSBsZXR0ZXJzCgAgKiBbLV1pdXRmOCAgICAgIGFhbm5lbWVuIGRhdCBpbnZvZXJ0ZWtlbnMgaW4gVVRGLTggZ2Vjb2RlZXJkIHppam4KACAqIFstXWl4YW55ICAgICAgZWxrIHRla2VuIGRlIHVpdHZvZXIgbGF0ZW4gaGVyc3RhcnRlbiwgbmlldCBhbGxlZW4gc3RhcnR0ZWtlbgoAICogWy1dbGNhc2UgICAgICBoZXR6ZWxmZGUgYWxzICd4Y2FzZSBpdWNsYyBvbGN1YycKACAqIFstXW9jcm5sICAgICAgQ1ItdGVrZW4gKG5hYXIgcmVnZWxiZWdpbikgb216ZXR0ZW4gaW4gTEYtdGVrZW4gKG5pZXV3ZXJlZ2VsKQoAICogWy1db2ZkZWwgICAgICBhbHMgb3B2dWxsaW5nIERFTC10ZWtlbnMgZ2VicnVpa2VuIGluIHBsYWF0cyB2YW4gTlVMLXRla2VucwoAICogWy1db2ZpbGwgICAgICB2b29yIHZlcnRyYWdpbmdlbiBvcHZ1bHRla2VucyBnZWJydWlrZW4gaW4gcGxhYXRzIHZhbiBwYXV6ZXMKACAqIFstXW9sY3VjICAgICAga2xlaW5lIGxldHRlcnMgb216ZXR0ZW4gaW4gaG9vZmRsZXR0ZXJzCgAgKiBbLV1vbmxjciAgICAgIExGLXRla2VuIChuaWV1d2VyZWdlbCkgb216ZXR0ZW4gaW4gQ1ItICsgTEYtdGVrZW5zCgAgKiBbLV1vbmxyZXQgICAgICduaWV1d2VyZWdlbCcgdm9lcnQgZWVuICduYWFyIHJlZ2VsYmVnaW4nIHVpdAoAICogWy1db25vY3IgICAgICBnZWVuICduYWFyIHJlZ2VsYmVnaW4nIHVpdHZvZXJlbiB3YW5uZWVyIGluIGRlIGVlcnN0ZSBrb2xvbQoAICogWy1dcHJ0ZXJhc2UgICBoZXR6ZWxmZGUgYWxzICdbLV1lY2hvcHJ0JwoAICogWy1ddG9zdG9wICAgICBhY2h0ZXJncm9uZHRha2VuIHN0b3BwZW4gZGllIG5hYXIgZGUgdGVybWluYWwgd2lsbGVuIHNjaHJpanZlbgoAICogWy1deGNhc2UgICAgICBtZXQgJ2ljYW5vbic6ICdcJyB2b29yIGtsZWluZSBsZXR0ZXIgbWFha3QgaG9vZmRsZXR0ZXIKACAqIGJzTiAgICAgICAgICAgYmFja3NwYWNlLXZlcnRyYWdpbmdzc3Rpamw7IE4gaW4gWzAuLjFdCgAgKiBjb2xzIE4gICAgICAgIGRlIGtlcm5lbCBsYXRlbiB3ZXRlbiBkYXQgZGUgdGVybWluYWwgTiBrb2xvbW1lbiBoZWVmdAogKiBjb2x1bW5zIE4gICAgIGhldHplbGZkZSBhbHMgJ2NvbHMgTicKACAqIGNyTiAgICAgICAgICAgJ2NhcnJpYWdlIHJldHVybictdmVydHJhZ2luZ3NzdGlqbCwgTiBpbiBbMC4uM10KACAqIGNydGtpbGwgICAgICAgZ2VoZWxlIHJlZ2VsIHZlcndpamRlcmVuIHZpYSAnZWNob3BydCcgZW4gJ2VjaG9lJwogKiAtY3J0a2lsbCAgICAgIGdlaGVsZSByZWdlbCB2ZXJ3aWpkZXJlbiB2aWEgJ2VjaG9jdGwnIGVuICdlY2hvaycKACAqIGRpc2NhcmQgVEVLRU4gICAgVEVLRU4gc2NoYWtlbHQgaGV0IHZlcndlcnBlbiB2YW4gZGUgdWl0dm9lciBvbQoAICogZHN1c3AgVEVLRU4gICAgICBURUtFTiB6ZW5kdCBlZW4gdGVybWluYWwtc3RvcHNpZ25hYWwgem9kcmEgaW52b2VyIGxlZWcgaXMKACAqIGVvbDIgVEVLRU4gICAgICAgYWx0ZXJuYXRpZWYgVEVLRU4gdm9vciByZWdlbGJlw6tpbmRpZ2luZwoAICogZmZOICAgICAgICAgICAnZm9ybSBmZWVkJy12ZXJ0cmFnaW5nc3N0aWpsOyBOIGluIFswLi4xXQoAICogbGluZSBOICAgICAgICBsaWpucHJvdG9jb2wgTiBnZWJydWlrZW4KACAqIGxuZXh0IFRFS0VOICAgICAgVEVLRU4gdm9lcnQgaGV0IHZvbGdlbmRlIHRla2VuIGFhbmdlaGFhbGQgaW4KACAqIG5sTiAgICAgICAgICAgbmlldXdlcmVnZWwtdmVydHJhZ2luZ3NzdGlqbDsgTiBpbiBbMC4uMV0KACAqIHJvd3MgTiAgICAgICAgZGUga2VybmVsIGxhdGVuIHdldGVuIGRhdCBkZSB0ZXJtaW5hbCBOIHJpamVuIGhlZWZ0CiAqIHNpemUgICAgICAgICAgaGV0IGFhbnRhbCByaWplbiBlbiBrb2xvbW1lbiB2b2xnZW5zIGRlIGtlcm5lbCB0b25lbgoAICogcnBybnQgVEVLRU4gICAgICBURUtFTiBoZXJzY2hyaWpmdCBkZSBodWlkaWdlIHJlZ2VsCgAgKiBzdGF0dXMgVEVLRU4gICAgIFRFS0VOIHplbmR0IGVlbiBJTkZPLXNpZ25hYWwKACAqIHN3dGNoIFRFS0VOICAgICAgVEVLRU4gc2NoYWtlbHQgbmFhciBlZW4gYW5kZXJlIHNoZWxsLWxhYWcKACAqIHRhYk4gICAgICAgICAgdmVydHJhZ2luZ3NzdGlqbCB2b29yIGhvcml6b250YWxlIHRhYjsgTiBpbiBbMC4uM10KICogdGFicyAgICAgICAgICBoZXR6ZWxmZGUgYWxzICd0YWIwJwogKiAtdGFicyAgICAgICAgIGhldHplbGZkZSBhbHMgJ3RhYjMnCgAgKiB2dE4gICAgICAgICAgIHZlcnRyYWdpbmdzc3Rpamwgdm9vciB2ZXJ0aWNhbGUgdGFiOyBOIGluIFswLi4xXQoAICogd2VyYXNlIFRFS0VOICAgICBURUtFTiB2ZXJ3aWpkZXJ0IGhldCBsYWF0c3QgZ2V0eXB0ZSB3b29yZAoAID8/Oj8/ICAgIAAgVFRZACBjb250ZXh0PSVzACBFR0lEPSVzACBFVUlEPSVzACBHSUQ9JXMAIGdyb2VwZW49ACBvdWQgACB0aWpkZW5zIGhlcmhhbGluZyAlcwoAJSA9MSUgdmFuIGhldCBnZWhldWdlbiwgYiA9MSwgSyA9MTAyNCAoc3RhbmRhYXJkKSwgTSA9MTAyNCoxMDI0LApHID09MTAyNCoxMDI0KjEwMjQsIGVuIHpvIHZlcmRlciB2b29yIFQsIFAsIEUsIFosIGVuIFkuCgoqKldBQVJTQ0hVV0lORyoqOiBEZSB0YWFscmVnaW8gZ2VzcGVjaWZpY2VlcmQgaW4gZGUgb21nZXZpbmcgYmXDr252bG9lZHQgZGUKc29ydGVlcnZvbGdvcmRlLiAgU3RlbCAnTENfQUxMPUMnIGluIHZvb3IgZGUgdHJhZGl0aW9uZWxlIHNvcnRlZXJ2b2xnb3JkZQpkaWUgZGUgZ2V3b25lIGJ5dGV3YWFyZGUgZ2VicnVpa3QuCgAlLipzOiBvbmdlbGRpZ2UgY29udmVyc2llc3BlY2lmaWNhdGllACVlICViICAlWQAlZSAlYiAlSDolTQAlbHUgZ2VicnVpa2VyACVsdSBnZWJydWlrZXJzACVzICh2b29yIHJlZ3VsaWVyZSBleHByZXNzaWUgJXMpACVzIC0+ICVzICh1aXQgcmVzZXJ2ZWtvcGllIGhlcnN0ZWxkKQoAJXMgWy1kXSBpcyBuaWV0IG5vcm1hYWwgZ2XDq2luZGlnZAAlcyBlbiAlcyB6aWpuIGhldHplbGZkZSBiZXN0YW5kACVzIGJlc3RhYXQgbWFhciBpcyBnZWVuIG1hcAAlcyB3ZXJkIHZlcndhY2h0ACVzIHdlcmQgdmVyd2FjaHQsICVzIGdldm9uZGVuACVzIGlzIHZlcnNjaGVuZW47ICBoZXQgbmlldXdlIGJlc3RhbmQgd29yZHQgZ2V2b2xnZAAlcyBpcyB0b2VnYW5rZWxpamsgZ2V3b3JkZW4AJXMgaXMgb250b2VnYW5rZWxpamsgZ2V3b3JkZW4AJXMgaXMgdmVydmFuZ2VuIGRvb3IgZWVuIGJlc3RhbmQgZGF0IG5pZXQgZ2V2b2xnZCBrYW4gd29yZGVuJXMAJXMgaXMgdmVydmFuZ2VuIGRvb3IgZWVuIGJlc3RhbmQtb3AtYWZzdGFuZCBkYXQgbmlldCBnZXZvbGdkIGthbiB3b3JkZW4AJXMgaXMgdmVydmFuZ2VuIGRvb3IgZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyBkaWUgbmlldCBnZXZvbGdkIGthbiB3b3JkZW4AJXMgaXMgdmVydmFuZ2VuOyAgaGV0IG5pZXV3ZSBiZXN0YW5kIHdvcmR0IGdldm9sZ2QAJXMgaGVlZnQgb25iZWtlbmQgYmVzdGFuZHN0eXBlACVzOiBiZXN0YW5kIGhlZWZ0IGVlbiBvbmJydWlrYmFyZSwga2VubmVsaWprIG5lZ2F0aWV2ZSBncm9vdHRlAFdlYnBhZ2luYSB2YW4gJXM6IDwlcz4KACVzIGlzIGdlZW4gZ2VsZGlnIHBvc2l0aWVmIGdlaGVlbCBnZXRhbAAlcyBpcyB0ZSBncm9vdAAlcyBrYW4gYWxsZWVuIHdvcmRlbiBnZWJydWlrdCBpbiBlZW4gU0VMaW51eC1rZXJuZWwAJXMgd2VyZCB2ZXJ2YW5nZW4AJXMgaXMgZ2VzcGVjaWZpY2VlcmQgbWFhciAlcyBuaWV0ACVzIHpvdSBpbnZvZXIgb3ZlcnNjaHJpanZlbiAtLSBnZXN0b3B0AGFyZ3VtZW50ICclMyRzJyB2YW4gJTEkcyUyJHMgaXMgdGUgZ3Jvb3QAJXMtJXMAJXM6ICVzOiByZWdlbG51bW1lciB2YWx0IGJ1aXRlbiBiZXJlaWsAJXM6ICVzOiBnZWVuIG92ZXJlZW5rb21zdCBnZXZvbmRlbgAlczogJXM6JXM6IHdhbm9yZGU6IAAlczogJ30nIGlzIHZlcmVpc3QgYmlqIGVlbiBoZXJoYWxpbmdzYWFudGFsAHR3ZWV6aWpkaWdlIG9wZXJhdG9yIHdlcmQgdmVyd2FjaHQsICVzIGdldm9uZGVuACVzOiBrYW4gcmVsYXRpZXZlIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIGFsbGVlbiBpbiBodWlkaWdlIG1hcCBtYWtlbgAlczoga2FuIG5pZXQtYmxva2tlcmVuZGUgbW9kdXMgbmlldCB3aWp6aWdlbgAlczoga2FuIGRlIGJlc3RhbmRzZ3Jvb3R0ZSBuaWV0IGFjaHRlcmhhbGVuACVzOiBrYW4gaGV0IGVpbmRlIHZhbiBkaXQgdHlwZSBiZXN0YW5kIG5pZXQgdm9sZ2VuJXMAJXM6IGthbiBlZW4gbWFwIG5pZXQgb3ZlcnNjaHJpanZlbgAlczoga2FuIG5pZXQgdGVydWdzcG9lbGVuACVzOiBrYW4gZ2VlbiAnc2VlaycgZG9lbgAlczoga2FuIG5pZXQgbmFhciBlaW5kLXJlbGF0aWV2ZSBwb3NpdGllICVzIHNwcmluZ2VuACVzOiBrYW4gbmlldCBuYWFyIHBvc2l0aWUgJXMgc3ByaW5nZW4AJXM6IGthbiBuaWV0IG5hYXIgcmVsYXRpZXZlIHBvc2l0aWUgJXMgc3ByaW5nZW4AJXM6IGthbiBlZW4gYWxsZWVuLXRvZXZvZWdlbi1iZXN0YW5kIG5pZXQgdmVybmlldGlnZW4AJXM6IGthbiBuaWV0IG92ZXJzbGFhbgAlczoga2FuIG5pZXQgbmFhciBkZSBnZWdldmVuIHBvc2l0aWUgc3ByaW5nZW4AJXM6IGFmc2x1aXRlbmQgc2NoZWlkaW5nc3Rla2VuICclYycgb250YnJlZWt0ACVzOiBrYW4gbmlldC1ibG9ra2VyZW5kZSBtb2R1cyBuaWV0IGhlcnN0ZWxsZW4AJXM6IGFmZGFsZW4gaW4gbWFwICVzPyAAJXM6IGFmZGFsZW4gaW4gdm9vciBzY2hyaWp2ZW4gYmVzY2hlcm1kZSBtYXAgJXM/IAAlczogZWluZGUgdmFuIGJlc3RhbmQAJXM6IGRlIGluaG91ZCB2YW4gZWVuIGVxdWl2YWxlbnRpZWtsYXNzZSBtb2V0IGVlbiBlbmtlbCB0ZWtlbiB6aWpuACVzOiBmb3V0IGJpaiBpbnN0ZWxsZW4gdmFuICVzACVzOiBmb3V0IGJpaiBpbmtvcnRlbgAlczogZm91dCB0aWpkZW5zIHNjaHJpanZlbiBvcCBwb3NpdGllICVzACVzOiBlZW4gbnVtZXJpZWtlIHdhYXJkZSB3ZXJkIHZlcndhY2h0AHNsdWl0ZW4gdmFuICVzIGlzIG1pc2x1a3QAJXM6IGthbiAnZXh0ZW50cyctaW5mb3JtYXRpZSBuaWV0IHZlcmtyaWpnZW4Ab3BlbmVuIHZvb3Igc2NocmlqdmVuIHZhbiAlcyBpcyBtaXNsdWt0AHZlcndpamRlcmVuIHZhbiAlcyBpcyBtaXNsdWt0ACVzOiBtYW5pcHVsZXJlbiB2YW4gYmVzdGFuZHNkZXNjcmlwdG9yIGlzIG1pc2x1a3QAJXM6IHN5bmNocm9uaXNhdGllIHZhbiBkYXRhIGluIGdlaGV1Z2VuIGVuIG9wIHNjaGlqZiAoZmRhdGFzeW5jKSBpcyBtaXNsdWt0ACVzOiBiZXN0YW5kIGhlZWZ0IGVlbiBuZWdhdGlldmUgZ3Jvb3R0ZQAlczogYmVzdGFuZCBpcyB0ZSB2ZWVsIGdlc2xvbmtlbgAlczogYmVzdGFuZCBpcyB0ZSBncm9vdAAlczogYmVzdGFuZCBpcyB0ZSBsYW5nACVzOiBiZXN0YW5kIGlzIGluZ2Vrb3J0ACVzOiBvcHZyYWdlbiB2YW4gYmVzdGFuZHNzdGF0dXMgaXMgbWlzbHVrdAAlczogc3luY2hyb25pc2F0aWUgdmFuIGRhdGEgaW4gZ2VoZXVnZW4gZW4gb3Agc2NoaWpmIChmc3luYykgaXMgbWlzbHVrdAAlczogZWVuIGhhcmRlIGtvcHBlbGluZyBuYWFyIGVlbiBtYXAgaXMgbmlldCB0b2VnZXN0YWFuACVzOiBpbnZvZXIgYmV2YXQgZWVuIGx1czoAJXM6IGludm9lciBiZXZhdCBlZW4gb25ldmVuIGFhbnRhbCBlbGVtZW50ZW4AJXM6IGludm9lcmJlc3RhbmQgaXMgZ2VsaWprIGFhbiB1aXR2b2VyYmVzdGFuZAAlczogZ2VoZWVsIGdldGFsIHZlcndhY2h0IG5hIHNjaGVpZGluZ3N0ZWtlbgAlczogb25nZWxkaWcgYWFudGFsIGJpaiBoZXQgYmVnaW4gdmFuICVzACVzOiBvbmdlbGRpZ2UgZGlyZWN0aWVmACVzOiBvbmdlbGRpZ2UgdmVsZHNwZWNpZmljYXRpZSAlcwAlczogb25nZWxkaWcgYmVzdGFuZHN0eXBlACVzOiBvbmdlbGRpZ2Ugb3B0aWUgLS0gJyVjJwoAJXM6IG9uZ2VsZGlnIHBhdHJvb24Ab25nZWxkaWcgcHJvY2VzLUlEOiAlcwAlczogb25nZWxkaWdlIHJlZ3VsaWVyZSBleHByZXNzaWU6ICVzAG9uZ2VsZGlnIHNpZ25hYWw6ICVzACVzOiBvbmdlbGRpZ2Ugc3RhcnR3YWFyZGUgdm9vciBudW1lcmllayBhY2h0ZXJ2b2Vnc2VsACVzOiByZWdlbG51bW1lciBtb2V0IGdyb3RlciB6aWpuIGRhbiBudWwAJXM6IHJlZ2VsbnVtbWVyIHZhbHQgYnVpdGVuIGJlcmVpawAlczogJ2xzZWVrJyBpcyBtaXNsdWt0AG1lZXIgZGFuIMOpw6luIHNpZ25hYWwgZ2VnZXZlbjogJXMAJXM6IG5pZXV3ZSB0b2VnYW5nc3JlY2h0ZW4gemlqbiAlcywgbmlldCAlcwAlczogZ2VlbiBlbmtlbCBiZXN0YW5kIHdlcmQgZ2Vjb250cm9sZWVyZAAlczogZ2VlbiBjb3JyZWN0IG9wZ2VtYWFrdGUgcmVnZWxzIG1ldCAlcy1jb250cm9sZXNvbW1lbiBnZXZvbmRlbgAlczogZXIgaXMgZ2VlbiBncm9vdHRlLWluZm9ybWF0aWUgdm9vciBkaXQgYXBwYXJhYXQAJXM6IG9uYmVrZW5kZSBnZWJydWlrZXIAcmVlZHMgZ2V0b29uZGUgbWFwICVzIHdvcmR0IG5pZXQgb3BuaWV1dyBnZXRvb25kACVzOiBhYW50YWwgYnl0ZXMgaXMgdGUgZ3Jvb3QAJXM6IG9wdGllIHZlcmVpc3QgZWVuIGFyZ3VtZW50IC0tICclYycKACVzOiAlcyBvdmVyc2NocmlqdmVuPyAAJXM6IGRvb3Jsb29wICVsdS8lbHUgKCVzKS4uLgAlczogZG9vcmxvb3AgJWx1LyVsdSAoJXMpLi4uJXMAJXM6IGRvb3Jsb29wICVsdS8lbHUgKCVzKS4uLiVzLyVzICVkJSUAJXM6IGZvdXQgYmlqIGxlemVuACVzOiAlcyAlcyB2ZXJ3aWpkZXJlbj8gACVzOiAlcyAlcyAoc2NocmlqZmJldmVpbGlnZCkgdmVyd2lqZGVyZW4/IAAlcyBpcyB2ZXJ3aWpkZXJkAHZlcndpamRlcmVuIHZhbiAlcwAlcyBpcyBoZXJub2VtZCB0b3QgJXMAJXM6ICVzIHRvY2ggdmVydmFuZ2VuLCBtb2R1cyAlMDRsbyAoJXMpIG5lZ2VyZW4/IAAlczogJXMgdmVydmFuZ2VuPyAAJXM6ICdzZWVrJyBpcyBtaXNsdWt0ACVzOiB0ZSB2ZWVsIHJlZ2VscyBtZXQgY29udHJvbGVzb21tZW4AJXM6IGthbiBtYXhpbXVtIGxlbmd0ZSB2YW4gZWVuIGJlc3RhbmRzbmFhbSBuaWV0IGJlcGFsZW4AJXM6IGthbiBuaWV0IGFsbGUgZ2V2cmFhZ2RlIGFjdGllcyB1aXR2b2VyZW4AZWVuemlqZGlnZSBvcGVyYXRvciB3ZXJkIHZlcndhY2h0LCAlcyBnZXZvbmRlbgAlczogb25iZWtlbmRlIHR3ZWV6aWpkaWdlIG9wZXJhdG9yACVzOiAlcyBpcyBvbnNjaHJpamZiYWFyIChtb2R1cyAlMDRsbywgJXMpOyB0b2NoIHByb2JlcmVuPyAAJXM6IHdhYXJkZSBpcyBuaWV0IHZvbGxlZGlnIGdlY29udmVydGVlcmQAJXM6IGZvdXQgYmlqIHNjaHJpanZlbgAlczogc2NocmlqdmVuIGlzIG1pc2x1a3QAJXM6JWx1OiBvbmdlbGRpZ2UgcmVnZWw7ICB0d2VlZGUgdG9rZW4gb250YnJlZWt0ACVzOiVsdTogb25nZWxkaWdlIGJlc3RhbmRzbmFhbSAobGVuZ3RlIG51bCkAJXM6JWx1OiBuaWV0LWhlcmtlbmQgc2xldXRlbHdvb3JkICVzACVzfTogZ2VoZWVsIGdldGFsIGlzIHZlcmVpc3QgdHVzc2VuICd7JyBlbiAnfScA4oCZACctJWMnLCBvdmVydG9sbGlnZSB0ZWtlbnMgb2Ygb25nZWxkaWcgZ2V0YWwgaW4gaGV0IGFyZ3VtZW50OiAlcwBvbnRicmVrZW5kIGFyZ3VtZW50IGluICctLXBhZ2VzPUVFUlNURVs6TEFBVFNURV0nACctTiBBQU5UQUwnLCBvbmdlbGRpZyBiZWdpbnJlZ2VsbnVtbWVyACctVyBQQUdJTkFCUkVFRFRFJywgb25nZWxkaWcgYWFudGFsIHRla2VucwAnLWwgUEFHSU5BTEVOR1RFJywgb25nZWxkaWcgYWFudGFsIHJlZ2VscwAnLW8gTUFSR0UnLCBvbmdlbGRpZ2UgcmVnZWxwb3NpdGllACctdyBQQUdJTkFCUkVFRFRFJywgb25nZWxkaWcgYWFudGFsIHRla2VucwAnLycgc3RhYXQgbmlldCBhYW4gYmVnaW4gdmFuIGdldGFsOiAlcwAnLycgaXMgYWxsZWVuIHRvZWdlc3RhYW4gYmlqIGRlIGxhYXRzdGUgd2FhcmRlAMKpACogYmVzdGFuZHNzeXN0ZW1lbiBkaWUgZWVuIGNhY2hlIGJpamhvdWRlbiBpbiB0aWpkZWxpamtlIGxvY2F0aWVzLAogIHpvYWxzIHZlcnNpZSAzIE5GUy1jbGnDq250ZW4KCiogZ2Vjb21wcmltZWVyZGUgYmVzdGFuZHNzeXN0ZW1lbgoKACogbG9nLSBvZiBqb3VybmFsLWJlc3RhbmRzc3lzdGVtZW4sIHpvYWxzIG1lZWdlbGV2ZXJkIG1ldCBBSVggZW4gU29sYXJpcwogIChlbiBvb2sgRXh0MywgRXh0NCwgSkZTLCBSZWlzZXJGUywgWEZTIGVuem92b29ydCkKCiogYmVzdGFuZHNzeXN0ZW1lbiBkaWUgcmVkdW5kYW50ZSBnZWdldmVucyB3ZWdzY2hyaWp2ZW4gZW4gemVsZnMgZG9vcmdhYW4gYWxzCiAgaGV0IHNjaHJpanZlbiBmb3V0IGdhYXQsIHpvYWxzIFJBSUQtZ2ViYXNlZXJkZSBiZXN0YW5kc3N5c3RlbWVuCgoqIGJlc3RhbmRzc3lzdGVtZW4gZGllIHNuYXBzaG90cyBtYWtlbiwgem9hbHMgTkZTLXNlcnZlciB2YW4gTmV0d29yayBBcHBsaWFuY2UKCgAsICBnZW1pZGRlbGRlIGJlbGFzdGluZzogJS4yZgBhcmd1bWVudCAlMiRzIHZhbiAnLS0lMSRzJyBpcyB0ZSBncm9vdABvcHRpZSAnLS1jb250ZXh0JyAoLVopIHdlcmt0IGFsbGVlbiBpbiBlZW4ga2VybmVsIG1ldCBTRUxpbnV4AG9wdGllICctLWNvbnRleHQnICgtWikgd2Vya3QgYWxsZWVuIGluIGVlbiBrZXJuZWwgbWV0IFNFTGludXggb2YgU01BQ0sAb3B0aWUgJy0tZGF0YScgdmVyZWlzdCBtaW5zdGVucyDDqcOpbiBhcmd1bWVudABvcHRpZSAnLS1maWx0ZXInIGJld2Vya3QgZ2VlbiBicm9ra2VuIGRpZSBuYWFyIHN0YW5kYWFyZHVpdHZvZXIgZ2FhbgBkZSBvcHZ1bGxpbmcgdmFuICctLWZvcm1hdCcgb3ZlcnRyb2VmdCAnLS1wYWRkaW5nJwBvcHRpZSAnLS1ncm91cCcgZ2FhdCBuaWV0IHNhbWVuIG1ldCAnLWMnLCAnLWQnLCAnLUQnIGVuICctdScAZGUgb3B0aWVzICctLWdyb3VwaW5nJyBlbiAnLS1mb3JtYXQnIGdhYW4gbmlldCBzYW1lbgBvcHRpZSAnLS1oZWFkZXInIHdvcmR0IGdlbmVnZWVyZCBtZXQgaW52b2VyIG9wIGRlIG9wZHJhY2h0cmVnZWwAb3B0aWUgJy0tcmVmbGluaycga2FuIGFsbGVlbiB3b3JkZW4gZ2VicnVpa3QgbWV0ICctLXNwYXJzZT1hdXRvJwBvcHRpZSAnLS10YWcnIGdhYXQgbmlldCBzYW1lbiBtZXQgJy0tdGV4dCcAZGUgY29tYmluYXRpZSAnLVIgLS1kZXJlZmVyZW5jZScgdmVyZWlzdCBvZiAnLUgnIG9mICctTCcAZGUgY29tYmluYXRpZSAnLVIgLWgnIHZlcmVpc3QgJy1QJwAnLWVmJyBhY2NlcHRlZXJ0IGdlZW4gJy1sJwAnLW50JyBhY2NlcHRlZXJ0IGdlZW4gJy1sJwAnLW90JyBhY2NlcHRlZXJ0IGdlZW4gJy1sJwBvcHRpZSAnLXInIGlzIG5pZXQgZ2VnZXZlbjsgbWFwICVzIHdvcmR0IG92ZXJnZXNsYWdlbgA7IGdlc3RvcHQgbWV0IHZvbGdlbiB2YW4gZGV6ZSBuYWFtADxpbnRlcm4+AChvbmJla2VuZCkKAChvbmJla2VuZCkAQWZnZWJyb2tlbgBUb2VnYW5nOiAgICV4Ckdld2lqemlnZDogJXkKVmVyYW5kZXJkOiAlegpPbnRzdGFhbjogICV3CgBUb2VnYW5nOiAoJTA0YS8lMTAuMTBBKSAgIFVJRDogKCU1dS8lOFUpICAgR0lEOiAoJTVnLyU4RykKAEFkcmVzZmFtaWxpZSB2b29yIGhvc3RuYWFtIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQAV2Vra2VyAEFsZXggRGV5bW8AQWxsZSB2ZXJ6b2VrZW4gemlqbiBnZWRhYW4AQXJndW1lbnRlbmJ1ZmZlciBpcyB0ZSBrbGVpbgBBcm5vbGQgUm9iYmlucwBBc3NhZiBHb3Jkb24AQmVzY2gAQmVzY2hpa2JhYXIAT25qdWlzdGUgc3lzdGVlbWFhbnJvZXAAT25nZWxkaWdlIHdhYXJkZSB2b29yICdhaV9mbGFncycAQnJpYW4gRm94AEdlYnJva2VuIHBpanAAQnVzZm91dABXQUFSU0NIVVdJTkc6IEhldCBjb21tYW5kbyAnc2hyZWQnIG5lZW10IGFhbiBkYXQgaGV0IGJlc3RhbmRzc3lzdGVlbSBkZQpiZXN0YW5kc2luaG91ZCB0ZXIgcGxla2tlIG92ZXJzY2hyaWpmdC4gIERpdCBpcyBkZSB0cmFkaXRpb25lbGUgbWFuaWVyCnZhbiBkb2VuLCBtYWFyIHZlZWwgbW9kZXJuZSBiZXN0YW5kc3N5c3RlbWVuIHdlcmtlbiBuaWV0IG1lZXIgem8uCk9wIGRlIHZvbGdlbmRlIGJlc3RhbmRzc3lzdGVtZW4gaXMgJ3NocmVkJyBuaWV0IGVmZmVjdGllZiBvZiBpcyBoZXQKbmlldCBnZWdhcmFuZGVlcmQgZGF0IGhldCB3ZXJrdCBpbiBlbGtlIG1vZHVzIHZhbiBoZXQgYmVzdGFuZHNzeXN0ZWVtOgoKAE5PVElUSUUATGltaWV0IG9wIHByb2Nlc3NvcnRpamQgaXMgb3ZlcnNjaHJlZGVuAE1hYWt0IGVlbiBoYXJkZSBrb3BwZWxpbmcgbWV0IGRlIG5hYW0gQkVTVEFORDIgbmFhciBiZXN0YWFuZCBCRVNUQU5EMS4KCgBWZXJ3aWpkZXJ0IGhldCBnZWdldmVuIEJFU1RBTkQgdmlhIGRlIHVubGluaygpLWZ1bmN0aWUuCgoAVnVsZ3JhYWQAVmVyYW5kZXJ0IGRlIFNFTGludXgtYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gZWxrIGdlZ2V2ZW4gQkVTVEFORCBuYWFyIENPTlRFWFQuCgpBbHMgJy0tcmVmZXJlbmNlJyBnZWdldmVuIGlzLCBkYW4gd29yZHQgZGUgYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gZWxrIEJFU1RBTkQKdmVyYW5kZXJkIG5hYXIgZGllIHZhbiBSRUZFUkVOVElFQkVTVEFORC4KAERlIGJldmVpbGlnaW5nc2NvbnRleHQgdmFuIGVsayBnZWdldmVuIEJFU1RBTkQgdmVyYW5kZXJlbiBuYWFyIENPTlRFWFQuCkFscyAnLS1yZWZlcmVuY2UnIGdlZ2V2ZW4gaXMsIGRhbiBkZSBiZXZlaWxpZ2luZ3Njb250ZXh0IHZhbiBlbGsgQkVTVEFORAp2ZXJhbmRlcmVuIG5hYXIgZGllIHZhbiBSRUZFUkVOVElFQkVTVEFORC4KCgBEZSBiZXZlaWxpZ2luZ3Njb250ZXh0IHZhbiBlbGsgZ2VnZXZlbiBCRVNUQU5EIHZlcmFuZGVyZW4gbmFhciBDT05URVhULgpBbHMgJy0tcmVmZXJlbmNlJyBnZWdldmVuIGlzLCBkYW4gZGUgYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gZWxrIEJFU1RBTkQKdmVyYW5kZXJlbiBuYWFyIGRpZSB2YW4gUkVGRVJFTlRJRUJFU1RBTkQuCgoARGUgZWlnZW5hYXIgZW4vb2YgZ3JvZXAgdmFuIGVsayBnZWdldmVuIEJFU1RBTkQgdmVyYW5kZXJlbiBuYWFyIGRlIGdlZ2V2ZW4KRUlHRU5BQVIgZW4vb2YgR1JPRVAsIG9mIG5hYXIgZGUgZWlnZW5hYXIgZW4gZ3JvZXAgdmFuIFJFRkVSRU5USUVCRVNUQU5ELgoKAENoZXQgUmFtZXkARG9jaHRlcnByb2NlcyBpcyBhZmdlc2xvdGVuAENvbGluIFBsdW1iAFZlcmdlbGlqa3QgZGUgZ2Vzb3J0ZWVyZGUgYmVzdGFuZGVuIEJFU1RBTkQxIGVuIEJFU1RBTkQyIHJlZ2VsIHZvb3IgcmVnZWwuCgBTdHV1cnQgZ2VnZXZlbiBCRVNUQU5EKGVuIGFjaHRlciBlbGthYXIpIG5hYXIgc3RhbmRhYXJkdWl0dm9lci4KAENvbnRleHQ6ICAgJUMKAERvb3JnZWdhYW4AU3R1dXJ0IGVsayBCRVNUQU5EIG5hYXIgc3RhbmRhYXJkdWl0dm9lciBtZXQgd2l0cnVpbXRlIGdlY29udmVydGVlcmQgbmFhciB0YWJzLgoAU3R1dXJ0IGVsayBCRVNUQU5EIG5hYXIgc3RhbmRhYXJkdWl0dm9lciBtZXQgdGFicyBnZWNvbnZlcnRlZXJkIG5hYXIgc3BhdGllcy4KAEtvcGllZXJ0IGVlbiBCUk9OIG5hYXIgZWVuIEJFU1RFTU1JTkcsIG9mIEJST04obmVuKSBuYWFyIGVlbiBNQVAuCgBLb3BpZWVydCBzdGFuZGFhcmRpbnZvZXIgbmFhciBlbGsgZ2VnZXZlbiBCRVNUQU5ELCDDqW4gbmFhciBzdGFuZGFhcmR1aXR2b2VyLgoKICAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFhbiBCRVNUQU5EKGVuKSB0b2V2b2VnZW4sIG5pZXQgb3ZlcnNjaHJpanZlbgogIC1pLCAtLWlnbm9yZS1pbnRlcnJ1cHRzICAgaW50ZXJydXB0c2lnbmFsZW4gbmVnZXJlbgoARWVuIHRpamRlbGlqayBiZXN0YW5kIG9mIG1hcCBvcCBlZW4gdmVpbGlnZSBtYW5pZXIgYWFubWFrZW4gZW4gZGUgbmFhbSB0b25lbi4KU0pBQkxPT04gbW9ldCBtaW5zdGVucyAzIGVsa2FhciBvcHZvbGdlbmRlIFgtZW4gYmV2YXR0ZW4gaW4gZGUgbGFhdHN0ZSBjb21wb25lbnQuCkFscyBnZWVuIFNKQUJMT09OIGdlZ2V2ZW4gaXMsIHdvcmR0ICd0bXAuWFhYWFhYWFhYWCcgZ2VicnVpa3QgZW4gaXMgJy0tdG1wZGlyJwppbXBsaWNpZXQuCgBNYWFrdCB2b29yIGVsa2UgZ2VnZXZlbiBOQUFNIGVlbiBiZW5vZW1kZSBwaWpwIChGSUZPKSBhYW4uCgBNYWFrdCBkZSBnZWdldmVuIE1BUChwZW4pIGFhbiAoYWxzIHplIG5vZyBuaWV0IGJlc3RhYW4pLgoATWFha3QgaGV0IHNwZWNpYWxlIGJlc3RhbmQgTkFBTSBhYW4gdmFuIGhldCBnZWdldmVuIFRZUEUuCgBEYXZpZCBNLiBJaG5hdABEYXZpZCBNYWNLZW56aWUARGF2aWQgTWFkb3JlAEFwcGFyYWF0OiAlRGgvJWRkICAgSW5vZGU6ICUtMTBpICAgS29wcGVsaW5nZW46ICUtNWggICBBcHBhcmFhdHR5cGU6ICV0LCVUCgBBcHBhcmFhdDogJURoLyVkZCAgIElub2RlOiAlLTEwaSAgIEtvcHBlbGluZ2VuOiAlaAoAQ29udHJvbGVlcnQgb3Agb25nZWxkaWdlIG9mIG5pZXQtb3ZlcmRyYWFnYmFyZSBiZXN0YW5kc25hbWVuLgoKICAtcCAgICAgICAgICAgICAgICAgIGNvbnRyb2xlIHVpdHZvZXJlbiB2b29yIGRlIG1lZXN0ZSBQT1NJWC1zeXN0ZW1lbgogIC1QICAgICAgICAgICAgICAgICAgY29udHJvbGUgdWl0dm9lcmVuIG9wIGxlZ2UgbmFtZW4gb2YgIi0iIHZvb3JhYW4KICAgICAgLS1wb3J0YWJpbGl0eSAgIGNvbnRyb2xlIHZvb3IgYWxsZSBQT1NJWC1zeXN0ZW1lbiAoaGV0emVsZmRlIGFscyAtcCAtUCkKAE1hcDogAFRvb250IGRlIHN0YXR1cyB2YW4gZWVuIGJlc3RhbmQgKG9mIHZhbiBlZW4gYmVzdGFuZHNzeXN0ZWVtKS4KAFRvb250IGRlIGh1aWRpZ2UgZGF0dW0gZW4vb2YgdGlqZCAoaW4gZGUgZ2VnZXZlbiBPUE1BQUspLApvZiBzdGVsdCBkZSBzeXN0ZWVtZGF0dW0gZW4vb2YgLXRpamQgaW4gKE1hYW5kLCBEYWcsIHVyZW4sIG1pbnV0ZW4pLgoARG1pdHJ5IFYuIExldmluAEVNVC1pbnN0cnVjdGllAEFGU0xVSVRJTkcARWVuIGJlcmVpayBrYW4gemlqbjoKICBOICAgICBOLWRlIGJ5dGUsIHRla2VuIG9mIHZlbGQgKHRlbGxlbmQgdmFuYWYgMSkKICBOLSAgICB2YW4gTi1kZSBieXRlLCB0ZWtlbiBvZiB2ZWxkLCB0b3QgaGV0IGVpbmRlIHZhbiBkZSByZWdlbAogIE4tTSAgIHZhbiBOLWRlIHRvdCBlbiBtZXQgTS1kZSBieXRlLCB0ZWtlbiBvZiB2ZWxkCiAgLU0gICAgdmFuIGVlcnN0ZSB0b3QgZW4gbWV0IE0tZGUgYnl0ZSwgdGVrZW4gb2YgdmVsZAoAU3R1dXJ0IGRlIGdlZ2V2ZW4gVEVLRU5SRUVLUyhlbikgbmFhciBzdGFuZGFhcmR1aXR2b2VyLgoKICAtbiAgICBnZWVuIG5pZXV3ZXJlZ2VsLXRla2VuIGFjaHRlcnZvZWdlbgoARXJpYyBCbGFrZQBWb2VydCBoZXQgZ2VnZXZlbiBpbmdlYm91d2RlIFBST0dSQU1NQSB1aXQgbWV0IGRlIGdlZ2V2ZW4gQVJHVU1FTlRFTi4KCgBFaW5kaWd0IG1ldCBkZSBhZnNsdWl0d2FhcmRlIGRpZSBtaXNsdWtraW5nIGFhbmdlZWZ0LgBFaW5kaWd0IG1ldCBkZSBhZnNsdWl0d2FhcmRlIGRpZSBzdWNjZXMgYWFuZ2VlZnQuAEVpbmRpZ3QgbWV0IGRlIGFmc2x1aXR3YWFyZGUgZGllIGJlcGFhbGQgd29yZHQgZG9vciBkZSBnZWdldmVuIEVYUFJFU1NJRS4KCgBGcmFuw6dvaXMgUGluYXJkAFZFUktFRVJEAG9wZW5lbiBvZiBsZXplbiBpcyBNSVNMVUtUAChvbmJla2VuZCkAT1BNQUFLIG1vZXQgcGFzc2VuZCB6aWpuIHZvb3IgaGV0IHRvbmVuIHZhbiDDqcOpbiBhcmd1bWVudCB2YW4gaGV0IHR5cGUgJ2RvdWJsZSc7CmRlIHN0YW5kYWFyZG9wbWFhayBpcyAlLlBSRUNmIGFscyBFRVJTVEUsIFNUQVAgZW4gTEFBVFNURSBhbGxlbWFhbCBkZWNpbWFsZQp2YXN0ZWtvbW1hZ2V0YWxsZW4gemlqbiBtZXQgZWVuIG1heGltYWxlIHByZWNpc2llIFBSRUMsIGFuZGVycyAlZy4KAEZJRk8ncyBoZWJiZW4gZ2VlbiBob29mZC0gZW4gc3ViYXBwYXJhYXRudW1tZXJzLgBCZXN0YW5kAExpbWlldCBvcCBiZXN0YW5kc2dyb290dGUgaXMgb3ZlcnNjaHJlZGVuAEJlc3RhbmRlbiB3b3JkZW4gYWFuZ2VtYWFrdCBtZXQgZGUgdG9lZ2FuZ3NyZWNodGVuIHUrcncsCmVuIG1hcHBlbiBtZXQgdStyd3gsIG1pbnVzIGRlICd1bWFzayctcmVzdHJpY3RpZXMuCgBCZXN0YW5kc3N5c3RlZW0ARmlsdGVydCBkdXBsaWNhdGVuIHZhbiB2b29yZ2FhbmRlIHJlZ2VscyB1aXQgSU5WT0VSIChvZiBzdGFuZGFhcmRpbnZvZXIpCmVuIHNjaHJpamZ0IG5hYXIgVUlUVk9FUiAob2Ygc3RhbmRhYXJkdWl0dm9lcikuCgpab25kZXIgb3B0aWVzIHdvcmRlbiBpZGVudGlla2UgcmVnZWxzIHNhbWVuZ2VkcnVrdCB0b3Qgw6nDqW4gdm9vcmtvbWVuLgoARHJpanZlbmRla29tbWEtYmVyZWtlbmluZ3Nmb3V0AFN0dXVydCB2b29yIGVsayBwYWFyIGludm9lcnJlZ2VscyBtZXQgaWRlbnRpZWtlIHNhbWVudm9lZ3ZlbGRlbiBlZW4gcmVnZWwKbmFhciBzdGFuZGFhcmR1aXR2b2VyLiAgSGV0IHN0YW5kYWFyZCBzYW1lbnZvZWd2ZWxkIGlzIGhldCBlZXJzdGUgdmVsZCwKYWZnZWJha2VuZCBkb29yIHNwYXRpZXMgb2YgdGFicy4KAFZvbGxlZGlnZSBkb2N1bWVudGF0aWUgaXMgYmVzY2hpa2JhYXIgb3A6IDwlcyVzPgoAR2l1c2VwcGUgU2NyaXZhbm8ASC4gUGV0ZXIgQW52aW4AT3BnZWhhbmdlbgBJbi0vdWl0dm9lciBpcyBtb2dlbGlqawBMRURJRwBJVnJpagBJR2ViJQBJR2VicgBJYW4gTGFuY2UgVGF5bG9yAExlZGlnAEFscyBnZWVuIEJFU1RBTkQgZ2VnZXZlbiBpcywgd29yZHQgJXMgZ2VicnVpa3QuCkdld29vbmxpamsgd29yZHQgJXMgYWxzIEJFU1RBTkQgbWVlZ2VnZXZlbi4KCgBPbmdlbGRpZ2UgaW5zdHJ1Y3RpZQBTcGllZ2VsbG9jYXRpZXMgZW4gcmVzZXJ2ZWtvcGllw6tuIHZhbiBiZXN0YW5kc3N5c3RlbWVuIGt1bm5lbiBrb3BpZcOrbiB2YW4KdmVybmlldGlnZGUgYmVzdGFuZGVuIGJldmF0dGVuIGRpZSBkb29yICdzaHJlZCcgbmlldCBnZXppZW4gd29yZGVuLCB6b2RhdApoZXQgZHVzIG1vZ2VsaWprIGlzIGRhdCBkZSBiZXN0YW5kZW4gbGF0ZXIgdG9jaCBoZXJzdGVsZCB3b3JkZW4uCgBFY2h0ZSBuYWFtOiAAICAKSW4gZGUgMXN0ZSB2b3JtOiBlZW4ga29wcGVsaW5nIG5hYXIgRE9FTCBtYWtlbiBtZXQgZGUgbmFhbSBLT1BQRUxJTkdTTkFBTS4KSW4gZGUgMmRlIHZvcm06IGVlbiBrb3BwZWxpbmcgbmFhciBET0VMIG1ha2VuIChtZXQgemVsZmRlIG5hYW0sIGluIGh1aWRpZ2UgbWFwKS4KSW4gZGUgM2RlIGVuIDRkZSB2b3JtOiBrb3BwZWxpbmdlbiBtYWtlbiBpbiBNQVAgbmFhciBlbGsgZ2VnZXZlbiBET0VMLgoKU3RhbmRhYXJkIHdvcmR0IGVlbiBoYXJkZSBrb3BwZWxpbmcgZ2VtYWFrdCwgbWV0ICctcycgZWVuIHN5bWJvbGlzY2hlOyBlbgpzdGFuZGFhcmQgaG9vcnQgZGUgS09QUEVMSU5HU05BQU0gKG5hYW0gdmFuIG5pZXV3ZSBsaW5rKSBub2cgbmlldCB0ZSBiZXN0YWFuLgpCaWogaGV0IG1ha2VuIHZhbiBlZW4gaGFyZGUga29wcGVsaW5nIG1vZXQgZWxrIERPRUwgYmVzdGFhbi4gIFN5bWJvbGlzY2hlCmtvcHBlbGluZ2VuIGt1bm5lbiBlZW4gd2lsbGVrZXVyaWdlIHRla3N0IGJldmF0dGVuLiAgQmlqIGhldCBsYXRlciBoZXJsZWlkZW4Kd29yZHQgZWVuIHJlbGF0aWV2ZSBrb3BwZWxpbmcgZ2XDr250ZXJwcmV0ZWVyZCBpbiByZWxhdGllIHRvdCBoYWFyIG91ZGVyLW1hcC4KAEluIGhldCBnZXZhbCB2YW4gaGV0IGV4dDMtYmVzdGFuZHNzeXN0ZWVtIGlzIGRlIGJvdmVuc3RhYW5kZSB1aXR6b25kZXJpbmcgdmFuCnRvZXBhc3NpbmcgKGVuIGlzICdzaHJlZCcgZHVzIGJlcGVya3QgZWZmZWN0aWVmKSBlbmtlbCBpbiBkZSBtb2R1cyBkYXRhPWpvdXJuYWwsCndhYXJiaWogYmVoYWx2ZSB2YW4gZGUgbWV0YWdlZ2V2ZW5zIG9vayB2YW4gZGUgYmVzdGFuZHNnZWdldmVucyBlZW4gam91cm5hbApnZW1hYWt0IHdvcmR0LiAgSW4gZGUgbW9kdXNzZW4gZGF0YT1vcmRlcmVkIChzdGFuZGFhcmQpIGVuIGRhdGE9d3JpdGViYWNrIHdlcmt0CidzaHJlZCcgbm9ybWFhbC4gIERlIGV4dDMtam91cm5hbC1tb2R1cyBrYW4gZ2V3aWp6aWdkIHdvcmRlbiBkb29yIGluIC9ldGMvZnN0YWIKZWVuIG9wdGllICdkYXRhPUlFVFMnIG9wIHRlIG5lbWVuIGJpaiBkZSBtb3VudC1vcHRpZXMgdm9vciBlZW4gYmVzdGFuZHNzeXN0ZWVtLAp6b2FscyBnZWRvY3VtZW50ZWVyZCBpbiBkZSBtYW4tcGFnaW5hIHZhbiBtb3VudCAoJ21hbiBtb3VudCcpLgoKAG9uZWluZGlnAFZlcnpvZWsgb20gaW5mb3JtYXRpZQBJLW5vZGVzAE9uZGVyYnJva2VuAE9uZGVyYnJva2VuIGRvb3IgZWVuIHNpZ25hYWwAT25nZWxkaWdlIHRlcnVndmVyd2lqemluZwBPbmdlbGRpZ2UgdGVrZW5rbGFzc2VuYWFtAE9uZ2VsZGlnIHNhbWVuZ2VzdGVsZCB0ZWtlbgBPbmdlbGRpZ2UgaW5ob3VkIHZhbiBce1x9AG9uZ2VsZGlnIGdldGFsAE9uZ2VsZGlnZSB2b29yYWZnYWFuZGUgcmVndWxpZXJlIGV4cHJlc3NpZQBPbmdlbGRpZyBiZXJlaWtlaW5kZQBPbmdlbGRpZ2UgcmVndWxpZXJlIGV4cHJlc3NpZQBKYW1lcyBZb3VuZ21hbgBKYXkgTGVwcmVhdQBKaW0gS2luZ2RvbgBKaW0gTWV5ZXJpbmcASm9zZXBoIEFyY2VuZWF1eABLYXZlaCBHaGF6aQBLYXl2YW4gQWdoYWllcG91cgBLZXZpbiBCcmF1bnNkb3JmAEdlw6tsaW1pbmVlcmQAVEVSTUlOQUwATE9HSU4AVG9vbnQgaW5mb3JtYXRpZSBvdmVyIGRlIGdlZ2V2ZW4gQkVTVEFORGVuIChzdGFuZGFhcmQgb3ZlciBkZSBodWlkaWdlIG1hcCkuCgpEZSBpdGVtcyB3b3JkZW4gYWxmYWJldGlzY2ggZ2Vzb3J0ZWVyZCBhbHMgZ2VlbiB2YW4gZGUgb3B0aWVzICctY2Z0dXZTVVgnCm5vY2ggJy0tc29ydCcgZ2VnZXZlbiBpcy4KAEdicnVpa3IAR2VicnVpa2Vyc25hYW06IABEZSBMdWNhcy1wcmllbWdldGFsdGVzdCBpcyBtaXNsdWt0LiAgRGl0IGhvb3J0IG5pZXQgdGUgZ2ViZXVyZW4uAE1hcmsgS2V0dGVuaXMATWF0dGhldyBCcmFkYnVybgBPbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhcgBPbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhcgBNaWNoYWVsIE1lc2tlcwBNaWNoYWVsIFN0b25lAE1pa2UgSGFlcnRlbABNaWtlIFBhcmtlcgBBYW5nZWtvcHBlbGQgb3AATkFBTQBWb2xsZWRpZ2UgbmFhbQBOYWFtIG9mIGRpZW5zdCBpcyBvbmJla2VuZABOaWVscyBNb2xsZXIAQWFuIGhvc3RuYWFtIGlzIGdlZW4gYWRyZXMgdmVyYm9uZGVuAEdlZW4gb3ZlcmVlbmtvbXN0ZW4AR2VlbiBlZXJkZXJlIHJlZ3VsaWVyZSBleHByZXNzaWUAT25oZXJzdGVsYmFhciBwcm9ibGVlbSBpbiBuYWFtc2hlcmxlaWRpbmcAZ29lZABTbGVjaHRzIMOpw6luIHRla2VucmVla3MgbWFnIGdlZ2V2ZW4gd29yZGVuIGJpaiB2ZXJ3aWpkZXJlbiB6b25kZXIgc2FtZW5kcnVra2VuLgBTb3J0ZWVyb3B0aWVzOgoAQW5kZXJlIG9wdGllczoKAFByb2R1Y2VlcnQgZWVuIGdlcGVybXV0ZWVyZGUgaW5kZXgsIGluY2x1c2llZiBjb250ZXh0LAp2YW4gZGUgd29vcmRlbiBpbiBkZSBpbnZvZXJiZXN0YW5kZW4uCgBUb29udCBkZSBjb21tYW5kbydzIHZvb3IgaGV0IGluc3RlbGxlbiB2YW4gZGUgb21nZXZpbmdzdmFyaWFiZWxlIExTX0NPTE9SLgoKICAtYiwgLS1zaCwgLS1ib3VybmUtc2hlbGwgICAgQm91cm5lIHNoZWxsLWNvZGUgdG9uZW4KICAtYywgLS1jc2gsIC0tYy1zaGVsbCAgICAgICAgQyBzaGVsbC1jb2RlIHRvbmVuCiAgLXAsIC0tcHJpbnQtZGF0YWJhc2UgICAgICAgIGRlIHN0YW5kYWFyZCBrbGV1cmVubGlqc3QgdG9uZW4KAFRvb250IGVsa2UgZ2VnZXZlbiBOQUFNIHpvbmRlciBoZXQgbGFhdHN0ZSAnLy4uLictZWxlbWVudDsKYWxzIE5BQU0gZ2VlbiAnLycgYmV2YXQsIGRhbiAnLicgKGRlIGh1aWRpZ2UgbWFwKSB0b25lbi4KCgBEZWVsdCBoZXQgZ2VnZXZlbiBCRVNUQU5EIG9wIGFhbiBkZSBoYW5kIHZhbiBoZXQgZ2VnZXZlbiBQQVRST09OIG9mIGRlIGdlZ2V2ZW4KcGF0cm9uZW4sIHNjaHJpamZ0IGRlIGRlbGVuIG5hYXIgZGUgYmVzdGFuZGVuICd4eDAwJywgJ3h4MDEnLCAneHgwMicsIGVuei4sCmVuIHRvb250IGhldCBhYW50YWwgYnl0ZXMgdmFuIGVsayBkZWVsIG9wIHN0YW5kYWFyZHVpdHZvZXIuCgBTY2hyaWpmdCBzdHVra2VuIHZhbiBkZSBJTlZPRVIgbWV0IGVlbiB2YXN0ZSBncm9vdHRlIG5hYXIgVk9PUlZPRUdTRUxhYSwKVk9PUlZPRUdTRUxhYiwgVk9PUlZPRUdTRUxhYywgLi4uOyBkZSBzdGFuZGFhcmRncm9vdHRlIGlzIDEwMDAgcmVnZWxzIGVuCmhldCBzdGFuZGFhcmQgVk9PUlZPRUdTRUwgaXMgJ3gnLgoAVG9vbnQgcGxhdGZvcm1hZmhhbmtlbGlqa2UgbGltaWV0ZW4gaW4gZWVuIG9wbWFhayBkaWUgYnJ1aWtiYWFyIGlzIGluIHNoZWxsLXNjcmlwdHMuCgoAVG9vbnQgd2llIGVyICh2b2xnZW5zIEJFU1RBTkQpIG1vbWVudGVlbCBpbmdlbG9nZCB6aWpuLgoKQWxzIGdlZW4gQkVTVEFORCBnZWdldmVuIGlzLCB3b3JkdCAlcyBnZWJydWlrdC4KR2V3b29ubGlqayB3b3JkdCAlcyBhbHMgQkVTVEFORCBtZWVnZWdldmVuLgoKAE92ZXJzY2hyaWpmdCBnZWdldmVuIEJFU1RBTkQoZW4pIG1lZXJkZXJlIG1hbGVuLCBvbSBoZXQgemVsZnMgdm9vciBoZWVsCmR1cmUgYXBwYXJhdHV1ciBtb2VpbGlqayB0ZSBtYWtlbiBkZSBpbmhvdWQgZXJ2YW4gdGUgaGVyc3RlbGxlbi4KAFBJRABJbiBwYWtrZXR2b3JtIGdlYnJhY2h0IGRvb3IgJXMKAEluIHBha2tldHZvcm0gZ2VicmFjaHQgZG9vciAlcyAoJXMpCgBQw6FkcmFpZyBCcmFkeQBNYWFrdCB2YW4gZGUgZ2VnZXZlbiBCRVNUQU5EKGVuKSBwYWdpbmEncyBvZiBrb2xvbW1lbiwgb20gemUgYWYgdGUgZHJ1a2tlbi4KAFBhcmFtZXRlcnRla3N0IGlzIG5pZXQganVpc3QgZ2Vjb2RlZXJkAFBhdWwgRWdnZXJ0AFBhdWwgUnViaW4AUGV0ZSBUZXJNYWF0AFBsYW46CgBTdHJvb21zdG9yaW5nAFZvb3J0aWpkaWcgZWluZGUgdmFuIHJlZ3VsaWVyZSBleHByZXNzaWUAVG9vbnQgZGUgQVJHVU1FTlRlbiB2b2xnZW5zIGRlIGdlZ2V2ZW4gT1BNQUFLLgoKAFRvb250IGRlIENSQy1jb250cm9sZXNvbSBlbiBoZXQgYWFudGFsIGJ5dGVzIHZhbiBlbGsgZ2VnZXZlbiBCRVNUQU5ELgoKAFRvb250IGRlIE5BQU0gem9uZGVyIGRlIHZvb3JhZmdhYW5kZSBtYXBjb21wb25lbnRlbi4KSW5kaWVuIGdlZ2V2ZW4sIHdvcmR0IG9vayBoZXQgQUNIVEVSVk9FR1NFTCB2ZXJ3aWpkZXJkLgoAVG9vbnQgYmVwYWFsZGUgc3lzdGVlbWluZm9ybWF0aWUuICBHZWVuIE9QVElFIGJldGVrZW50IGhldHplbGZkZSBhbHMgJy1zJy4KCiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGFsbGUgaW5mb3JtYXRpZSBpbiBvbmRlcnN0YWFuZGUgb3B0aWVzdm9sZ29yZGUgdG9uZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFhciAnLXAnIGVuICctaScgd2VnbGF0ZW4gYWxzIGRlemUgb25iZWtlbmQgemlqbikKICAtcywgLS1rZXJuZWwtbmFtZSAgICAgICAgaGV0IHNvb3J0IGtlcm5lbCB0b25lbgogIC1uLCAtLW5vZGVuYW1lICAgICAgICAgICBkZSBob3N0bmFhbSB2YW4gZGUgbWFjaGluZSB0b25lbgogIC1yLCAtLWtlcm5lbC1yZWxlYXNlICAgICBoZXQgdmVyc2llbnVtbWVyIHZhbiBkZSBrZXJuZWwgdG9uZW4KAFRvb250IHZvb3IgZWxrIEJFU1RBTkQgZGUgY29udHJvbGVzb20gZW4gaGV0IGFhbnRhbCBibG9ra2VuLgoAVm9vciBlbGtlIEdFQlJVSUtFUlNOQUFNIGRlIGdyb2VwZW4gdG9uZW4gd2FhciBkZXplIGxpZCB2YW4gaXMuICBBbHMKZ2VlbiBuYWFtIGdlZ2V2ZW4gaXMsIGRhbiBkZSBncm9lcGVuIHZhbiBoZXQgaHVpZGlnZSBwcm9jZXMgdG9uZW4uCgBUb29udCBpbmZvcm1hdGllIG92ZXIgZ2VicnVpa2VycyBkaWUgbnUgemlqbiBpbmdlbG9nZC4KAFRvb250IGRlIG1hY2hpbmVhcmNoaXRlY3R1dXIuCgoAVG9vbnQgaGV0IGFhbnRhbCByZWdlbHMsIHdvb3JkZW4gZW4gYnl0ZXMgdm9vciBlbGsgZ2VnZXZlbiBCRVNUQU5ELCBwbHVzIGVlbgp0b3RhYWxzY29yZSBhbHMgbWVlciBkYW4gw6nDqW4gQkVTVEFORCBnZWdldmVuIGlzLiAgRWVuIHdvb3JkIGlzIGVlbiB0ZWtlbnJlZWtzCm1ldCBlZW4gbGVuZ3RlIGdyb3RlciBkYW4gbnVsLCBiZWdyZW5zZCBkb29yIHdpdHJ1aW10ZS4KAFRvb250IGRlIGdldGFsbGVuIHZhbiBFRVJTVEUgdG90IExBQVRTVEUsIG1ldCBzdGFwZ3Jvb3R0ZSBTVEFQLgoAVG9vbnQgdGVybWluYWxrYXJha3RlcmlzdGlla2VuIG9mIHN0ZWx0IHplIGluLgoAU3R1dXJ0IGRlIGdlc2VsZWN0ZWVyZGUgZGVsZW4gdmFuIHJlZ2VscyB1aXQgZWxrIEJFU1RBTkQgbmFhciBzdGFuZGFhcmR1aXR2b2VyLgoAVG9vbnQgZGUgaHVpZGlnZSB0aWpkLCBkZSB0aWpkc2R1dXIgZGF0IGhldCBzeXN0ZWVtIGluIGJlZHJpamYgaXMsIGhldCBhYW50YWwKZ2VicnVpa2VycyBvcCBoZXQgc3lzdGVlbSwgZW4gaGV0IGdlbWlkZGVsZGUgYWFudGFsIHRha2VuIGRhdCB1aXRnZXZvZXJkIHdlcmQKaW4gZGUgbGFhdHN0ZSAxLCA1IGVuIDE1IG1pbnV0ZW4uAFRvb250IGRlIGJlc3RhbmRzbmFhbSB2YW4gZGUgdGVybWluYWwgZGllIHZlcmJvbmRlbiBpcyBtZXQgc3RhbmRhYXJkaW52b2VyLgoKICAtcywgLS1zaWxlbnQsIC0tcXVpZXQgICAgbmlldHMgdG9uZW4sIGFsbGVlbiBlZW4gYWZzbHVpdHdhYXJkZSByZXRvdXJuZXJlbgoAS29waWVlcnQgZGUgZWVyc3RlICVkIHJlZ2VscyB2YW4gZWxrIGdlZ2V2ZW4gQkVTVEFORCBuYWFyIHN0YW5kYWFyZHVpdHZvZXIuCkFscyBtZWVyIGRhbiDDqcOpbiBCRVNUQU5EIGdlZ2V2ZW4gaXMsIHdvcmR0IGRlIHVpdHZvZXIgdmFuIGVsayBiZXN0YW5kCnZvb3JhZmdlZ2FhbiBkb29yIGVlbiBrb3BqZSBtZXQgZGUgYmVzdGFuZHNuYWFtLgoAVG9vbnQgZGUgdm9sbGVkaWdlIGJlc3RhbmRzbmFhbSB2YW4gZGUgaHVpZGlnZSB3ZXJrbWFwLgoKAEtvcGllZXJ0IGRlIGxhYXRzdGUgJWQgcmVnZWxzIHZhbiBlbGsgZ2VnZXZlbiBCRVNUQU5EIG5hYXIgc3RhbmRhYXJkdWl0dm9lci4KCkFscyBtZWVyIGRhbiDDqcOpbiBCRVNUQU5EIGdlZ2V2ZW4gaXMsIHdvcmR0IGRlIHVpdHZvZXIgdmFuIGVsayBiZXN0YW5kCnZvb3JhZmdlZ2FhbiBkb29yIGVlbiBrb3BqZSBtZXQgZGUgYmVzdGFuZHNuYWFtLgoAVG9vbnQgZGUgbmFhbSB2YW4gZGUgaHVpZGlnZSBnZWJydWlrZXIuCgoAVG9vbnQgaGV0IGFhbnRhbCBwcm9jZXNzb3JlZW5oZWRlbiBkYXQgYmVzY2hpa2JhYXIgaXMgdm9vciBoZXQgaHVpZGlnZSBwcm9jZXM7CmRpdCBrYW4gbWluZGVyIHppam4gZGFuIGhldCBhYW50YWwgcHJvY2Vzc29yZW4gZGF0IG9ubGluZSBpcy4KCgBUb29udCBkZSBwcmllbWdldGFsbGVuIHdhYXJ1aXQgZWxrIGdlZ2V2ZW4gR0VUQUwgaXMgb3BnZWJvdXdkLgpBbHMgZ2VlbiBHRVRBTCBnZWdldmVuIGlzLCBkYW4gd29yZGVuIGdldGFsbGVuIGdlbGV6ZW4gdmFuIHN0YW5kYWFyZGludm9lci4KCgBUb29udCBkZSBoZXJsZWlkZSBhYnNvbHV0ZSBiZXN0YW5kc25hYW07CmFsbGVlbiBkZSBsYWF0c3RlIGNvbXBvbmVudCBob2VmdCBuaWV0IHRlIGJlc3RhYW4uCgoAVG9vbnQgZGUgZ2VicnVpa2Vyc25hYW0gZGllIGhvb3J0IGJpaiBoZXQgaHVpZGlnZSBlZmZlY3RpZXZlIGdlYnJ1aWtlcnMtSUQuCihIZXR6ZWxmZGUgYWxzICdpZCAtdW4nLikKCgBUb29udCBnZWJydWlrZXJzLSBlbiBncm9lcHNpbmZvcm1hdGllIHZvb3IgZGUgZ2VnZXZlbiBHRUJSVUlLRVIKb2YgKGFscyBnZWVuIEdFQlJVSUtFUiBnZWdldmVuIGlzKSB2b29yIGRlIGh1aWRpZ2UgZ2VicnVpa2VyLgoKAFRvb250IGRlIHdhYXJkZSB2YW4gZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyBvZiBlZW4gY2Fub25pZWtlIG5hYW0uCgoAQmV6aWcgbWV0IHZlcndlcmtlbiB2YW4gdmVyem9lawBUaW1lciB2b29yIHByb2ZpbGVyaW5nIGlzIGFmZ2Vsb3BlbgBQcm9qZWN0OiAAUS4gRnJhbmsgWGlhAEFmZ2VzbG90ZW4AUmFuZHkgU21pdGgAUmVhbHRpbWUtc2lnbmFhbCAlZABNYWFrdCBnZWdldmVuIEdFVEFMKGxlbikgb3BuaWV1dyBvcCwKb2YgZGUgZ2V0YWxsZW4gdmFuIHN0YW5kYWFyZGludm9lciBhbHMgZXIgZ2VlbiBnZWdldmVuIHppam4uCgoAU3R1dXJ0IGVsayBCRVNUQU5EIG5hYXIgc3RhbmRhYXJkdWl0dm9lciBtZXQgZGUgYWxpbmVhJ3Mgb3BuaWV1dyBpbmdlZGVlbGQuCkRlIG9wdGllIC1HRVRBTCBpcyBlZW4gYWZrb3J0aW5nIHZhbiAtLXdpZHRoPUdFVEFMLgoAUmVndWxpZXJlIGV4cHJlc3NpZSBpcyB0ZSBncm9vdABWZXJ3aWpkZXJ0IGRlIGdlZ2V2ZW4gQkVTVEFORChlbikuCgogIC1mLCAtLWZvcmNlICAgICAgICAgICAgIG5pZXQtYmVzdGFhbmRlIGFyZ3VtZW50ZW4gbmVnZXJlbiwgZ2VlbiB2cmFnZW4gc3RlbGxlbgogIC1pICAgICAgICAgICAgICAgICAgICAgIHZvb3IgZWxrZSB2ZXJ3aWpkZXJpbmcgb20gYmV2ZXN0aWdpbmcgdnJhZ2VuCgBWZXJ3aWpkZXJ0IGRlIGdlZ2V2ZW4gTUFQKHBlbiksIGFscyB6ZSBsZWVnIHppam4uCgogICAgICAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eQogICAgICAgICAgICAgICAgICBmb3V0ZW4gd2FhcnZhbiBlbmtlbCBlZW4gbmlldC1sZWdlIG1hcCBkZSBvb3J6YWFrIGlzIG5lZ2VyZW4KAEhlcm5vZW10IEJST04gbmFhciBCRVNURU1NSU5HLCBvZiB2ZXJwbGFhdHN0IEJST04obmVuKSBuYWFyIE1BUC4KAFByb2R1Y2VlcnQgdm9vcnRkdXJlbmQgZWVuIHJlZ2VsIG1ldCBkZSBnZWdldmVuIFRFS1NUIChvZiBhbmRlcnMgJ3knKS4KCgBSYXBwb3J0ZWVyIGdlYnJla2VuIGluIGhldCBwcm9ncmFtbWEgJyVzJyBhYW4gPCVzPjsKbWVsZCBmb3V0ZW4gaW4gZGUgdmVydGFsaW5nIGFhbiA8dmVydGFsaW5nQHZyaWpzY2hyaWZ0Lm9yZz4uCgBWZXJ6b2VrIGlzIGdlYW5udWxlZXJkAFZlcnpvZWsgaXMgbmlldCBnZWFubnVsZWVyZABIdWxwYnJvbiB2ZXJsb3JlbgBSaWNoYXJkIE0uIFN0YWxsbWFuAFJpY2hhcmQgTWx5bmFyaWsAUm9sYW5kIEh1ZWJuZXIAUm9sYW5kIE1jR3JhdGgAUm9zcyBQYXRlcnNvbgBWb2VydCBoZXQgZ2VnZXZlbiBDT01NQU5ETyB1aXQgbWV0IGVlbiBhYW5nZXBhc3RlIHByb2Nlc2JlbGVlZmRoZWlkOwphbHMgZ2VlbiBDT01NQU5ETyBnZWdldmVuIGlzLCBkYW4gZGUgaHVpZGlnZSBwcm9jZXNiZWxlZWZkaGVpZCB0b25lbi4KQmVsZWVmZGhlaWRzd2FhcmRlbiBsb3BlbiB2YW4gJWQgKGtyaWpndCBtZWVzdGUgdGlqZCkgdG90ICVkIChtaW5zdGUgdGlqZCkuCgBWb2VydCBoZXQgZ2VnZXZlbiBDT01NQU5ETyAocGx1cyBBUkdVTUVOVEVOKSB1aXQsIG1ldCBET0VMTUFQIGFscyBiYXNpc21hcC4KCgBWb2VydCBoZXQgZ2VnZXZlbiBDT01NQU5ETyB1aXQsICdoYW5ndXAnLXNpZ25hbGVuIG5lZ2VyZW5kLgoKAFZvZXJ0IENPTU1BTkRPIHVpdCBtZXQgZ2V3aWp6aWdkZSBidWZmZXJpbmcgdm9vciB6aWpuIHN0YW5kYWFyZCBzdHJlYW1zLgoAVm9lcnQgaGV0IGdlZ2V2ZW4gQ09NTUFORE8gaW4gZWVuIGFuZGVyZSBTRUxpbnV4LWJldmVpbGlnaW5nc2NvbnRleHQgdWl0LgoKWm9uZGVyIENPTlRFWFQgb2YgQ09NTUFORE8sIHdvcmR0IGRlIGh1aWRpZ2UgYmV2ZWlsaWdpbmdzY29udGV4dCBnZXRvb25kLgoAUnVzc2VsbCBDb2tlcgBTYW11ZWwgTmV2ZXMAU2NvdHQgQmFydHJhbQBTY290dCBNaWxsZXIAU2VnbWVudGF0aWVmb3V0AFplbmR0IHNpZ25hbGVuIG5hYXIgcHJvY2Vzc2VuLCBvZiBzb210IHNpZ25hYWxuYW1lbiBvcC4KAFNlcnZpY2VuYWFtIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQgdm9vciAnYWlfc29ja3R5cGUnAFpldCBMQ19BTEw9J0MnIG9tIGhldCBwcm9ibGVlbSB0ZSBvbXplaWxlbi4AS2VudCBkZSBnZWdldmVuIFdBQVJERSBhYW4gb21nZXZpbmdzdmFyaWFiZWxlIE5BQU0gdG9lIGVuIHZvZXJ0IENPTU1BTkRPIHVpdC4KAFNoZWxsOiAAVG9vbnQgZ2VicnVpa3RlIGVuIGJlc2NoaWtiYXJlIHJ1aW10ZSB2YW4gYWxsZSBhYW5nZWtvcHBlbGRlIGJlc3RhbmRzc3lzdGVtZW4sCm9mIHZhbiBkZSBiZXN0YW5kc3N5c3RlbWVuIHdhYXJvcCBkZSBnZWdldmVuIEJFU1RBTkRlbiB6aWNoIGJldmluZGVuLgoAVmVyZ3Jvb3Qgb2YgdmVya2xlaW50IGVsayBnZWdldmVuIEJFU1RBTkQgdG90IGRlIGdlc3BlY2lmaWNlZXJkZSBncm9vdHRlLgoKRWVuIEJFU1RBTkQgZGF0IG5vZyBuaWV0IGJlc3RhYXQgd29yZHQgYWFuZ2VtYWFrdC4KCkFscyBlZW4gQkVTVEFORCBncm90ZXIgaXMgZGFuIGRlIGdlc3BlY2lmaWNlZXJkZSBncm9vdHRlLCBkYW4gZ2FhbiBkZSBleHRyYQpnZWdldmVucyB2ZXJsb3Jlbi4gIEFscyBlZW4gQkVTVEFORCBrbGVpbmVyIGlzLCBkYW4gd29yZHQgaGV0IHVpdGdlYnJlaWQgZW4KaGV0ICJ0b2VnZXZvZWdkZSIgZGVlbCAoZWVuIGdhdCkgbGVlc3QgYWxzIG51bC1ieXRlcy4KAFNpbW9uIEpvc2Vmc3NvbgBHcm9vdHRlAFNwZWNpYWxlIGJlc3RhbmRlbiB2ZXJlaXNlbiBob29mZC0gZW4gc3ViYXBwYXJhYXRudW1tZXJzLgBTdGFjay1mb3V0AFN0YXJ0IGhldCBnZWdldmVuIENPTU1BTkRPLCBlbiBiZcOraW5kaWd0IGhldCBhbHMgaGV0IG5hIERVVVIgbm9nIGFjdGllZiBpcy4KAEdlcGF1emVlcmQAR2VwYXV6ZWVyZCAoc2lnbmFhbCkAR2VwYXV6ZWVyZCAodGVybWluYWxpbnZvZXIpAEdlcGF1emVlcmQgKHRlcm1pbmFsdWl0dm9lcikAU3R1YXJ0IEtlbXAAR2VsdWt0AFZhdCBoZXQgc2NoaWpmZ2VicnVpayBzYW1lbiB2YW4gZWxrIGdlZ2V2ZW4gQkVTVEFORCwgcmVjdXJzaWVmIHZvb3IgbWFwcGVuLgoATm9nIHVpdHN0YWFuZGUgc2NocmlqZm9wZXJhdGllcyBuYWFyIHBlcnNpc3RlbnRlIG9wc2xhZyBudSB1aXR2b2VyZW4uCgpBbHMgw6nDqW4gb2YgbWVlciBiZXN0YW5kZW4gZ2VnZXZlbiB6aWpuLCBkYW4gYWxsZWVuIGRlemUgc3luY2VuCihvZiwgbWV0ICctZicsIGRlIGJlc3RhbmRzc3lzdGVtZW4gd2FhciB6ZSBvcCBzdGFhbikuCgoAU3lzdGVlbWZvdXQAVElKRABUaWpkZWxpamsgcHJvYmxlZW0gaW4gbmFhbXNoZXJsZWlkaW5nAEJlw6tpbmRpZ2QARGUgdm9sZ2VuZGUgb3BtYWFrY29kZXMgbW9nZW4gZGlyZWN0IG5hIGVsa2UgJyUnIGluZ2V2b2VnZCB3b3JkZW46CgogIC0gIChlZW4ga29wcGVsdGVrZW46KSBnZWVuIHZvb3Jsb29wIGdlYnJ1aWtlbgogIF8gIChlZW4gbGlnZ2VuZCBzdHJlZXBqZTopIHZvb3Jsb29wc3BhdGllcyBnZWJydWlrZW4KICAwICAoZWVuIG51bDopIHZvb3Jsb29wbnVsbGVuIGdlYnJ1aWtlbiAoc3RhbmRhYXJkKQogIF4gIGhvb2ZkbGV0dGVycyBnZWJydWlrZW4sIGluZGllbiBtb2dlbGlqawogICMgIGhvb2ZkLSBpbiBrbGVpbmUgbGV0dGVycyB3aWp6aWdlbiBlbiBvbWdla2VlcmQsIGluZGllbiBtb2dlbGlqawoARGUgdGUgdmVyZ2VsaWprZW4gdGVrZW5yZWVrc2VuIHdhcmVuICVzIGVuICVzLgBUb3JiasO2cm4gR3Jhbmx1bmQAVHJhY2Vlci0vYnJlZWtwdW50LWluc3RydWN0aWUAQmFja3NsYXNoIGFhbiBoZXQgZWluZABaZXQgdGVrZW5zIHZhbiBzdGFuZGFhcmRpbnZvZXIgb20sIGRydWt0IHplIHNhbWVuIG9mIHZlcndpamRlcnQgemUsCmVuIHNjaHJpamZ0IGhldCByZXN1bHRhYXQgbmFhciBzdGFuZGFhcmR1aXR2b2VyLgoKICAtYywgLUMsIC0tY29tcGxlbWVudCAgICBoZXQgY29tcGxlbWVudCB2YW4gU0VUMSBnZWJydWlrZW4gCiAgLWQsIC0tZGVsZXRlICAgICAgICAgICAgdGVrZW5zIGluIFNFVDEgdmVyd2lqZGVyZW4sIG5pZXQgb216ZXR0ZW4KICAtcywgLS1zcXVlZXplLXJlcGVhdHMgICBoZXJoYWxpbmdlbiB2YW4gZWVuIHRla2VuIHVpdCBTRVQxIHZlcnZhbmdlbiBkb29yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGVjaHRzIMOpw6luIHpvJ24gdGVrZW4KICAtdCwgLS10cnVuY2F0ZS1zZXQxICAgICBTRVQxIGVlcnN0IGFma2FwcGVuIHRvdCBkZSBsZW5ndGUgdmFuIFNFVDIKAFR5cCAnJXMgLS1oZWxwJyB2b29yIG1lZXIgaW5mb3JtYXRpZS4KAFR5cCAnJXMgLi8lcycgb20gaGV0IGJlc3RhbmQgJXMgdGUgdmVyd2lqZGVyZW4uCgBFciBtb2V0ZW4gdHdlZSB0ZWtlbnJlZWtzZW4gZ2VnZXZlbiB3b3JkZW4gYWxzCnpvd2VsIHZlcndpamRlcmQgd29yZHQgYWxzIGhlcmhhbGluZ2VuIHNhbWVuZ2VkcnVrdC4AQmlqIG9temV0dGluZyB6aWpuIHR3ZWUgdGVrZW5yZWVrc2VuIG5vZGlnLgBUeXBlAFVscmljaCBEcmVwcGVyAE9uYmVrZW5kZSBmb3V0AE9uYmVrZW5kIHNpZ25hYWwgJWQAT25iZWtlbmRlIHN5c3RlZW1mb3V0AE9uZ2VwYWFyZGUgKCBvZiBcKABPbmdlcGFhcmRlICkgb2YgXCkAT25nZXBhYXJkZSBbLCBbXiwgWzosIFsuLCBvZiBbPQBPbmdlcGFhcmRlIFx7AFN0ZWx0IGRlIHRvZWdhbmdzLSBlbiB3aWp6aWdpbmdzdGlqZGVuIHZhbiBlbGsgQkVTVEFORCBvcCBkZSBodWlkaWdlIHRpamQuCgpFbGsgQkVTVEFORHNhcmd1bWVudCBkYXQgbmlldCBiZXN0YWF0IHdvcmR0IGFscyBlZW4gbGVlZyBiZXN0YW5kIGFhbmdlbWFha3QsCnRlbnppaiAnLWMnIG9mICctaCcgd29yZHQgbWVlZ2VnZXZlbi4KCkhldCBCRVNUQU5Ec2FyZ3VtZW50ICctJyB3b3JkdCBzcGVjaWFhbCBiZWhhbmRlbGQ6IGhldCB6b3JndCBlcnZvb3IgZGF0ICd0b3VjaCcKZGUgdGlqZHNzdGVtcGVscyB2YW4gaGV0IGJlc3RhbmQgdmVyYm9uZGVuIG1ldCBzdGFuZGFhcmR1aXR2b2VyIHdpanppZ3QuCgBVcmdlbnRlIGluLS91aXR2b2VydG9lc3RhbmQAR2VicnVpazogICVzCgBHZWJydWlrOiAgJXMgLS1jb3JldXRpbHMtcHJvZz1QUk9HUkFNTUEgW0FSR1VNRU5URU5dCgBHZWJydWlrOiAgJXMgQ09NTUFORE8gW0FSR1VNRU5ULi4uXQogICAgIG9mOiAgJXMgT1BUSUUKCgBHZWJydWlrOiAgJXMgQ09OVEVYVCBDT01NQU5ETyBbQVJHVU1FTlRFTl0KICAgICBvZjogICVzIFtPUFRJRS4uLl0gQ09NTUFORE8gW0FSR1VNRU5URU5dCgoAR2VicnVpazogICVzIEVYUFJFU1NJRQogICAgIG9mOiAgJXMgT1BUSUUKAEdlYnJ1aWs6ICAlcyBCRVNUQU5ECiAgICAgb2Y6ICAlcyBPUFRJRQoKAEdlYnJ1aWs6ICAlcyBCRVNUQU5EMSBCRVNUQU5EMgogICAgIG9mOiAgJXMgT1BUSUUKCgBHZWJydWlrOiAgJXMgT1BNQUFLIFtBUkdVTUVOVC4uLl0KICAgICBvZjogICVzIE9QVElFCgoAR2VicnVpazogICVzIE5BQU0gW0FDSFRFUlZPRUdTRUxdCiAgICAgb2Y6ICAlcyBPUFRJRS4uLiBOQUFNLi4uCgoAR2VicnVpazogICVzIEFBTlRBTFtBQ0hURVJWT0VHU0VMXS4uLgogICAgIG9mOiAgJXMgT1BUSUUKClBhdXplZXJ0IGdlZHVyZW5kZSBoZXQgZ2VnZXZlbiBBQU5UQUwgc2Vjb25kZW4uCgpIZXQgQUNIVEVSVk9FR1NFTCBtYWcgcmVzcGVjdGlldmVsaWprICdzJyB6aWpuIHZvb3Igc2Vjb25kZW4gKHN0YW5kYWFyZCksCidtJyB2b29yIG1pbnV0ZW4sICdoJyB2b29yIHVyZW4sIG9mICdkJyB2b29yIGRhZ2VuLiAgSGV0IEFBTlRBTCBtYWcgZWVuCndpbGxla2V1cmlnIGRyaWp2ZW5kZXB1bnRnZXRhbCB6aWpuLiAgQmlqIHR3ZWUgb2YgbWVlciBBQU5UQUxsZW4gd29yZHQKZXIgZ2VwYXV6ZWVyZCBnZWR1cmVuZGUgZWVuIHRpamQgZGllIGRlIHNvbSBpcyB2YW4gZGUgd2FhcmRlbi4KCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBDT01NQU5ETwoAR2VicnVpazogICVzIE9QVElFLi4uIEJFU1RBTkQuLi4KAEdlYnJ1aWs6ICAlcyBPUFRJRS4uLiBbQkVTVEFORC4uLl0KCgBHZWJydWlrOiAgJXMgWy1GIEFQUEFSQUFUIHwgLS1maWxlPUFQUEFSQUFUXSBbSU5TVEVMTElORy4uLl0KICAgICBvZjogICVzIFstRiBBUFBBUkFBVCB8IC0tZmlsZT1BUFBBUkFBVF0gWy1hfC0tYWxsXQogICAgIG9mOiAgJXMgWy1GIEFQUEFSQUFUIHwgLS1maWxlPUFQUEFSQUFUXSBbLWd8LS1zYXZlXQoAR2VicnVpazogICVzIFstQlJFRURURV0gW09QVElFLi4uXSBbQkVTVEFORC4uLl0KCgBHZWJydWlrOiAgJXMgWy1zIFNJR05BQUwgfCAtU0lHTkFBTF0gUElELi4uCiAgICAgb2Y6ICAlcyAtbCBbU0lHTkFBTC4uLl0KICAgICBvZjogICVzIC10IFtTSUdOQUFMLi4uXQoKAEdlYnJ1aWs6ICAlcyBbQkVTVEFORC4uLl0KICAgICBvZjogICVzIFtPUFRJRV0KCgBHZWJydWlrOiAgJXMgW05BQU1dCiAgICAgb2Y6ICAlcyBPUFRJRQoKVG9vbnQgZGUgaG9zdG5hYW0gdmFuIGhldCBodWlkaWdlIHN5c3RlZW0gb2Ygc3RlbHQgZGV6ZSBpbi4KCgBHZWJydWlrOiAgJXMgW0dFVEFMLi4uXQogICAgIG9mOiAgJXMgT1BUSUUKCgBHZWJydWlrOiAgJXMgW0FSR1VNRU5ULi4uXQogICAgIG9mOiAgJXMgT1BUSUUKCgBHZWJydWlrOiAgJXMgW09QVElFXQoKAEdlYnJ1aWs6ICAlcyBbT1BUSUVdCgpUb29udCBkZSBudW1lcmlla2UgYWFuZHVpZGluZyAoaW4gaGV4YWRlY2ltYWFsKSB2YW4gZGUgaHVpZGlnZSBob3N0LgoKAEdlYnJ1aWs6ICAlcyBbT1BUSUVdIERVVVIgQ09NTUFORE8gW0FSR1VNRU5ULi4uXQogICAgIG9mOiAgJXMgW09QVElFXQoAR2VicnVpazogICVzIFtPUFRJRV0gTkFBTS4uLgoKAEdlYnJ1aWs6ICAlcyBbT1BUSUVdIERPRUxNQVAgW0NPTU1BTkRPIFtBUkdVTUVOVC4uLl1dCiAgICAgb2Y6ICAlcyBPUFRJRQoAR2VicnVpazogICVzIFtPUFRJRV0gW0NPTU1BTkRPIFtBUkdVTUVOVC4uLl1dCgoAR2VicnVpazogICVzIFtPUFRJRV0gW0JFU1RBTkRdCgpQcm9kdWNlZXJ0IGVlbiB2b2xsZWRpZywgdG9wb2xvZ2lzY2ggZ2Vzb3J0ZWVyZGUgbGlqc3QsCm92ZXJlZW5rb21lbmQgbWV0IGRlIGdlZ2V2ZW4gYmVzdGFhbmRlIHZvbGdvcmRlLgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gW0JFU1RBTkQuLi5dCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0KCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBDT05URVhUIEJFU1RBTkQuLi4KICAgICBvZjogICVzIFtPUFRJRS4uLl0gWy11IEdCUktSXSBbLXIgUk9MXSBbLWwgQkVSRUlLXSBbLXQgVFlQRV0gQkVTVEFORC4uLgogICAgIG9mOiAgJXMgW09QVElFLi4uXSAtLXJlZmVyZW5jZT1SRUZFUkVOVElFQkVTVEFORCBCRVNUQU5ELi4uCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gTUFQLi4uCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gQkVTVEFORCBQQVRST09OLi4uCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gQkVTVEFORC4uLgoKAEdlYnJ1aWs6ICAlcyBbT1BUSUUuLi5dIEJFU1RBTkQxIEJFU1RBTkQyCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gR1JPRVAgQkVTVEFORC4uLgogICAgIG9mOiAgJXMgW09QVElFLi4uXSAtLXJlZmVyZW5jZT1SRUZFUkVOVElFQkVTVEFORCBCRVNUQU5ELi4uCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gTEFBVFNURQogICAgIG9mOiAgJXMgW09QVElFLi4uXSBFRVJTVEUgTEFBVFNURQogICAgIG9mOiAgJXMgW09QVElFLi4uXSBFRVJTVEUgU1RBUCBMQUFUU1RFCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gTU9EVVNbLE1PRFVTLi4uXSBCRVNUQU5ECiAgICAgb2Y6ICAlcyBbT1BUSUUuLi5dIE9DVEFMRV9NT0RVUyBCRVNUQU5ELi4uCiAgICAgb2Y6ICAlcyBbT1BUSUUuLi5dIC0tcmVmZXJlbmNlPVJFRkVSRU5USUVCRVNUQU5EIEJFU1RBTkQuLi4KCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBOQUFNIFRZUEUgW0hPT0ZETlVNTUVSIFNVQk5VTU1FUl0KCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBOQUFNLi4uCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gU0VUMSBbU0VUMl0KCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBbIEJFU1RBTkQgfCBBUkdVTUVOVDEgQVJHVU1FTlQyIF0KAEdlYnJ1aWs6ICAlcyBbT1BUSUUuLi5dIFsrT1BNQUFLXQogICAgIG9mOiAgJXMgWy11fC0tdXRjfC0tdW5pdmVyc2FsXSBNTUREdXVtbVtbRUVdSkpdWy5zc10KCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBbLVRdIEJST04gQkVTVEVNTUlORwogICAgIG9mOiAgJXMgW09QVElFLi4uXSBCUk9OLi4uIE1BUAogICAgIG9mOiAgJXMgW09QVElFLi4uXSAtdCBNQVAgQlJPTi4uLgoKAEdlYnJ1aWs6ICAlcyBbT1BUSUUuLi5dIFstVF0gQlJPTiBET0VMCiAgICAgb2Y6ICAlcyBbT1BUSUUuLi5dIEJST04uLi4gTUFQCiAgICAgb2Y6ICAlcyBbT1BUSUUuLi5dIC10IE1BUCBCUk9OLi4uCiAgICAgb2Y6ICAlcyBbT1BUSUUuLi5dIC1kIE1BUC4uLgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gWy1dIFtOQUFNPVdBQVJERV0uLi4gW0NPTU1BTkRPIFtBUkdVTUVOVC4uLl1dCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBbSU5WT0VSIFtWT09SVk9FR1NFTF1dCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBbQkVTVEFORF0KCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBCRVNUQU5ECiAgICAgb2Y6ICAlcyAtZSBbT1BUSUUuLi5dIFtBUkdVTUVOVC4uLl0KICAgICBvZjogICVzIC1pIExBQUctSE9PRyBbT1BUSUUuLi5dCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gW0JFU1RBTkRdCgpDb2RlZXJ0IG9mIGRlY29kZWVydCBoZXQgZ2VnZXZlbiBCRVNUQU5EIChvZiBzdGFuZGFhcmRpbnZvZXIpCnZvbGdlbnMgZGUgYmFzZSVkLW1ldGhvZGUgbmFhciBzdGFuZGFhcmR1aXR2b2VyLgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gW0JFU1RBTkQuLi5dCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gW0JFU1RBTkQuLi5dCiAgICAgb2Y6ICAlcyBbLWFiY2RmaWxvc3hdIFtCRVNUQU5EXSBbWytdUE9TSVRJRVsuXVtiXV0KICAgICBvZjogICVzIC0tdHJhZGl0aW9uYWwgW09QVElFU10gW0JTVE5EXSBbWytdUE9TSVRJRVsuXVtiXSBbK11bTEFCRUxdWy5dW2JdXQoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gW0JFU1RBTkQuLi5dCiAgICAgb2Y6ICAlcyBbT1BUSUUuLi5dIC0tZmlsZXMwLWZyb209TElKU1RCRVNUQU5ECgoAR2VicnVpazogICVzIFtPUFRJRV0gW0JFU1RBTkQuLi5dCgpUb29udCBvZiBjb250cm9sZWVydCAlcy1jb250cm9sZXNvbW1lbiAoJWQtYml0cykuCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBbSU5WT0VSIFtVSVRWT0VSXV0KCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBbSU5WT0VSLi4uXSAgICAoem9uZGVyIC1HKQogICAgIG9mOiAgJXMgLUcgW09QVElFLi4uXSBbSU5WT0VSIFtVSVRWT0VSXV0KCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBbR0VUQUwuLi5dCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gW0VJR0VOQUFSXVs6W0dST0VQXV0gQkVTVEFORC4uLgogICAgIG9mOiAgJXMgW09QVElFLi4uXSAtLXJlZmVyZW5jZT1SRUZFUkVOVElFQkVTVEFORCBCRVNUQU5ELi4uCgoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gW1NKQUJMT09OXQoKAEdlYnJ1aWs6ICAlcyBbT1BUSUUuLi5dIFtHRUJSVUlLRVJTTkFBTV0KAEdlYnJ1aWs6ICAlcyBbT1BUSUUuLi5dIFtHRUJSVUlLRVJdCgBHZWJydWlrOiAgJXMgW09QVElFLi4uXSBbR0VCUlVJS0VSLi4uXQoAR2VicnVpazogICVzIFtPUFRJRS4uLl0gW1ZBUklBQkVMRS4uLl0KClRvb250IGRlIHdhYXJkZSB2YW4gZGUgZ2VnZXZlbiBvbWdldmluZ3N2YXJpYWJlbGUobikuCgpab25kZXIgVkFSSUFCRUxFIHdvcmRlbiBkZSB3YWFyZGVuIHZhbiBhbGxlIG9tZ2V2aW5nc3ZhcmlhYmVsZW4gZ2V0b29uZC4KCgBHZWJydWlrOiAgJXMgW0tPUlRFX09QVElFLi4uXSBbVEVLU1QuLi5dCiAgICAgb2Y6ICAlcyBMQU5HRV9PUFRJRQoAR2VicnVpazogICVzIFtURUtTVF0KICAgICBvZjogICVzIE9QVElFCgoAR2VicnVpazogICVzIFthcmd1bWVudGVuIHdvcmRlbiBnZW5lZ2VlcmRdCiAgICAgb2Y6ICAlcyBPUFRJRQoKAEdlYnJ1aWs6ICB0ZXN0IEVYUFJFU1NJRQogICAgIG9mOiAgdGVzdAogICAgIG9mOiAgWyBFWFBSRVNTSUUgXQogICAgIG9mOiAgWyBdCiAgICAgb2Y6ICBbIE9QVElFCgoAR2ViJQBHZWJydWlrdABHZWJydWlrZXJnZWRlZmluaWVlcmQgc2lnbmFhbCAxAEdlYnJ1aWtlcmdlZGVmaW5pZWVyZCBzaWduYWFsIDIAR2VsZGlnZSBhcmd1bWVudGVuIHppam46AEdlbGRpZ2UgYXJndW1lbnRlbiB6aWpuOgoAR2VsZGlnZSBvcG1hYWtzcGVjaWZpY2F0aWVzIHZvb3IgYmVzdGFuZHNzeXN0ZW1lbiB6aWpuOgoKICAlYSAgIGJlc2NoaWtiYXJlIHZyaWplIGJsb2trZW4gdm9vciBuaWV0LXN5c3RlZW1iZWhlZXJkZXJzCiAgJWIgICB0b3RhYWwgYWFudGFsIGJsb2trZW4gbWV0IGdlZ2V2ZW5zIGluIGJlc3RhbmRzc3lzdGVlbQogICVjICAgdG90YWFsIGFhbnRhbCBpbm9kZXMgaW4gYmVzdGFuZHNzeXN0ZWVtCiAgJWQgICBhYW50YWwgdnJpamUgaW5vZGVzIGluIGJlc3RhbmRzc3lzdGVlbQogICVmICAgYWFudGFsIHZyaWplIGJsb2trZW4gaW4gYmVzdGFuZHNzeXN0ZWVtCgBWaXJ0dWVsZSB0aW1lciBpcyBhZmdlbG9wZW4AV0FBUlNDSFVXSU5HOiBPbmVpbmRpZ2UgbHVzIGdldm9uZGVuIGluIGRlIG1hcHBlbnN0cnVjdHV1ci4KRGl0IGJldGVrZW50IHZyaWp3ZWwgemVrZXIgZGF0IGhldCBiZXN0YW5kc3N5c3RlZW0gYmVzY2hhZGlnZCBpcy4KKiogTUVMRCBESVQgQUFOIFVXIFNZU1RFRU1CRUhFRVJERVIuICoqCkRlIHZvbGdlbmRlIG1hcCBpcyBvbmRlcmRlZWwgdmFuIGRlIGx1czoKICAlcwoAV2FhcnNjaHV3aW5nOiBvcHRpZSAnLS1wcmVzZXJ2ZS1jb250ZXh0JyB3b3JkdCBnZW5lZ2VlcmQ7CmRlemUga2VybmVsIGhlZWZ0IGdlZW4gU0VMaW51eC4AV2FhcnNjaHV3aW5nOiBvcHRpZSAnLS1zdHJpcC1wcm9ncmFtJyB3b3JkdCBnZW5lZ2VlcmQKd2FudCBvcHRpZSAnLXMnIGlzIG5pZXQgZ2VnZXZlbgBXYWFyc2NodXdpbmc6IABJbmdlbG9nZABXYWFyAFZlbnN0ZXIgaXMgdmVyYW5kZXJkAE1ldCAnLS1mb2xsb3cnICgtZikgdm9sZ3QgJ3RhaWwnIGRlIGJlc3RhbmRzZGVzY3JpcHRvciwgd2F0IGJldGVrZW50IGRhdCBoZXQKYmVzdGFuZCBub2cgc3RlZWRzIGdldm9sZ2Qgd29yZHQgYWxzIGRlIGJlc3RhbmRzbmFhbSB3aWp6aWd0LiAgRGl0IHN0YW5kYWFyZC0KZ2VkcmFnIGlzIG9uZ2V3ZW5zdCBhbHMgdSBlY2h0IGRlIG5hYW0gd2lsdCB2b2xnZW4gZW4gbmlldCBkZSBkZXNjcmlwdG9yLApiaWp2b29yYmVlbGQgYmlqIHJvdGF0aWUgdmFuIGxvZ2Jlc3RhbmRlbi4gIEdlYnJ1aWsgZGFuICctLWZvbGxvdz1uYW1lJzsgZGl0Cm1hYWt0IGRhdCAndGFpbCcgaGV0IGdlbm9lbWRlIGJlc3RhbmQgdm9sZ3Qgb3AgZWVuIG1hbmllciBkaWUgcmVrZW5pbmcgaG91ZHQKbWV0IGhlcm5vZW1lbiwgdmVyd2lqZGVyZW4gZW4gb3BuaWV1dyBhYW5tYWtlbi4KAFN0dXVydCBlbGsgQkVTVEFORCBuYWFyIHN0YW5kYWFyZHVpdHZvZXIgbWV0IGRlIHJlZ2VscyBvcCBlZW4gYmVwYWFsZGUgbGVuZ3RlCmFmZ2Vicm9rZW4uCgoAU3R1dXJ0IGVlbiB3aWxsZWtldXJpZ2UgaHVzc2VsaW5nIHZhbiBkZSBpbnZvZXJyZWdlbHMgbmFhciBzdGFuZGFhcmR1aXR2b2VyLgoAU2NocmlqZnQgZWxrIGdlZ2V2ZW4gQkVTVEFORCBuYWFyIHN0YW5kYWFyZHVpdHZvZXIsIGxhYXRzdGUgcmVnZWwgZWVyc3QuCgBTdHV1cnQgZWxrIGdlZ2V2ZW4gQkVTVEFORCBuYWFyIHN0YW5kYWFyZHVpdHZvZXIsIG1ldCByZWdlbG51bW1lcnMgdG9lZ2V2b2VnZC4KAFNjaGVpZHQgZGUgb3ZlcmVlbmtvbXN0aWdlIHJlZ2VscyB1aXQgZGUgZ2VnZXZlbiBCRVNUQU5EZW4gbWV0IHRhYnMgZW4gc3R1dXJ0CnplIG5hYXIgc3RhbmRhYXJkdWl0dm9lciAtLSBvZnRld2VsOiB2b2VndCBkZSBiZXN0YW5kZW4gYWxzIGtvbG9tbWVuIHNhbWVuLgoAU3R1dXJ0IGdlZ2V2ZW4gQkVTVEFORChlbiBzYW1lbmdldm9lZ2QgZW4pIGdlc29ydGVlcmQgbmFhciBzdGFuZGFhcmR1aXR2b2VyLgoAR2VzY2hyZXZlbiBkb29yICVzIGVuICVzLgoAR2VzY2hyZXZlbiBkb29yICVzLCAlcywgJXMsCiVzLCAlcywgJXMsICVzLAolcywgJXMgZW4gYW5kZXJlbi4KAEdlc2NocmV2ZW4gZG9vciAlcywgJXMsICVzLAolcywgJXMsICVzLCAlcywKJXMgZW4gJXMuCgBHZXNjaHJldmVuIGRvb3IgJXMsICVzLCAlcywKJXMsICVzLCAlcywgJXMKZW4gJXMuCgBHZXNjaHJldmVuIGRvb3IgJXMsICVzLCAlcywKJXMsICVzLCAlcyBlbiAlcy4KAEdlc2NocmV2ZW4gZG9vciAlcywgJXMsICVzLAolcywgJXMgZW4gJXMuCgBHZXNjaHJldmVuIGRvb3IgJXMsICVzLCAlcywKJXMgZW4gJXMuCgBHZXNjaHJldmVuIGRvb3IgJXMsICVzLCAlcwplbiAlcy4KAEdlc2NocmV2ZW4gZG9vciAlcywgJXMgZW4gJXMuCgBHZXNjaHJldmVuIGRvb3IgJXMuCgBiaWogb216ZXR0aW5nIG1vZ2VuICdbPXQ9XSctZXhwcmVzc2llcyBuaWV0IHZvb3Jrb21lbiBpbiBTRVQyAF4gZ2VlbiBvdmVyZWVua29tc3Qgdm9vciBzbGV1dGVsCgBeW25OXQBeW2pKeVldAOKAmABiaWogZWVuIGFhbnBhc3NpbmcgbW9ldCBlciBlZW4gY29tbWFuZG8gZ2VnZXZlbiB3b3JkZW4AJ2FpX2ZhbWlseScgd29yZHQgbmlldCBvbmRlcnN0ZXVuZAAnYWlfc29ja3R5cGUnIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQAYXJndW1lbnQgJXMgdmFuICVzIGlzIG5pZXQgZWVuZHVpZGlnAGVlbiBzY2hlaWRpbmdzdGVrZW4gbWFnIGFsbGVlbiBnZWdldmVuIHdvcmRlbiBhbHMgbWV0IHZlbGRlbiBnZXdlcmt0IHdvcmR0AHVpdHZvZXIgd29yZHQgYWFuICVzIHRvZWdldm9lZ2QAcmVzZXJ2ZWtvcGllbWV0aG9kZQBibG9rLWFwcGFyYWF0AGJsb2stYXBwYXJhYXRiZXN0YW5kZW4gd29yZGVuIG5pZXQgb25kZXJzdGV1bmQAYmxva2tlbgBuaWV0IGJlaWRlIGJlc3RhbmRlbiBtb2dlbiBkZSBzdGFuZGFhcmRpbnZvZXIgemlqbgBieXRlLSBvZiB0ZWtlbnBvc2l0aWUgJXMgaXMgdGUgZ3Jvb3QAYnl0ZS0gZW4gdGVrZW5wb3NpdGllcyB3b3JkZW4gZ2VudW1tZXJkIHZhbmFmIDEAa2FuIGdlZGVlbHRlbGlqa2UgY29udGV4dCBuaWV0IHRvZXBhc3NlbiBvcCBvbmdlbGFiZWxkIGJlc3RhbmQgJXMAa2FuIGRlIGNvbnRleHQgdmFuIGhldCBwcm9jZXMgbmlldCB2ZXJrcmlqZ2VuAGthbiBnZWVuIHRvZWdhbmcga3JpamdlbiB0b3QgJXMAa2FuIGdlZW4gdG9lZ2FuZyBrcmlqZ2VuIHRvdCAlczogZWVuIGFuZGVyIGFwcGFyYWF0IGlzIGVyb3ZlcmhlZW4gYWFuZ2Vrb3BwZWxkAGthbiBnZWVuIHJlc2VydmVrb3BpZSBtYWtlbiB2YW4gJXMAa2FuIG5pZXQgem93ZWwgYWxsZWVuIHRvdGFsZW4gdG9uZW4gYWxzIGFsbGUgaXRlbXMgdG9uZW4Aa2FuIGRlIGVpZ2VuYWFyIHZhbiAlcyBuaWV0IHZlcmFuZGVyZW4Aa2FuIGRlIHRvZWdhbmdzcmVjaHRlbiB2YW4gJXMgbmlldCB2ZXJhbmRlcmVuAGthbiAnJXMnIG5pZXQgYWxzIGJhc2lzbWFwIGluc3RlbGxlbgBrYW4gbmlldCBuYWFyIG1hcCAlcyBnYWFuAGthbiBob29mZG1hcCBuaWV0IGFscyBodWlkaWdlIG1hcCBpbnN0ZWxsZW4Ab3B0aWVzICctLXRhcmdldC1kaXJlY3RvcnknICgtdCkgZW4gJy0tbm8tdGFyZ2V0LWRpcmVjdG9yeScgKC1UKSBnYWFuIG5pZXQgc2FtZW4Ab3B0aWVzICctLXRhcmdldC1kaXJlY3RvcnknIGVuICctLW5vLXRhcmdldC1kaXJlY3RvcnknIGdhYW4gbmlldCBzYW1lbgBvcHRpZXMgJy1lJyBlbiAnLWknIGdhYW4gbmlldCBzYW1lbgBzbGVjaHRzIMOpw6luIHZhbiB7YXNjaWksZWJjZGljLGlibX0gaXMgbW9nZWxpamsAJ2Jsb2NrJyBlbiAndW5ibG9jaycgZ2FhbiBuaWV0IHNhbWVuACdkaXJlY3QnIGVuICdub2NhY2hlJyBnYWFuIG5pZXQgc2FtZW4AJ2V4Y2wnIGVuICdub2NyZWF0JyBnYWFuIG5pZXQgc2FtZW4AJ2xjYXNlJyBlbiAndWNhc2UnIGdhYW4gbmlldCBzYW1lbgBlZW4gZXhwbGljaWV0ZSBtb2R1cyBnYWF0IG5pZXQgc2FtZW4gbWV0IG9wdGllICctLXJlZmVyZW5jZScAZWVuIHNpZ25hYWwgZ2FhdCBuaWV0IHNhbWVuIG1ldCBvcHRpZSAnLWwnIG9mICctdCcAa2FuIGJlc3RhbmRzbmFtZW4gJXMgZW4gJXMgbmlldCB2ZXJnZWxpamtlbgBrYW4gVSslMDRYIG5pZXQgY29udmVydGVyZW4gbmFhciBkZSBsb2thbGUgdGVrZW5zZXQAa2FuIFUrJTA0WCBuaWV0IGNvbnZlcnRlcmVuIG5hYXIgZGUgbG9rYWxlIHRla2Vuc2V0OiAlcwBrYW4gbWFwICVzIG5pZXQga29wacOrcmVuIG5hYXIgYmlubmVuIHppY2h6ZWxmICglcykAa2FuIGN5Y2xpc2NoZSBzeW1ib2xpc2NoZSBrb3BwZWxpbmcgJXMgbmlldCBrb3Bpw6tyZW4Aa2FuIG1hcCAlcyBuaWV0IGFhbm1ha2VuAGthbiBmaWZvICVzIG5pZXQgYWFubWFrZW4Aa2FuIGdlZW4gaGFyZGUga29wcGVsaW5nICVzIG1ha2VuIG5hYXIgJXMAa2FuIGRlIGtvcHBlbGluZyAlcyBuYWFyICVzIG5pZXQgYWFubWFrZW4Aa2FuIGhldCBub3JtYWxlIGJlc3RhbmQgJXMgbmlldCBhYW5tYWtlbgBrYW4gc3BlY2lhYWwgYmVzdGFuZCAlcyBuaWV0IGFhbm1ha2VuAGthbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmcgJXMgbmlldCBhYW5tYWtlbgBrYW4gc3ltYm9saXNjaGUga29wcGVsaW5nICVzIG5hYXIgJXMgbmlldCBhYW5tYWtlbgBrYW4gdGlqZGVsaWprIGJlc3RhbmQgJXMgbmlldCBhYW5tYWtlbgBrYW4gc3ltYm9saXNjaGUga29wcGVsaW5nICVzIG5pZXQgdm9sZ2VuAGthbiBoZXQgYXBwYXJhYXQgZW4gZGUgaW5vZGUgdmFuICVzIG5pZXQgYmVwYWxlbgBrYW4gZGUgaG9zdG5hYW0gbmlldCBhY2h0ZXJoYWxlbgBrYW4gZGUgbG9jYXRpZSB2YW4gJyVzJyBuaWV0IGJlcGFsZW47IHRlcnVnZ2V2YWxsZW4gb3AgcG9sc2VuAG9wdGllICctLXJlbGF0aXZlJyBrYW4gbmlldCB6b25kZXIgJy0tc3ltYm9saWMnAGthbiBnZWVuIGlvY3RsKCkgZG9lbiBvcCAlcwBrYW4gZ2VlbiBuYWFtIHZpbmRlbiBiaWogZ3JvZXBzLUlEICVsdQBrYW4gZ2VlbiBuYWFtIHZpbmRlbiBiaWogZ2VicnVpa2Vycy1JRCAlbHUAa2FuIGdlZW4gbmFhbSB2aW5kZW4gYmlqIGdlYnJ1aWtlcnMtSUQgJXMAa2FuICVzIG5pZXQgb3AgbmFhbSB2b2xnZW4Aa2FuIHN0YXR1cyB2YW4gJXMgbmlldCBvcHZyYWdlbgBrYW4gaHVpZGlnZSBtYXAgbmlldCBvcHZyYWdlbgBrYW4gZWZmZWN0aWV2ZSBHSUQgbmlldCB2ZXJrcmlqZ2VuAGthbiBlZmZlY3RpZXZlIFVJRCBuaWV0IHZlcmtyaWpnZW4Aa2FuIGRlIGh1aWRpZ2UgYmVsZWVmZGhlaWRzd2FhcmRlIG5pZXQgdmVya3JpamdlbgBrYW4gd2Vya2VsaWprZSBHSUQgbmlldCB2ZXJrcmlqZ2VuAGthbiB3ZXJrZWxpamtlIFVJRCBuaWV0IHZlcmtyaWpnZW4Aa2FuIGRlIG5hYW0gdmFuIGhldCBzeXN0ZWVtIG5pZXQgdmVya3JpamdlbgBrYW4gZGUgZ3Jvb3R0ZSB2YW4gJXMgbmlldCBhY2h0ZXJoYWxlbgBrYW4gZ2VlbiAnbHNlZWsnIGRvZW4gb3AgJXMAa2FuIG5pZXQgem93ZWwgaGFyZGUgYWxzIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIG1ha2VuAGthbiBtYXAgJXMgbmlldCBhYW5tYWtlbgBrYW4gJXMgbmlldCB2ZXJwbGFhdHNlbiBuYWFyICVzAGthbiAlcyBuaWV0IHZlcnBsYWF0c2VuIG5hYXIgZWVuIHN1Ym1hcCB2YW4gemljaHplbGYsICVzAGthbiBlZW4gbWFwIG5pZXQgdmVycGxhYXRzZW4gbmFhciBlZW4gbmlldC1tYXA6ICVzIC0+ICVzAGthbiAlcyBuaWV0IG9wZW5lbiBvbSB0ZSBsZXplbgBrYW4gJXMgbmlldCBvcGVuZW4gb20gdGUgc2NocmlqdmVuAGthbiBtYXAgJXMgbmlldCBvcGVuZW4Aa2FuIG5pZXQgd2Vya2VuIG9wIGxvemUgc3ltYm9saXNjaGUga29wcGVsaW5nICVzAGthbiBtYXAgJXMgbmlldCBvdmVyc2NocmlqdmVuIG1ldCBlZW4gbmlldC1tYXAAa2FuIG5pZXQtbWFwICVzIG5pZXQgb3ZlcnNjaHJpanZlbiBtZXQgbWFwICVzAGthbiBnZWVuIG9wZ2VtYWFrdGUgdWl0dm9lciBhYW5tYWtlbgBrYW4gZGUgdWl0Z2VicmVpZGUgZWlnZW5zY2hhcHBlbiBuaWV0IGJlaG91ZGVuOwonY3AnIGlzIGdlY29tcGlsZWVyZCB6b25kZXIgb25kZXJzdGV1bmluZyB2b29yICd4YXR0cicAa2FuIGJldmVpbGlnaW5nc2NvbnRleHQgbmlldCBiZWhvdWRlbiB6b25kZXIgZWVuIGtlcm5lbCBtZXQgU0VMaW51eABrYW4gbmlldCBtZWVyIGRhbiDDqcOpbiBkaW5nICJhbGxlZW4iIHRvbmVuAGthbiBpbiBzdGFuZGFhcmRpbmZvcm1hdGllIG5pZXQgYWxsZWVuIG5hbWVuIG5vY2ggYWxsZWVuIGVjaHRlIElEJ3MgdG9uZW4Aa2FuIGJldmVpbGlnaW5nc2NvbnRleHQgbmlldCB0b25lbiBhbHMgZWVuIGdlYnJ1aWtlcnNuYWFtIGdlZ2V2ZW4gaXMAa2FuIG5pZXQgbGV6ZW4Aa2FuIG1hcCAlcyBuaWV0IGxlemVuAGthbiBnZWVuIGJlc3RhbmRzbmFtZW4gdWl0ICVzIGxlemVuAGthbiBpbmZvcm1hdGllIGluIGJlc3RhbmRzc3lzdGVlbSBuaWV0IGxlemVuIHZvb3IgJXMAa2FuIGRlIHJlYWx0aW1lLWtsb2sgbmlldCBsZXplbgBrYW4gc3ltYm9saXNjaGUga29wcGVsaW5nICVzIG5pZXQgbGV6ZW4Aa2FuIHRhYmVsIHZhbiBhYW5nZWtvcHBlbGRlIGJlc3RhbmRzc3lzdGVtZW4gbmlldCBsZXplbgBrYW4gJXMgbmlldCB2ZXJ3aWpkZXJlbgBrYW4gJXMgbmlldCB1aXR2b2VyZW4Aa2FuICVzIGdlZW4gd2FhcmRlIGdldmVuAGthbiBkYXR1bSBuaWV0IGluc3RlbGxlbgBrYW4gZGUgaG9zdG5hYW0gbmlldCBpbnN0ZWxsZW47IGRpdCBzeXN0ZWVtIGJpZWR0IGRlemUgZnVuY3Rpb25hbGl0ZWl0IG5pZXQAa2FuIGRlIG5hYW0gbmlldCB3aWp6aWdlbiBuYWFyICVzAGthbiBiZWxlZWZkaGVpZHN3YWFyZGUgbmlldCBpbnN0ZWxsZW4Aa2FuIGRlIHRvZWdhbmdzcmVjaHRlbiB2YW4gJXMgbmlldCBpbnN0ZWxsZW4Aa2FuIGRvZWxjb250ZXh0IG5pZXQgem93ZWwgaW5zdGVsbGVuIGFscyBiZWhvdWRlbgBrYW4gZGUgdGlqZHNzdGVtcGVscyB2YW4gJXMgbmlldCBpbnN0ZWxsZW4Aa2FuIG5pZXQgdm9vcmJpaiBoZXQgZWluZGUgdmFuIGRlIGdlY29tYmluZWVyZGUgaW52b2VyIHNwcmluZ2VuAG9wdGllICctLW51bGwnICgtMCkgZ2FhdCBuaWV0IHNhbWVuIG1ldCBlZW4gY29tbWFuZG8Ab3B0aWVzICctLWRhdGEnIGVuICctLWZpbGUtc3lzdGVtJyBnYWFuIG5pZXQgc2FtZW4Aa2FuIG5pZXQgem93ZWwgdmVydGljYWFsIGFscyBob3Jpem9udGFhbCBhZmRydWtrZW4AYmlqIGhvcml6b250YWFsIGFmZHJ1a2tlbiBrYW4gaGV0IGFhbnRhbCBrb2xvbW1lbiBuaWV0IHdvcmRlbiBvcGdlZ2V2ZW4Ab3B0aWUgJy10JyBnYWF0IG5pZXQgc2FtZW4gbWV0ICctZCcgb2YgJy1yJwBrYW4gbmlldCBvcCBtZWVyZGVyZSBtYW5pZXJlbiBzcGxpdHNlbgBrYW4gc3RhdHVzIHZhbiAlcyBuaWV0IG9wdnJhZ2VuAGthbiBzdGF0dXMgdmFuIGh1aWRpZ2UgbWFwICVzIG5pZXQgb3B2cmFnZW4Aa2FuICdzdGF0JyBuaWV0IHRvZXBhc3NlbiBvcCBzdGFuZGFhcmRpbnZvZXIAa2FuIHRpamRzc3RlbXBlbHMgdmFuICVzIG5pZXQgd2lqemlnZW4Aa2FuICVzIG5pZXQgdWl0IHJlc2VydmVrb3BpZSBoZXJzdGVsbGVuAGthbiAlcyBuaWV0IHZlcndpamRlcmVuAGthbiAlcyBuaWV0IHZlcndpamRlcmVuAGthbiAlcyBuaWV0IG1vbml0b3JlbgBrYW4gZGUgYm92ZW5saWdnZW5kZSBtYXAgdmFuICVzIG5pZXQgbW9uaXRvcmVuAGthbiB0b2NoIG5pZXQgb20gZGUga2VybmVsZm91dCBoZWVuIHdlcmtlbgBkZSBncm9lcCB2YW4gJXMgaXMgdmVyYW5kZXJkIHZhbiAlcyBuYWFyICVzCgBkZSBlaWdlbmFhciB2YW4gJXMgaXMgdmVyYW5kZXJkIHZhbiAlcyBuYWFyICVzCgB2ZXJhbmRlcmVuIHZhbiBkZSBncm9lcCB2YW4gJXMAdmVyYW5kZXJlbiB2YW4gZGUgZWlnZW5hYXIgdmFuICVzAHZlcmFuZGVyZW4gdmFuIHRvZWdhbmdzcmVjaHRlbiB2YW4gJXMAdmVyYW5kZXJlbiB2YW4gYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gJXMKAHRla2VucG9zaXRpZSBpcyBudWwAdGVrZW4gbGlndCBidWl0ZW4gdG9lZ2VzdGFhbiBiZXJlaWsAYnl0ZS1hcHBhcmFhdABieXRlLWFwcGFyYWF0YmVzdGFuZGVuIHdvcmRlbiBuaWV0IG9uZGVyc3RldW5kAHdpc3NlbiB2YW4gdG9lZ2FuZ3NyZWNodGVuIHZhbiAlcwBrbG9rIGlzIHZlcnpldABzbHVpdGVuIGlzIG1pc2x1a3QAc2x1aXRlbiB2YW4gJXMgKGJlc3RhbmRzZGVzY3JpcHRvcj0lZCkAc2x1aXRlbiB2YW4gbWFwICVzAHNsdWl0ZW4gdmFuIGludm9lcmJlc3RhbmQgJXMAc2x1aXRlbiB2YW4gaW52b2VycGlqcABzbHVpdGVuIHZhbiB1aXR2b2VyYmVzdGFuZCAlcwBzbHVpdGVuIHZhbiB1aXR2b2VycGlqcABzbHVpdGVuIHZhbiBlZXJkZXJlIHBpanAAc2x1aXRlbiB2YW4gc3RhbmRhYXJkaW52b2VyAGNvbXBhdGliaWxpdGVpdHNtb2R1cyBtYWcgbWV0IGhvb2d1aXQgw6nDqW4gYmVzdGFuZABjb25mbGljdGVyZW5kZSB2ZXJ2YW5naW5nc3Rla2VucmVla3NlbiB2b29yIGxlZ2UgdmVsZGVuAGNvbmZsaWN0ZXJlbmRlIHNwZWNpZmljYXRpZXMgdm9vciBiZXZlaWxpZ2luZ3Njb250ZXh0IGdlZ2V2ZW4AYWFuZWVuZ2VzbG90ZW4gZ2VnZXZlbnMAa2FuIGRlIGJ1ZmZlcmluZyB2YW4gJXMgbmlldCBpbiBtb2R1cyAlcyB6ZXR0ZW4KAGthbiBnZWVuIHByb2NlcyB2b29yICclcyAtZCcgYWFubWFrZW4Aa2FuIGdlZW4gdGlqZGVsaWprIGJlc3RhbmQgYWFubWFrZW4Aa2FuIGdlZW4gbWFwaXRlbSB2aW5kZW4gaW4gJXMgbWV0IGVlbiBvdmVyZWVua29tZW5kZSBpbm9kZQBrYW4gZGUgb3BzdGFydHRpamQgbmlldCB2aW5kZW4Aa2FuIG5pZXQtYmxva2tlcmVuZGUgbW9kdXMgJXMgbmlldCBoZXJzdGVsbGVuAG1hcCAlcyBpcyBhYW5nZW1hYWt0AGFhbm1ha2VuIHZhbiBtYXAgJXMAYWFubWFrZW4gdmFuIGJlc3RhbmQgJXMKAGxpanN0IG1ldCBzY2hlaWRpbmdzdGVrZW5zIGVpbmRpZ3QgbWV0IG9uYWFuZ2VoYWFsZGUgYmFja3NsYXNoOiAlcwBtYXAAZGVsaW5nIGRvb3IgbnVsAGRvb3IAbGVnZSBiZXN0YW5kc25hYW0AbGVlZyBzY2hlaWRpbmdzdGVrZW4AbGVnZSB0YWIAZm91dCBiaWogY2Fub25pc2VyZW4gdmFuICVzAGZvdXQgYmlqIHNsdWl0ZW4gdmFuIGJlc3RhbmQAZm91dCBiaWogdnJpamdldmVuIHZhbiAlcwBmb3V0IGluIHpvZWtlbiBtZXQgcmVndWxpZXJlIGV4cHJlc3NpZQBmb3V0IGluIHpvZWtlbiBtZXQgcmVndWxpZXJlIGV4cHJlc3NpZQBmb3V0IGJpaiBvcGVuZW4gdmFuICVzAGZvdXQgYmlqIGxlemVuIHZhbiAlcwBmb3V0IGJpaiBsZXplbiB2YW4gJ2lub3RpZnknLWdlYmV1cnRlbmlzAGZvdXQgYmlqIGxlemVuIHZhbiBpbnZvZXIAZm91dCBiaWogaGV0IHN5bmNlbiB2YW4gJXMAZm91dCBiaWogaGV0IHdhY2h0ZW4gb3AgY29tbWFuZG8AZm91dCBiaWogc2NocmlqdmVuIHZhbiAlcwB3b3JkdCB1aXRnZXZvZXJkIG1ldCBGSUxFPSVzCgBleGl0PQBvdmVydG9sbGlnIGFyZ3VtZW50OiAlcwBvdmVydG9sbGlnIGFyZ3VtZW50OiAlcwBleHRyYSBhcmd1bWVudCAlcyBpcyBuaWV0IHRvZWdlc3RhYW4gYmlqIG9wdGllICctJWMnAGthbiBnZWVuIHRvZWdhbmcga3JpamdlbiB0b3QgJXMAY2Fub25pc2VyZW4gdmFuICVzIGlzIG1pc2x1a3QAa2FuIGRlIGNvbnRleHQgdmFuICVzIG5pZXQgdmVyYW5kZXJlbiBuYWFyICVzAGthbiBkZSBncm9lcCB2YW4gJXMgbmlldCB2ZXJhbmRlcmVuIHZhbiAlcyBuYWFyICVzCgBrYW4gZGUgZ3JvZXAgdmFuICVzIG5pZXQgdmVyYW5kZXJlbiBuYWFyICVzCgBrYW4gbW9kdXMgdmFuICVzIG5pZXQgdmVyYW5kZXJlbiB2YW4gJTA0bG8gKCVzKSBuYWFyICUwNGxvICglcykKAGthbiBkZSBlaWdlbmFhciB2YW4gJXMgbmlldCB2ZXJhbmRlcmVuCgBrYW4gZGUgZWlnZW5hYXIgdmFuICVzIG5pZXQgdmVyYW5kZXJlbiB2YW4gJXMgbmFhciAlcwoAa2FuIGRlIGVpZ2VuYWFyIHZhbiAlcyBuaWV0IHZlcmFuZGVyZW4gbmFhciAlcwoAa2FuIG5pZXQgbmFhciBtYXAgJXMgZ2FhbgBrYW4gJTIkcyBuaWV0IGtsb25lbiBuYWFyICUxJHMAc2x1aXRlbiB2YW4gJXMgaXMgbWlzbHVrdABrYW4gaW52b2VycGlqcCBuaWV0IHNsdWl0ZW4Aa2FuIGdlZW4gbmlldXdlIGNvbnRleHQgYmVyZWtlbmVuAGVua2VsZSB2YW4gZGUgaW52b2VyZ2V0YWxsZW4gemlqbiBuaWV0IGdlY29udmVydGVlcmQAa2FuIGdlZW4gbWFwIGFhbm1ha2VuIHZpYSBzamFibG9vbiAlcwBrYW4gZ2VlbiBiZXN0YW5kIGFhbm1ha2VuIHZpYSBzamFibG9vbiAlcwBrYW4gZ2VlbiBoYXJkZSBrb3BwZWxpbmcgJXMgYWFubWFrZW4Aa2FuIGdlZW4gaGFyZGUga29wcGVsaW5nICVzIG5hYXIgJXMgYWFubWFrZW4Aa2FuIGdlZW4gaGFyZGUga29wcGVsaW5nIG5hYXIgJS4wcyVzIGFhbm1ha2VuAGFhbm1ha2VuIHZhbiBwaWpwIGlzIG1pc2x1a3QAa2FuIGJldmVpbGlnaW5nc2NvbnRleHQgJXMgbmlldCBhYW5tYWtlbgBrYW4gZ2VlbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmcgJXMgYWFubWFrZW4Aa2FuIGdlZW4gc3ltYm9saXNjaGUga29wcGVsaW5nICVzIG5hYXIgJXMgYWFubWFrZW4Aa2FuIGdlZW4gdGlqZGVsaWprIGJlc3RhbmQgYWFubWFrZW4gaW4gJXMAdmVyd2VycGVuIHZhbiBjYWNoZSB2b29yICVzIGlzIG1pc2x1a3QAa2FuICVzIG5pZXQgdWl0YnJlaWRlbgBrYW4gJXMgbmlldCB2aW5kZW4Aa2FuIGRlIGVpZ2Vuc2NoYXBwZW4gdmFuICVzIG5pZXQgdmVya3JpamdlbgBrYW4gZGUgaHVpZGlnZSBjb250ZXh0IG5pZXQgdmVya3JpamdlbgBrYW4gZGUgZ3JvZXBlbiB2YW4gaGV0IGh1aWRpZ2UgcHJvY2VzIG5pZXQgdmVya3JpamdlbgBrYW4gZGUgZ3JvZXBlbiB2YW4gZ2VicnVpa2VyICVzIG5pZXQgdmVya3JpamdlbgBrYW4gZGUgYmV2ZWlsaWdpbmdzY29udGV4dCB2YW4gJXMgbmlldCB2ZXJrcmlqZ2VuAGthbiBhYW52dWxsZW5kZSBncm9lcGVuIG5pZXQgYWNodGVyaGFsZW4Aa2FuIGJlc3RhbmQgJXMgbmlldCB2aW5kZW4Ab3BlbmVuIHZhbiAlcyBpcyBtaXNsdWt0AGthbiAlcyBuaWV0IG9wZW5lbiBvbSB0ZSBsZXplbgBvcGVuZW4gdm9vciBzY2hyaWp2ZW4gdmFuICVzIGlzIG1pc2x1a3QAdm9vcmJlcmVpZGVuIHZhbiB3YWFyZGUgJyVMZicgdm9vciB0b25lbiBpcyBtaXNsdWt0AGJlaG91ZGVuIHZhbiBoZXQgYXV0ZXVyc2NoYXAgdmFuICVzIGlzIG1pc2x1a3QAYmVob3VkZW4gdmFuIGVpZ2VuYWFyIHZhbiAlcyBpcyBtaXNsdWt0AGJlaG91ZGVuIHZhbiBkZSB0b2VnYW5nc3JlY2h0ZW4gdmFuICVzIGlzIG1pc2x1a3QAYmVob3VkZW4gdmFuIGRlIHRpamRzc3RlbXBlbHMgdmFuICVzIGlzIG1pc2x1a3QAa2FuIHN0YW5kYWFyZGZvdXR1aXR2b2VyIG5pZXQgb21sZWlkZW4Aa2FuICVzIG5pZXQgdmVyd2lqZGVyZW4Aa2FuIG1hcCAlcyBuaWV0IHZlcndpamRlcmVuAGthbiBzdGFuZGFhcmRpbnZvZXIgbmlldCBvbmJydWlrYmFhciBtYWtlbgBrYW4gZGUgY29udGV4dCB2b29yICVzIG5pZXQgaGVyc3RlbGxlbgBrYW4gZGUgc3RhbmRhYXJkIGFhbm1hYWtjb250ZXh0IG5pZXQgaGVyc3RlbGxlbgBrYW4gbmlldCB0ZXJ1Z2tlcmVuIG5hYXIgZGUgb29yc3Byb25rZWxpamtlIHdlcmttYXAAdGVydWdzcHJpbmdlbiBpbiBzdHJvb20gdm9vciAlcyBpcyBtaXNsdWt0AGthbiBjb21tYW5kbyAlcyBuaWV0IHVpdHZvZXJlbgBrYW4gY29tbWFuZG8gIiVzIC1jICVzIiBuaWV0IHVpdHZvZXJlbgBrYW4gY29tcG9uZW50ICVzIHZhbiBiZXZlaWxpZ2luZ3Njb250ZXh0IG5pZXQgaW5zdGVsbGVuIG9wICVzAGluc3RlbGxlbiB2YW4gb21nZXZpbmdzdmFyaWFiZWxlIEZJTEUgaXMgbWlzbHVrdABrYW4gZGUgc3RhbmRhYXJkIGFhbm1hYWtjb250ZXh0IHZvb3IgJXMgbmlldCBpbnN0ZWxsZW4Aa2FuIGRlIHN0YW5kYWFyZCBhYW5tYWFrY29udGV4dCBuaWV0IGluc3RlbGxlbiBvcCAlcwBrYW4gZGUgc3RhbmRhYXJkIGFhbm1hYWtjb250ZXh0IG5pZXQgaW5zdGVsbGVuIG9wICVzAGthbiB0ZWtzdC0vYmluYWlyZSBtb2R1cyB2YW4gYmVzdGFuZHNkZXNjcmlwdG9yIG5pZXQgaW5zdGVsbGVuAGluc3RlbGxlbiB2YW4gZ3JvZXBzLUlEIGlzIG1pc2x1a3QAaW5zdGVsbGVuIHZhbiB0YWFscmVnaW8gaXMgbWlzbHVrdABrYW4gbmlldXcgYmVyZWlrICVzIG5pZXQgaW5zdGVsbGVuAGthbiBuaWV1d2Ugcm9sICVzIG5pZXQgaW5zdGVsbGVuAGthbiBuaWV1dyB0eXBlICVzIG5pZXQgaW5zdGVsbGVuAGthbiBuaWV1d2UgZ2VicnVpa2VyICVzIG5pZXQgaW5zdGVsbGVuAGluc3RlbGxlbiB2YW4gYWFudnVsbGVuZGUgZ3JvZXBlbiBpcyBtaXNsdWt0AGthbiBkZSBiZXZlaWxpZ2luZ3Njb250ZXh0IHZhbiAlcyBuaWV0IGluc3RlbGxlbgBpbnN0ZWxsZW4gdmFuIGdlYnJ1aWtlcnMtSUQgaXMgbWlzbHVrdABrYW4gc3RhdHVzIHZhbiAlcyBuaWV0IG9wdnJhZ2VuAHVpdHNjaGFrZWxlbiB2YW4gT19ESVJFQ1QgaXMgbWlzbHVrdDogJXMAaGV0IGJpandlcmtlbiB2YW4gZGUgb21nZXZpbmcgbWV0ICVzIGlzIG1pc2x1a3QAJ2ZkYXRhc3luYycgaXMgbWlzbHVrdCB2b29yICVzAGFsbGVzIG5hYXIgc2NoaWpmIHdlZ3NjaHJpanZlbiAoZmZsdXNoKSBpcyBtaXNsdWt0AHZlbGRudW1tZXIgJXMgaXMgdGUgZ3Jvb3QAdmVsZG51bW1lciBpcyBudWwAdmVsZGVuIHdvcmRlbiBnZW51bW1lcmQgdmFuYWYgMQBmaWZvAGJlc3RhbmQgJWQgaXMgbmlldCBnZXNvcnRlZXJkAGJlc3RhbmRzYXJndW1lbnRlbiBnYWFuIG5pZXQgc2FtZW4gbWV0IGRlIG9wdGllICctLWZpbGVzMC1mcm9tJwBvcHRpZSAnLS1wcmludC1kYXRhYmFzZScgKC1wKSBnYWF0IG5pZXQgc2FtZW4gbWV0IGJlc3RhbmRlbgBiZXN0YW5kc3N5c3RlZW10eXBlICVzIGlzIHpvd2VsIGdla296ZW4gYWxzIHVpdGdlc2xvdGVuAGthbiBnZWVuIG5pZXV3IHByb2NlcyBzdGFydGVuAG9wbWFha3NwZWNpZmljYXRpZSAlcyBlaW5kaWd0IGluICclJScAb3BtYWFrc3BlY2lmaWNhdGllICVzIGJldmF0IGdlZW4gJyUlJwBvcG1hYWtzcGVjaWZpY2F0aWUgJXMgYmV2YXQgdGUgdmVlbCAnJSUnAG9wbWFha3NwZWNpZmljYXRpZSAlcyBiZXZhdCBvbmJla2VuZGUgJyUlJWMnAGVlbiBvcG1hYWsgZ2FhdCBuaWV0IHNhbWVuIG1ldCB1aXR2b2VyIHZhbiBnZWxpamtlIGJyZWVkdGUAJ2ZzeW5jJyBpcyBtaXNsdWt0IHZvb3IgJXMAZnRzX2Nsb3NlKCkgaXMgbWlzbHVrdABmdHNfcmVhZCgpIGlzIG1pc2x1a3QAZnRzX3JlYWQoKSBpcyBtaXNsdWt0OiAlcwBhYW5tYWtlbiB2YW4gcmVsYXRpZWYgcGFkAHZlcmtyaWpnZW4gdmFuIG5pZXV3ZSBlaWdlbnNjaGFwcGVuIHZhbiAlcwBkZSBncm9lcCB2YW4gJXMgYmxpamZ0ICVzCgBncm9lcGVyZW4gw6luIGRlIGhlcmhhbGluZ3NhYW50YWxsZW4gdG9uZW4gaXMgb256aW4AZ3JvZXBlcmluZyBnYWF0IG5pZXQgc2FtZW4gbWV0IG9wdGllICctLXRvJwBncm9lcGVyaW5nIGhlZWZ0IGdlZW4gZWZmZWN0IGluIGRlemUgdGFhbHJlZ2lvAGRlIGZ1bmN0aWUgaWNvbnYoKSBpcyBuaWV0IGJlc2NoaWtiYWFyAGRlIGZ1bmN0aWUgaWNvbnYoKSBpcyBvbmJydWlrYmFhcgBpZD0Ab3B0aWUgJy0tbm8tbmV3bGluZScgbWV0IG1lZXJkZXJlIGFyZ3VtZW50ZW4gd29yZHQgZ2VuZWdlZXJkAGludm9lciB3b3JkdCBnZW5lZ2VlcmQAaW52b2VyIHdvcmR0IGdlbmVnZWVyZCBlbiB1aXR2b2VyIHdvcmR0IGFhbiAlcyB0b2VnZXZvZWdkAGludm9lciB3b3JkdCBnZW5lZ2VlcmQgZW4gc3RhbmRhYXJkZm91dHVpdHZvZXIgZ2FhdCBuYWFyIHN0YW5kYWFyZHVpdHZvZXIAZ2VuZWdlZXJkOiBvbmdlbGRpZ2UgdGFiLWdyb290dGUgJXMgaW4gb21nZXZpbmdzdmFyaWFiZWxlIFRBQlNJWkUAZ2VuZWdlZXJkOiBvbmdlbGRpZ2Ugd2FhcmRlICVzIHZhbiBvbWdldmluZ3N2YXJpYWJlbGUgUVVPVElOR19TVFlMRQBnZW5lZ2VlcmQ6IG9uZ2VsZGlnZSBicmVlZHRlICVzIGluIG9tZ2V2aW5nc3ZhcmlhYmVsZSBDT0xVTU5TAGFyZ3VtZW50ZW4gZGllIGdlZW4gb3B0aWUgemlqbiB3b3JkZW4gZ2VuZWdlZXJkAGluY29tcGF0aWJlbGUgam9pbi12ZWxkZW46ICVsdSwgJWx1AGluY29tcGF0aWJlbGUgc2NoZWlkaW5nc3Rla2VucwAnaW5vdGlmeScga2FuIG5pZXQgd29yZGVuIGdlYnJ1aWt0OyB0ZXJ1Z2dldmFsbGVuIG9wIHBvbHNlbgBvbnZvbGRvZW5kZSBodWxwYnJvbm5lbiBiZXNjaGlrYmFhciB2b29yICdpbm90aWZ5JwBpbnZvZXIgaXMgdmVyZHdlbmVuAGludm9lcnJlZ2VsIGlzIHRlIGxhbmcAaW50ZWdlci1vdmVyZmxvdwB2ZXJwbGFhdHNpbmcgdHVzc2VuIGFwcGFyYXRlbiBpcyBtaXNsdWt0OiAlcyBuYWFyICVzOyAga2FuIGhldCBkb2VsIG5pZXQgdmVyd2lqZGVyZW4Ab25nZWxkaWcgYXJndW1lbnQgdmFuICclcyc6ICVzAG9uZ2VsZGlnIGFyZ3VtZW50ICclMyRzJyB2YW4gJTEkcyUyJHMAb25nZWxkaWcgYXJndW1lbnQgdmFuICctLSVzJzogJXMAb25nZWxkaWcgYXJndW1lbnQgdmFuICctLXRocmVzaG9sZCc6ICctMCcAb25nZWxkaWdlIElPLWJsb2tncm9vdHRlAG9uZ2VsZGlnIHByb2Nlc251bW1lcgBvbmdlbGRpZ2Ugc3RhcHdhYXJkZTogJXMAb25nZWxkaWdlIGFhbnBhc3NpbmcgJXMAb25nZWxkaWcgYXJndW1lbnQ6ICVzAG9uZ2VsZGlnIGFyZ3VtZW50ICVzIHZhbiAlcwBvbmdlbGRpZ2Ugc3Rpamwgdm9vciByZWdlbG51bW1lcnM6ICVzAG9uZ2VsZGlnZSBidWZmZXJpbmdzbW9kdXMgJXMgdm9vciAlcwoAb25nZWxkaWcgYmVyZWlrIHZvb3IgYnl0ZXMgb2YgdGVrZW5zAG9uZ2VsZGlnZSBieXRlLSBvZiB0ZWtlbnBvc2l0aWUgJXMAb25nZWxkaWcgdGVrZW4gJyVjJyBpbiBvcG1hYWtyZWVrcyAlcwBvbmdlbGRpZ2UgdGVrZW5rbGFzc2UgJXMAb25nZWxkaWcgYnJva251bW1lcgBvbmdlbGRpZ2UgY29udGV4dDogJXMAb25nZWxkaWdlIGNvbnZlcnNpZQBvbmdlbGRpZ2UgY29udmVyc2llc3BlY2lmaWNhdGllIGluIGFjaHRlcnZvZWdzZWw6ICVjAG9uZ2VsZGlnZSBjb252ZXJzaWVzcGVjaWZpY2F0aWUgaW4gYWNodGVydm9lZ3NlbDogXCUuM28Ab25nZWxkaWdlIGRhdHVtOiAlcwBvbmdlbGRpZ2UgZGF0dW1vcG1hYWsgJXMAb25nZWxkaWcgYWZsb3BlbmQgYmVyZWlrAG9uZ2VsZGlnIGFwcGFyYWF0ICVzICVzAG9uZ2VsZGlnIGFwcGFyYWF0dHlwZSAlcwBvbmdlbGRpZyB2ZWxkbnVtbWVyOiAlcwBvbmdlbGRpZyBiZXJlaWsgdm9vciB2ZWxkZW4Ab25nZWxkaWdlIHZlbGRzcGVjaWZpY2F0aWU6ICVzAG9uZ2VsZGlnZSB2ZWxkd2FhcmRlICVzAG9uZ2VsZGlnZSB2ZWxkYnJlZWR0ZTogJXMAb25nZWxkaWcgYmVzdGFuZHNudW1tZXIgaW4gdmVsZHNwZWNpZmljYXRpZTogJXMAb25nZWxkaWdlIGJlc3RhbmRzZ3Jvb3R0ZQBvbmdlbGRpZ2UgdmxhZ2dlbiBpbiBjb252ZXJzaWVzcGVjaWZpY2F0aWU6ICUlJWMlYwBvbmdlbGRpZyBkcmlqdmVuZGVrb21tYS1hcmd1bWVudDogJXMAb25nZWxkaWdlIHN0aWpsIHZvb3Igdm9ldHJlZ2VsbnVtbWVyaW5nOiAlcwBvbmdlbGRpZ2Ugb3BtYWFrICVzIChicmVlZHRlIGlzIHRlIGdyb290KQBvbmdlbGRpZ2Ugb3BtYWFrICVzOyBlZW4gb3BtYWFrc3BlY2lmaWNhdGllIG1vZXQgJSVbMF1bJ11bLV1bTl1bLl1bTl1mIHppam4Ab25nZWxkaWdlIGJyZWVkdGUgdmFuIHR1c3NlbnJ1aW10ZTogJXMAb25nZWxkaWdlIGdyb2VwAG9uZ2VsZGlnZSBncm9lcDogJXMAb25nZWxkaWdlIGdyb2Vwc2xpanN0OiAlcwBvbmdlbGRpZ2UgZ3JvZXA6ICVzAG9uZ2VsZGlnZSBzdGlqbCB2b29yIGtvcHJlZ2VsbnVtbWVyaW5nOiAlcwBvbmdlbGRpZ2Uga29wcmVnZWx3YWFyZGUgJXMAb25nZWxkaWdlIGludm9lcgBvbmdlbGRpZ2UgaW52b2VydmxhZwBvbmdlbGRpZyBpbnZvZXJiZXJlaWsAb25nZWxkaWcgZ2VoZWVsIGdldGFsOiAlcwBvbmdlbGRpZyBnZWhlZWxnZXRhbC1hcmd1bWVudABvbmdlbGRpZ2UgbGVuZ3RlAG9uZ2VsZGlnZSBsZW5ndGU6ICVzAG9uZ2VsZGlnIGFhbnRhbCByZWdlbHM6ICVzAG9uZ2VsZGlnIGxpam5wcm90b2NvbDogJXMAb25nZWxkaWdlIHZlbGRicmVlZHRlIHZvb3IgcmVnZWxudW1tZXIAb25nZWxkaWdlIG9waG9naW5nIHZvb3IgcmVnZWxudW1tZXJzAG9uZ2VsZGlnIGFhbnRhbCBsZWdlIHJlZ2VscwBvbmdlbGRpZ2Ugb3BtYWFrIHZvb3IgbnVtbWVyaW5nOiAlcwBvbmdlbGRpZ2UgcmVnZWxicmVlZHRlAG9uZ2VsZGlnZSByZWdlbGJyZWVkdGU6ICVzAG9uZ2VsZGlnIGhvb2ZkYXBwYXJhYXRudW1tZXIgJXMAb25nZWxkaWdlIG1heGltdW0gZGllcHRlICVzAG9uZ2VsZGlnIG1heGltdW0gYWFudGFsIG9udmVyYW5kZXJkZSBzdGF0dXNvcHZyYWdpbmdlbgBvbmdlbGRpZyBzdWJhcHBhcmFhdG51bW1lciAlcwBvbmdlbGRpZ2UgbW9kdXMAb25nZWxkaWdlIG1vZHVzICVzAG9uZ2VsZGlnZSBtb2R1czogJXMAb25nZWxkaWcgZ2V0YWwAb25nZWxkaWcgZ2V0YWwgbmEgJywnAG9uZ2VsZGlnIGdldGFsIG5hICctJwBvbmdlbGRpZyBnZXRhbCBuYSAnLicAb25nZWxkaWcgZ2V0YWwgYWFuIGhldCBiZWdpbiB2YW4gZWVuIHZlbGQAb25nZWxkaWcgYWFudGFsIGJ5dGVzAG9uZ2VsZGlnIGFhbnRhbCBieXRlcyBvbSB0ZSB2ZXJnZWxpamtlbgBvbmdlbGRpZyBhYW50YWwgYnl0ZXMgb20gb3ZlciB0ZSBzbGFhbgBvbmdlbGRpZyBhYW50YWwgYnJva2tlbgBvbmdlbGRpZyBhYW50YWwga29sb21tZW4Ab25nZWxkaWcgYWFudGFsIHZlbGRlbiBvbSBvdmVyIHRlIHNsYWFuAG9uZ2VsZGlnIGFhbnRhbCByZWdlbHMAb25nZWxkaWcgYWFudGFsIGRvb3Jsb3BlbgBvbmdlbGRpZyBhYW50YWwgc2Vjb25kZW46ICVzAG9uZ2VsZGlnIGdldGFsOiAlcwBvbmdlbGRpZ2Ugb3B0aWU6ICVjAG9uZ2VsZGlnZSBvcHRpZTogJyVjJzsgIC1HRVRBTCB3b3JkdCBhbGxlZW4gaGVya2VuZCBhbHMKaGV0IGhldCBlZXJzdGUgYXJndW1lbnQgaXM7IGdlYnJ1aWsgYW5kZXJzICctdyBHRVRBTCcAb25nZWxkaWdlIGdyb25kdGFsY29kZSAnJWMnIHZvb3IgYWRyZXNzZW47IGtpZXMgZWVuIHRla2VuIHVpdCBbZG94bl0Ab25nZWxkaWdlIHVpdHZvZXJ2bGFnAG9uZ2VsZGlnZSBvcHZ1bHdhYXJkZSAlcwBvbmdlbGRpZ2UgcGFnaW5hcmVla3MgJXMAb25nZWxkaWdlIHByZWNpc2llIGluIG9wbWFha3NwZWNpZmljYXRpZSAlcwBvbmdlbGRpZ2UgcHJlY2lzaWU6ICVzAG9uZ2VsZGlnIGJlcmVpayB6b25kZXIgZWluZHB1bnQ6IC0Ab25nZWxkaWcgaGVyaGFsaW5nc2FhbnRhbCAlcyBpbiAnW3Rla2VuKmFhbnRhbF0nLWNvbnN0cnVjdGllAG9uZ2VsZGlnZSBhYW5kdWlkaW5nAG9uZ2VsZGlnIHJlZ2VsbnVtbWVyIHZvb3IgYmVnaW5yZWdlbABvbmdlbGRpZyBhcmd1bWVudCB2YW4gJ3N0YXR1cycAb25nZWxkaWcgYWNodGVydm9lZ3NlbCAlczsgaGV0IGJldmF0IGVlbiBtYXBzY2hlaWRpbmdzdGVrZW4Ab25nZWxkaWcgYWNodGVydm9lZ3NlbCBpbiBhcmd1bWVudCAnJTMkcycgdmFuICUxJHMlMiRzAG9uZ2VsZGlnIGFjaHRlcnZvZWdzZWwgaW4gaW52b2VyICVzOiAlcwBvbmdlbGRpZyBhY2h0ZXJ2b2Vnc2VsIGluIGludm9lcjogJXMAb25nZWxkaWdlIGxlbmd0ZSB2b29yIGFjaHRlcnZvZWdzZWwAb25nZWxkaWdlIHRhYi1ncm9vdHRlAG9uZ2VsZGlnIHNqYWJsb29uICVzOyBoZXQgYmV2YXQgZWVuIG1hcHNjaGVpZGluZ3N0ZWtlbgBvbmdlbGRpZyBzamFibG9vbiAlczsgbWV0ICctLXRtcGRpcicgbWFnIGRlemUgbmlldCBhYnNvbHV1dCB6aWpuAG9uZ2VsZGlnIHRpamRzaW50ZXJ2YWw6ICVzAG9uZ2VsZGlnZSBvcG1hYWtzdGlqbCAlcyB2b29yIGRlIHRpamQAb25nZWxkaWdlIG9wdGllIGFhbiBoZXQgZWluZDogJWMAb25nZWxkaWcgdHlwZTogJXMAb25nZWxkaWcgdHlwZTogJXM7CmRpdCBzeXN0ZWVtIGtlbnQgZ2VlbiBkcmlqdmVuZGVrb21tYWdldGFsIHZhbiAlbHUgYnl0ZXMgAG9uZ2VsZGlnIHR5cGU6ICVzOwpkaXQgc3lzdGVlbSBrZW50IGdlZW4gZ2VoZWVsZ2V0YWx0eXBlIHZhbiAlbHUgYnl0ZXMgAG9uZ2VsZGlnZSBlZW5oZWlkc2dyb290dGU6ICVzAG9uZ2VsZGlnZSB1bml2ZXJzZWxlIHRla2VubmFhbSBcJWMlMCp4AG9uZ2VsZGlnZSBnZWJydWlrZXIAb25nZWxkaWdlIGdlYnJ1aWtlcjogJXMAb25nZWxkaWdlIGJyZWVkdGUAb25nZWxkaWdlIHdhYXJkZSB2YW4gb3B0aWUgJy13Jy8nLS13cmFwJwBvbmdlbGRpZ2UgYmVzdGFuZHNuYWFtIChsZW5ndGUgbnVsKQBoZXQgaXMgZ2V2YWFybGlqayBvbSByZWN1cnNpZWYgb3AgJXMgdGUgd2Vya2VuAGhldCBpcyBnZXZhYXJsaWprIG9tIHJlY3Vyc2llZiBvcCAlcyB0ZSB3ZXJrZW4gKGhldHplbGZkZSBhbHMgJXMpAHNsZXV0ZWwgJWx1IGhlZWZ0IGJyZWVkdGUgbnVsIGVuIHdvcmR0IGdlbmVnZWVyZABzbGV1dGVsICVsdSBpcyBudW1lcmllayBlbiBiZXNsYWF0IG1lZXJkZXJlIHZlbGRlbgBncm90ZSBpbnZvZXJ3YWFyZGUgJXM6IG1vZ2VsaWprIHZlcmxpZXMgdmFuIHByZWNpc2llAHZvcmlnZT0AZWVuICctJyBhYW4gaGV0IGJlZ2luIHZhbiBlZW4gY29tcG9uZW50IGluIGJlc3RhbmRzbmFhbSAlcwBsZWlkZW5kZSB3aXRydWltdGUgaXMgc2lnbmlmaWNhbnQgaW4gc2xldXRlbCAlbHU7IG1pc3NjaGllbiBvb2sgJy1iJyBvcGdldmVuPwBsZW5ndGUgaXMgZ2VlbiB2ZWVsdm91ZCB2YW4gOABsaW1pZXQgJWx1IGlzIG92ZXJzY2hyZWRlbiBkb29yIGRlIGxlbmd0ZSAlbHUgdmFuIGJlc3RhbmRzbmFhbSAlcwBsaW1pZXQgJWx1IGlzIG92ZXJzY2hyZWRlbiBkb29yIGRlIGxlbmd0ZSAlbHUgdmFuIGJlc3RhbmRzbmFhbWNvbXBvbmVudCAlcwByZWdlbGJ1ZmZlcmluZyB2YW4gc3RhbmRhYXJkaW52b2VyIGlzIHppbmxvb3MAcmVnZWxhYW50YWwgJy0lcyVjLi4uJyBpcyB0ZSBncm9vdAByZWdlbG51bW1lciAlcyBpcyBrbGVpbmVyIGRhbiBoZXQgdm9vcmdhYW5kZSByZWdlbG51bW1lciwgJXMAcmVnZWxudW1tZXIgbG9vcHQgb3ZlcgBtZXQgaHVpZGlnZSAncmxpbWl0JyBpcyBtYXhpbXVtIGFyZ3VtZW50IHZhbiAnLS0lcyc6ICVzAG9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyAGJlcmljaHRlbndhY2h0cmlqAGdlbWlncmVlcmQgYmVzdGFuZCBtZXQgZ2VnZXZlbnMAZ2VtaWdyZWVyZCBiZXN0YW5kIHpvbmRlciBnZWdldmVucwBtaW5pbXVtIGFyZ3VtZW50IHZhbiAnLS0lcycgaXMgJXMAdmVya2VlcmQgdWl0Z2VsaWpuZGUgY29uc3RydWN0aWUgbWV0IFs6dXBwZXI6XSBlbi9vZiBbOmxvd2VyOl0Ab250YnJla2VuZGUgc3BlY2lmaWNhdGllIHZvb3IgJSUtY29udmVyc2llIGluIGFjaHRlcnZvZWdzZWwAb250YnJla2VuZGUgJXMAb250YnJla2VuZCBhY2h0ZXJ2b2Vnc2VsICdpJyBpbiBpbnZvZXI6ICVzIChiaWp2b29yYmVlbGQgS2kvTWkvR2kpAG9udGJyZWtlbmQgYXJndW1lbnQgbmEgJXMAb250YnJla2VuZCBhcmd1bWVudCBiaWogJXMAb250YnJla2VuZGUgbmFhbSBpbiB0ZWtlbmtsYXNzZSAnWzo6XScAc3BlY2lmaWNhdGllIHZvb3IgY29udmVyc2llIG9udGJyZWVrdCBpbiBhY2h0ZXJ2b2Vnc2VsAG9udGJyZWtlbmRlIGJlc3RlbW1pbmcgbmEgJXMAb250YnJla2VuZCB0ZWtlbiBpbiBlcXVpdmFsZW50aWVrbGFzc2UgJ1s9PV0nAGdlZW4gYmVzdGFuZCBvcGdlZ2V2ZW4Ab250YnJla2VuZGUgaGV4YWRlY2ltYWxlIGNpamZlcnMAb250YnJla2VuZGUgbGlqc3QgdmFuIGJ5dGUtIGVuIHRla2VucG9zaXRpZXMAb250YnJla2VuZGUgbGlqc3QgdmFuIHZlbGRlbgBvbnRicmVrZW5kIGFyZ3VtZW50AG9udGJyZWtlbmQgYXJndW1lbnQgbmEgJXMAZGUgbW9kdXMgbWFnIGFsbGVlbiBiZXN0YW5kc3RvZWdhbmdzcmVjaHRlbiBiZXZhdHRlbgBtb2R1cyB2YW4gJXMgaXMgdmVyYW5kZXJkIHZhbiAlMDRsbyAoJXMpIG5hYXIgJTA0bG8gKCVzKQoAbW9kdXMgdmFuICVzIGJsaWpmdCAlMDRsbyAoJXMpCgB2ZXJwbGFhdHNlbiB2YW4gaW52b2VycGlqcABtZWVyZGVyZSB0ZWtlbnMgaW4gc2NoZWlkaW5nc3Rla2VuICVzAG1lZXJkZXJlIHRla2VucyBpbiBzY2hlaWRpbmdzdGVrZW4gJXMAbWVlciBkYW4gw6nDqW4gb3B0aWUgJy1pJyBnZWdldmVuAG1lZXIgZGFuIMOpw6luIG9wdGllICctbCcgb2YgJy10JyBnZWdldmVuAG1lZXIgZGFuIMOpw6luIGNvbXByZXNzaWVwcm9ncmFtbWEgb3BnZWdldmVuAG1lZXJkZXJlIHZlbGRzcGVjaWZpY2F0aWVzAG1lZXJkZXJlIG5pdmVhdWJlcmVpa2VuIGdlZ2V2ZW4AbWVlciBkYW4gw6nDqW4gc2NoZWlkaW5nIGdlZ2V2ZW4AbWVlciBkYW4gw6nDqW4gdWl0dm9lcmJlc3RhbmQgZ2VnZXZlbgBtZWVyIGRhbiDDqcOpbiB1aXR2b2Vyb3BtYWFrIG9wZ2VnZXZlbgBtZWVyIGRhbiDDqcOpbiBicm9uIHZhbiB3aWxsZWtldXJpZ2UgYnl0ZXMgZ2VnZXZlbgBlciBpcyBtZWVyIGRhbiDDqcOpbiByZWxhdGlldmUgd2lqemlnaW5nIG9wZ2VnZXZlbgBtZWVyZGVyZSByb2xsZW4gZ2VnZXZlbgBlciB6aWpuIG1lZXJkZXJlIHNjaGVpZGluZ3N0ZWtlbnMgZ2VnZXZlbgBtZWVyIGRhbiDDqcOpbiBiZXN0ZW1taW5nc21hcCBvcGdlZ2V2ZW4AbWVlcmRlcmUgdHlwZW4gZ2VnZXZlbgBtZWVyZGVyZSBnZWJydWlrZXJzIGdlZ2V2ZW4AZ2VtdWx0aXBsZXhlZCBibG9rLWFwcGFyYWF0AGdlbXVsdGlwbGV4ZWQgYnl0ZS1hcHBhcmFhdABnZW11bHRpcGxleGVkIGJlc3RhbmQAYmVub2VtZCBiZXN0YW5kAG5vY2ggZGUgc3ltYm9saXNjaGUga29wcGVsaW5nICVzIG5vY2ggd2FhciBkZXplIG5hYXIgdmVyd2lqc3QgaXMgdmVyYW5kZXJkCgBuZXR3ZXJrYXBwYXJhYXQAZ2VlbiBvbWdldmluZ3N2YXJpYWJlbGUgU0hFTEwgZW4gZ2VlbiBzaGVsbC1vcHRpZSBnZWdldmVuAGRlIGVpZ2VuYWFyIHZhbiAlcyBpcyBvbnZlcmFuZGVyZAoAZ2VlbiBjb21tYW5kbyBnZWdldmVuAGdlZW4gY29udmVyc2llLW9wdGllIGdlZ2V2ZW4AZ2VlbiBiZXN0YW5kc3N5c3RlbWVuIHZlcndlcmt0AGdlZW4gYmVzdGFuZGVuIG1lZXIgb3ZlcgBnZWVuIGdyb2VwIG9wZ2VnZXZlbiB2b29yIG9uYmVrZW5kIFVJRDogJWQAZ2VlbiBpbnZvZXIgdmFuICVzAGdlZW4gcmVnZWxzIG9tIHRlIGhlcmhhbGVuAGdlZW4gaW5sb2duYWFtAGdlZW4gcHJvY2VzLUlEIGdlZ2V2ZW4AZXIgbWFnIGdlZW4gb3BtYWFrdHlwZSBnZWdldmVuIHdvcmRlbiBhbHMgc3ltYm9vbG5hbWVuIGdldG9vbmQgd29yZGVuAGFscyAnLWwnIHdvcmR0IGdlYnJ1aWt0LCBtb2V0IG1pbnN0ZW5zIMOpw6luIGdlYnJ1aWtlcnNuYWFtIGdlZ2V2ZW4gd29yZGVuAGFyZ3VtZW50IGlzIGdlZW4gZ2VoZWVsIGdldGFsAG5pZXQtb3ZlcmRyYWFnYmFhciB0ZWtlbiAlcyBpbiBiZXN0YW5kc25hYW0gJXMAZ2VlbiBUVFkAemFsIG5pZXQgc2NocmlqdmVuIHZpYSBsb3plIHN5bWJvbGlzY2hlIGtvcHBlbGluZyAlcwBtYXhpbWFhbCBhYW50YWwgcGFyYWxsZWxsZSBwcm9jZXNzZW4gbWFnIG5pZXQgbnVsIHppam4AbnVtZXJpZWtlIHN0YXJ0d2FhcmRlIGlzIHRlIGdyb290IHZvb3IgbGVuZ3RlIHZhbiBhY2h0ZXJ2b2Vnc2VsAHZlcm91ZGVyZGUgc2xldXRlbCAlcyBpcyBnZWJydWlrdDsgZ2VicnVpayBsaWV2ZXIgJXMAdWl0AHBvc2l0aWUgd2VyZCB0ZSBncm9vdCB0aWpkZW5zIGxlemVuIHZhbiBiZXN0YW5kICVzAG1hcCAlcyB3b3JkdCBvdmVyZ2VzbGFnZW4AYWFuAHNsZWNodHMgw6nDqW4gJ1t0Kl0nLWhlcmhhbGluZ3Njb25zdHJ1Y3RpZSBtYWcgdm9vcmtvbWVuIGluIFNFVDIAZXIgbWFnIHNsZWNodHMgw6nDqW4gYXBwYXJhYXQgZ2VnZXZlbiB3b3JkZW4AZXIgbWFnIHNsZWNodHMgw6nDqW4gc29vcnQgbGlqc3Qgd29yZGVuIG9wZ2VnZXZlbgBvcGVuZW4gaXMgbWlzbHVrdABvcHRpZSAnLSVzJyB3b3JkdCBnZW5lZ2VlcmQAb3B0aWVzICctJXMnIHdvcmRlbiBnZW5lZ2VlcmQAb3B0aWUgJy1yJyBiZXRyZWZ0IGFsbGVlbiBkZSBub29kdmVyZ2VsaWpraW5nAG9wdGllICctLW91dHB1dCc6IHZlbGQgJXMgaXMgb25iZWtlbmQAb3B0aWUgJy0tb3V0cHV0JzogdmVsZCAlcyBpcyBtZWVyZGVyZSBrZXJlbiBvcGdlZ2V2ZW4Ab3B0aWUgJy0tc2tpcC1jaGRpcicgaXMgYWxsZWVuIHRvZWdlc3RhYW4gd2FubmVlciBET0VMTUFQIGRlIG91d2UgJXMgaXMAb3B0aWUgJy0temVybycgaXMgbmlldCB0b2VnZXN0YWFuIGJpaiBzdGFuZGFhcmRvcG1hYWsAb3B0aWUgaXMgZ2VicnVpa3QgaW4gZWVuIG9uZ2VsZGlnZSBjb250ZXh0IC0tICVjAGRlIG9wdGllcyAnJXMnIGVuICclcycgc2x1aXRlbiBlbGthYXIgdWl0AG9wdGllcyAnLSVzJyBnYWFuIG5pZXQgc2FtZW4AZGUgb3B0aWVzICctLWJhY2t1cCcgZW4gJy0tbm8tY2xvYmJlcicgc2x1aXRlbiBlbGthYXIgdWl0AGRlIG9wdGllcyAnLS1jb21wYXJlJyAoLUMpIGVuICctLXByZXNlcnZlLXRpbWVzdGFtcHMnIHNsdWl0ZW4gZWxrYWFyIHVpdABkZSBvcHRpZXMgJy0tY29tcGFyZScgKC1DKSBlbiAnLS1zdHJpcCcgc2x1aXRlbiBlbGthYXIgdWl0AG9mIGxva2FhbCB2aWE6IGluZm8gJyhjb3JldXRpbHMpICVzJXMnCgBhY2h0ZXJ2b2Vnc2VscyB2b29yIHVpdHZvZXJiZXN0YW5kZW4gemlqbiB2ZXJicnVpa3QAb3Zlcmxvb3AgYmlqIGhldCB2ZXJncm90ZW4gdmFuIGRlIGdyb290dGUgdmFuIGJlc3RhbmQgJXMAb3Zlcmxvb3AgYmlqIGxlemVuIHZhbiAlcwBvdmVybG9vcCBiaWogbmFhciBib3ZlbiBhZnJvbmRlbiB2YW4gZGUgZ3Jvb3R0ZSB2YW4gYmVzdGFuZCAlcwBkZSBlaWdlbmFhciB2YW4gJXMgYmxpamZ0IGRlemVsZmRlCgBkZSBlaWdlbmFhciB2YW4gJXMgYmxpamZ0ICVzCgBwYWdpbmFudW1tZXIgbG9vcHQgb3ZlcgB0ZSBzbWFsbGUgcGFnaW5hYnJlZWR0ZQBwb29ydABiZWhvdWRlbiB2YW4gdG9lZ2FuZ3NyZWNodGVuIHZhbiAlcwBiZWhvdWRlbiB2YW4gdGlqZHNzdGVtcGVscyB2YW4gJXMAYWxsZSBoZXJoYWFsZGUgcmVnZWxzIMOpbiBkZSBoZXJoYWxpbmdzYWFudGFsbGVuIHRvbmVuIGlzIG9uemluAGRlIGVpbmRwdW50ZW4gdmFuIGJlcmVpayAnJXMtJXMnIHN0YWFuIGluIG9tZ2VrZWVyZGUgdm9sZ29yZGUAZm91dCBiaWogbGV6ZW4AbGV6ZW4gaXMgbWlzbHVrdABsZXplbiB2YW4gbWFwICVzAHJlY29yZCBpcyB0ZSBncm9vdABzdGFuZGFhcmRmb3V0dWl0dm9lciBnYWF0IG5hYXIgc3RhbmRhYXJkdWl0dm9lcgB6YWwgZGUgbWFwcGVuICVzIGVuICVzIG5pZXQgdmVyd2lqZGVyZW47ICAlcyB3b3JkdCBvdmVyZ2VzbGFnZW4AbGVlZyBub3JtYWFsIGJlc3RhbmQAbm9ybWFhbCBiZXN0YW5kAGFmZ2V3ZXplbiBhY2h0ZXJ2b2Vnc2VsIGluIGludm9lcjogJXMgKG92ZXJ3ZWVnIG9tICctLWZyb20nIHRlIGdlYnJ1aWtlbikAJXMgaXMgdmVyd2lqZGVyZAoAbWFwICVzIGlzIHZlcndpamRlcmQKAHZlcndpamRlcmVuIHZhbiBtYXAgJXMAcnVuLWxldmVsAHNlbWFmb29yAHNjaGVpZGluZ3N0ZWtlbiBtYWcgbmlldCBsZWVnIHppam4AemV0IExDX0FMTD0nQycgb20gaGV0IHByb2JsZWVtIHRlIG9temVpbGVuAGluc3RlbGxlbiB2YW4gdmxhZ2dlbiB2b29yICVzAGluc3RlbGxlbiB2YW4gdG9lZ2FuZ3NyZWNodGVuIHZhbiAlcwBpbnN0ZWxsZW4gdmFuIHRpamRzc3RlbXBlbHMgdmFuICVzAGdlZGVlbGQgZ2VoZXVnZW5vYmplY3QAZGUgc29tIHZhbiBkZSBhcmd1bWVudGVuIHZhbiAnLWonIGVuICctTicgaXMgdGUgZ3Jvb3QAJXMgd29yZHQgb3Zlcmdlc2xhZ2VuLCBvbWRhdCBkZXplIHppY2ggb3AgZWVuIGFuZGVyIGFwcGFyYWF0IGJldmluZHQAYmVzdGFuZCAlcyB3b3JkdCBvdmVyZ2VzbGFnZW4sIG9tZGF0IGhldCB3ZXJkIHZlcnZhbmdlbiB0aWpkZW5zIGhldCBrb3Bpw6tyZW4Ac29ja2V0AHdhY2h0cmlqLW92ZXJsb29wIGluIFNRVUZPRgBzdGFuZGFhcmRmb3V0dWl0dm9lcgBzdGFuZGFhcmRpbnZvZXIAc3RhbmRhYXJkaW52b2VyIGlzIGdlc2xvdGVuAHN0YW5kYWFyZHVpdHZvZXIAb3B2cmFnZW4gdmFuIGJlc3RhbmRzc3RhdHVzIGlzIG1pc2x1a3QAdmVyZHdhYWxkIHRla2VuIGluIHZlbGRzcGVjaWZpY2F0aWUAdmVyZ2VsaWprZW4gdmFuIHRla2VucmVla3NlbiBpcyBtaXNsdWt0AHRyYW5zZm9ybWF0aWUgdmFuIHRla2VucmVla3MgaXMgbWlzbHVrdABoZXQgcHJvY2VzICdzdHJpcCcgaXMgYWJub3JtYWFsIGFmZ2VzbG90ZW4AaGV0IG9uZGVyZHJ1a2tlbiB2YW4gb25iZWdyZW5zZGUgcmVnZWxzIGhlZWZ0CiAgICAgYWxsZWVuIHppbiBhbHMgbWV0IHZlbGRlbiBnZXdlcmt0IHdvcmR0AHN5bWJvbGlzY2hlIGtvcHBlbGluZwBnZXN0YXJ0AHRhYi1ncm9vdHRlIG9mIC1wb3NpdGllIG1hZyBuaWV0IDAgemlqbgB0YWItZ3Jvb3R0ZSBvZiAtcG9zaXRpZSBiZXZhdCBvbmdlbGRpZyhlKSB0ZWtlbihzKTogJXMAdGFiLXBvc2l0aWVzIG1vZXRlbiB0b2VuZW1lbgB0YWItcG9zaXRpZSBpcyB0ZSBncm9vdDogJXMAdGFicG9zaXRpZSBpcyB0ZSBncm9vdAB0YWJwb3NpdGllcyB6aWpuIHRlIHZlciB1aXQgZWxrYWFyAGRvZWwgJXMgaXMgZ2VlbiBtYXAAZWVuIGRvZWxtYXAgaXMgbmlldCB0b2VnZXN0YWFuIGJpaiBoZXQgaW5zdGFsbGVyZW4gdmFuIGVlbiBtYXAAdGVybT0AJ3Rlc3QnLydbJwBkZSBvcHRpZXMgJy0tYmluYXJ5JyBlbiAnLS10ZXh0JyBnZWxkZW4gbmlldCB2b29yIGhldCB2ZXJpZmnDq3JlbiB2YW4gY29udHJvbGVzb21tZW4AZGUgb3B0aWUgJy0tY29tcGFyZScgKC1DKSB3b3JkdCBnZW5lZ2VlcmQgYmlqIGVlbiBtb2R1cyBtZXQgbm9uLXRvZWdhbmdzcmVjaHRlbgBkZSBvcHRpZSAnLS1pZ25vcmUtbWlzc2luZycgZ2VsZHQgYWxsZWVuIHZvb3IgaGV0IHZlcmlmacOrcmVuIHZhbiBjb250cm9sZXNvbW1lbgBkZSBvcHRpZSAnLS1xdWlldCcgZ2VsZHQgYWxsZWVuIHZvb3IgaGV0IHZlcmlmacOrcmVuIHZhbiBjb250cm9sZXNvbW1lbgBkZSBvcHRpZSAnLS1zdGF0dXMnIGdlbGR0IGFsbGVlbiB2b29yIGhldCB2ZXJpZmnDq3JlbiB2YW4gY29udHJvbGVzb21tZW4AZGUgb3B0aWUgJy0tc3RyaWN0JyBnZWxkdCBhbGxlZW4gdm9vciBoZXQgdmVyaWZpw6tyZW4gdmFuIGNvbnRyb2xlc29tbWVuAGRlIG9wdGllICctLXRhZycgZ2VsZHQgbmlldCB2b29yIGhldCB2ZXJpZmnDq3JlbiB2YW4gY29udHJvbGVzb21tZW4AZGUgb3B0aWUgJy0td2FybicgZ2VsZHQgYWxsZWVuIHZvb3IgaGV0IHZlcmlmacOrcmVuIHZhbiBjb250cm9sZXNvbW1lbgBiaWogb216ZXR0aW5nIG1hZyBkZSAnW3QqXSctY29uc3RydWN0aWUgYWxsZWVuIGluIFNFVDIgdm9vcmtvbWVuAGRlICdbdCpdJy1oZXJoYWxpbmdzY29uc3RydWN0aWUgbWFnIG5pZXQgdm9vcmtvbWVuIGluIFNFVDEAaGV0IGFyZ3VtZW50ICVzIGJlZ2ludCBuaWV0IG1ldCBlZW4gcGx1c3Rla2VuOwphbHMgZWVuIG9wdGllIGdlYnJ1aWt0IHdvcmR0IG9tIGVlbiBkYXR1bSBvcCB0ZSBnZXZlbiwKbW9ldCBlZW4gZ2V3b29uIGFyZ3VtZW50IGVlbiBvcG1hYWt0ZWtlbnJlZWtzIHppam4gZGllIGJlZ2ludCBtZXQgJysnAGhldCBzY2hlaWRpbmdzdGVrZW4gbW9ldCBlZW4gZW5rZWwgdGVrZW4gemlqbgBoZXQgZ2Vtb25pdG9yZGUgY29tbWFuZG8gaGVlZnQgZWVuIGdlaGV1Z2VuZHVtcCBnZW1hYWt0AGRlIG9wdGllcyB2b29yIGR1aWRlbGlqa2UgZW4gdm9vciAnc3R0eSctbGVlc2JhcmUgdWl0dm9lciBnYWFuIG5pZXQgc2FtZW4AZGUgb3B0aWVzIHZvb3Igc3ludGF4IGVuIGtsZXVyZW5saWpzdCBnYWFuIG5pZXQgc2FtZW4AZGUgb3B0aWVzIG9tIGRlIHRpamQgdGUgdG9uZW4gb2YgaW4gdGUgc3RlbGxlbiBnYWFuIG5pZXQgc2FtZW4AZGUgZ2VnZXZlbiBvcHRpZXMgb20gZGF0dW1zIHRlIHRvbmVuIGdhYW4gbmlldCBzYW1lbgBkZSB0ZSB2ZXJnZWxpamtlbiB0ZWtlbnJlZWtzZW4gd2FyZW4gJXMgZW4gJXMAZGUgc3RyaXAtb3B0aWUgbWFnIG5pZXQgZ2VicnVpa3Qgd29yZGVuIGJpaiBoZXQgaW5zdGFsbGVyZW4gdmFuIGVlbiBtYXAAZGUgbmlldC1nZXRyYW5zZm9ybWVlcmRlIHRla2VucmVla3Mgd2FzICVzAHRpamQgJXMgdmFsdCBidWl0ZW4gYmVyZWlrAHRlIHdlaW5pZyBYJ2VuIGluIHNqYWJsb29uICVzAHRlIHZlZWwgc3BlY2lmaWNhdGllcyB2b29yICUlLWNvbnZlcnNpZSBpbiBhY2h0ZXJ2b2Vnc2VsAHRlIHZlZWwgdGVrZW5zIGluIGRlIHNldAB0ZSB2ZWVsIGludm9lcnJlZ2VscwB0ZSB2ZWVsIGhlcmhhYWxkZSByZWdlbHMAdGUgdmVlbCBzamFibG9uZW4AdG90YWFsAGRvb3Jsb3BlbiBpcyBtaXNsdWt0OiAlcwB6ZWxmc3RhbmRpZyBnZWhldWdlbm9iamVjdABVSUQ9JXMAa2FuIGZvdXRtZWxkaW5nIG5pZXQgdG9uZW4Aa2FuIGRlIGh1aWRpZ2Ugd2Vya21hcCBuaWV0IHZhc3RsZWdnZW4Aa2FuIGJldmVpbGlnaW5nc2NvbnRleHQgJXMgbmlldCBpbnN0ZWxsZW4Ab252ZXJ3YWNodGUgZm91dDogZnRzX2luZm89JWQ6ICVzCmdhYXJuZSByYXBwb3J0ZXJlbiBhYW4gJXMAb25iZWtlbmQgcHJvZ3JhbW1hICVzAG9uYmVrZW5kZSBhZnNsdWl0d2FhcmRlICglZCkgdmFuIGNvbW1hbmRvAG9uYmVrZW5kZSBhZnNsdWl0d2FhcmRlICgweCVYKSB2YW4gY29tbWFuZG8AbmlldC1vbnRsZWVkYmFyZSB3YWFyZGUgaW4gb21nZXZpbmdzdmFyaWFiZWxlIExTX0NPTE9SUwBuaWV0LWhlcmtlbmQgYXJndW1lbnQ6ICVzAG5pZXQtaGVya2VuZCB2b29ydm9lZ3NlbDogJXMAaW4gYmVkcmlqZiAgJTJkOiUwMmQsICAAaW4gYmVkcmlqZiAlbGQgZGFnICUyZDolMDJkLCAgAGluIGJlZHJpamYgJWxkIGRhZ2VuICUyZDolMDJkLCAgAGluIGJlZHJpamYgPz8/PyBkYWdlbiA/Pzo/PywgIABnZWJydWlrICctLW5vLXByZXNlcnZlLXJvb3QnIG9tIGRlemUgZHJlbXBlbCB0ZSBvbXplaWxlbgBzb3J0ZWVycmVnZWxzIHZhbiAlcyB3b3JkZW4gZ2VicnVpa3QAZ2VicnVpayB2YW4gJXMgb20gc3RhbmRhYXJkaW52b2VyIGFhbiB0ZSBkdWlkZW4gd2Vya3QgbmlldCBpbiBiZXN0YW5kc3N5c3RlZW0tbW9kdXMAZWVudm91ZGlnZSBieXRlLXZlcmdlbGlqa2luZyB3b3JkdCBnZWJydWlrdAB3YWFyZGUgaXMgdGUgZ3Jvb3Qgb20gZ2Vjb252ZXJ0ZWVyZCB0ZSBrdW5uZW4gd29yZGVuOiAlcwB3YWFyZGUgaXMgdGUgZ3Jvb3Qgb20gd2VlciB0ZSBrdW5uZW4gZ2V2ZW46ICclTGcnIChrYW4gZ2VlbiB3YWFyZGVzID4gOTk5WSBhYW4pAHdhYXJkZSBpcyB0ZSBncm9vdCBvbSB3ZWVyIHRlIGt1bm5lbiBnZXZlbjogJyVMZycgKG92ZXJ3ZWVnIG9tICctLXRvJyB0ZSBnZWJydWlrZW4pAHdhY2h0ZW4gb3AgJXMgWy1kXQB3YWNodGVuIG9wIGRvY2h0ZXJwcm9jZXMAd2FjaHRlbiBvcCAnc3RyaXAnAHdhYXJzY2h1d2luZzogJXMgaXMgbnVsdmVybWVuaWd2dWxkaWdlcjsgZ2VicnVpayAlcyBhbHMgZGF0IGRlIGJlZG9lbGluZyBpcwB3YWFyc2NodXdpbmc6ICVzOiB0ZWtlbnMgbmEgdGVrZW5jb25zdGFudGUgemlqbiBnZW5lZ2VlcmQAd2FhcnNjaHV3aW5nOiAlczoga2FuIGJldmVpbGlnaW5nc2NvbnRleHQgbmlldCB2ZXJhbmRlcmVuIG5hYXIgJXMAd2FhcnNjaHV3aW5nOiAndG91Y2ggJXMnIGlzIHZlcm91ZGVyZDsKZ2VicnVpayAndG91Y2ggLXQgJTA0bGQlMDJkJTAyZCUwMmQlMDJkLiUwMmQnAHdhYXJzY2h1d2luZzogJy0tcGlkPVBJRCcgd29yZHQgbmlldCBvbmRlcnN0ZXVuZCBvcCBkaXQgc3lzdGVlbQB3YWFyc2NodXdpbmc6ICctLXJldHJ5JyB3b3JkdCBnZW5lZ2VlcmQ7Cm9wdGllICctLXJldHJ5JyBpcyBhbGxlZW4gemludm9sIGJpaiB2b2xnZW4Ad2FhcnNjaHV3aW5nOiAnLS1yZXRyeScgaXMgYWxsZWVuIGVmZmVjdGllZiBiaWogZGUgaW5pdGnDq2xlIG9wZW5pbmcAd2FhcnNjaHV3aW5nOiBwcm9jZXNudW1tZXIgaXMgZ2VuZWdlZXJkOwonLS1waWQ9UElEJyBpcyBhbGxlZW4gemludm9sIGJpaiB2b2xnZW4Ad2FhcnNjaHV3aW5nOiBlZW4gb25hYW5nZWhhYWxkZSBiYWNrc2xhc2ggYWFuIGhldCBlaW5kIHZhbiBlZW4gdGVrZW5yZWVrcwogIGlzIG5pZXQgb3ZlcmRyYWFnYmFhcgB3YWFyc2NodXdpbmc6IGJhY2tzbGFzaCBhYW4gZWluZCB2YW4gb3BtYWFrYWFuZHVpZGluZwB3YWFyc2NodXdpbmc6IGthbiAlcyBuaWV0IHZlcndpamRlcmVuAHdhYXJzY2h1d2luZzogdWl0c2NoYWtlbGVuIHZhbiBnZWhldWdlbmR1bXBzIGlzIG1pc2x1a3QAd2FhcnNjaHV3aW5nOiBoZXQgb25iZXBlcmt0IHZvbGdlbiB2YW4gc3RhbmRhYXJkaW52b2VyIGlzIGluZWZmZWN0aWVmAFdhYXJzY2h1d2luZzogb3B0aWUgJy0tY29udGV4dCcgKC1aKSB3b3JkdCBnZW5lZ2VlcmQ7CmhldCB2ZXJlaXN0IGVlbiBrZXJuZWwgbWV0IFNFTGludXguAFdhYXJzY2h1d2luZzogb3B0aWUgJy0tY29udGV4dCcgKC1aKSB3b3JkdCBnZW5lZ2VlcmQ7CmhldCB2ZXJlaXN0IGVlbiBrZXJuZWwgbWV0IFNFTGludXggb2YgU01BQ0suAHdhYXJzY2h1d2luZzogb3ZlcmJvZGlnZSBhcmd1bWVudGVuIHdvcmRlbiBnZW5lZ2VlcmQsIGJlZ2lubmVuZCBiaWogJXMAd2FhcnNjaHV3aW5nOiBwb3NpdGllIGluIGJlc3RhbmQga2xvcHQgbmlldCBtZWVyIG5hIG1pc2x1a3RlIGxlZXNvcGRyYWNodAB3YWFyc2NodXdpbmc6IG9uZ2VsZGlnZSBicmVlZHRlICVsdTsgemFsICVkIGdlYnJ1aWtlbgB3YWFyc2NodXdpbmc6IHJlZ2VsbnVtbWVyICVzIGlzIGdlbGlqayBhYW4gaGV0IHZvb3JnYWFuZGUgcmVnZWxudW1tZXIAd2FhcnNjaHV3aW5nOiBkZSBvcHRpZXMgJy0tYXBwYXJlbnQtc2l6ZScgZW4gJy1iJyBoZWJiZW4gZ2VlbiBlZmZlY3Qgc2FtZW4gbWV0ICctLWlub2RlcycAd2FhcnNjaHV3aW5nOiBrYW4gc2lnbmFhbCBuaWV0IGRlYmxva2tlcmVuAHdhYXJzY2h1d2luZzogYnJvbm1hcCAlcyBpcyBtZWVyZGVyZSBrZXJlbiBvcGdlZ2V2ZW4Ad2FhcnNjaHV3aW5nOiBicm9uYmVzdGFuZCAlcyBpcyBtZWVyZGVyZSBrZXJlbiBvcGdlZ2V2ZW4AZm91dDogdG90YWxlbiB0b25lbiBnYWF0IG5pZXQgc2FtZW4gbWV0ICctLW1heC1kZXB0aD0lbHUnAG9wbWVya2luZzogdG90YWxlbiB0b25lbiBpcyBoZXR6ZWxmZGUgYWxzICctLW1heC1kZXB0aD0wJwB3YWFyc2NodXdpbmc6IGRlIG9jdGFsZSBjb2RlIFwlYyVjJWMgaXMgbmlldCBlZW5kdWlkaWcgZW4gd29yZHQKICBoaWVyIGdlw69udGVycHJldGVlcmQgYWxzIGRlIHZvbGdlbmRlIHR3ZWUgYnl0ZXM6IFwwJWMlYywgJWMAV2FhcnNjaHV3aW5nOiBrYW4gdGltZXIgbmlldCBhYW5tYWtlbgBXYWFyc2NodXdpbmc6IGthbiB0aW1lcnRpamQgbmlldCBpbnN0ZWxsZW4Ad2FhcnNjaHV3aW5nOiBvbmJla2VuZGUgc3R1dXJjb2RlICdcJWMnAHdhYXJzY2h1d2luZzogZXIgd29yZHQgb20gZGUgJ2xzZWVrJy1rZXJuZWxmb3V0IGhlZW4gZ2V3ZXJrdCB2b29yIGJlc3RhbmQKJXMgbWV0IG10X3R5cGU9MHglMGx4IC0tIHppZSA8c3lzL210aW8uaD4gdm9vciBkZSBsaWpzdCBtZXQgdHlwZW4AbWVya3dhYXJkaWcgYmVzdGFuZABhbHMgU0VUMSBuaWV0IGluZ2Vrb3J0IHdvcmR0LCBtYWcgU0VUMiBuaWV0IGxlZWcgemlqbgBiaWogaGV0IGxlemVuIHZhbiBiZXN0YW5kc25hbWVuIHZhbiBzdGFuZGFhcmRpbnZvZXIgaXMgYmVzdGFuZHNuYWFtICVzIG5pZXQgdG9lZ2VzdGFhbgBhbHMgZWVuIHVpdHZvZXJzdGlqbCBnZWdldmVuIGlzIG1vZ2VuIGdlZW4gbW9kdXNzZW4gaW5nZXN0ZWxkIHdvcmRlbgBiaWogb216ZXR0aW5nIG1ldCBnZWNvbXBsZW1lbnRlZXJkZSB0ZWtlbmtsYXNzZW4gbW9ldCBTRVQyCmFsbGUgdGVrZW5zIGluIGhldCBkb21laW4gbmFhciDDqcOpbiBhZmJlZWxkZW4AdGlqZGVucyBlZW4gb216ZXR0aW5nIG1ldCBTRVQxIGxhbmdlciBkYW4gU0VUMiwKbWFnIGRlIGxhYXRzdGUgdGVrZW5yZWVrcyBuaWV0IGVpbmRpZ2VuIG9wIGVlbiB0ZWtlbmtsYXNzZQBiaWogb216ZXR0aW5nIHppam4gaW4gU0VUMiBhbGxlZW4gZGUgdGVrZW5rbGFzc2VuCid1cHBlcicgZW4gJ2xvd2VyJyB0b2VnZXN0YWFuAHdoaXRlb3V0AHphbCAlcyBuaWV0IGtvcGnDq3JlbiB2aWEgem9qdWlzdCBnZW1hYWt0ZSBzeW1ib2xpc2NoZSBrb3BwZWxpbmcgJXMAemFsIGdlZW4gaGFyZGUga29wcGVsaW5nICVzIG1ha2VuIG5hYXIgbWFwICVzAHphbCB6b2p1aXN0IGFhbmdlbWFha3RlICVzIG5pZXQgb3ZlcnNjaHJpanZlbiBtZXQgJXMAbWV0ICctLXBhcmVudHMnIG1vZXQgZGUgYmVzdGVtbWluZyBlZW4gbWFwIHppam4AbWV0ICctLXN1ZmZpeCcgbW9ldCBzamFibG9vbiAlcyBlaW5kaWdlbiBvcCBlZW4gWABtZXQgRklMRT0lcywgYWZzbHVpdHdhYXJkZSAlZCB2YW4gY29tbWFuZG86ICVzAG1ldCBGSUxFPSVzLCBzaWduYWFsICVzIHZhbiBjb21tYW5kbzogJXMAZm91dCBiaWogc2NocmlqdmVuAGZvdXQgYmlqIHNjaHJpanZlbiBuYWFyICVzAHNjaHJpanZlbiBpcyBtaXNsdWt0AHNjaHJpanZlbiBuYWFyICVzAG9wdGllICctLW5vLXByZXNlcnZlLXJvb3QnIG1hZyBuaWV0IGFmZ2Vrb3J0IHdvcmRlbgB1IG1vZXQgLWMsIC1sLCAtciwgLXQsIC11LCBvZiBlZW4gY29udGV4dCBvcGdldmVuAHUgbW9ldCBlZW4gYnVmZmVyaW5nc21vZHVzb3B0aWUgb3BnZXZlbiAAdSBtb2V0IGVlbiBsaWpzdCB2YW4gYnl0ZXMsIHRla2Vucywgb2YgdmVsZGVuIGdldmVuAHUgbW9ldCBlZW4gcmVsYXRpZXZlICVzIG9wZ2V2ZW4gYmlqICVzAHUgbW9ldCBvZndlbCAlcyBvZndlbCAlcyBvcGdldmVuAFBSSXVNQVgAUFJJZE1BWABtZW1vcnkgZXhoYXVzdGVkIGJ5IGlucHV0IGJ1ZmZlciBvZiBzaXplICUgYnl0ZXMgKCVzKQBtZW1vcnkgZXhoYXVzdGVkIGJ5IG91dHB1dCBidWZmZXIgb2Ygc2l6ZSAlIGJ5dGVzICglcykAJSslIHJlY29yZHMgaW4KJSslIHJlY29yZHMgb3V0CgAlIHRydW5jYXRlZCByZWNvcmQKACU8UFJJdU1BWD4gdHJ1bmNhdGVkIHJlY29yZHMKAGZhaWxlZCB0byB0cnVuY2F0ZSB0byAlIGJ5dGVzIGluIG91dHB1dCBmaWxlICVzAG9mZnNldCB0b28gbGFyZ2U6IGNhbm5vdCB0cnVuY2F0ZSB0byBhIGxlbmd0aCBvZiBzZWVrPSUgKCVsdS1ieXRlKSBibG9ja3MAZmFpbGVkIHRvIHRydW5jYXRlIHRvICUgYnl0ZXMgaW4gb3V0cHV0IGZpbGUgJXMAJXM6JTogaXMgbm90IHNvcnRlZDogJS4qcwBmYWlsZWQgdG8gYWxsb2NhdGUgYSAlIGJ5dGUgc3RkaW8gYnVmZmVyCgAlczogJTogaW1wcm9wZXJseSBmb3JtYXR0ZWQgJXMgY2hlY2tzdW0gbGluZQBXQVJOSU5HOiAlIGxpbmUgaXMgaW1wcm9wZXJseSBmb3JtYXR0ZWQAV0FSTklORzogJTxQUkl1TUFYPiBsaW5lcyBhcmUgaW1wcm9wZXJseSBmb3JtYXR0ZWQAV0FSTklORzogJSBsaXN0ZWQgZmlsZSBjb3VsZCBub3QgYmUgcmVhZABXQVJOSU5HOiAlPFBSSXVNQVg+IGxpc3RlZCBmaWxlcyBjb3VsZCBub3QgYmUgcmVhZABXQVJOSU5HOiAlIGNvbXB1dGVkIGNoZWNrc3VtIGRpZCBOT1QgbWF0Y2gAV0FSTklORzogJTxQUkl1TUFYPiBjb21wdXRlZCBjaGVja3N1bXMgZGlkIE5PVCBtYXRjaABtYXhpbXVtIGRpZ2VzdCBsZW5ndGggZm9yICVzIGlzICUgYml0cwB2YWx1ZS9wcmVjaXNpb24gdG9vIGxhcmdlIHRvIGJlIHByaW50ZWQ6ICclTGcvJScgKGNvbnNpZGVyIHVzaW5nIC0tdG8pAHN0YXJ0aW5nIHBhZ2UgbnVtYmVyICUgZXhjZWVkcyBwYWdlIGNvdW50ICUAUGFnZSAlACVzOiByZW1vdmUgJSBhcmd1bWVudCByZWN1cnNpdmVseT8gACVzOiByZW1vdmUgJTxQUkl1TUFYPiBhcmd1bWVudHMgcmVjdXJzaXZlbHk/IAAlczogcmVtb3ZlICUgYXJndW1lbnQ/IAAlczogcmVtb3ZlICU8UFJJdU1BWD4gYXJndW1lbnRzPyAAdGhlIHN1ZmZpeCBsZW5ndGggbmVlZHMgdG8gYmUgYXQgbGVhc3QgJQBvdmVyZmxvdyBpbiAlICogJSBieXRlIGJsb2NrcyBmb3IgZmlsZSAlcwBmYWlsZWQgdG8gdHJ1bmNhdGUgJXMgYXQgJSBieXRlcwBvbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhciB2b29yIGludm9lcmJ1ZmZlciB2YW4gJSBieXRlcyAoJXMpAG9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyIHZvb3IgdWl0dm9lcmJ1ZmZlciB2YW4gJSBieXRlcyAoJXMpACUrJSByZWNvcmRzIGdlbGV6ZW4KJSslIHJlY29yZHMgZ2VzY2hyZXZlbgoAJSBhZmdlYnJva2VuIHJlY29yZAoAJSBhZmdlYnJva2VuIHJlY29yZHMKAGFma29ydGVuIG9wICUgYnl0ZXMgdmFuIHVpdHZvZXJiZXN0YW5kICVzIGlzIG1pc2x1a3QAcG9zaXRpZSBpcyB0ZSBncm9vdDoga2FuIG5pZXQgYWZrb3J0ZW4gdG90IGVlbiBsZW5ndGUgdmFuIHNlZWs9JSAoJWx1LWJ5dGUpIGJsb2trZW4AYWZrb3J0ZW4gb3AgJSBieXRlcyB2YW4gdWl0dm9lcmJlc3RhbmQgJXMgaXMgbWlzbHVrdAAlczolOiBpcyBuaWV0IGdlc29ydGVlcmQ6ICUuKnMAaGV0IHJlc2VydmVyZW4gdmFuICUgYnl0ZXMgdm9vciBlZW4gaW52b2VyLS91aXR2b2VyYnVmZmVyIGlzIG1pc2x1a3QKACVzOiAlOiBvbmp1aXN0IG9wZ2VtYWFrdGUgcmVnZWwgbWV0ICVzLWNvbnRyb2xlc29tAFdBQVJTQ0hVV0lORzogJSByZWdlbCBpcyBvbmp1aXN0IG9wZ2VtYWFrdABXQUFSU0NIVVdJTkc6ICUgcmVnZWxzIHppam4gb25qdWlzdCBvcGdlbWFha3QAV0FBUlNDSFVXSU5HOiAlIGdldG9vbmQgYmVzdGFuZCBrYW4gbmlldCBnZWxlemVuIHdvcmRlbgBXQUFSU0NIVVdJTkc6ICUgZ2V0b29uZGUgYmVzdGFuZGVuIGt1bm5lbiBuaWV0IGdlbGV6ZW4gd29yZGVuAFdBQVJTQ0hVV0lORzogJSBiZXJla2VuZGUgY29udHJvbGVzb20ga29tdCBOSUVUIG92ZXJlZW4AV0FBUlNDSFVXSU5HOiAlIGJlcmVrZW5kZSBjb250cm9sZXNvbW1lbiBrb21lbiBOSUVUIG92ZXJlZW4AZGUgbWF4aW11bSBsZW5ndGUgdmFuIGRlIGNvbnRyb2xlc29tIHZvb3IgJXMgaXMgJSBiaXRzAHdhYXJkZS9wcmVjaXNpZSBpcyB0ZSBncm9vdCBvbSB3ZWVyIHRlIGt1bm5lbiBnZXZlbjogJyVMZy8lJyAob3ZlcndlZWcgb20gJy0tdG8nIHRlIGdlYnJ1aWtlbikAc3RhcnRwYWdpbmFudW1tZXIgJSBpcyBob2dlciBkYW4gaGV0IGFhbnRhbCBwYWdpbmEncyAlAFBhZ2luYSAlACVzOiAlIGFyZ3VtZW50IHJlY3Vyc2llZiB2ZXJ3aWpkZXJlbj8gACVzOiAlIGFyZ3VtZW50ZW4gcmVjdXJzaWVmIHZlcndpamRlcmVuPyAAJXM6ICUgYXJndW1lbnQgdmVyd2lqZGVyZW4/IAAlczogJSBhcmd1bWVudGVuIHZlcndpamRlcmVuPyAAZGUgbGVuZ3RlIHZhbiBoZXQgYWNodGVydm9lZ3NlbCBtb2V0IG1pbnN0ZW5zICUgemlqbgBvdmVybG9vcCBpbiAlICogJS1ieXRlIGJsb2trZW4gdm9vciBiZXN0YW5kICVzAGFma29ydGVuIHZhbiAlcyBvcCAlIGJ5dGVzIGlzIG1pc2x1a3QA
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 1
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
coreutils.mo
328.55 KB
lrw-r--r--
2026-03-24 13:05:27
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).