CSAgIEluc3RhbGxhdGlvbnMtIHVuZCBCZWRpZW51bmdzYW5sZWl0dW5nIGb8ciBXSU5FCgkJCSAgICAgUGV0ZXIgR2FudGVuCgkJCSAgIHBldGVyQGdhbnRlbi5vcmcKCQkJICAgICA3LiBKdWxpIDIwMDAKCgoxLiBadXNhbW1lbmZhc3N1bmcKCkRpZXNlciBUZXh0IGJlc2NocmVpYnQgZGllIEluc3RhbGxhdGlvbiwgRWlucmljaHR1bmcgdW5kIEJlZGllbnVuZyB2b24KV0lORS4gV0lORSBpc3QgZWluZSBMYXVmemVpdHVtZ2VidW5nIHp1bSBBdXNm/GhyZW4gdm9uIFByb2dyYW1tZW4gZvxyCk1TLVdpbmRvd3MgdW50ZXIgR05VL0xpbnV4IHVuZCBhbmRlcmVuIFVOSVgta29tcGF0aWJsZW4KQmV0cmllYnNzeXN0ZW1lbiBhdWYgSW50ZWwteDg2LWtvbXBhdGlibGVuIENvbXB1dGVybiwgZGFzIFByb2dyYW1tIGthbm4KYXXfZXJkZW0gZGF6dSBnZW51dHp0IHdlcmRlbiwgZGVuIFF1ZWxsY29kZSBleGlzdGllcmVuZGVyCldpbmRvd3MtUHJvZ3JhbW1lIG5hY2ggVU5JWCB6dSBwb3J0aWVyZW4uIEluIGRpZXNlbSBUZXh0IGdlaHQgZXMgaW4KZXJzdGVyIExpbmllIGplZG9jaCB1bSBkaWUgSW5zdGFsbGF0aW9uIHVuZCBLb25maWd1cmF0aW9uIGRlcgpMYXVmemVpdHVtZ2VidW5nIGb8ciBXaW5kb3dzLVByb2dyYW1tZS4gRGVyIFRleHQgd3VyZGUKdXJzcHL8bmdsaWNoIGFscyBCZWdsZWl0bWF0ZXJpYWwgZvxyIGVpbmVuIFZvcnRyYWcg/GJlciBXSU5FIHVuZCBkaWUKSW50ZWdyYXRpb24gdm9uIFdpbmRvd3MtQW53ZW5kdW5nZW4gdW50ZXIgR05VL0xpbnV4IGF1ZiBkZW0gTGludXhUYWcKMjAwMCB2b20gMzAuIEp1bmkgYmlzIHp1bSAyLiBKdWxpIDIwMDAgaW4gU3R1dHRnYXJ0IGdlc2NocmllYmVuLiAKCjIuIEVpbmxlaXR1bmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApNaXQgV0lORSB3aXJkIGVpbiB1bWZhc3NlbmRlciBBbnNhdHogenVyIEludGVncmF0aW9uIHZvbgpXaW5kb3dzLUFud2VuZHVuZ2VuIHVudGVyIEdOVS9MaW51eCB2ZXJmb2xndC4gV0lORSBiZXN0ZWh0IHUuYS4gYXVzCmVpbmVtIExvYWRlciwgbWl0IGRlbSBXaW5kb3dzLSB1bmQgRE9TLVByb2dyYW1tZSB1bnRlciBMaW51eCBpbiBkZW4KU3BlaWNoZXIgZ2VsYWRlbiB1bmQgdm9tIFByb3plc3NvciBkZXMgUmVjaG5lcnMgYXVzZ2Vm/GhydCB3ZXJkZW4Ka/ZubmVuLiBBdd9lcmRlbSBzdGVsbHQgZGFzIFByb2dyYW1tIGVpbmVuIGdyb99lbiBUZWlsIGRlcgpTY2huaXR0c3RlbGxlbiAoQVBJcykgV2luZG93cy1iYXNpZXJ0ZXIgQmV0cmllYnNzeXN0ZW1lIHp1ciBWZXJm/Gd1bmcuCkRpZXNlIFNjaG5pdHRzdGVsbGVuIHdlcmRlbiB2b24gV2luZG93cy1Qcm9ncmFtbWVuLCBkaWUgbWl0IFdJTkUKYXVzZ2Vm/GhydCB3ZXJkZW4sIGJlbnV0enQsIHNvIGRhc3Mgc29sY2hlIFByb2dyYW1tZSBkaWUgc2VsYmUsCmVyd2FydGV0ZSBVbWdlYnVuZyB2b3JmaW5kZW4sIHdpZSB1bnRlciBXaW5kb3dzLiBXZWlsIGRpZXNlClNjaG5pdHRzdGVsbGVuIG1pdCBXSU5FIHZvcmhhbmRlbiBzaW5kIHVuZCBkZXJlbiBEZWZpbml0aW9uZW4gaW4gRm9ybQp2b24gSGVhZGVyLURhdGVpZW4gdm9ybGllZ2VuLCBrYW5uIFdJTkUgYXVjaCBiZW51dHp0IHdlcmRlbiwgdW0gZGVuClF1ZWxsY29kZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIG5hY2ggR05VL0xpbnV4IG9kZXIgYW5kZXJlbgpVTklYLWJhc2llcnRlbiBCZXRyaWVic3N5c3RlbWVuIHp1IHBvcnRpZXJlbi4gRXMgZW50c3RlaGVuIGRhbm4gZWNodGUKVU5JWC9MaW51eC1Qcm9ncmFtbWUsIHdlbGNoZSBkaWUgc2VsYmUgRnVua3Rpb25hbGl05HQgaGFiZW4sIHdpZSBpaHJlCuRxdWl2YWxlbnRlbiBQcm9ncmFtbWUgdW50ZXIgV2luZG93cy4gRGllIFZlcndlbmR1bmcgZWluZXMKZWluaGVpdGxpY2hlbiBBUElzIHVudGVyIFdpbmRvd3MgdW5kIExpbnV4IGhhdCBm/HIgU29mdHdhcmVoZXJzdGVsbGVyCmRlbiBWb3J0ZWlsLCBkYXNzIG51ciBlaW5lIGVpbnppZ2UgVmVyc2lvbiBkZXMgUXVlbGxjb2RlcyBnZXBmbGVndCB1bmQKd2VpdGVyZW50d2lja2VsdCB3ZXJkZW4gbXVzcywgZGllIHNpY2ggdW50ZXIgYmVpZGVuCkJldHJpZWJzc3lzdGVtZmFtaWxpZW4gdmVyd2VuZGVuIGzkc3N0LgoKRGFzIFdJTkUtUHJvamVrdCB3dXJkZSAxOTkzIGdlc3RhcnRldCwgZXMgd2lyZCBpbSB3ZXNlbnRsaWNoZW4gdm9uCkZyZWl3aWxsaWdlbiBnZXRyYWdlbiwgZGllIPxiZXIgTWFpbGluZ2xpc3RlbiBtaXRlaW5hbmRlcgprb21tdW5pemllcmVuLiBJbiBsZXR6dGVyIFplaXQgaGF0IFdJTkUgenVz5HR6bGljaGUgVW50ZXJzdPx0enVuZwpkdXJjaCBtZWhyZXJlIGtvbW1lcnppZWxsZSBVbnRlcm5laG1lbiBlcmZhaHJlbiwgZGllIFdJTkUgZGF6dQplaW5zZXR6ZW4sIGlocmUgV2luZG93cy1Qcm9ncmFtbWUgbmFjaCBHTlUvTGludXggenUgcG9ydGllcmVuLiBXSU5FCmlzdCBoZXV0ZSBpbiBkZXIgTGFnZSwgZWluZW4gZ3Jv32VuIFRlaWwgZGVyIGV4aXN0aWVyZW5kZW4KV2luZG93cy1Qcm9ncmFtbWUgKDE2LSB1bmQgMzJiaXQpIHVudGVyIExpbnV4IGF1c3p1ZvxocmVuLCBpbiBlaW5lbQpiZWdyZW56dGVuIFVtZmFuZyBr9m5uZW4gYXVjaCBET1MtUHJvZ3JhbW1lIG1pdCBXSU5FIGJlbnV0enQKd2VyZGVuLiBXSU5FIGb8aHJ0IFdpbmRvd3MtUHJvZ3JhbW1lIGRpcmVrdCB1bnRlciBMaW51eCBhdXMsIGVzCmJlbvZ0aWd0IGRhenUga2VpbmUgc3BlemllbGxlbiBLZXJuZWxlcndlaXRlcnVuZ2VuLCBrZWluZSBiZXNvbmRlcmVuClJlY2h0ZSB1bmQga2VpbmUgZXhpc3RpZXJlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uLiBEYXMgRGVzaWduIGVybGF1YnQKZXMsIGRpZSBiZXRyZWZmZW5kZW4gUHJvZ3JhbW1lIHVudGVyIExpbnV4IGdlbmF1c28gc2NobmVsbAphdXN6dWb8aHJlbiwgd2llIHVudGVyIFdpbmRvd3MsIHdlaWwga2VpbmUgRW11bGF0aW9uIGltIFNpbm5lIGVpbmVyCkludGVycHJldGF0aW9uIHZvbiBQcm96ZXNzb3JhbndlaXN1bmdlbiBzdGF0dGZpbmRldC4gWnVyIEF1c2b8aHJ1bmcKZWluZXMgYmVzdGltbXRlbiBQcm9ncmFtbXMgd2VyZGVuIHVudGVyIEdOVS9MaW51eCBtaXQgV0lORSB0aGVvcmV0aXNjaApkaWVzZWxiZW4gU3lzdGVtcmVzc291cmNlbiBiZW72dGlndCB3aWUgdW50ZXIgV2luZG93cy4gT3B0aW9uYWwga2FubgpXSU5FIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4uIEVzIGlzdCBkYW5uCm32Z2xpY2gsIGRpZSBFaW5zdGVsbHVuZ2VuIGRpZXNlciBJbnN0YWxsYXRpb24gZvxyIFdpbmRvd3MtUHJvZ3JhbW1lCnp1IPxiZXJuZWhtZW4gdW5kIGVpbmlnZSBPcmlnaW5hbC1CZXN0YW5kdGVpbGUgdm9uIFdpbmRvd3MgbWl0IFdJTkUgenUKdmVyd2VuZGVuLCB3ZWxjaGUgaW4gV0lORSBub2NoIG5pY2h0IGluIGF1c3JlaWNoZW5kZW0gVW1mYW5nIHp1cgpWZXJm/Gd1bmcgc3RlaGVuLgogICAKSW0gZm9sZ2VuZGVuIHdpcmQgYmVzY2hyaWViZW4sIHdpZSBXSU5FIGF1ZiBlaW5lbSBHTlUvTGludXgtU3lzdGVtCmluc3RhbGxpZXJ0IHVuZCBlaW5nZXJpY2h0ZXQgd2VyZGVuIGthbm4uIEF1c2dlZ2FuZ2VuIHd1cmRlIGRhYmVpCnVyc3BydWVuZ2xpY2ggdm9uIGRlciBMaW51eC1EaXN0cmlidXRpb24gRGViaWFuIEdOVS9MaW51eCAyLjIgKHBvdGF0bykKdW5kIGRlciBXSU5FLVZlcnNpb24gMjAwMDA2MTQuIE1pdHRsZXJ3ZWlsZSB3dXJkZSBkZXIgSW5oYWx0IGF1ZiBuZXVlcmUKV2luZS1WZXJzaW9uZW4gKDIwMDEwNXh4KSBhbmdlcGFzc3QuIEJlaSBWZXJ3ZW5kdW5nIGVpbmVyIGFuZGVyZW4KTGludXgtRGlzdHJpYnV0aW9uIG9kZXIgZWluZXIgYW5kZXJlbiBXSU5FLVZlcnNpb24gc2luZCBkaWUKYmVzY2hyaWViZW5lbiBTY2hyaXR0ZSBlbnRzcHJlY2hlbmQgYW56dXBhc3Nlbi4KTWl0dGxlcndlaWxlIGdpYnQgZXMgYmVpIERlYmlhbiB2b24gT3ZlIEthYXZlbiBlaW4gcGVyZmVrdCBhbmdlcGFzc3RlcwpXaW5lLVBhY2thZ2UgKCJ3aW5lIiksIGRhcyB6dXNhbW1lbiBtaXQgIndpbmVzZXR1cHRrIiBraW5kZXJsZWljaHQgdmVyd2VuZGV0CndlcmRlbiBrYW5uLgogICAKMy4gQmlu5HJwYWtldCBvZGVyIFF1ZWxsY29kZT8KCkluIGRlbiBtZWlzdGVuIExpbnV4LURpc3RyaWJ1dGlvbmVuIHNpbmQgaGV1dGUgV0lORS1QYWtldGUKZW50aGFsdGVuLiBIaWVyYmVpIGhhbmRlbHQgZXMgc2ljaCB1bSBCaW7kcnBha2V0ZSwgZGllIFdJTkUgaW4gZWluZXIKRm9ybSBlbnRoYWx0ZW4sIGluIGRlciBlcyBkaXJla3QgYXVzZ2Vm/GhydCB3ZXJkZW4ga2Fubi4gQWt0dWVsbGUKVmVyc2lvbmVuIHNvbGNoZXIgUGFrZXRlIGxhc3NlbiBzaWNoIGF1Y2ggdm9uIHZlcnNjaGllZGVuZW4KSW50ZXJuZXRzZWl0ZW4gaGVydW50ZXJsYWRlbi4gVGhlb3JldGlzY2ggc29sbHRlIFdJTkUgbmFjaCBkZXIKSW5zdGFsbGF0aW9uIGVpbmVzIEJpbuRycGFrZXRzIHNpbm52b2xsIGtvbmZpZ3VyaWVydCB1bmQgc29mb3J0CmJlbnV0emJhciBzZWluLiBUYXRz5GNobGljaCBpc3QgZXMgaW4gdmllbGVuIEbkbGxlbiBqZWRvY2ggbm90d2VuZGlnLCAKZGllIG1pdCBkZW0gUGFrZXQgaW5zdGFsbGllcnRlIEtvbmZpZ3VyYXRpb24genUg/GJlcmFyYmVpdGVuLiAKCkF1ZmdydW5kIGRlciBzY2huZWxsZW4gRW50d2lja2x1bmcgdm9uIFdJTkUgd2lyZCB6dXIgWmVpdCBlbXBmb2hsZW4sCmFuIFN0ZWxsZSBlaW5lcyBCaW7kcnBha2V0cyBkZW4gYWt0dWVsbGVuIFF1ZWxsY29kZSB6dSB2ZXJ3ZW5kZW4uIERlcgpRdWVsbGNvZGUgbXVzcywgbmFjaGRlbSBtYW4gaWhuIHNpY2ggYmVzY2hhZmZ0IGhhdCwgZW50cGFja3QsCmtvbmZpZ3VyaWVydCB1bmQga29tcGlsaWVydCAo/GJlcnNldHp0KSB3ZXJkZW4uIERhYmVpIGVudHN0ZWh0IGRhbm4KZWluZSBCaW7kcmRhdGVpLCBkaWUgZ2VuYXUgYW4gZGFzIGVpZ2VuZSBTeXN0ZW0gYW5nZXBhc3N0IGlzdCB1bmQKZGVzaGFsYiBlaW5lIGj2aGVyZSBXYWhyc2NoZWlubGljaGtlaXQgZvxyIG9wdGltYWxlIEVyZ2Vibmlzc2UgYmlldGV0LAphbHMgQmlu5HJwYWtldGUsIGRpZSB1LlUuIGb8ciBlaW4gYW5kZXJzIGtvbmZpZ3VyaWVydGVzIFN5c3RlbQplcnN0ZWxsdCB3dXJkZW4uIERpZSBWZXJ3ZW5kdW5nIGRlcyBRdWVsbGNvZGVzIGJpZXRldCBhdd9lcmRlbSBkaWUKTfZnbGljaGtlaXQsIGRhcyBQcm9ncmFtbSByZWxhdGl2IGVpbmZhY2ggYWt0dWFsaXNpZXJlbiB6dSBr9m5uZW4sCndvYmVpIG5pY2h0IGltbWVyIHdpZWRlciBkYXMga29tcGxldHRlIFBha2V0IGhlcnVudGVyZ2VsYWRlbiB3ZXJkZW4KbXVzcy4gRGFy/GJlcmhpbmF1cyBrYW5uIG1pdCBkZXIgVmVyd2VuZHVuZyBkZXMgYWt0dWVsbGVuIFF1ZWxsY29kZXMgCnNpY2hlcmdlc3RlbGx0IHdlcmRlbiwgZGFzcyBldnRsLiBhdWZ0cmV0ZW5kZSBGZWhsZXIgd2lya2xpY2ggaW4gV0lORQp2b3JoYW5kZW4gc2luZCB1bmQgbmljaHQgYmVyZWl0cyBiZWhvYmVuIHdvcmRlbiBzaW5kLiBEYWR1cmNoIHdpcmQgZGllCk32Z2xpY2hrZWl0IGdlc3RlaWdlcnQsIHNpbm52b2xsZSBGZWhsZXJiZXJpY2h0ZSBhbiBkaWUKV0lORS1FbnR3aWNrbGVyIHNjaGlja2VuIHp1IGv2bm5lbi4gCgpEaWUgSW5zdGFsbGF0aW9uIHZvbiBCaW7kcnBha2V0ZW4gaXN0IGFiaORuZ2lnIHZvbSBlaW5nZXNldHp0ZW4KUGFrZXRmb3JtYXQgZGVyIERpc3RyaWJ1dGlvbiAoenVtZWlzdCB3aXJkIGRhcyBSZWRoYXQtIG9kZXIKRGViaWFuLUZvcm1hdCBiZW51dHp0KSBzb3dpZSBkZXIgRGlzdHJpYnV0aW9uIHNlbGJzdC4gRGllIGhpZXJ6dQpiZW72dGlndGVuIEluZm9ybWF0aW9uZW4gc29sbHRlbiBzaWNoIGluIGRlciBEb2t1bWVudGF0aW9uIGRlciB2b24KSWhuZW4gZWluZ2VzZXR6dGVuIERpc3RyaWJ1dGlvbiBmaW5kZW4uIEluIGRpZXNlbSBUZXh0IHdpcmQgZGllCkluc3RhbGxhdGlvbiBhdXMgZGVtIFF1ZWxsY29kZSB2b24gV0lORSBiZXNjaHJpZWJlbi4gCgo0LjAgU3lzdGVtdm9yYXVzc2V0enVuZ2VuCgpEYW1pdCBXSU5FIGF1ZiBkZW0gU3lzdGVtIPxiZXJzZXR6dCB1bmQgYXVzZ2Vm/GhydCB3ZXJkZW4ga2Fubiwgbfxzc2VuCmRpZSBmb2xnZW5kZW4gUHJvZ3JhbW1lIHVuZCBEYXRlaWVuIGluc3RhbGxpZXJ0IHNlaW46CgogICAgMS4gTGludXgtS2VybmVsIGFiIGRlciBWZXJzaW9uc2ZhbWlsaWUgMi4yLnguIChXSU5FIGzkc3N0IHNpY2ggYXVjaAogICAgICAgdW50ZXIgTGludXgtS2VybmVscyBkZXIgVmVyc2lvbnNmYW1pbGllIDIuMC54IGF1c2b8aHJlbiwKICAgICAgIGFsbGVyZGluZ3MgdW50ZXJzdPx0emVuIGRpZXNlIEtlcm5lbHMgYmVzdGltbXRlIHZvbiBXSU5FIGJlbvZ0aWd0ZQogICAgICAgRWlnZW5zY2hhZnRlbiBuaWNodC4gRGllcyBtYWNodCBzaWNoIGluc2Jlc29uZGVyZSBkYW5uIGJlbWVya2JhciwKICAgICAgIHdlbm4gMzJCaXQtV2luZG93c3Byb2dyYW1tZSBtaXQgV0lORSBhdXNnZWb8aHJ0IHdlcmRlbiBzb2xsZW4sIGJlaQogICAgICAgZGVuZW4gbWVocmVyZSBUaHJlYWRzIGdsZWljaHplaXRpZyBhdXNnZWb8aHJ0IHdlcmRlbi4pIERpZQogICAgICAgVmVyc2lvbnNudW1tZXIgZGVzIGFrdHVlbGwgYXVzZ2Vm/GhydGVuIExpbnV4LUtlcm5lbHMgd2lyZAogICAgICAgYW5nZXplaWd0LCB3ZW5uIGRlciBmb2xnZW5kZW4gQmVmZWhsIGFuIGRlciBLb21tYW5kb3plaWxlCiAgICAgICBlaW5nZWdlYmVuIHdpcmQ6CgogICAgICAgdW5hbWUgLXIgCgogICAgMi4gRXMgd2lyZCBlbXBmb2hsZW4sIGRpZSBHTlUgQy1CaWJsaW90aGVrIChsaWJjNikgYWIgVmVyc2lvbiAyLjEKICAgICAgIGVpbnp1c2V0emVuLiBEaWUgVmVyc2lvbnNudW1tZXIgZGVyIGFrdHVlbGwgZWluZ2VzZXR6dGVuCiAgICAgICBDLUJpYmxpb3RoZWsga2FubiBhbmdlemVpZ3Qgd2VyZGVuLCBpbmRlbSBkZXIgZm9sZ2VuZGUgCiAgICAgICBCZWZlaGwgYmVudXR6dCB3aXJkOgoKICAgICAgIGxzIC1sIC9saWIvbGliYy5zby4qIAoKICAgICAgIEF1ZiBlaW5pZ2VuIFN5c3RlbWVuIGlzdCBzb3dvaGwgZGllIORsdGVyZSBDLUJpYmxpb3RoZWsgbGliYzUsCiAgICAgICBhbHMgYXVjaCBkaWUgbmV1ZXJlIEJpYmxpb3RoZWsgbGliYzYgdm9yaGFuZGVuLiBFbnRzY2hlaWRlbmQKICAgICAgIGlzdCBkYW5uIGluIGRlciBSZWdlbCBkaWUgbmV1ZXJlIFZlcnNpb24uIERpZSBDLUJpYmxpb3RoZWsgbXVzcwogICAgICAgUmVlbnRyYW50IHNlaW4sIGRhbWl0IFdJTkUgTXVsdGl0aHJlYWRpbmcgdW50ZXJzdPx0emVuCiAgICAgICBrYW5uLiBEaWVzIGlzdCBiZWkgYWxsZW4gbmV1ZXJlbiBMaW51eC1EaXN0cmlidXRpb25lbiBkZXIKICAgICAgIEZhbGwuIERpZSBDLUJpYmxpb3RoZWsgYmVmaW5kZXQgc2ljaCBpbSBQYWtldCBsaWJjNi4gVW0gV0lORSB6dQogICAgICAg/GJlcnNldHplbiB3ZXJkZW4genVz5HR6bGljaCBkaWUgRW50d2lja2xlcmRhdGVpZW4genVyCiAgICAgICBDLUJpYmxpb3RoZWsgYmVu9nRpZ3QuIERpZXNlIGJlZmluZGVuIHNpY2ggdW50ZXIgRGViaWFuIGltCiAgICAgICBQYWtldCBsaWJjNi1kZXYuCgogICAgMy4gV2VpbCBXSU5FIGRhcyBYIFdpbmRvdyBTeXN0ZW0gYmVudXR6dCwgd2VyZGVuIGRpZSBYLUJpYmxpb3RoZWtlbgogICAgICAgdW5kLCB3ZW5uIFdJTkUg/GJlcnNldHp0IHdlcmRlbiBzb2xsLCBkaWUgRW50d2lja2xlcmRhdGVpZW4gZvxyCiAgICAgICBYIGJlbvZ0aWd0LiBEaWUgQmlibGlvdGhla2VuIHNpbmQgdW50ZXIgRGViaWFuIGltIFBha2V0IHhsaWI2ZwogICAgICAgdW5kIGRpZSBFbnR3aWNrbGVyZGF0ZWllbiBpbSBQYWtldCB4bGliNmctZGV2IGVudGhhbHRlbi4KCiAgICA0LiBG/HIgUHJvZ3JhbW1lLCBkaWUgaW0gVGV4dG1vZHVzIGF1c2dlZvxocnQgd2VyZGVuLCBrYW5uIFdJTkUgZGllCiAgICAgICBCaWJsaW90aGVrIGxpYm5jdXJzZXMgdmVyd2VuZGVuLiBEYW1pdCBkaWUgVW50ZXJzdPx0enVuZyBkYWb8ciBpbgogICAgICAgZGFzIFByb2dyYW1tIGVpbmdlYnVuZGVuIHdpcmQsIG38c3NlbiBkaWUgRW50d2lja2xlcmRhdGVpZW4gZvxyCiAgICAgICBkaWVzZSBCaWJsaW90aGVrIGluc3RhbGxpZXJ0IHNlaW4gKFBha2V0IGxpYm5jdXJzZXM1LWRldikuIERpZQogICAgICAgVmVyd2VuZHVuZyBkZXIgbmN1cnNlcy1CaWJsaW90aGVrIGlzdCBqZWRvY2ggb3B0aW9uYWwuCgogICAgNS4gRWJlbmZhbGxzIG9wdGlvbmFsIGlzdCBkaWUgVW50ZXJzdPx0enVuZyBlaW5lciBPcGVuR0wta29tcGF0aWJsZW4KICAgICAgIEJpYmxpb3RoZWssIHdpZSB6LkIuIE1lc2EuIFdlbm4gZGllIFVudGVyc3T8dHp1bmcgZvxyIE9wZW5HTCBpbgogICAgICAgZGFzIFByb2dyYW1tIGVpbmdlYnVuZGVuIHdlcmRlbiBzb2xsLCBt/HNzZW4gZGllCiAgICAgICBPcGVuR0wtRW50d2lja2xlcmRhdGVpZW4gYXVmIGRlbSBTeXN0ZW0gaW5zdGFsbGllcnQgc2Vpbiwgd2llIHNpZQogICAgICAgei5CLiBkdXJjaCBkYXMgUGFrZXQgbWVzYWctZGV2IGJlcmVpdGdlc3RlbGx0IHdlcmRlbi4gWnVz5HR6bGljaAogICAgICAgc2luZCBkYW5uIG5hdPxybGljaCBkaWUgT3BlbkdMLUJpYmxpb3RoZWtlbiBzZWxic3QgZXJmb3JkZXJsaWNoLgoKICAgIDYuIFVtIFdJTkUgenUg/GJlcnNldHplbiwgbXVzcyBkZXIgR05VLUMtQ29tcGlsZXIgYmVudXR6dCB3ZXJkZW4uCiAgICAgICBFbXBmb2hsZW4gd2lyZCB6dXIgWmVpdCBWZXJzaW9uIDIuOTUuIFdlaXRlciB3ZXJkZW4gZWluaWdlCiAgICAgICBTdGFuZGFyZHdlcmt6ZXVnZSB3aWUgbWFrZSwgKGYpbGV4LCB5YWNjIG9kZXIgYmlzb24gYmVu9nRpZ3QsCiAgICAgICBkaWUgYXVmIGRlbiBtZWlzdGVuIExpbnV4c3lzdGVtZW4gYmVyZWl0cyBpbnN0YWxsaWVydCBzZWluIHNvbGx0ZW4uCiAgICAgICAKICAgSmUgbmFjaGRlbSwgb2IgaW4gZGVtIHp1IGVyemV1Z2VuZGVuIEJpbuRyY29kZSBEZWJ1Zy1JbmZvcm1hdGlvbmVuCiAgIGVudGhhbHRlbiBzZWluIHNvbGxlbiwgd2VyZGVuIGb8ciBkaWUg3GJlcnNldHp1bmcgdW5kIGRpZQogICBJbnN0YWxsYXRpb24gdm9uIFdJTkUgendpc2NoZW4gY2EuIDEwMCBNQiB1bmQgY2EuIDI1MCBNQgogICBTcGVpY2hlcnBsYXR6IGF1ZiBkZXIgRmVzdHBsYXR0ZSBiZW72dGlndC4gQW4gZGVuIFByb3plc3NvciBkZXMKICAgUmVjaG5lcnMgd2VyZGVuIGtlaW5lIGJlc29uZGVyZW4gQW5mb3JkZXJ1bmdlbiBnZXN0ZWxsdCwgc28gaXN0IGVpbgogICBQcm96ZXNzb3IgZGVyIFBlbnRpdW0tS2xhc3NlIG1pdCAxMzMgTWh6IGF1c3JlaWNoZW5kLCB1bSBtaXQgV0lORQogICBiZWlzcGllbHN3ZWlzZSBUZXh0dmVyYXJiZWl0dW5nc3Byb2dyYW1tZSBhdXN6dWb8aHJlbi4gRvxyIFNwaWVsZQogICB1bmQgYW5kZXJlIE11bHRpbWVkaWEtQW53ZW5kdW5nZW4gd2lyZCBhbGxlcmRpbmdzIGluIGRlciBSZWdlbCBlaW4KICAgc2NobmVsbGVyZXIgUmVjaG5lciBiZW72dGlndC4gV2ljaHRpZyBpc3QsIGRhc3Mgc2ljaCBpbiBkZW0gUmVjaG5lcgogICBhdXNyZWljaGVuZCBBcmJlaXRzc3BlaWNoZXIgKFJBTSkgYmVmaW5kZXQuIFp1ciBBdXNm/GhydW5nIGdy9t9lcmVyCiAgIFdpbmRvd3MtUHJvZ3JhbW1lIHNvbGx0ZSBkZXIgUmVjaG5lciBtaXQgNjQgTUIgUkFNIGF1c2dlc3RhdHRldAogICBzZWluLgogICAKNS4wIEJlc2NoYWZmdW5nIHVuZCBJbnN0YWxsYXRpb24gZGVzIFF1ZWxsY29kZXMKCiAgIFdJTkUga2FubiB2b24gdmVyc2NoaWVkZW5lbiBTZXJ2ZXJuIGltIEludGVybmV0IHBlciBGVFAgb2RlciBIVFRQCiAgIGhlcnVudGVyZ2VsYWRlbiB3ZXJkZW4uIE5vcm1hbGVyd2Vpc2Uga2FubiBkZXIgamV3ZWlscyBha3R1ZWxsZQogICBRdWVsbGNvZGUgdS5hLiB2b24gZGVuIGZvbGdlbmRlbiBBZHJlc3NlbiBiZXpvZ2VuIHdlcmRlbjoKCiAgICAgKiBmdHA6Ly9tZXRhbGFiLnVuYy5lZHUvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvCiAgICAgKiBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvCiAgICAgKiBmdHA6Ly9vcmN1cy5wcm9nc29jLnV0cy5lZHUuYXUvcHViL3dpbmUvZGV2ZWxvcG1lbnQvCiAgICAgKiBodHRwOi8vbWV0YWxhYi51bmMuZWR1L3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50LwogICAgICAgCiAgIEJlaSBkZXIgRW50d2lja2x1bmcgdm9uIFdJTkUgd2VyZGVuIHp1ciBaZWl0IG5vY2gga2VpbmUKICAgVmVyc2lvbnNudW1tZXJuIGJlbnV0enQuIEFuIFN0ZWxsZSBkZXNzZW4gdHLkZ3QgamVkZSBBdXNnYWJlIGVpbmUKICAgWmFobCwgd2VsY2hlIG5hY2ggZGVtIFNjaGVtYSBKYWhyZXN6YWhsLCBNb25hdCwgVGFnIGRlbSBEYXR1bQogICBlbnRzcHJpY2h0LCBhbiB3ZWxjaGVtIGRpZSBiZXRyZWZmZW5kZSBWZXJzaW9uIGhlcmF1c2dlZ2ViZW4gd3VyZGUuCiAgIERpZSBEYXRlaSBXaW5lLTIwMDAwNjE0LnRhci5neiBpbiBlaW5lbSBkZXIgb2JlbiBhdWZnZWb8aHJ0ZW4KICAgVmVyemVpY2huaXNzZSBlbnRo5Gx0IGFsc28gZGllIFZlcnNpb24gdm9uIFdJTkUuIGRpZSBhbSAxNC4gSnVuaQogICAyMDAwIGhlcmF1c2dlZ2ViZW4gd3VyZGUuIFByaW56aXBpZWxsIGlzdCBlcyB6dSBlbXBmZWhsZW4sIGRpZQogICBqZXdlaWxzIG5ldWVzdGUgVmVyc2lvbiB6dSB2ZXJ3ZW5kZW4uIE5hY2hkZW0gZGVyIFF1ZWxsY29kZQogICBoZXJ1bnRlcmdlbGFkZW4gd29yZGVuIGlzdCwga2FubiBlciBkdXJjaCBkaWUgRWluZ2FiZSBkZXMgZm9sZ2VuZGVuCiAgIEJlZmVobHMgaW0gYWt0dWVsbGVuIEFyYmVpdHN2ZXJ6ZWljaG5pcyBlbnRwYWNrdCB3ZXJkZW46CiAgIAogICB0YXIgLXh2emYgV2luZS0yMDAwMDYxNC50YXIuZ3oKICAgCiAgIERhYmVpIGlzdCBXaW5lLTIwMDAwNjE0LnRhci5neiBuYXT8cmxpY2ggZHVyY2ggZGVuIE5hbWVuIGRlcgogICBoZXJ1bnRlcmdlbGFkZW5lbiBEYXRlaSB6dSBlcnNldHplbi4gRGVyIFF1ZWxsY29kZSB3aXJkIGRhbm4gaW4gZWluCiAgIFVudGVydmVyemVpY2huaXMgZGVzIGFrdHVlbGxlbiBWZXJ6ZWljaG5pc3NlcyBlbnRwYWNrdCwgZGVzc2VuIE5hbWUKICAgc2ljaCBhdXMgZGVyIEJlemVpY2hudW5nIHdpbmUgdW5kLCBnZXRyZW5udCB2b24gZWluZW0gQmluZGVzdHJpY2gsCiAgIGRlbSBIZXJhdXNnYWJlZGF0dW0gZGVyIGJlbnV0enRlbiBWZXJzaW9uIHp1c2FtbWVuc2V0enQsIGFsc28KICAgYmVpc3BpZWxzd2Vpc2Ugd2luZS0yMDAwMDYxNC4gTm9ybWFsZXJ3ZWlzZSBlbXBmaWVobHQgZXMgc2ljaCwKICAgZGllc2VzIFZlcnplaWNobmlzIGluIHdpbmUgdW16dWJlbmVubmVuLCB3aWUgZXMgZHVyY2ggRWluZ2FiZSBkZXMKICAgZm9sZ2VuZGVuIEJlZmVobHMgZ2VzY2hlaGVuIGthbm46CiAgIAogICBtdiB3aW5lLTIwMDAwNjE0IHdpbmUKICAgCiAgNS4xIEFrdHVhbGlzaWVyZW4gZGVzIFF1ZWxsY29kZXMgbWl0IFBhdGNoZGF0ZWllbgogIAogICBOZWJlbiBkZW4ga29tcHJpbWllcnRlbiBUYXItQXJjaGl2ZW4sIHdlbGNoZSBkZW4gUXVlbGxjb2RlIHZvbiBXSU5FCiAgIGJlaW5oYWx0ZW4sIGJlZmluZGVuIHNpY2ggaW4gZGVuIGF1ZmdlZvxocnRlbiBWZXJ6ZWljaG5pc3NlbiBhdWNoCiAgIHNvIGdlbmFubnRlIFBhdGNoLURhdGVpZW4sIHdlbGNoZSBsZWRpZ2xpY2ggZGllIMRuZGVydW5nZW4KICAgZW50aGFsdGVuLCBkaWUgendpc2NoZW4gendlaSBBdXNnYWJlbiBhbiBXSU5FIHZvcmdlbm9tbWVuCiAgIHd1cmRlbi4gRGllc2UgRGF0ZWllbiBzaW5kIG5vcm1hbGVyd2Vpc2UgdmllbCBrbGVpbmVyIGFscyBkZXIKICAga29tcGxldHRlIFF1ZWxsY29kZSwgc28gZGFzcyBlcyBzaWNoIGVtcGZpZWhsdCwgc2llIHp1IHZlcndlbmRlbiwKICAgd2VubiBkYXMgUHJvZ3JhbW0gdm9uIGVpbmVyIFZlcnNpb24gYXVmIGRpZSBu5GNoc3RlIGFrdHVhbGlzaWVydAogICB3ZXJkZW4gc29sbC4gRmFsbHMgYXVmIGVpbmVtIFJlY2huZXIgYmVpc3BpZWxzd2Vpc2UgV2luZS0yMDAwMDYxNAogICBpbnN0YWxsaWVydCBpc3QgdW5kIGF1ZiBXSU5FLTIwMDAwNjE0IGFrdHVhbGlzaWVydCB3ZXJkZW4gc29sbCwgc28KICAgd+RyZSBkaWUgRGF0ZWkgV0lORS0yMDAwMDYxNC5kaWZmLmd6IGhlcnVudGVyenVsYWRlbi4gRGllIGluIGRlcgogICBEYXRlaSBiZXNjaHJpZWJlbiBWZXLkbmRlcnVuZ2VuIGv2bm5lbiBhdWYgZGVuIGluc3RhbGxpZXJ0ZW4KICAgUXVlbGxjb2RlIGFuZ2V3YW5kdCB3ZXJkZW4sIGluZGVtIHp1buRjaHN0IGluIGRhcyBCYXNpc3ZlcnplaWNobmlzCiAgIGRlcyBRdWVsbGNvZGVzIChhbHNvIGluIGRhcyBWZXJ6ZWljaG5pcyB3aW5lLCB3ZWxjaGVzIGR1cmNoIGRpZQogICBvYmVuIGJlc2NocmllYmVuZW4gU2Nocml0dGUgZW50c3RhbmRlbiBpc3QpIGdld2VjaHNlbHQgd2lyZCB1bmQKICAgZGFubiBkYXMgUHJvZ3JhbW0gcGF0Y2ggd2llIGZvbGd0IGF1ZmdlcnVmZW4gd2lyZDoKICAgCiAgIGd1bnppcCAtYyAuLi9XaW5lLTIwMDAwNTI2LmRpZmYuZ3ogfCBwYXRjaCAtcDEKICAgCiAgIEhpZXIgd2lyZCBkYXZvbiBhdXNnZWdhbmdlbiwgZGFzcyBzaWNoIGRpZSBQYXRjaC1EYXRlaSBpbiBkZW0KICAgVmVyemVpY2huaXMgYmVmaW5kZXQsIHdlbGNoZXMgZGVtIFdJTkUtVmVyemVpY2huaXMgKHdpbmUpCiAgIPxiZXJnZW9yZG5ldCBpc3QgdW5kIGRlbiBOYW1lbiBXaW5lLTIwMDAwNTI2LmRpZmYuZ3ogdHLkZ3QuIERlcgogICBEYXRlaW5hbWUgaXN0IGVudHNwcmVjaGVuZCBhbnp1cGFzc2VuLCB3ZW5uIGVpbmUgRGF0ZWkgbWl0IGVpbmVtCiAgIGFuZGVyZW4gTmFtZW4gb2RlciBhdXMgZWluZW0gYW5kZXJlbiBWZXJ6ZWljaG5pcyBiZW51dHp0IHdpcmQuCiAgIAogIDUuMiBIZXJ1bnRlcmxhZGVuIHVuZCBBa3R1YWxpc2llcmVuIHZvbiBXSU5FIG1pdCBDVlMKICAKICAgQWx0ZXJuYXRpdiBrYW5uIGRlciBRdWVsbGNvZGUgdm9tIENWUy1TZXJ2ZXIgZGVzIFdJTkUtUHJvamVrdGVzCiAgIGluc3RhbGxpZXJ0IHdlcmRlbi4gRGVyIFZvcnRlaWwgZGllc2VzIFZlcmZhaHJlbnMgYmVzdGVodCBkYXJpbiwKICAgZGFzcyBlcyBqZWRlcnplaXQgdW5rb21wbGl6aWVydCBt9mdsaWNoIGlzdCwgZGVuIGVpZ2VuZW4gUXVlbGxjb2RlCiAgIGFuIGRlbiBFbnR3aWNrbHVuZ3NzdGFuZCBkZXMgUHJvamVrdHMgYW56dXBhc3NlbiBvaG5lIGRhc3MgYXVmIGVpbmUKICAgbmV1ZSBBdXNnYWJlIGRlcyBQcm9ncmFtbXMgZ2V3YXJ0ZXQgd2VyZGVuIG11c3MuIEb8ciBqZWRlbiwgZGVyCiAgIHBsYW50LCBzZWxic3QgYW4gZGVtIFByb2pla3QgbWl0enVhcmJlaXRlbiwgaXN0IGRpZSBWZXJ3ZW5kdW5nIHZvbgogICBDVlMgbm9ybWFsZXJ3ZWlzZSBlcmZvcmRlcmxpY2guIERhbWl0IENWUyBiZW51dHp0IHdlcmRlbiBrYW5uLCBtdXNzCiAgIGRhcyBQcm9ncmFtbSBjdnMgbmF0/HJsaWNoIGluc3RhbGxpZXJ0IHNlaW4uIFVudGVyIERlYmlhbiBpc3QgZXMgaW4KICAgZGVtIGdsZWljaG5hbWlnZW4gUGFrZXQgZW50aGFsdGVuLiBXZW5uIGRpZXMgc2ljaGVyZ2VzdGVsbHQgaXN0LAogICBrYW5uIGR1cmNoIGRpZSBVbWdlYnVuZ3N2YXJpYWJsZSBDVlNST09UIGVpbmdlc3RlbGx0IHdlcmRlbiwgdm9uIHdvCiAgIGRlciBRdWVsbGNvZGUgYmV6b2dlbiwgYnp3LiBha3R1YWxpc2llcnQgd2VyZGVuIHNvbGwuIEJlaQogICBWZXJ3ZW5kdW5nIGRlciBCYXNoIGthbm4gZGF6dSBkZXIgZm9sZ2VuZGUgQmVmZWhsIGVpbmdlZ2ViZW4KICAgd2VyZGVuOgogICAKICAgZXhwb3J0IENWU1JPT1Q9OnBzZXJ2ZXI6Y3ZzQGN2cy53aW5laHEuY29tOi9ob21lL3dpbmUKICAgCiAgIERhbmFjaCBrYW5uIG1hbiBzaWNoIGJlaSBkZW0gQ1ZTLVNlcnZlciBhbm1lbGRlbi4gSGllcnp1IGRpZW50CiAgIGRpZXNlciBCZWZlaGw6CiAgIAogICBjdnMgbG9naW4KICAgCiAgIERhcyBQcm9ncmFtbSBlcmZyYWd0IGRhbm4gZWluIFBhc3N3b3J0IGb8ciBkZW4gWnVncmlmZiBhdWYgZGVuCiAgIFNlcnZlci4gIEhpZXIgaXN0IGRhcyBQYXNzd29ydCBjdnMgenUgdmVyd2VuZGVuLiBOdW4ga2FubiBkZXIKICAgUXVlbGxjb2RlIHZvbSBTZXJ2ZXIgaGVydW50ZXJnZWxhZGVuIHdlcmRlbiwgaW5kZW0gZGVyIG7kY2hzdGUKICAgQmVmZWhsIGVpbmdlZ2ViZW4gd2lyZDoKICAgCiAgIGN2cyAteiAzIGNoZWNrb3V0IHdpbmUKICAgCiAgIEltIGFrdHVlbGxlbiBBcmJlaXRzdmVyemVpY2huaXMgd2lyZCBkYW5uIGVpbiBVbnRlcnZlcnplaWNobmlzIG1pdAogICBkZXIgQmV6ZWljaG51bmcgd2luZSBhbmdlbGVndC4gU29iYWxkIGRlciBCZWZlaGwgYWJnZXNjaGxvc3NlbiBpc3QsCiAgIGJlZmluZGVuIHNpY2ggaW4gZGllc2VtIFZlcnplaWNobmlzIGRlciBha3R1ZWxsZSBRdWVsbGNvZGUgZGVzCiAgIFByb2pla3RzIHVuZCBlaW5pZ2UgenVz5HR6bGljaGUgRGF0ZWllbiwgZGllIHZvbiBDVlMgYmVu9nRpZ3QKICAgd2VyZGVuLgogICAKICAgVW0gZGVuIFF1ZWxsY29kZSBhdWYgZGVuIG5ldWVzdGVuIFN0YW5kIHp1IGJyaW5nZW4sIGthbm4gZGllc2VyCiAgIEJlZmVobCBiZW51dHp0IHdlcmRlbjoKICAgCiAgIGN2cyAteiAzIHVwZGF0ZSAtUEFkIFdJTkUKICAgCiAgIEluZm9ybWF0aW9uZW4g/GJlciBkaWUgaGllciB2ZXJ3ZW5kZXRlbiBQYXJhbWV0ZXIgYmVpbSBBdWZydWYgdm9uCiAgIENWUyB1bmQg/GJlciB3ZWl0ZXJlIE32Z2xpY2hrZWl0ZW4gZGVzIFByb2dyYW1tcyBiZWZpbmRlbiBzaWNoCiAgIHUuYS4gaW4gZGVyIE1hbnVhbHNlaXRlIHp1IGN2cygxKSBzb3dpZSBhdWYgZGVyIENWUy1Ib21lcGFnZSwgZGllCiAgIHVudGVyIGh0dHA6Ly93d3cuc291cmNlZ2Vhci5jb20vQ1ZTIHp1IGVycmVpY2hlbiBpc3QuIFdlaXRlcmUgd2ljaHRpZ2UKICAgSGlud2Vpc2UgaW0gSGluYmxpY2sgYXVmIENWUyB1bmQgV0lORSBzaW5kIHVudGVyIGRlciBBZHJlc3NlCiAgIGh0dHA6Ly93d3cud2luZWhxLmNvbS9kZXZlbG9wbWVudC8gdmVyZvxnYmFyLgogICAKNi4wIEtvbmZpZ3VyYXRpb24gdW5kINxiZXJzZXR6dW5nIGRlcyBRdWVsbGNvZGVzCgogICBWb3JhdXNnZXNldHp0LCBkZXIgUXVlbGxjb2RlIGJlZmluZGV0IHNpY2ggaW0gVW50ZXJ2ZXJ6ZWljaG5pcyB3aW5lCiAgIGRlcyBha3R1ZWxsZW4gQXJiZWl0c3ZlcnplaWNobmlzc2VzLCBpc3QgenVu5GNoc3QgaW4gZGllc2VzCiAgIFZlcnplaWNobmlzIHp1IHdlY2hzZWxuLCB1bSBhbGxlIHdlaXRlcmVuIFNjaHJpdHRlIGR1cmNoenVm/GhyZW46CiAgIAogICBjZCB3aW5lCiAgIAogICBEYW5uIGthbm4gZGFzIFNrcmlwdCBjb25maWd1cmUgYXVmZ2VydWZlbiB3ZXJkZW4uIERpZXNlcyBTa3JpcHQKICAgZvxocnQgZWluZSBSZWloZSB2b24gVGVzdHMgZHVyY2gsIGRpZSB1LmEuIHVudGVyc3VjaGVuLCBvYiBkYXMKICAgU3lzdGVtIGFsbGUgbm90d2VuZGlnZW4gRWlnZW5zY2hhZnRlbiBlcmb8bGx0IHVuZCBkaWUgYmVu9nRpZ3RlbgogICBFbnR3aWNrbGVyZGF0ZWllbiBpbnN0YWxsaWVydCBzaW5kLiBEYXJhdWZoaW4gZXJ6ZXVndCBlcyBkaWUKICAgRGF0ZWllbiwgZHVyY2ggd2VsY2hlIGRpZSDcYmVyc2V0enVuZyBkZXMgUXVlbGxjb2RlcyBnZXN0ZXVlcnQKICAgd2lyZC4gRGVtIFNrcmlwdCBr9m5uZW4gdmVyc2NoaWVkZW5lIFBhcmFtZXRlciD8YmVyZ2ViZW4gd2VyZGVuLAogICBtaXQgZGVuZW4gc2ljaCBiZWlzcGllbHN3ZWlzZSBiZXN0aW1tZW4gbORzc3QsIGRhc3MgaW4gZGVuIHp1CiAgIGVyemV1Z2VuZGVuIFByb2dyYW1tZW4gdW5kIEJpYmxpb3RoZWtlbiBrZWluZSBEZWJ1Zy1NaXR0ZWlsdW5nZW4KICAgZW50aGFsdGVuIHNlaW4gc29sbGVuLiBEaWUgdm9sbHN05G5kaWdlIExpc3RlIGRlciB2ZXJm/GdiYXJlbgogICBPcHRpb25lbiBm/HIgY29uZmlndXJlIHdpcmQgYW5nZXplaWd0LCB3ZW5uIGRhcyBTa3JpcHQgbWl0IGRlcgogICBPcHRpb24gLS1oZWxwIGF1ZmdlcnVmZW4gd2lyZC4gIE5vcm1hbGVyd2Vpc2UgcmVpY2h0IGVzIGF1cywgZGFzCiAgIFNrcmlwdCBmb2xnZW5kZXJtYd9lbiBhdWZ6dXJ1ZmVuOgogICAKICAgLi9jb25maWd1cmUKICAgCiAgIEZhbGxzIHdpY2h0aWdlIERhdGVpZW4gb2RlciBFaWdlbnNjaGFmdGVuIGRlcyBTeXN0ZW1zIHZvbiBjb25maWd1cmUKICAgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIGv2bm5lbiwgZXJmb2xndCB1bnRlciBVbXN05G5kZW4gZWluZSBXYXJuLQogICBvZGVyIEZlaGxlcm1lbGR1bmcuIFNvbGNoZSBGZWhsZXIgc29sbHRlbiBiZWhvYmVuIHdlcmRlbiwgYmV2b3IgbWl0CiAgIGRlciDcYmVyc2V0enVuZyBkZXMgUXVlbGxjb2RlcyBmb3J0Z2VmYWhyZW4gd2lyZC4KICAgCiAgIEltIG7kY2hzdGVuIFNjaHJpdHQgd2lyZCBkZXIgUXVlbGxjb2RlIPxiZXJzZXR6dC4gRGF6dSBzaW5kCiAgIGhpbnRlcmVpbmFuZGVyIGRpZSBmb2xnZW5kZW4gYmVpZGVuIEJlZmVobGUgenUgYmVudXR6ZW46CiAgIAogICBtYWtlIGRlcGVuZAogICAKICAgbWFrZQogICAKICAgQXVmIGRlciBQYXJ0aXRpb24sIGF1ZiB3ZWxjaGVyIHNpY2ggZGFzIFZlcnplaWNobmlzIG1pdCBkZW0KICAgUXVlbGxjb2RlIGJlZmluZGV0LCB3ZXJkZW4gZvxyIGRpZSBrb21wbGV0dGUg3GJlcnNldHp1bmcgenVyIFplaXQKICAgdW5nZWbkaHIgMjMwIE1CIFNwZWljaGVycGxhdHogYmVu9nRpZ3QuIERlciBncvbfdGUgVGVpbCBkaWVzZXMKICAgU3BlaWNoZXJwbGF0emVzIHdpcmQgZGFiZWkgdm9uIGRlbiBEZWJ1Zy1JbmZvcm1hdGlvbmVuIGluIGRlbgogICBPYmpla3RkYXRlaWVuLCBkaWUgYmVpbSDcYmVyc2V0emVuIGVyemV1Z3Qgd2VyZGVuLCBiZW72dGlndC4gRmFsbHMKICAgbmljaHQgYmVhYnNpY2h0aWd0IHdpcmQsIGlyZ2VuZHdlbGNoZSBGZWhsZXIgaW4gV0lORSB6dQogICB1bnRlcnN1Y2hlbiwga/ZubmVuIGRpZSBCaW7kcmRhdGVpZW4gYXVjaCBvaG5lIERlYnVnLUluZm9ybWF0aW9uZW4KICAgZXJ6ZXVndCB3ZXJkZW4sIGRhenUgaXN0IGRlciBsZXR6dGUgZGVyIGJlaWRlbiBvYmVuIGdlbmFubnRlbgogICBCZWZlaGxlIGR1cmNoIGRlbiBu5GNoc3RlbiBCZWZlaGwgenUgZXJzZXR6ZW4gKGb8ciBkaWUg3GJlcnNldHp1bmcKICAgd2VyZGVuIGRhbm4gbnVyIG5vY2ggdW5nZWbkaHIgODAgTUIgU3BlaWNoZXJwbGF0eiBiZW72dGlndCkuCiAgIAogICBtYWtlIENGTEFHUz0iLU8yIgogICAKICAgTnVuIGthbm4gV0lORSBhdWYgZGVtIFN5c3RlbSBpbnN0YWxsaWVydCB3ZXJkZW4uIEhpZXJ6dSBpc3QgbWl0IGRlbgogICBSZWNodGVuIGRlcyBBZG1pbmlzdHJhdG9ycyBkZXIgZm9sZ2VuZGUgQmVmZWhsIGVpbnp1Z2ViZW46CiAgIAogICBtYWtlIGluc3RhbGwKICAgCiAgIERhZHVyY2ggd2VyZGVuIGRpZSBhdXNm/GhyYmFyZW4gUHJvZ3JhbW1lIHZvbiBXSU5FIHN0YW5kYXJkbeTfaWcgaW4KICAgZGFzIFZlcnplaWNobmlzIC91c3IvbG9jYWwvYmluLCBkaWUgUHJvZ3JhbW1iaWJsaW90aGVrZW4gaW4gZGFzCiAgIFZlcnplaWNobmlzIC91c3IvbG9jYWwvbGliLCBkaWUgTWFudWFsc2VpdGVuIHVudGVyaGFsYiBkZXMKICAgVmVyemVpY2huaXNzZXMgL3Vzci9sb2NhbC9tYW4gdW5kIGVpbmlnZSBIZWFkZXItRGF0ZWllbiBpbiBkYXMKICAgVmVyemVpY2huaXMgL3Vzci9sb2NhbC9pbmNsdWRlL3dpbmUgaW5zdGFsbGllcnQuIAoKICAgQWNodHVuZzoKICAgU3RhbmRhcmRt5N9pZyB3aXJkIGJlaSBlaW5pZ2VuIERpc3RyaWJ1dGlvbmVuICh6LkIuIGJlaSBEZWJpYW4KICAgR05VL0xpbnV4KSBpbiBkZW0gVmVyemVpY2huaXMgL3Vzci9sb2NhbC9saWIgbmljaHQgbmFjaAogICBQcm9ncmFtbWJpYmxpb3RoZWtlbiBnZXN1Y2h0LiBGYWxscyBiZWltIFN0YXJ0IHZvbiBXSU5FIGdlbWVsZGV0IHdpcmQsCiAgIGRhc3MgYmVzdGltbXRlIEJpYmxpb3RoZWtlbiBuaWNodCBnZWxhZGVuIHdlcmRlbiBr9m5uZW4sIHNvbGx0ZSBkZXIKICAgTmFtZSBkaWVzZXMgVmVyemVpY2huaXNzZXMgaW4gZGllIERhdGVpIC9ldGMvbGQuc28uY29uZiAoaW4gZWluZQogICBlaWdlbmUgWmVpbGUpIGVpbmdldHJhZ2VuIHVuZCBkYW5hY2ggZGFzIFByb2dyYW1tIGxkY29uZmlnIGF1ZmdlcnVmZW4KICAgd2VyZGVuLgogICAKNy4wIEtvbmZpZ3VyYXRpb24KCiAgIFdpZSB2aWVsZSBVTklYLVByb2dyYW1tZSBrYW5uIFdJTkUgZW50d2VkZXIg/GJlciBlaW5lIHN5c3RlbXdlaXQKICAgZ/xsdGlnZSBLb25maWd1cmF0aW9uc2RhdGVpIG9kZXIg/GJlciBlaW5lIGJlbnV0emVyc3BlemlmaXNjaGUKICAgRGF0ZWkgaW0gSGVpbWF0dmVyemVpY2huaXMgZGVzIGJldHJlZmZlbmRlbiBCZW51dHplcnMga29uZmlndXJpZXJ0CiAgIHdlcmRlbi4gIERpZSBiZW51dHplcnNwZXppZmlzY2hlIEtvbmZpZ3VyYXRpb25zZGF0ZWkgdHLkZ3QgZGVuCiAgIE5hbWVuIH4vLndpbmUvY29uZmlnLgogICAKICA3LjEgQXVmYmF1IGRlciBLb25maWd1cmF0aW9uc2RhdGVpICAgCgogICBEYXMgRm9ybWF0IG9yaWVudGllcnQgc2ljaCBhbiBkZW4gdm9uIFdpbmRvd3MgaGVyIGJla2FubnRlbiAqLmluaS1EYXRlaWVuLAogICBhbGxlcmRpbmdzIGxlaWNodCBhYmdl5G5kZXJ0IGltIFdpbmUtUmVnaXN0cnktRm9ybWF0LgogICBEaWUgRGF0ZWkgYmVzdGVodCBhdXMgZWluemVsbmVuIEJs9mNrZW4sIHdlbGNoZSBkdXJjaCBCZXplaWNobmVyCiAgIGVpbmdlbGVpdGV0IHdlcmRlbiwgZGllIGluIGVja2lnZW4gS2xhbW1lcm4gdW5kIGluIGVpbmVyIGVpZ2VuZW4KICAgWmVpbGUgc3RlaGVuLiBJbm5lcmhhbGIgZWluZXMgQmxvY2tlcyBiZWZpbmRlbiBzaWNoIFBhYXJlIHZvbiBWYXJpYWJsZW4KICAgdW5kIFdlcnRlbiwgZGllIGR1cmNoIGVpbiBHbGVpY2hoZWl0c3plaWNoZW4gbWl0ZWluYW5kZXIgdmVyYnVuZGVuIHNpbmQuCiAgIERpZXNlIFBhYXJlIHN0ZWhlbiBlYmVuZmFsbHMgamV3ZWlscyBpbiBlaW5lciBaZWlsZS4gS29tbWVudGFyZSB3ZXJkZW4KICAgaW4gZGVyIERhdGVpIGR1cmNoIGVpbiBTZW1pa29sb24gZWluZ2VsZWl0ZXQuIEF132VyZGVtIGT8cmZlbiBsZWVyZSBaZWlsZW4KICAgYmVudXR6dCB3ZXJkZW4sIHVtIGRpZSBEYXRlaSB6dSBzdHJ1a3R1cmllcmVuLiBFaW4gQmVpc3BpZWwgZvxyCiAgIGVpbmVuIHNvbGNoZW4gQmxvY2sgd+RyZSBhbHNvOgoKICAgW0RyaXZlIENdCiAgICJQYXRoIiA9ICIvaG9tZS9rYXJsIgogICAiVHlwZSIgPSAiaGQiCiAgICJMYWJlbCIgPSAiTGF1ZncuQyIKICAgIkZpbGVzeXN0ZW0iID0gIndpbjk1IgoKICAgQXXfZXJkZW0gaXN0IGVzIG32Z2xpY2gsIGlubmVyaGFsYiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBtaXQKICAgV2VydGVuIHZvbiBVbWdlYnVuZ3N2YXJpYWJsZW4genUgYXJiZWl0ZW4uIERhenUgaXN0IGFuIFN0ZWxsZSBlaW5lcwogICBXZXJ0ZXMgZGVyIE5hbWUgZGVyIHp1IHZlcndlbmRlbmRlbiBVbWdlYnVuZ3N2YXJpYWJsZW4gaW4KICAgZ2VzY2h3ZWlmdGVuIEtsYW1tZXJuIHVuZCBtaXQgZWluZW0gdm9yYW5nZXN0ZWxsdGVuIERvbGxhcnplaWNoZW4KICAgYW56dWdlYmVuLiBTb2xsIGJlaXNwaWVsc3dlaXNlIGRlciBWYXJpYWJsZW4gUGF0aCBhdXMgZGVtIG9iaWdlbgogICBCZWlzcGllbCBkZXIgV2VydCB6dWdlb3JkbmV0IHdlcmRlbiwgZGVuIGRpZSBVbWdlYnVuZ3N2YXJpYWJsZSBIT01FCiAgIHp1ciBaZWl0IGRlciBBdXNm/GhydW5nIHZvbiBXSU5FIGhhdCwgc28gd+RyZSBkaWUgZW50c3ByZWNoZW5kZQogICBaZWlsZSBmb2xnZW5kZXJtYd9lbiB6dSBzY2hyZWliZW46CgogICAiUGF0aCIgPSAiJHtIT01FfSIKCiAgIFZvbSBCYXNpc3ZlcnplaWNobmlzIGRlcyBXSU5FLVF1ZWxsY29kZXMgYXVzIGJlZmluZGV0IHNpY2ggaW4gZGVyIERhdGVpCiAgIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcgZWluIEJlaXNwaWVsIGFscyBWb3JsYWdlIGb8ciBkaWUgRXJzdGVsbHVuZwogICBlaW5lciBlaWdlbmVuIEtvbmZpZ3VyYXRpb25zZGF0ZWkuIERpZSBEYXRlaSBlbnRo5Gx0IGFsbGUgd2ljaHRpZ2VuIEJs9mNrZQogICB1bmQgVmFyaWFibGVuLCBzaWUgbXVzcyBqZWRvY2ggYW4gZGllIGVpZ2VuZSBLb25maWd1cmF0aW9uIGFuZ2VwYXNzdAogICB3ZXJkZW4sIGJldm9yIFdJTkUgZGFzIGVyc3RlIE1hbCBiZW51dHp0IHdpcmQuIEFuZ2Vub21tZW4sIGRhcwogICBCYXNpc3ZlcnplaWNobmlzIGRlcyBXSU5FLVF1ZWxsY29kZXMgdHLkZ3QgZGVuIE5hbWVuIHdpbmUgdW5kIGlzdAogICBlaW4gVW50ZXJ2ZXJ6ZWljaG5pcyBkZXMgZWlnZW5lbiBIZWltYXR2ZXJ6ZWljaG5pc3NlcywgZGFubiBrYW5uCiAgIGRpZXNlIFZvcmxhZ2UgZHVyY2ggZGVuIGZvbGdlbmRlbiBCZWZlaGwgYW4gZGVuIHJpY2h0aWdlbiBQbGF0egogICBrb3BpZXJ0IHdlcmRlbjoKICAgCiAgIGNwIH4vd2luZS9kb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnIH4vLndpbmUvY29uZmlnCiAgIAogICBEaWUgV2VydGUsIHdlbGNoZSBWYXJpYWJsZW4gaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgenVnZXdpZXNlbgogICB3ZXJkZW4sIGxhc3NlbiBzaWNoIGluIGRyZWkgVHlwZW4gZWludGVpbGVuOiBaZWljaGVua2V0dGVuLCBaYWhsZW4KICAgdW5kIEJvb2xzY2hlIFdlcnRlLiBJbSBGYWxsIHZvbiBCb29sc2NoZW4gV2VydGVuIGzkc3N0IHNpY2gKICAgZW50d2VkZXIgdHJ1ZSBvZGVyIGZhbHNlLCAxIG9kZXIgMCBiZXppZWh1bmdzd2Vpc2UgeWVzIG9kZXIgbm8KICAgYW5nZWJlbi4gSW4gZGVuIGZvbGdlbmRlbiBCZWlzcGllbGVuIHdpcmQgZGllIHRydWUgLyBmYWxzZQogICAtU2NocmVpYndlaXNlIGJlbnV0enQuCiAgIAogIDcuMiBLb25maWd1cmF0aW9uIHZvbiBMYXVmd2Vya3NidWNoc3RhYmVuCiAgCiAgIFp3aXNjaGVuIFVOSVgvTGludXggYXVmIGRlciBlaW5lbiB1bmQgRE9TIGJ6dy4gV2luZG93cyBhdWYgZGVyCiAgIGFuZGVyZW4gU2VpdGUgZ2lidCBlcyBlaW5pZ2UgVW50ZXJzY2hpZWRlIGluIGRlciBBcnQsIHdpZQogICBEYXRlbnRy5GdlciB1bmQgRGF0ZWllbiBiZXplaWNobmV0IHdlcmRlbi4gVW50ZXIgVU5JWC9MaW51eCBnaWJ0IGVzCiAgIGVpbiBEYXRlaXN5c3RlbSBtaXQgZWluZW0gV3VyemVscHVua3QgKC8pLCBpbiBkYXMgdW50ZXJzY2hpZWRsaWNoZQogICBEYXRlbnRy5GdlciBkdXJjaCBlaW5lbiBzcGV6aWVsbGVuIEJlZmVobCAobW91bnQpIGVpbmdlYnVuZGVuCiAgIHdlcmRlbi4gQWxsZSBEYXRlaWVuIGF1ZiBlaW5nZWJ1bmRlbmVuIERhdGVudHLkZ2VybiBr9m5uZW4gZGVzd2VnZW4KICAgaW5uZXJoYWxiIGRpZXNlcyBEYXRlaXN5c3RlbXMgYW5nZXNwcm9jaGVuIHdlcmRlbi4gRE9TIHVuZCBXaW5kb3dzCiAgIHZlcndlbmRlbiBqZWRvY2ggZvxyIGplZGVuIGVya2FubnRlbiBEYXRlbnRy5GdlciBlaW4gZWlnZW5lcwogICBEYXRlaXN5c3RlbS4gVW0gZWluZSBiZXN0aW1tdGUgRGF0ZWkgZWluZGV1dGlnIHp1IGJlemVpY2huZW4sIGlzdAogICBlcyBiZWkgZGllc2VuIEJldHJpZWJzc3lzdGVtZW4gZGVzd2VnZW4gbm90d2VuZGlnLCBuZWJlbiBkZW0gUGZhZC0KICAgdW5kIERhdGVpbmFtZW4gZWluZW4gc28gZ2VuYW5udGVuIExhdWZ3ZXJrc2J1Y2hzdGFiZW4KICAgYW56dWdlYmVuLiDcYmxpY2hlcndlaXNlIGVudHNwcmljaHQgZGFiZWkgZGVyIExhdWZ3ZXJrc2J1Y2hzdGFiZSBBCiAgIGRlbSBlcnN0ZW4gRGlza2V0dGVubGF1ZndlcmsgdW5kIGRlciBCdWNoc3RhYmUgQyBkZXIgZXJzdGVuCiAgIEZlc3RwbGF0dGVucGFydGl0aW9uIGRlcyBTeXN0ZW1zLgogICAKICAgV2VpbCBQcm9ncmFtbWUsIGRpZSBm/HIgRE9TIG9kZXIgV2luZG93cyBnZXNjaHJpZWJlbiBzaW5kLAogICBMYXVmd2Vya3NidWNoc3RhYmVuIHZlcndlbmRlbiwgdW0gRGF0ZWllbiB6dSBiZXplaWNobmVuLCBtdXNzIFdJTkUKICAgZGllc2UgQnVjaHN0YWJlbiBhdWYgZGFzIFVOSVgtRGF0ZWlzeXN0ZW0gYWJiaWxkZW4uIERhcyBQcm9ibGVtIGlzdAogICBhdWYgZGllIGZvbGdlbmRlIEFydCBnZWz2c3Q6IEluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpICh+Ly53aW5lL2NvbmZpZykKICAgd2lyZCBqZWRlbSBMYXVmd2Vya3NidWNoc3RhYmVuIGVpbiBWZXJ6ZWljaG5pcyBpbSBVTklYLURhdGVpc3lzdGVtCiAgIHp1Z2VvcmRuZXQuIERpZXNlcyBWZXJ6ZWljaG5pcyBzdGVsbHQgZGFubiAoYXVzIFNpY2h0IGRlciBXaW5kb3dzLQogICBQcm9ncmFtbWUpIGRhcyBCYXNpc3ZlcnplaWNobmlzIGRlcyBlbnRzcHJlY2hlbmRlbiBMYXVmd2Vya3MgZGFyLgogICBJc3QgYWxzbyBiZWlzcGllbHN3ZWlzZSBkYXMgVmVyemVpY2huaXMgL3Zhci93aW5yb290IGRlbQogICBMYXVmd2Vya3NidWNoc3RhYmVuIEMgenVnZW9yZG5ldCB1bmQgd/xyZGUgZWluIFdpbmRvd3MtUHJvZ3JhbW0KICAgdW50ZXIgV0lORSB2ZXJzdWNoZW4sIGRpZSBEYXRlaSBDOlxEb2t1bWVudGVcZmluYW56YW10LmRvYyB6dSD2ZmZuZW4sCiAgIHNvIHf8cmRlIGluIFdpcmtsaWNoa2VpdCBkaWUgRGF0ZWkgL3Zhci93aW5yb290L0Rva3VtZW50ZS9maW5hbnphbXQuZG9jCiAgIGdl9mZmbmV0IHdlcmRlbiwgdm9yYXVzZ2VzZXR6dCwgZGllc2UgRGF0ZWkgZXhpc3RpZXJ0IHRhdHPkY2hsaWNoLgogICBEdXJjaCBkaWVzZW4gTWVjaGFuaXNtdXMga2FubiBhdWNoIGVycmVpY2h0IHdlcmRlbiwgZGFzcyB2b24KICAgV2luZG93cy1Qcm9ncmFtbWVuLCBkaWUgdW50ZXIgV0lORSBhdXNnZWb8aHJ0IHdlcmRlbiwgbnVyIGF1ZiBlaW5lbiBUZWlsCiAgIGRlcyBVTklYLURhdGVpc3lzdGVtcyB6dWdlZ3JpZmZlbiB3ZXJkZW4ga2Fubi4KICAgCiAgIEVpbiB3ZWl0ZXJlciBVbnRlcnNjaGllZCB6d2lzY2hlbiBkZW4gRGF0ZWlzeXN0ZW1lbiB1bnRlciBET1MgdW5kCiAgIFdpbmRvd3MgYXVmIGRlciBlaW5lbiB1bmQgVU5JWC9MaW51eCBhdWYgZGVyIGFuZGVyZW4gU2VpdGUgYmVzdGVodAogICBpbiBkZXIgQmVy/GNrc2ljaHRpZ3VuZyB2b24gR3Jv3y0gdW5kIEtsZWluc2NocmVpYnVuZyBiZWkKICAgRGF0ZWluYW1lbi4gIFfkaHJlbmQgZXMgdW50ZXIgTGludXggZHVyY2hhdXMgbfZnbGljaCBpc3QsIGRhc3Mgc2ljaAogICBpbiBlaW5lbSBWZXJ6ZWljaG5pcyBnbGVpY2h6ZWl0aWcgRGF0ZWllbiBtaXQgZGVuIE5hbWVuIGJyaWVmLnR4dCwKICAgQnJpZWYudHh0IHVuZCBicmllZi5UWFQgYmVmaW5kZW4sIGlzdCBkaWVzIHVudGVyIFdpbmRvd3MKICAgYXVzZ2VzY2hsb3NzZW4sIGhpZXIgd2lyZCBiZWlzcGllbHN3ZWlzZSBkaWUgRGF0ZWkgYnJpZWYudHh0CiAgIGdl9mZmbmV0LCBmYWxscyBkaWVzZSBleGlzdGllcnQsIGFiZXIgZWlnZW50bGljaCBkaWUgRGF0ZWkKICAgQnJpZWYudHh0IGFuZ2Vmb3JkZXJ0IHd1cmRlLiBEaWUgbWVpc3RlbiBQcm9ncmFtbWUsIGRpZSBm/HIgRE9TCiAgIG9kZXIgMTZCaXQtV2luZG93cyBnZXNjaHJpZWJlbiB3dXJkZW4sIGVyd2FydGVuIGRhcvxiZXJoaW5hdXMsIGRhc3MKICAgRGF0ZWluYW1lbiBhdXMgbmljaHQgbWVociBhbHMgYWNodCBaZWljaGVuIHp1evxnbGljaCBlaW5lciBkcmVpCiAgIFplaWNoZW4gbGFuZ2VuIEVyd2VpdGVydW5nIGJlc3RlaGVuLiBXSU5FIG11c3MgYXVzIGRpZXNlbiBHcvxuZGVuCiAgIGVudHNjaGVpZGVuLCB3ZWxjaGUgRGF0ZWkgdGF0c+RjaGxpY2ggZ2X2ZmZuZXQgd2lyZCwgd2VubiBlcwogICBhdWZncnVuZCB2b24gR3Jv3y0gdW5kIEtsZWluc2NocmVpYnVuZyB1bnRlcnNjaGllZGxpY2hlCiAgIE32Z2xpY2hrZWl0ZW4gZ2lidC4gQXXfZXJkZW0gbXVzcyBlcyBkaWUgRGF0ZWluYW1lbiBpbiBhY2h0IFplaWNoZW4KICAgbGFuZ2UgTmFtZW4g/GJlcnNldHplbiwgZmFsbHMgc2llIHZvbiAxNmJpdC1Qcm9ncmFtbWVuIGFiZ2VmcmFndAogICB3ZXJkZW4uCiAgIAogICBXZW5uIFdJTkUgbWl0IGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQgd2VyZGVuCiAgIHNvbGwsIHNvbGx0ZSBkYXJhdWYgZ2VhY2h0ZXQgd2VyZGVuLCBkYXNzIGRpZSBMYXVmd2Vya3NidWNoc3RhYmVuCiAgIHVudGVyIFdpbmRvd3MgdW5kIFdJTkUg/GJlcmVpbnN0aW1tZW4uIEJlZmluZGV0IHNpY2ggZGllCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGFsc28gYmVpc3BpZWxzd2Vpc2UgYXVmIGRlciBQYXJ0aXRpb24KICAgL2Rldi9oZGExLCB3ZWxjaGUgdW50ZXIgV2luZG93cyD8YmVyIGRlbiBMYXVmd2Vya3NidWNoc3RhYmVuIEMKICAgYW5nZXNwcm9jaGVuIHdpcmQsIHNvIHNvbGx0ZSBkaWVzZSBQYXJ0aXRpb24gdW50ZXIgR05VL0xpbnV4IGluIGVpbgogICBiZWxpZWJpZ2VzIFZlcnplaWNobmlzIGVpbmdlYnVuZGVuIHdlcmRlbiB1bmQgZGllc2VzIFZlcnplaWNobmlzIGluCiAgIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHZvbiBXSU5FIHdpZWRlciBkZW0gTGF1ZndlcmtzYnVjaHN0YWJlbiBDCiAgIHp1Z2VvcmRuZXQgd2VyZGVuLCBkYSBlcyBzb25zdCBuYXR1ZXJsaWNoIHp1IEtvbmZsaWt0ZW4gbWl0IGRlcgogICB2b3JoYW5kZW5lbiBLb25maWd1cmF0aW9uIGJlcmVpdHMgaW5zdGFsbGllcnRlciBQcm9ncmFtbWUga29tbWVuIGthbm4uCiAgIAogICBFaW4gQmVpc3BpZWwgZvxyIGRpZSBadW9yZG51bmcgdm9uIFVOSVgtVmVyemVpY2huaXNzZW4gdW5kCiAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgd3VyZGUgd2VpdGVyIG9iZW4KICAgYmVyZWl0cyBnZWJyYWNodC4gRWluZSBzb2xjaGUgRGVmaW5pdGlvbiBiZXN0ZWh0IGF1cyBlaW5lbSBCbG9jaywKICAgZGVzc2VuIE5hbWUgc2ljaCBhdXMgZGVtIFNjaGz8c3NlbHdvcnQgRHJpdmUgdW5kIGRlbSBCdWNoc3RhYmVuIGRlcwogICBMYXVmd2Vya3MgenVzYW1tZW5zZXR6dCwgZvxyIGRhcyBkaWUgRGVmaW5pdGlvbiBnZWx0ZW4gc29sbC4gRWluCiAgIEJlaXNwaWVsIHfkcmUgYWxzbyBbRHJpdmUgQ10uIERhcmF1ZiBmb2xnZW4gdmVyc2NoaWVkZW5lIFZhcmlhYmxlbiwKICAgbWl0IGRlbmVuIGRpZSBFaWdlbnNjaGFmdGVuIGRlcyBMYXVmd2Vya2VzIGZlc3RnZWxlZ3Qgd2VyZGVuLiBEaWUKICAgd2ljaHRpZ3N0ZSBkaWVzZXIgVmFyaWFibGVuIGlzdCBQYXRoLiBIaWVybWl0IHdpcmQgYmVzdGltbXQsCiAgIHdlbGNoZW0gVU5JWC1WZXJ6ZWljaG5pcyBkYXMgTGF1ZndlcmsgZW50c3ByZWNoZW4gc29sbCAoQmVpc3BpZWxlOgogICAiUGF0aCIgPSAiL2hvbWUva2FybCIsICJQYXRoIiA9ICIke0hPTUV9IikuIERpZSB3ZWl0ZXJlbiBWYXJpYWJsZW4KICAgaGFiZW4gZGllIGZvbGdlbmRlIEJlZGV1dHVuZzoKICAgCiAgIFR5cGUKICAgICAgICAgIFdpbmRvd3Mga2FubiBBbndlbmR1bmdlbiBtaXR0ZWlsZW4sIHZvbiB3ZWxjaGVtIFR5cAogICAgICAgICAgKEZlc3RwbGF0dGUsIENEUk9NIHVzdy4pIGVpbiBiZXN0aW1tdGVyIERhdGVudHLkZ2VyIGlzdC4gTWl0CiAgICAgICAgICBkaWVzZXIgVmFyaWFibGVuIHdpcmQgV0lORSBtaXRnZXRlaWx0LCB3ZWxjaGVuIFR5cCBkYXMKICAgICAgICAgIGVudHNwcmVjaGVuZGUgTGF1ZndlcmsgaGFiZW4gc29sbC4gTfZnbGljaGUgV2VydGUgc2luZAogICAgICAgICAgZmxvcHB5IChEaXNrZXR0ZW5sYXVmd2VyayksIGhkIChGZXN0cGxhdHRlbnBhcnRpdGlvbiksIGNkcm9tCiAgICAgICAgICAoQ0RST00tTGF1ZndlcmspIHVuZCBuZXR3b3JrIChOZXR6d2Vya2xhdWZ3ZXJrKS4gSW0KICAgICAgICAgIGFsbGdlbWVpbmVuIGVtcGZpZWhsdCBlcyBzaWNoLCBoaWVyIGRlbiBUeXAgYW56dWdlYmVuLCBkZXIKICAgICAgICAgIGRlbSBVTklYLVZlcnplaWNobmlzLCB3ZWxjaGVzIGRlbSBMYXVmd2VyayB6dWdlb3JkbmV0IGlzdCwKICAgICAgICAgIGVudHNwcmljaHQuIEJlaXNwaWVsOiAiVHlwZSIgPSAiZmxvcHB5Ii4KICAgICAgICAgIAogICBMYWJlbAogICAgICAgICAgVW50ZXIgRE9TIHVuZCBXaW5kb3dzIGv2bm5lbiBMYXVmd2Vya2UgZWluZSBzbyBnZW5hbm50ZQogICAgICAgICAgRGF0ZW50cuRnZXJiZXplaWNobnVuZyBoYWJlbi4gRGllc2UgQmV6ZWljaG51bmcga2FubiB2b24KICAgICAgICAgIFdpbmRvd3MtQW53ZW5kdW5nZW4gYWJnZWZyYWd0IHdlcmRlbi4gTWl0IGRpZXNlciBWYXJpYWJsZQogICAgICAgICAga2FubiBhbmdlZ2ViZW4gd2VyZGVuLCB3ZWxjaGVuIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgV0lORQogICAgICAgICAgenVy/GNrbGllZmVybiBzb2xsLCBmYWxscyBlaW5lIEFud2VuZHVuZyBkaWVzZSBm/HIgZGFzCiAgICAgICAgICBMYXVmd2VyayBhYmZyYWd0LiBEaWUgRGF0ZW50cuRnZXJiZXplaWNobnVuZyBkYXJmIGF1cyBuaWNodAogICAgICAgICAgbWVociBhbHMgMTEgQnVjaHN0YWJlbiBiZXN0ZWhlbi4gQmVpc3BpZWw6ICJMYWJlbCIgPSAiUGxhdHRlMSIuCiAgICAgICAgICAKICAgU2VyaWFsCiAgICAgICAgICBKZWRlcyBMYXVmd2VyayBoYXQgdW50ZXIgV2luZG93cyBlaW5lIHNvIGdlbmFubnRlCiAgICAgICAgICBTZXJpZW5udW1tZXIsIGRpZSBlYmVuZmFsbHMgdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbiBhYmdlZnJhZ3QKICAgICAgICAgIHdlcmRlbiBrYW5uLiBNaXQgZGllc2VyIFZhcmlhYmxlbiBs5HNzdCBzaWNoIGluIEZvcm0gZWluZQogICAgICAgICAgYWNodC1zdGVsbGlnZW4gaGV4YWRlemltYWxlbiBaYWhsIGFuZ2ViZW4sIHdlbGNoZQogICAgICAgICAgU2VyaWVubnVtbWVyIGluIHNvbGNoZW4gRuRsbGVuIHp1cvxja2dlbGllZmVydCB3ZXJkZW4KICAgICAgICAgIHNvbGwuIEJlaXNwaWVsOiAiU2VyaWFsIiA9ICIyM2Y3OGE2YiIuCiAgICAgICAgICAKICAgRmlsZXN5c3RlbQogICAgICAgICAgSGllcm1pdCB3aXJkIGJlc3RpbW10LCB3ZWxjaGUgRWlnZW5zY2hhZnRlbiBkYXMgZW11bGllcnRlCiAgICAgICAgICBEYXRlaXN5c3RlbSBhdWYgZGVtIGJldHJlZmZlbmRlbiBMYXVmd2VyayBoYWJlbiBzb2xsLiBFcwogICAgICAgICAgc2luZCBkaWUgZm9sZ2VuZGVuIFdlcnRlIG32Z2xpY2g6CiAgICAgICAgICAKICAgICAgICBtc2RvcwogICAgICAgICAgICAgICAgQXVmIGRlbSBMYXVmd2VyayBzaW5kIG51ciBEYXRlaW5hbWVuIG1pdCBlaW5lciBM5G5nZQogICAgICAgICAgICAgICAgdm9uIGFjaHQgWmVpY2hlbiB1bmQgZWluZXIgRXJ3ZWl0ZXJ1bmcsIGRpZSBhdXMgZHJlaQogICAgICAgICAgICAgICAgWmVpY2hlbiBiZXN0ZWh0LCB6dWdlbGFzc2VuLiBVbnRlcnNjaGllZGUgaW4gR3Jv3y0gdW5kCiAgICAgICAgICAgICAgICBLbGVpbnNjaHJlaWJ1bmcgd2VyZGVuIG5pY2h0CiAgICAgICAgICAgICAgICBiZXL8Y2tzaWNodGlndC4gQWx0ZXJuYXRpdiBm/HIgbXNkb3Mga/ZubmVuIGRpZQogICAgICAgICAgICAgICAgQmV6ZWljaG51bmdlbiBkb3Mgb2RlciBmYXQgZvxyIGRpZXNlbiBEYXRlaXN5c3RlbXR5cAogICAgICAgICAgICAgICAgYmVudXR6dCB3ZXJkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICB3aW45NQogICAgICAgICAgICAgICAgQXVmIGRlbSBMYXVmd2VyayBzaW5kIGxhbmdlIERhdGVpbmFtZW4genVnZWxhc3Nlbi4gRE9TCiAgICAgICAgICAgICAgICB1bmQgMTZiaXQtV2luZG93c3Byb2dyYW1tZSBr9m5uZW4gamVkb2NoIHdlaXRlcmhpbgogICAgICAgICAgICAgICAga3VyemUgRGF0ZWluYW1lbiBiZW51dHplbi4gVW50ZXJzY2hpZWRlIGluIEdyb98tIHVuZAogICAgICAgICAgICAgICAgS2xlaW5zY2hyZWlidW5nIHdlcmRlbiBuaWNodCBiZXL8Y2tzaWNodGlndC4gRGllcyBpc3QKICAgICAgICAgICAgICAgIGRpZSBlbXBmb2hsZW5lbiBFaW5zdGVsbHVuZyBm/HIgZmFzdCBhbGxlIEFud2VuZHVuZ2VuLgogICAgICAgICAgICAgICAgQWx0ZXJuYXRpdiBm/HIgd2luOTUga2FubiBkaWVzZXIgRGF0ZWlzeXN0ZW10eXAgYXVjaAogICAgICAgICAgICAgICAgYWxzIHZmYXQgYmV6ZWljaG5ldCB3ZXJkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICB1bml4CiAgICAgICAgICAgICAgICBEYXMgRGF0ZWlzeXN0ZW0gYXVmIGRlbSBMYXVmd2VyayB2ZXJo5Gx0IHNpY2gg5GhubGljaAogICAgICAgICAgICAgICAgd2llIGVpbiB0eXBpc2NoZXMgVU5JWC1EYXRlaXN5c3RlbSwgZC5oLiBEYXRlaW5hbWVuCiAgICAgICAgICAgICAgICBr9m5uZW4gZGllIG5vcm1hbGVyd2Vpc2UgZXJsYXVidGUgTORuZ2UgaGFiZW4gdW5kIGRpZQogICAgICAgICAgICAgICAgR3Jv3y0gdW5kIEtsZWluc2NocmVpYnVuZyBpc3QgYmVkZXV0c2FtLiBNaXQgZGllc2VyCiAgICAgICAgICAgICAgICBFaW5zdGVsbHVuZyBrb21tZW4gZGllIG1laXN0ZW4gV2luZG93cy1Qcm9ncmFtbWUgbmljaHQKICAgICAgICAgICAgICAgIHp1cmVjaHQuICBQcm9ibGVtZSB0cmV0ZW4gYmVpc3BpZWxzd2Vpc2UgZGFubiBhdWYsCiAgICAgICAgICAgICAgICB3ZW5uIGVpbiBXaW5kb3dzLVByb2dyYW1tIGVpbmUgRGF0ZWkgenVu5GNoc3QgdW50ZXIKICAgICAgICAgICAgICAgIGRlbSBOYW1lbiBEYXRlbiBzcGVpY2hlcnQgdW5kIGRhbm4gdW50ZXIgZGVtIE5hbWVuCiAgICAgICAgICAgICAgICBEQVRFTiB3aWVkZXIg9mZmbmVuIHdpbGwuCiAgICAgICAgICAgICAgICAKICAgICAgICAgIEFjaHR1bmc6IAoJICBFcyBpc3QgenUgYmVhY2h0ZW4sIGRhc3MgbWl0IGRpZXNlciBFaW5zdGVsbHVuZyBuaWNodAoJICBhbmdlZ2ViZW4gd2lyZCwgd2VsY2hlIEVpZ2Vuc2NoYWZ0ZW4gZGFzIHp1Z3J1bmRlIGxpZWdlbmRlCgkgIFVOSVgtRGF0ZWlzeXN0ZW0gaGF0LCBzb25kZXJuIHdlbGNoZSBFaWdlbnNjaGFmdGVuIHZvbiBXSU5FCgkgIGb8ciBkYXMgZW50c3ByZWNoZW5kZSBMYXVmd2VyayBlbXVsaWVydCB3ZXJkZW4gc29sbGVuLiBFcwoJICBpc3QgYWxzbyBkdXJjaCBhdXMgbfZnbGljaCAodW5kIGluIGRlbiBtZWlzdGVuIEbkbGxlbgoJICBlcmZvcmRlcmxpY2gpIGb8ciBlaW4gTGF1ZndlcmssIGRhcyBzaWNoIGF1ZiBlaW5lbQoJICBVTklYLURhdGVpc3lzdGVtIGJlZmluZGV0LCBkaWUgRWluc3RlbGx1bmcgd2luOTUgenUKCSAgdmVyd2VuZGVuLiBGYWxscyBlcyBzaWNoIGJlaSBkZW0gRGF0ZW50cuRnZXIsIGF1ZiBkZW0gc2ljaAoJICBkYXMgZGVtIExhdWZ3ZXJrIHp1Z2VvcmRuZXRlIFZlcnplaWNobmlzIGJlZmluZGV0LAoJICBhbGxlcmRpbmdzIHVtIGVpbiBGQVQtRGF0ZWlzeXN0ZW0gaGFuZGVsdCwgd2VsY2hlcyBtaXQgZGVtCgkgIEZBVC1UcmVpYmVyIHZvbiBMaW51eCAodW5kIG5pY2h0LCB3aWUg/GJsaWNoLCBtaXQgZGVtCgkgIFZGQVQtVHJlaWJlcikgYmV0cmllYmVuIHdpcmQsIGRhbm4gbXVzcyBoaWVyIGRlcgoJICBEYXRlaXN5c3RlbXR5cCBtc2RvcyBiZW51dHp0IHdlcmRlbiwgd2VpbCBlcyBzb25zdCBwYXNzaWVyZW4KCSAga/ZubnRlLCBkYXNzIFdJTkUgdmVyc3VjaHQsIGF1ZiBkZW0gYmV0cmVmZmVuZGVuIERhdGVudHLkZ2VyCgkgIERhdGVpZW4gbWl0IGxhbmdlbiBOYW1lbiBhbnp1bGVnZW4sIHdhcyBkYW5uIHp1IGVpbmVtIEZlaGxlcgoJICBm/GhyZW4gd/xyZGUuIEJlaXNwaWVsOiAiRmlsZXN5c3RlbSIgPSAid2luOTUiLgogICAgICAgICAgCiAgIERldmljZQogICAgICAgICAgSW4gYmVzb25kZXJlbiBG5GxsZW4gaXN0IGVzIG5vdHdlbmRpZywgZGFzcyBkaWUKICAgICAgICAgIFdpbmRvd3MtUHJvZ3JhbW1lIGRpcmVrdCwgYWxzbyB1bnRlciBVbWdlaHVuZyBkZXMKICAgICAgICAgIERhdGVpc3lzdGVtcywgYXVmIGRlbiBEYXRlbnRy5GdlciBzY2hyZWliZW4gb2RlciB2b24gaWhtCiAgICAgICAgICBsZXNlbi4gRGFtaXQgZGllcyBhdWNoIG1pdCBXSU5FIG32Z2xpY2ggaXN0LCBrYW5uIGhpZXIgZGVyCiAgICAgICAgICBOYW1lIGRlciBHZXLkdGVkYXRlaSBhbmdlZ2ViZW4gd2VyZGVuLCB3ZWxjaGVyIGRlbgogICAgICAgICAgRGF0ZW50cuRnZXIgdW50ZXIgTGludXggcmVwcuRzZW50aWVydC4gRGllcyBpc3QgbnVyIGRhbm4KICAgICAgICAgIHNpbm52b2xsLCB3ZW5uIGRhcyBkZW0gYmV0cmVmZmVuZGVuIExhdWZ3ZXJrIHp1Z2VvcmRuZXRlCiAgICAgICAgICBWZXJ6ZWljaG5pcyBkZW0gTW91bnRwdW5rdCBkZXMgaGllciBhbmdlZ2ViZW5lbiBEYXRlbnRy5GdlcnMKICAgICAgICAgIGVudHNwcmljaHQuIERlciBkaXJla3RlIEdlcuR0ZXp1Z3JpZmYgc29sbHRlIG5vcm1hbGVyd2Vpc2UKICAgICAgICAgIG51ciBm/HIgc29sY2hlIERhdGVudHLkZ2VyIGdlc3RhdHRldCB3ZXJkZW4sIGRlcmVuIEluaGFsdAogICAgICAgICAgbmljaHQgYmVzb25kZXJzIGdlc2No/HR6dCB3ZXJkZW4gbXVzcyAodS5VLiBEaXNrZXR0ZW4pIG9kZXIKICAgICAgICAgIHZvbiBkZW5lbiBvaG5laGluIG51ciBnZWxlc2VuIHdlcmRlbiBrYW5uCiAgICAgICAgICAoei5CLiBDRFJPTXMpLiBEYW1pdCBhdWYgZGVuIERhdGVudHLkZ2VyIGdlc2NocmllYmVuIHdlcmRlbgogICAgICAgICAga2FubiwgaXN0IGVzIHp1c+R0emxpY2ggbmF0/HJsaWNoIG5vdHdlbmRpZywgZGFzcyBkaWUgUmVjaHRlCiAgICAgICAgICBhbiBkZXIgYmV0cmVmZmVuZGVuIEdlcuR0ZWRhdGVpIGF1c3JlaWNoZW5kIHNpbmQuICBCZWlzcGllbDoKICAgICAgICAgICJEZXZpY2UiID0gIi9kZXYvZmQwIi4KICAgICAgICAgIAogICBGYWlsUmVhZE9ubHkKCiAgICAgICAgICBFaW5lIFJlaWhlIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4g9mZmbmVuIERhdGVpZW4gcHJpbnppcGllbGwKICAgICAgICAgIHp1bSBMZXNlbiB1bmQgU2NocmVpYmVuLCBhdWNoIHdlbm4gYXVzIGRlbiBiZXRyZWZmZW5kZW4KICAgICAgICAgIERhdGVpZW4gbGVkaWdsaWNoIGdlbGVzZW4gd2VyZGVuIHNvbGwuIERpZXNlcyBWZXJoYWx0ZW4KICAgICAgICAgIGb8aHJ0IG5vcm1hbGVyd2Vpc2UgZGF6dSwgZGFzcyBEYXRlaWVuLCBpbiBkaWUgdm9uIFdJTkUKICAgICAgICAgIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiBkYXJmIG9kZXIgZGllIHNpY2ggYXVmIERhdGVudHLkZ2VybgogICAgICAgICAgYmVmaW5kZW4sIGF1ZiBkaWUgbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuIGthbm4gKGV0d2EKICAgICAgICAgIENEUk9NcyksIG5pY2h0IGdl9mZmbmV0IHdlcmRlbiBr9m5uZW4uIEF1cyBkaWVzZW0gR3J1bmQKICAgICAgICAgIPZmZm5ldCBXSU5FIERhdGVpZW4gc3RhbmRhcmRt5N9pZyB6dW0gTGVzZW4sIGZhbGxzIGVpbmUKICAgICAgICAgIERhdGVpIG5pY2h0IHp1bSBMZXNlbiB1bmQgenVtIFNjaHJlaWJlbiBnZfZmZm5ldCB3ZXJkZW4KICAgICAgICAgIGtvbm50ZS4gV2VubiBkaWUgVmFyaWFibGUgRmFpbFJlYWRPbmx5IGF1ZiBkZW4gV2VydCB0cnVlCiAgICAgICAgICBnZXNldHp0IHdpcmQsIHZlcmjkbHQgc2ljaCBXSU5FIHNvIHdpZSB1bnRlciBVTklYIPxibGljaCB1bmQKICAgICAgICAgIGxpZWZlcnQgZWluZSBGZWhsZXJtZWxkdW5nIGFuIGRhcyBXaW5kb3dzLVByb2dyYW1tLCBmYWxscwogICAgICAgICAgZWluZSBEYXRlaSBuaWNodCB6dW0gU2NocmVpYmVuIGdl9mZmbmV0IHdlcmRlbiBrYW5uLiBJbiBkZXIKICAgICAgICAgIFJlZ2VsIGVtcGZpZWhsdCBlcyBzaWNoLCBoaWVyIGRpZSBTdGFuZGFyZGVpbnN0ZWxsdW5nIHp1CiAgICAgICAgICD8YmVybmVobWVuLiAgQmVpc3BpZWw6ICJGYWlsUmVhZE9ubHkiID0gInRydWUiLgogICAgICAgICAgCiAgIFJlYWRWb2xJbmZvCiAgICAgICAgICBXZW5uIGRlciBXZXJ0IGRpZXNlciBWYXJpYWJsZW4gYXVmIHRydWUgZ2VzZXR6dCBpc3QsCiAgICAgICAgICB2ZXJzdWNodCBXSU5FLCBkaWUgU2VyaWVubnVtbWVyIHVuZCBkaWUKICAgICAgICAgIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgZGVzIGJldHJlZmZlbmRlbiBMYXVmd2Vya3MgZGlyZWt0IHZvbgogICAgICAgICAgZGVtIERhdGVudHLkZ2VyIHp1IGxlc2VuLiAgRGF6dSBtdXNzIGRlbSBMYXVmd2VyayBlaW5lCiAgICAgICAgICBHZXLkdGVkYXRlaSB6dWdlb3JkbmV0IHNlaW4gKFZhcmlhYmxlIGRldmljZSkuIERpZXNlCiAgICAgICAgICBFaW5zdGVsbHVuZyBpc3Qgdm9yIGFsbGVtIGb8ciBzb2xjaGUgUHJvZ3JhbW1lIHNpbm52b2xsLCBkaWUKICAgICAgICAgIG51ciBkYW5uIGZ1bmt0aW9uaWVyZW4sIHdlbm4gc2ljaCBiZWlzcGllbHN3ZWlzZSBkaWUKICAgICAgICAgIHJpY2h0aWdlIENEUk9NIGltIExhdWZ3ZXJrIGJlZmluZGV0IHVuZCBkaWUgZGllcyBhbmhhbmQgZGVyCiAgICAgICAgICBTZXJpZW5udW1tZXIgb2RlciBkZXIgRGF0ZW50cuRnZXJiZXplaWNobnVuZwogICAgICAgICAgZmVzdHN0ZWxsZW4uIEJlaXNwaWVsOiAiUmVhZFZvbEluZm8iID0gInRydWUiCiAgICAgICAgICAKICA3LjMgQWxsZ2VtZWluZSBFaW5zdGVsbHVuZ2VuCiAgCiAgIEltIEFic2Nobml0dCBbd2luZV0gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgd2VyZGVuIGRpZSB3aWNodGlnc3RlbgogICBhbGxnZW1laW5lbiBFaW5zdGVsbHVuZ2VuIHZvcmdlbm9tbWVuLiBJbSB3ZXNlbnRsaWNoZW4gaGFuZGVsdCBlcwogICBzaWNoIGRhYmVpIHVtIFZlcnplaWNobmlzYW5nYWJlbi4gRXMgaXN0IHp1IGJlYWNodGVuLCBkYXNzIGRpZXNlCiAgIFZlcnplaWNobmlzYW5nYWJlbiBpbiBkZXIgdW50ZXIgRE9TIHVuZCBXaW5kb3dzIPxibGljaGVuIFdlaXNlIHp1CiAgIGVyZm9sZ2VuIGhhYmVuLiBELmguLCBqZWRlbSBWZXJ6ZWljaG5pcyBtdXNzIGVpbiBMYXVmd2Vya3NidWNoc3RhYmUKICAgdm9yYW5nZXN0ZWxsdCB3ZXJkZW4uIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gdW5kIFZlcnplaWNobmlzIHdlcmRlbgogICBkdXJjaCBlaW5lbiBEb3BwZWxwdW5rdCB2b25laW5hbmRlciBnZXRyZW5udCwgYXXfZXJkZW0gd2VyZGVuCiAgIGVpbnplbG5lIFZlcnplaWNobmlzc2UgbmljaHQgZHVyY2ggZWluZW4gbm9ybWFsZW4gU2NocuRnc3RyaWNoLAogICBzb25kZXJuIGR1cmNoIGVpbmVuIHVtZ2VrZWhydGVuIFNjaHLkZ3N0cmljaCAoQmFja3NsYXNoKQogICB2b25laW5hbmRlciBzZXBhcmllcnQuIERpZSBBbmdhYmVuIHdlcmRlbiBkdXJjaCBkaWUgaW0gdm9yaGVyaWdlbgogICBBYnNjaG5pdHQgYmVzY2hyaWViZW5lbiBadW9yZG51bmdlbiB2b24gTGF1ZndlcmtzYnVjaHN0YWJlbiBpbgogICBVTklYLURhdGVpbmFtZW4g/GJlcnNldHp0LgogICAKICAgV2luZG93cwogICAgICAgICAgVW50ZXIgV2luZG93cyBzcGllbHQgZGFzIFdpbmRvd3MtVmVyemVpY2huaXMgZWluZSBiZXNvbmRlcmUKICAgICAgICAgIFJvbGxlLiBQcm9ncmFtbWUgbGVnZW4gaGllciBvZnQgSW5pdGlhbGlzaWVydW5nc2RhdGVpZW4gYWIKICAgICAgICAgIHVuZCBJbnN0YWxsYXRpb25zcHJvZ3JhbW1lIGtvcGllcmVuIGdlbGVnZW50bGljaAogICAgICAgICAgdmVyc2NoaWVkZW5lIERhdGVpZW4gaW4gZGllc2VzIFZlcnplaWNobmlzLiBNaXQgZGVyCiAgICAgICAgICBWYXJpYWJsZW4gV2luZG93cyB3aXJkIGVpbmdlc3RlbGx0LCB3ZWxjaGVzIFZlcnplaWNobmlzIHZvbgogICAgICAgICAgZGVuIHVudGVyIFdJTkUgYXVzZ2Vm/GhydGVuIFByb2dyYW1tZW4gYWxzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzIGJlaGFuZGVsdCB3ZXJkZW4gc29sbC4gRGFzIGhpZXIKICAgICAgICAgIGFuZ2VnZWJlbmUgVmVyemVpY2huaXMgbXVzcyBleGlzdGllcmVuLCBiZXZvciBXSU5FIGRhcyBlcnN0ZQogICAgICAgICAgTWFsIGdlc3RhcnRldCB3aXJkLiBXZW5uIFdJTkUgZWluZSBiZXN0ZWhlbmRlCiAgICAgICAgICBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4gc29sbCwgbXVzcyBoaWVyIGRhcwogICAgICAgICAgVmVyemVpY2huaXMgYW5nZWdlYmVuIHdlcmRlbiwgaW4gZGVtIHNpY2ggZGllIEluc3RhbGxhdGlvbgogICAgICAgICAgYmVmaW5kZXQuIAoKICAgICAgICAgIEZhbGxzIFdJTkUgbWl0IGVpbmVyIGV4aXN0aWVyZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24KICAgICAgICAgIHZlcndlbmRldCB3ZXJkZW4gc29sbCB1bmQgZGllc2UgSW5zdGFsbGF0aW9uIHNpY2ggYXVmIGRlcgogICAgICAgICAgRmVzdHBsYXR0ZW5wYXJ0aXRpb24gYmVmaW5kZXQsIGRpZSB1bnRlciBXaW5kb3dzIGRlbgogICAgICAgICAgTGF1ZndlcmtzYnVjaHN0YWJlbiBDOiB0cuRndCB1bmQgdW50ZXIgTGludXggZHVyY2ggZGllCiAgICAgICAgICBHZXLkdGVkYXRlaSAvZGV2L2hkYTEgcmVwcuRzZW50aWVydCB3aXJkLCBzbyBr9m5udGUgZGllc2UKICAgICAgICAgIFBhcnRpdGlvbiBiZWlzcGllbHN3ZWlzZSB1bnRlciBMaW51eCBiZWlzcGllbHN3ZWlzZSBpbiBkYXMKICAgICAgICAgIFZlcnplaWNobmlzIC9XaW5kb3dzIGVpbmdlYnVuZGVuIHdlcmRlbi4gRGllc2VtIFZlcnplaWNobmlzCiAgICAgICAgICB35HJlIGRhbm4gaW0gQWJzY2huaXR0LCB3ZWxjaGVyIGRpZQogICAgICAgICAgTGF1ZndlcmtzYnVjaHN0YWJlbmtvbmZpZ3VyYXRpb24gZW50aORsdCBkZXIKICAgICAgICAgIExhdWZ3ZXJrc2J1Y2hzdGFiZSBDOiB6dXp1b3JkbmVuOgogCiAgICAgICAgICBbRHJpdmUgQ10gCiAgICAgICAgICAiUGF0aCIgPSAiL1dpbmRvd3MiCiAgICAgICAgICAiVHlwZSIgPSAiaGQiCiAgICAgICAgICAiTGFiZWwiID0gIndpbmRvd3MiCiAgICAgICAgICAiRmlsZXN5c3RlbSIgPSAid2luOTUiCgogICAgICAgICAgV2VubiB3ZWl0ZXIgZGVyIE5hbWUgZGVzIFdpbmRvd3MtVmVyemVpY2huaXNzZXMgZGllc2VyCiAgICAgICAgICBJbnN0YWxsYXRpb24gd2luZG93cyBsYXV0ZXQgKHVudGVyIFdpbmRvd3MgYWxzbyBDOlx3aW5kb3dzCiAgICAgICAgICB1bmQgdW50ZXIgTGludXggL1dpbmRvd3Mvd2luZG93cyksIHNvIHfkcmUgaW0gQWJzY2huaXR0CiAgICAgICAgICBbd2luZV0gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZm9sZ2VuZGUgQW5nYWJlIHZvcnp1bmVobWVuOgogICAgCiAgICAgICAgICAiV2luZG93cyIgPSAiQzpcXFdpbmRvd3MiCgogICAgICAgICAgU29sbCBXSU5FIGplZG9jaCBvaG5lIGV4aXN0aWVyZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbgogICAgICAgICAgYmVudXR6dCB3ZXJkZW4sIHNvIGthbm4gZWluIGJlbGllYmlnZXMgVmVyemVpY2huaXMgYWxzCiAgICAgICAgICBXdXJ6ZWx2ZXJ6ZWljaG5pcyBm/HIgZGFzIExhdWZ3ZXJrIGRpZW5lbiwgd2VsY2hlcyBkYXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXMgYmVpbmhhbHRldCwgYmVpc3BpZWxzd2Vpc2Uga/ZubnRlCiAgICAgICAgICBoaWVyZvxyIGRhcyBWZXJ6ZWljaG5pcyAvV2luZG93cyBhbmdlbGVndCB3ZXJkZW4uIEluIGRpZXNlbQogICAgICAgICAgVmVyemVpY2huaXMgbfxzc3RlIG51biBkYXMgV2luZG93cy1WZXJ6ZWljaG5pcyBlcnpldWd0CiAgICAgICAgICB3ZXJkZW4sIHdlbGNoZXMgZGFyYXVmaGluIHdpZSBvYmVuIGJlc2NocmllYmVuIGltIEFic2Nobml0dAogICAgICAgICAgW3dpbmVdIGFscyBXaW5kb3dzLVZlcnplaWNobmlzIGRla2xhcmllcnQgd2VyZGVuIG38c3N0ZS4KICAgICAgICAgIAogICBTeXN0ZW0KICAgICAgICAgIERhcyBTeXN0ZW0tVmVyemVpY2huaXMgaGF0IGVpbmUg5GhubGljaGUgQmVkZXV0dW5nIHdpZSBkYXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXMuIFVudGVyIFdpbmRvd3MgYmVmaW5kZW4gc2ljaCBpbiBkaWVzZW0KICAgICAgICAgIFZlcnplaWNobmlzIGltIHdlc2VudGxpY2hlbiBkaWUgUHJvZ3JhbW1iaWJsaW90aGVrZW4sIGVzIGlzdAogICAgICAgICAgbm9ybWFsZXJ3ZWlzZSBlaW4gVW50ZXJ2ZXJ6ZWljaG5pcyBkZXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXNzZXMuICBEaWVzZXMgVmVyemVpY2huaXMgbXVzcyBlYmVuZmFsbHMKICAgICAgICAgIGV4aXN0aWVyZW4sIGJldm9yIFdJTkUgZGFzIGVyc3RlIE1hbCBnZXN0YXJ0ZXQgd2lyZC4gQXVjaAogICAgICAgICAgaGllciBtdXNzIGRhcyBTeXN0ZW0tVmVyemVpY2huaXMgZGVyIGJlc3RlaGVuZGVuCiAgICAgICAgICBXaW5kb3dzLUluc3RhbGxhdGlvbiBhbmdlZ2ViZW4gd2VyZGVuLCBmYWxscyBlaW5lIHNvbGNoZQogICAgICAgICAgYmVudXR6dCB3ZXJkZW4gc29sbC4gVW50ZXIgV2luZG93cyA5NS85OCB0cuRndCBkaWVzZXMKICAgICAgICAgIFZlcnplaWNobmlzIG5vcm1hbGVyd2Vpc2UgZGVuIE5hbWVuIHN5c3RlbSB1bmQgdW50ZXIgV2luZG93cwogICAgICAgICAgTlQgZGVuIE5hbWVuIHN5c3RlbTMyLiBCZWlzcGllbDogIlN5c3RlbSIgPSAiQzpcXFdpbmRvd3NcXFN5c3RlbSIuCiAgICAgICAgICAKICAgVGVtcAogICAgICAgICAgRGFzIFRlbXAtVmVyemVpY2huaXMgd2lyZCB2b24gdmllbGVuIFdpbmRvd3MtUHJvZ3JhbW1lbiBkYXp1CiAgICAgICAgICBiZW51dHp0LCB0ZW1wb3LkcmUgRGF0ZWllbiBhYnp1bGVnZW4uIERhbWl0IGRpZXMgZ2VsaW5ndCwKICAgICAgICAgIG11c3MgaGllciBlaW4gVmVyemVpY2huaXMgYW5nZWdlYmVuIHdlcmRlbiwgd2VsY2hlcyBzaWNoIGF1ZgogICAgICAgICAgZWluZW0gTGF1ZndlcmsgYmVmaW5kZXQsIGRhcyBlaW5lbSBVTklYLVZlcnplaWNobmlzCiAgICAgICAgICBlbnRzcHJpY2h0LCBpbiBkZW0gU2NocmVpYmJlcmVjaHRpZ3VuZyBiZXN0ZWh0LiBCZWlzcGllbDoKICAgICAgICAgICJUZW1wIiA9ICJEOlxcdG1wIi4KICAgICAgICAgIAogICBQYXRoCiAgICAgICAgICBEaWVzZSBWYXJpYWJsZSBoYXQgZGllIGdsZWljaGUgQmVkZXV0dW5nIHdpZSBkaWUKICAgICAgICAgIFVtZ2VidW5nc3ZhcmlhYmxlIFBBVEggdW50ZXIgVU5JWC4gSWhyIFdlcnQgYmVzdGVodCBhdXMKICAgICAgICAgIGVpbmVyIEtldHRlIGVpbnplbG5lciBWZXJ6ZWljaG5pc25hbWVuLCBkaWUgbmFjaCBlaW5lbQogICAgICAgICAgYXVzenVm/GhyZW5kZW4gUHJvZ3JhbW0gZHVyY2hzdWNodCB3aXJkLCB3ZW5uIGRlciBOYW1lIGVpbmVzCiAgICAgICAgICBzb2xjaGVuIFByb2dyYW1tcyBuaWNodCBtaXQgVmVyemVpY2huaXNuYW1lbiBhbmdlZ2ViZW4KICAgICAgICAgIHd1cmRlLiBFcyBpc3QgenUgYmVhY2h0ZW4sIGRhc3MgZGllIGVpbnplbG5lbiBFbGVtZW50ZSBkaWVzZQogICAgICAgICAgVmFyaWFibGUgdW50ZXIgV2luZG93cyBuaWNodCBkdXJjaCBlaW5lbiBEb3BwZWxwdW5rdCBzb25kZXJuCiAgICAgICAgICBkdXJjaCBlaW4gU2VtaWtvbG9uIHZvbmVpbmFuZGVyIGdldHJlbm50IHdlcmRlbiwgYXXfZXJkZW0KICAgICAgICAgIGVyd2FydGVuIHZpZWxlIFdpbmRvd3MtUHJvZ3JhbW1lLCBkYXNzIGRhcyBXaW5kb3dzLSB1bmQgZGFzCiAgICAgICAgICBTeXN0ZW0tVmVyemVpY2huaXMgaW4gZGllc2VyIFZhcmlhYmxlbiBlbnRoYWx0ZW4KICAgICAgICAgIHNpbmQuIEJlaXNwaWVsOgogICAgICAgICAgIlBhdGgiID0gIkM6XFxXaW5kb3dzO0M6XFxXaW5kb3dzXFxTeXN0ZW07RDpcXFdpbnN0dWZmIi4KICAgICAgICAgIAogICBQcm9maWxlCiAgICAgICAgICBEaWVzZSBWYXJpYWJsZSB3aXJkIHZvbiBXSU5FIGJlbnV0enQsIHVtIGRlbgogICAgICAgICAgYmVudXR6ZXJzcGV6aWZpc2NoZW4gVGVpbCBkZXIgU3lzdGVtcmVnaXN0cmF0dXIgZWluZXIKICAgICAgICAgIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHp1IGxhZGVuLiBGYWxscyBlcyBzaWNoIGJlaQogICAgICAgICAgZGVyIGJlc3RlaGVuZGVuIEluc3RhbGxhdGlvbiB1bSBXaW5kb3dzIDk1Lzk4IGhhbmRlbHQsIGRhcwogICAgICAgICAgbmljaHQgbWl0IG1laHJlcmVuIEJlbnV0emVybiBiZXRyaWViZW4gd2lyZCBvZGVyIG9obmUgZWluZQogICAgICAgICAgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiBnZWFyYmVpdGV0IHdlcmRlbiBzb2xsLAogICAgICAgICAgYnJhdWNodCBkaWUgVmFyaWFibGUgUHJvZmlsZSBuaWNodCBnZXNldHp0IHp1IHdlcmRlbi4gV2VubgogICAgICAgICAgamVkb2NoIGVpbmUgV2luZG93cyBOVC0gb2RlciBlaW5lIFdpbmRvd3MgOTUvOTgtSW5zdGFsbGF0aW9uCiAgICAgICAgICBtaXQgbWVocmVyZW4gQmVudXR6ZXJuIGVpbmdlc2V0enQgd2lyZCwgbXVzcyBoaWVyIGFuZ2VnZWJlbgogICAgICAgICAgd2VyZGVuLCBhdXMgd2VsY2hlbSBWZXJ6ZWljaG5pcyBXSU5FIGRpZSBiZW51dHplcnNwZXppZmlzY2hlCiAgICAgICAgICBSZWdpc3RyYXRpb25zZGF0ZW4gbGFkZW4gc29sbC4gRGllc2UgVmVyemVpY2huaXNzZSBiZWZpbmRlbgogICAgICAgICAgc2ljaCBub3JtYWxlcndlaXNlIGltIFVudGVydmVyemVpY2huaXMgUHJvZmlsZXMgZGVzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzIHVuZCB0cmFnZW4gZGVuIE5hbWVuIGRlcyBCZW51dHplcnMsCiAgICAgICAgICBkZXNzZW4gS29uZmlndXJhdGlvbnNkYXRlbiBzaWUgYmVoZXJiZXJnZW4uIEJlaXNwaWVsOgogICAgICAgICAgIlByb2ZpbGUiID0gIkM6XFxXaW5kb3dzXFxQcm9maWxlc1xcUGV0ZXIiLgogICAgICAgICAgCiAgIEdyYXBoaWNzRHJpdmVyCiAgICAgICAgICBXSU5FIGthbm4gdW50ZXJzY2hpZWRsaWNoZSBUcmVpYmVyIGb8ciBkaWUgZ3JhcGhpc2NoZQogICAgICAgICAgQXVzZ2FiZSB2ZXJ3ZW5kZW4uIFdlbGNoZXIgVHJlaWJlciB6dSB2ZXJ3ZW5kZW4gaXN0LCB3aXJkCiAgICAgICAgICBtaXQgZGllc2VyIFZhcmlhYmxlbiBmZXN0Z2VsZWd0LiBadXIgWmVpdCBzdGVoZW4gendlaQogICAgICAgICAgVHJlaWJlciB6dXIgVmVyZvxndW5nLCBu5G1saWNoIHgxMWRydiBm/HIgZGllIFZlcndlbmR1bmcgZGVzCiAgICAgICAgICBYIFdpbmRvdyBTeXN0ZW1zIHVuZCB0dHlkcnYgZvxyIGRpZSBWZXJ3ZW5kdW5nIHZvbiBXSU5FIGFuCiAgICAgICAgICBkZXIgS29uc29sZS4gIERlciBUcmVpYmVyIHR0eWRydiBpc3QgenVyIFplaXQgbmljaHQgdm9sbAogICAgICAgICAgZnVua3Rpb25zZuRoaWcsIHdlc3dlZ2VuIHNpY2ggaGllciBudXIgZGllIFZlcndlbmR1bmcgZGVzCiAgICAgICAgICBUcmVpYmVycyB4MTFkcnYgZW1wZmllaGx0LCBkaWVzIGlzdCBhdWNoIGRpZQogICAgICAgICAgU3RhbmRhcmRlaW5zdGVsbHVuZywgd2VubiBkaWUgVmFyaWFibGUgbmljaHQgZ2VzZXR6dAogICAgICAgICAgd2lyZC4gQmVpc3BpZWw6ICJHcmFwaGljc0RyaXZlciIgPSAieDExZHJ2Ii4KICAgICAgICAgIAogIDcuNCBLb25maWd1cmF0aW9uIGRlciB6dSB2ZXJ3ZW5kZW5kZW4gQmlibGlvdGhla2VuCiAgCiAgIFdpZSBVTklYL0xpbnV4LVByb2dyYW1tZSBiZXN0ZWhlbiBXaW5kb3dzLVByb2dyYW1tZSBpbiBkZXIgUmVnZWwKICAgYXVzIGRlciBlaWdlbnRsaWNoZW4gUHJvZ3JhbW1kYXRlaSB1bmQgZWluZXIgUmVpaGUgdm9uCiAgIFByb2dyYW1tYmlibGlvdGhla2VuLCBkaWUgYmVpbSBMYWRlbiBkZXMgUHJvZ3JhbW1zIG9kZXIgc3DkdGVyIG1pdAogICBkZW0gUHJvZ3JhbW0gdmVyYnVuZGVuIHdlcmRlbi4gRWluZSBSZWloZSBkZXIgUHJvZ3JhbW1iaWJsaW90aGVrZW4KICAgdW50ZXIgV2luZG93cyBzdGVsbHQgZGFiZWkgZ2xlaWNoemVpdGlnIGRpZSBTY2huaXR0c3RlbGxlIHp1bQogICBCZXRyaWVic3N5c3RlbSBkYXIuIE5lYmVuIGRlbSBlaWdlbnRsaWNoZW4gV2luZG93cy1Qcm9ncmFtbSB3ZXJkZW4KICAgYWxzbyBkaWUgQmlibGlvdGhla2VuIGJlbvZ0aWd0LCB1bSBkYXMgUHJvZ3JhbW0gYXVzZvxocmVuIHp1CiAgIGv2bm5lbi4KICAgCiAgIFdJTkUgc3RlbGx0IGVpbmUgZ3Jv32UgQW56YWhsIGRlciBub3JtYWxlcndlaXNlIHVudGVyIFdpbmRvd3MKICAgdmVyZvxnYmFyZW4gQmlibGlvdGhla2VuIHp1ciBWZXJm/Gd1bmcuIERpZXNlIEJpYmxpb3RoZWtlbiBsaWVnZW4KICAgZW50d2VkZXIgaW4gRm9ybSBlaWdlbmVyIERhdGVpZW4gdm9yLCB3ZWxjaGUgc2ljaCBzdGFuZGFyZG3k32lnIGltCiAgIFZlcnplaWNobmlzIC91c3IvbG9jYWwvbGliIGJlZmluZGVuLCBvZGVyIHNpZSBzaW5kIGRpcmVrdCBpbiBkZXIKICAgUHJvZ3JhbW1kYXRlaSB3aW5lIGVudGhhbHRlbi4gV0lORSBpc3QgamVkb2NoIGF1Y2ggaW4gZGVyIExhZ2UsIGRpZQogICBub3JtYWxlbiBXaW5kb3dzLUJpYmxpb3RoZWtlbiB6dSB2ZXJ3ZW5kZW47IGRpZXMgaXN0IGJlaXNwaWVsc3dlaXNlCiAgIGRhbm4gbm90d2VuZGlnLCB3ZW5uIHZvbiBlaW5lbSBQcm9ncmFtbSBlaW5lIEJpYmxpb3RoZWsgYmVu9nRpZ3QKICAgd2lyZCwgYmVpIGRlciBlcyBzaWNoIG5pY2h0IHVtIGVpbmUgc3RhbmRhcmRt5N9pZ2UgV2luZG93cy1CaWJsaW90aGVrCiAgIGhhbmRlbHQsIHNvbmRlcm4gdW0gZWluZSwgZGllIGRlbSBTeXN0ZW0gd+RocmVuZCBkZXIgSW5zdGFsbGF0aW9uCiAgIGRlcyBiZXRyZWZmZW5kZW4gUHJvZ3JhbW1zIGhpbnp1Z2Vm/Gd0IHdvcmRlbiBpc3QuIFNvbGNoZSBCaWJsaW90aGVrZW4KICAgd2VyZGVuIG5vcm1hbGVyd2Vpc2UgbmljaHQgdm9uIFdJTkUgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdC4KICAgCiAgIEZhbGxzIFdJTkUgbWl0IGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQgd2lyZCwKICAgYmlldGV0IGVzIHNpY2ggdS5VLiBhbiwgaW4gZWluaWdlbiBG5GxsZW4gYW4gU3RlbGxlIGRlciB2b24gV0lORQogICB6dXIgVmVyZvxndW5nIGdlc3RlbGx0ZW4gQmlibGlvdGhla2VuIGRpZSBCaWJsaW90aGVrZW4gZGVyCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHp1IHZlcndlbmRlbi4gRGllc2Ugc2luZCBpbiB2aWVsZW4gRuRsbGVuCiAgIHZvbGxzdORuZGlnZXIgdW5kIGv2bm5lbiBkZW0gYXVzenVm/GhyZW5kZW4gUHJvZ3JhbW0gZGVzd2VnZW4gZWhlcgogICBkaWUgZXJ3YXJ0ZXRlIEZ1bmt0aW9uYWxpdOR0IHp1ciBWZXJm/Gd1bmcgc3RlbGxlbi4gRGFiZWkgaXN0CiAgIGplZG9jaCB6dSBiZWFjaHRlbiwgZGFzcyBkaWVzIG51ciBtaXQgc29sY2hlbiBCaWJsaW90aGVrZW4gbfZnbGljaAogICBpc3QsIGRpZSBrZWluZSBCZXRyaWVic3N5c3RlbWZ1bmt0aW9uZW4gYmVpbmhhbHRlbi4gQmlibGlvdGhla2VuLAogICBkaWUgbGVkaWdsaWNoIGVpbmZhY2hlbiBQcm9ncmFtbWNvZGUsIHdpZSBiZWlzcGllbHN3ZWlzZSBkZW4gZvxyCiAgIGjkdWZpZyBiZW72dGlndGUgRGlhbG9nZSwgYmVpbmhhbHRlbiwga/ZubmVuIGhpbmdlZ2VuIHByb2JsZW1sb3MKICAgYXVzIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQgd2VyZGVuLgogICAKICAgRGllIG1laXN0ZW4gQmlibGlvdGhla2VuIHN0ZWhlbiB1bnRlciBXaW5kb3dzICg5NS85OCkgaW4gendlaQogICB2ZXJzY2hpZWRlbmVuIFZlcnNpb25lbiB6dXIgVmVyZvxndW5nLCBlaW5lciAzMkJpdC1WZXJzaW9uLCBkaWUgdm9uCiAgIDMyQml0LVByb2dyYW1tZW4gZ2VsYWRlbiB3ZXJkZW4ga2FubiB1bmQgZWluZXIgMTZCaXQtVmVyc2lvbiwgZGllCiAgIHZvbiAxNkJpdC1Qcm9ncmFtbWVuIGJlbnV0enQgd2VyZGVuIGthbm4uIEJlaWRlIFZlcnNpb25lbiBiZW51dHplbgogICBpbiBkZXIgUmVnZWwgUHJvZ3JhbW1jb2RlIGF1cyBkZXIgamV3ZWlscyB6dWdlaPZyaWdlbiBhbmRlcmVuCiAgIFZlcnNpb24gKFVudGVyIFdpbmRvd3MgOTUvOTggYmVmaW5kZXQgc2ljaCBkaWUgZWlnZW50bGljaGUKICAgRnVua3Rpb25hbGl05HQgbWVpc3QgaW4gZGVuIDE2Qml0LUJpYmxpb3RoZWtlbiwgZGllIHZvbiBkZW4KICAgMzJCaXQtVmVyc2lvbmVuIGdlbGFkZW4gdW5kIGF1ZmdlcnVmZW4gd2VyZGVuKS4gRGVzd2VnZW4gaXN0IGVzCiAgIGVyZm9yZGVybGljaCwgZGFzcyBpbW1lciBqZXdlaWxzIGJlaWRlIFZlcnNpb25lbiBlaW5lciBCaWJsaW90aGVrCiAgIGFscyBXaW5kb3dzLSBvZGVyIGFscyBXSU5FLUJpYmxpb3RoZWsgZ2VsYWRlbiB3ZXJkZW4sIGFuZGVyZQogICBFaW5zdGVsbHVuZ2VuIGb8aHJlbiBpbiBkZXIgUmVnZWwgZGlyZWt0IG5hY2ggZGVtIEF1ZnJ1ZiB2b24gV0lORQogICB6dSBGZWhsZXJuLiBEaWUgZm9sZ2VuZGUgVGFiZWxsZSB6ZWlndCwgd2VsY2hlIGRlciB3aWNodGlnc3RlbiAxNi0KICAgdW5kIDMyLUJpdCBCaWJsaW90aGVrZW4genVzYW1tZW4gZ2Vo9nJlbiB1bmQgZ2lidCBBdXNrdW5mdCBkYXL8YmVyLAogICBvYiBkaWVzZSBCaWJsaW90aGVrZW4gYXVzIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgIGdlbGFkZW4gd2VyZGVuIGv2bm5lbiBvZGVyIHVuYmVkaW5ndCB2b24gV0lORSB6dXIgVmVyZvxndW5nCiAgIGdlc3RlbGx0IHdlcmRlbiBt/HNzZW4uIEVzIHdpcmQgamV3ZWlscyB6dW7kY2hzdCBkaWUgMTYtQml0IFZlcnNpb24KICAgdW5kIGRhbm4gZGllIDMyLUJpdCBWZXJzaW9uIGdlbmFubnQuCiAgIAogICBrcm5sMzg2IAogICBrZXJuZWwzMiAKICAgRGllc2UgQmlibGlvdGhlayBzdGVsbHQgZGllIFNjaG5pdHRzdGVsbGUgenUgZGVuIGdydW5kbGVnZW5kZW4KICAgRnVua3Rpb25lbiwgd2llIERhdGVpenVncmlmZiwgRWluLSB1bmQgQXVzZ2FiZSBvZGVyCiAgIFByb3plc3NzeW5jaHJvbmlzYXRpb24sIHZvbiBXaW5kb3dzLUJldHJpZWJzc3lzdGVtZW4genVyIFZlcmb8Z3VuZy4KICAgRGVzd2VnZW4ga/ZubmVuIGhpZXIgbmljaHQgZGllIEJpYmxpb3RoZWtlbiBlaW5lcgogICBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0IHdlcmRlbi4KCiAgIC0gCiAgIG50ZGxsIAogICBEaWVzZSBCaWJsaW90aGVrIGVudGjkbHQgZGllIFNjaG5pdHRzdGVsbGUgenUgZGVtIEJldHJpZWJzc3lzdGVtCiAgIFdpbmRvd3MgTlQuIEVzIG11c3MgZGVzd2VnZW4gZGllIFdJTkUtVmVyc2lvbiBiZW51dHp0IHdlcmRlbi4KCiAgIC0gCiAgIGFkdmFwaTMyIAogICBIaWVyIGJlZmluZGVuIHNpY2ggdS5hLiBGdW5rdGlvbmVuIHp1bSBadWdyaWZmIGF1ZiBkaWUKICAgV2luZG93cy1SZWdpc3RyYXR1ciBzb3dpZSBTaWNoZXJoZWl0c2Z1bmt0aW9uZW4gdW5kCiAgIGtyeXB0b2dyYXBoaXNjaGUgRnVua3Rpb25lbi4gSW4gZGVyIFJlZ2VsIGVtcGZpZWhsdCBlcyBzaWNoLCBXSU5FcwogICBWZXJzaW9uIGRpZXNlciBCaWJsaW90aGVrIHp1IHZlcndlbmRlbi4KCiAgIHdpbnNvY2sgCiAgIHdzb2NrMzIgCiAgIEhpZXIgYmVmaW5kZXQgc2ljaCBkaWUgSW50ZXJuZXQgUHJvdG9rb2xsIChJUCkgU2Nobml0dHN0ZWxsZSB2b24KICAgV2luZG93cy4gTWl0IFdJTkUgd2lyZCBkaWUgSVAtRnVua3Rpb25hbGl05HQgZGVzIEJldHJpZWJzc3lzdGVtcwogICAoTGludXgpIGJlbnV0enQsIHNvIGRhc3MgaGllciBkaWUgV0lORS1WZXJzaW9uZW4gZGllc2VyCiAgIEJpYmxpb3RoZWtlbiBiZW51dHp0IHdlcmRlbiBt/HNzZW4sIHdlbGNoZSBkaWUgSVAtQXVmcnVmZSB2b24KICAgV2luZG93cy1Qcm9ncmFtbWVuIGFuIExpbnV4IHdlaXRlcmxlaXRlbi4KCiAgIGdkaSAKICAgZ2RpMzIgCiAgIEdESSBzdGVodCBm/HIgR3JhcGhpY3MgRGV2aWNlIEludGVyZmFjZS4gRGllIEJpYmxpb3RoZWsgc3RlbGx0IGVpbmUKICAgZWluaGVpdGxpY2hlIFNjaG5pdHRzdGVsbGUgenVyIEJpbGRzY2hpcm1hdXNnYWJlIHVuZCB6dSBEcnVja2VybgogICBkYXIuIEF1Y2ggaGllciBt/HNzZW4gZGllIFdJTkUtVmVyc2lvbmVuIGJlbnV0enQgd2VyZGVuLiAgCgogICB1c2VyCiAgIHVzZXIzMiAKICAgVXNlciBzdGVsbHQgdS5hLiBGdW5rdGlvbmVuIHp1ciBGZW5zdGVydmVyd2FsdHVuZywgenUgTWVu/HMgb2RlcgogICB6dXIgQmVkaWVudW5nIGRlciBad2lzY2hlbmFibGFnZSBiZXJlaXQuIERpZSBXaW5kb3dzIDk1Lzk4CiAgIFZlcnNpb25lbiBkaWVzZXIgQmlibGlvdGhla2VuIGtvbm50ZW4gZnL8aGVyIHVudGVyIGJlc3RpbW10ZW4KICAgQmVkaW5ndW5nZW4gbWl0IFdJTkUgYmVudXR6dCB3ZXJkZW4uIERpZSBVU0VSLUJpYmxpb3RoZWtlbiB2b24KICAgV2luZG93cyBOVCBydWZlbiBpbiBkZXIgUmVnZWwgRnVua3Rpb25lbiBpbSBOVC1LZXJuZWwgYXVmIHVuZAogICBr9m5uZW4gZGVzd2VnZW4gbmljaHQgbWl0IFdJTkUgYmVudXR6dCB3ZXJkZW4uIEVzIGVtcGZpZWhsdCBzaWNoLAogICBkaWUgVXNlci1CaWJsaW90aGVrZW4gdm9uIFdJTkUgenUgdmVyd2VuZGVuLgoKICAgbHpleHBhbmQgCiAgIGx6MzIgCiAgIERpZXNlIGJlaWRlbiBCaWJsaW90aGVrZW4gc3RlbGxlbiBGdW5rdGlvbmVuIHp1bSBEZWtvbXByaW1pZXJlbgogICB2b24gTFotQXJjaGl2ZW4genVyIFZlcmb8Z3VuZy4gU29sY2hlIEZ1bmt0aW9uZW4gd2VyZGVuIGltCiAgIHdlc2VudGxpY2hlbiB2b24gSW5zdGFsbGF0aW9uc3Byb2dyYW1tZW4gYmVu9nRpZ3QuIERpZSB6dSBXaW5kb3dzCiAgIGdlaPZyZW5kZW4gVmVyc2lvbmVuIGRpZXNlciBCaWJsaW90aGVrZW4gYmVudXR6ZW4gZWluaWdlIEZ1bmt0aW9uZW4KICAgYXVzIGRlciBLZXJuZWwtQmlibGlvdGhlaywgZGllIGluIFdJTkUgenVyIFplaXQgbmljaHQgaW1wbGVtZW50aWVydAogICBzaW5kLiBFcyBt/HNzZW4gZGVzd2VnZW4gZGllIHZvbiBXSU5FIGJlcmVpdGdlc3RlbGx0ZW4gVmVyc2lvbmVuCiAgIGJlbnV0enQgd2VyZGVuLgoKICAgY29tbWN0cmwgCiAgIGNvbWN0bDMyIAogICBEaWVzZSBCaWJsaW90aGVrIChjb21tb24gY29udHJvbHMpIHN0ZWxsdCBGdW5rdGlvbmVuIHp1ciBFcnpldWd1bmcKICAgb2Z0IGJlbnV0enRlciBGZW5zdGVyZWxlbWVudGUsIHdpZSBXZXJremV1Z2xlaXN0ZW4gb2RlcgogICBTdGF0dXNhbnplaWdlbiwgenVyIFZlcmb8Z3VuZy4gRXMga/ZubmVuIHNvd29obCBkaWUgVmVyc2lvbiB2b24KICAgV0lORSBhbHMgYXVjaCBkaWUgV2luZG93cy1WZXJzaW9uIGRlciBCaWJsaW90aGVrIGJlbnV0enQgd2VyZGVuLgoKICAgY29tbWRsZyAKICAgY29tZGxnMzIgCiAgIEhpZXIgYmVmaW5kZW4gc2ljaCBrb21wbGV0dGUgRGlhbG9nZSwgZGllIG9mdCB2b24KICAgV2luZG93cy1Qcm9ncmFtbWVuIGJlbnV0enQgd2VyZGVuIChGYXJiYXVzd2FobCwgQXVzd2FobCBkZXIKICAgU2NocmlmdGFydCwgU3VjaGVuIHVuZCBFcnNldHplbiB1c3cuKS4gQXVjaCBoaWVyIGv2bm5lbiB3YWhsd2Vpc2UKICAgZGllIFdpbmRvd3MtIG9kZXIgV0lORS1WZXJzaW9uZW4gYmVudXR6dCB3ZXJkZW4uCgogICBzaGVsbCAKICAgc2hlbGwzMiAKICAgRGllIFNoZWxsLUJpYmxpb3RoZWsgYmVpbmhhbHRldCBkZW4gZ3L233RlbiBUZWlsIGRlcgogICBCZW51dHplcnNjaG5pdHRzdGVsbGVuIHZvbiBXaW5kb3dzLiBTaWUgd2lyZCB1bnRlciBXaW5kb3dzCiAgIGJlc29uZGVycyB2b20gRXhwbG9yZXIgKGRlbSBEYXRlaW1hbmFnZXIpIHVuZCB2aWVsZW4gYW5kZXJlbgogICBBbndlbmR1bmdlbiBiZW51dHp0LCBkaWUgRnVua3Rpb25lbiB3aWUgYmVpc3BpZWxzd2Vpc2UKICAgRHJhZy1hbmQtRHJvcCB1bnRlcnN0/HR6ZW4uICBQcmluemlwaWVsbCBrYW5uIHNvd29obCBkaWUgV2luZG93cy0KICAgYWxzIGF1Y2ggZGllIFdJTkUtVmVyc2lvbiBiZW51dHp0IHdlcmRlbi4KCiAgIC0gCiAgIGNydGRsbCAKICAgRGllcyBpc3QgZGllIHN0YW5kYXJkbeTfaWdlIEMtTGF1ZnplaXRiaWJsaW90aGVrIHZvbiBXaW5kb3dzLiBadXIKICAgWmVpdCBpc3QgZGllIFdpbmRvd3MtVmVyc2lvbiB2b2xsc3TkbmRpZ2VyLCB3ZXN3ZWdlbiBlaW5pZ2UKICAgUHJvZ3JhbW1lIG1pdCBkZXIgV0lORS1WZXJzaW9uIG5pY2h0IHJpY2h0aWcgZnVua3Rpb25pZXJlbi4KICAgCiAgIE5lYmVuIGRlbiBoaWVyIGdlbmFubnRlbiB3aWNodGlnc3RlbiBTeXN0ZW1iaWJsaW90aGVrZW4gc3RlbGx0IFdJTkUKICAgZWluZSBSZWloZSB3ZWl0ZXJlciBCaWJsaW90aGVrZW4genVyIFZlcmb8Z3VuZywgYmVpc3BpZWxzd2Vpc2UgenVyCiAgIFVudGVyc3T8dHp1bmcgdm9uIE11bHRpbWVkaWEtQW53ZW5kdW5nZW4uIEZhbGxzIGVpbmUKICAgV2luZG93cy1JbnN0YWxsYXRpb24genVyIFZlcmb8Z3VuZyBzdGVodCwgZW1wZmllaGx0IGVzIHNpY2ggaW4KICAgdmllbGVuIEbkbGxlbiwgYXVzenVwcm9iaWVyZW4sIG9iIGVpbiBQcm9ncmFtbSBiZXNzZXIgbWl0IGRlbgogICBXSU5FLVZlcnNpb25lbiBvZGVyIGRlbiBXaW5kb3dzLVZlcnNpb25lbiBkaWVzZXIgQmlibGlvdGhla2VuCiAgIGZ1bmt0aW9uaWVydC4gCgogICBJbiBkZXIgRGF0ZWkgfi8ud2luZS9jb25maWcgZ2lidCBlcyB6d2VpIEFic2Nobml0dGUsIG1pdCBkZW5lbgogICBiZXN0aW1tdCB3aXJkLCB3ZWxjaGUgQmlibGlvdGhla2VuIGF1cyBlaW5lciBXaW5kb3dzLUluc3RhbGxhdGlvbgogICBnZWxhZGVuIHdlcmRlbiBzb2xsZW4uIERhcvxiZXJoaW5hdXMga/ZubmVuIGRpZXNlIEVpbnN0ZWxsdW5nZW4KICAgYmVpbSBBdWZydWYgdm9uIFdJTkUgYW4gZGVyIEtvbW1hbmRvemVpbGUg/GJlcnNjaHJpZWJlbiB3ZXJkZW4uCiAgIEltIGFsbGdlbWVpbmVuIGVtcGZpZWhsdCBlcyBzaWNoLCBkaWUgRWluc3RlbGx1bmdlbiBpbiBkZXIKICAgQmVpc3BpZWx2ZXJzaW9uIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIChkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnKQogICB6dSD8YmVybmVobWVuIHVuZCBkaWVzZSBudXIgZGFubiB6dSB2ZXLkbmRlcm4sIGZhbGxzCiAgIGJlc3RpbW10ZSBQcm9ncmFtbWUgbWl0IGRlbiBWb3JlaW5zdGVsbHVuZ2VuIG5pY2h0IHJpY2h0aWcKICAgZnVua3Rpb25pZXJlbi4gRmFsbHMgZGllIEJpYmxpb3RoZWtlbiBlaW5lciBXaW5kb3dzLUluc3RhbGxhdGlvbgogICBiZW51dHp0IHdlcmRlbiBzb2xsZW4sIGlzdCBkYXJhdWYgenUgYWNodGVuLCBkYXNzIGRpZXNlIGF1Y2ggdm9uCiAgIFdJTkUgZ2VmdW5kZW4gd2VyZGVuIGv2bm5lbi4gRGllcyBzZXR6dCBpbiBkZXIgUmVnZWwgdm9yYXVzLCBkYXNzCiAgIG1pdCBkZW4gVmFyaWFibGVuIFdpbmRvd3MgdW5kIFN5c3RlbSBpbSBhbGxnZW1laW5lbiBUZWlsIGRlcgogICBLb25maWd1cmF0aW9uIGF1ZiBkYXMgV2luZG93cy0gYnp3LiBkYXMgU3lzdGVtdmVyemVpY2huaXMgZWluZXIKICAgZ/xsdGlnZW4gV2luZG93cy1JbnN0YWxsYXRpb24gZ2V6ZWlndCB3aXJkIHVuZCBkYXNzIGRpZXNlIGJlaWRlbgogICBWZXJ6ZWljaG5pc3NlIGltIFdlcnQgZGVyIFZhcmlhYmxlbiBQYXRoIGdlbmFubnQgd2VyZGVuLgogICAKICAgSW0gQWJzY2huaXR0IFtEbGxEZWZhdWx0c10ga/ZubmVuIGRpZSBmb2xnZW5kZW4gYmVpZGVuIEVpbnN0ZWxsdW5nZW4KICAgdm9yZ2Vub21tZW4gd2VyZGVuOgogICAKICAgRGVmYXVsdExvYWRPcmRlcgogICAgICAgICAgSGllcm1pdCB3aXJkIGJlc3RpbW10LCB3ZWxjaGUgUmVpaGVuZm9sZ2UgV0lORSBzdGFuZGFyZG3k32lnCiAgICAgICAgICBiZW51dHplbiBzb2xsLCB3ZW5uIHZlcnN1Y2h0IHdpcmQsIGVpbmUgQmlibGlvdGhlayB6dSBsYWRlbi4KICAgICAgICAgIERpZXNlIFJlaWhlbmZvbGdlIHdpcmQgZHVyY2ggZGllIGZvbGdlbmRlbiBTY2hs/HNzZWx39nJ0ZXIKICAgICAgICAgIGRlZmluaWVydDoKICAgICAgICAgIAogICAgICAgIG5hdGl2ZQogICAgICAgICAgICAgICAgRXMgc29sbCB2ZXJzdWNodCB3ZXJkZW4sIGRpZSBXaW5kb3dzLVZlcnNpb24gZGVyCiAgICAgICAgICAgICAgICBiZXRyZWZmZW5kZW4gQmlibGlvdGhlayB6dSBsYWRlbi4KICAgICAgICAgICAgICAgIAogICAgICAgIGJ1aWx0aW4KICAgICAgICAgICAgICAgIEVzIHNvbGwgdmVyc3VjaHQgd2VyZGVuLCBkaWUgV0lORS1WZXJzaW9uIGRlcgogICAgICAgICAgICAgICAgYmV0cmVmZmVuZGVuIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICBlbGZkbGwKICAgICAgICAgICAgICAgIEVsZmRsbHMgc2luZCBlaW5lIGJlc29uZGVyZSBGb3JtIHZvbgogICAgICAgICAgICAgICAgV2luZG93cy1CaWJsaW90aGVrZW4sIHdlbGNoZSB2b24gV0lORSB6dXIgVmVyZvxndW5nCiAgICAgICAgICAgICAgICBnZXN0ZWxsdCB3ZXJkZW4uIFNpZSBzaW5kIHVyc3By/G5nbGljaCBnZXBsYW50IHdvcmRlbiwKICAgICAgICAgICAgICAgIHVtIGRpZSBlaW5nZWJhdXRlbiBCaWJsaW90aGVrZW4gYWJ6dWz2c2VuLCBhbGxlcmRpbmdzCiAgICAgICAgICAgICAgICBoYWJlbiBkaWUgZWluZ2ViYXV0ZW4gQmlibGlvdGhla2VuIG1pdCBkZXIgWmVpdCB2aWVsZQogICAgICAgICAgICAgICAgZGVyIGb8ciBFbGZkbGxzIGdlcGxhbnRlbiBGdW5rdGlvbmVuIGJla29tbWVuLCBzbyBkYXNzCiAgICAgICAgICAgICAgICBkaWVzZSBGb3JtIHZvbiBCaWJsaW90aGVrZW4genVyIFplaXQga2VpbmUgYmVzb25kZXJlCiAgICAgICAgICAgICAgICBCZWRldXR1bmcgaGF0LgogICAgICAgICAgICAgICAgCiAgICAgICAgc28KICAgICAgICAgICAgICAgIEluIGVpbmlnZW4gRuRsbGVuIGdpYnQgZXMgdm9uIGVpbmVyIEJpYmxpb3RoZWsgTGludXgtCiAgICAgICAgICAgICAgICB1bmQgV2luZG93cy1WZXJzaW9uZW4sIGRpZSBzaWNoIHNvd29obCBoaW5zaWNodGxpY2gKICAgICAgICAgICAgICAgIGlocmVyIEZ1bmt0aW9uYWxpdOR0IGFscyBhdWNoIGhpbnNpY2h0bGljaCBkZXIKICAgICAgICAgICAgICAgIGF1ZnJ1ZmJhcmVuIEZ1bmt0aW9uZW4gaW4gZGVyIEJpYmxpb3RoZWsgbmljaHQKICAgICAgICAgICAgICAgIHVudGVyc2NoZWlkZW4uIEZhbGxzIGVpbiBXaW5kb3dzLVByb2dyYW1tIGRpZQogICAgICAgICAgICAgICAgV2luZG93cy1WZXJzaW9uIGVpbmVyIHNvbGNoZW4gQmlibGlvdGhlayBsYWRlbiB3aWxsLAogICAgICAgICAgICAgICAga2FubiBXSU5FIHZlcnN1Y2hlbiwgYW4gU3RlbGxlIGRlc3NlbiBkaWUgTGludXgtVmVyc2lvbgogICAgICAgICAgICAgICAgenUgbGFkZW4gdW5kIGRpZSBGdW5rdGlvbmVuIGRpZXNlciBWZXJzaW9uIGFuIFN0ZWxsZQogICAgICAgICAgICAgICAgZGVyIGluIGRlciBXaW5kb3dzLVZlcnNpb24gYXVmcnVmZW4uIE1pdCBkZW0KICAgICAgICAgICAgICAgIFNjaGz8c3NlbHdvcnQgc28ga2FubiBkaWVzZXMgVmVyaGFsdGVuIGhlcnZvcmdlcnVmZW4KICAgICAgICAgICAgICAgIHdlcmRlbi4KICAgICAgICAgICAgICAgIAogICAgICAgICAgRHVyY2ggZGllIFJlaWhlbmZvbGdlLCBtaXQgZGVyIGRpZXNlIFNjaGz8c3NlbHf2cnRlciBkZXIKICAgICAgICAgIFZhcmlhYmxlbiBEZWZhdWx0TG9hZE9yZGVyIHp1Z2VvcmRuZXQgd2VyZGVuLCB3aXJkCiAgICAgICAgICBmZXN0Z2VsZWd0LCBpbiB3ZWxjaGVyIFJlaWhlbmZvbGdlIFdJTkUgZGllIGVpbnplbG5lbgogICAgICAgICAgU3RyYXRlZ2llbiBiZW51dHp0LiAgV3VyZGUgYmVpc3BpZWxzd2Vpc2UgIkRlZmF1bHRMb2FkT3JkZXIiID0KICAgICAgICAgICJuYXRpdmUsIGJ1aWx0aW4sIHNvIiBhbmdlZ2ViZW4sIHNvIHZlcnN1Y2h0IFdJTkUsIHdlbm4gZWluZQogICAgICAgICAgQmlibGlvdGhlayBnZWxhZGVuIHdlcmRlbiBtdXNzLCB6dW7kY2hzdCBkaWUKICAgICAgICAgIFdpbmRvd3MtVmVyc2lvbiB6dSBsYWRlbi4gV2VubiBkaWVzIG5pY2h0IGZ1bmt0aW9uaWVydCAoaW4KICAgICAgICAgIGRlciBSZWdlbCwgd2VpbCBkaWUgQmlibGlvdGhlayBuaWNodCB2b3JoYW5kZW4gaXN0IG9kZXIKICAgICAgICAgIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiBrYW5uKSwgd2lyZCB2ZXJzdWNodCwgZGllIFdJTkUtVmVyc2lvbgogICAgICAgICAgZGVyIEJpYmxpb3RoZWsgenUgdmVyd2VuZGVuIHVuZCBmYWxscyBhdWNoIGVpbmUgc29sY2hlIG5pY2h0CiAgICAgICAgICB2b3JoYW5kZW4gaXN0LCB3aXJkIHZlcnN1Y2h0LCBkaXJla3QgZGllIFVOSVgtVmVyc2lvbiBkZXIKICAgICAgICAgIGVudHNwcmVjaGVuZGVuIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICAKICAgSW0gQWJzY2huaXR0IFtEbGxPdmVycmlkZXNdIGzkc3N0IHNpY2ggZGFzIGltIHZvcmhlcmlnZW4gQWJzY2huaXR0CiAgIHNwZXppZml6aWVydGUgVmVyaGFsdGVuIGb8ciBlaW56ZWxuZSBCaWJsaW90aGVrZW4gd2llZGVyCiAgIPxiZXJzY2hyZWliZW4uIFfkaHJlbmQgZXMgbuRtbGljaCBpbSBhbGxnZW1laW5lbiBlaW5lIGd1dGUKICAgU3RyYXRlZ2llIGlzdCwgenVu5GNoc3QgenUgdmVyc3VjaGVuLCBkaWUgV2luZG93cy1WZXJzaW9uZW4gdm9uCiAgIEJpYmxpb3RoZWtlbiB6dSBsYWRlbiwgZGFyZiBkaWVzICh3aWUgb2JlbiBiZXNjaHJpZWJlbikgYmVpCiAgIGJlc3RpbW10ZW4gQmlibGlvdGhla2VuIGF1ZiBrZWluZW4gRmFsbCBnZXNjaGVoZW4gdW5kIGVzIG38c3NlbiBpbgogICBqZWRlbSBGYWxsIGRpZSBXSU5FLVZlcnNpb25lbiBiZW51dHp0IHdlcmRlbi4gQWxzIFZhcmlhYmxlbiB3ZXJkZW4KICAgaW4gZGllc2VtIEFic2Nobml0dCBkaWUgQmlibGlvdGhla2VuIGdlbmFubnQsIGb8ciBkaWUgZWluZQogICBzcGV6aWVsbGUgUmVpaGVuZm9sZ2UgZ2VsdGVuIHNvbGwuIEhpbnRlciBkZW0gR2xlaWNoaGVpdHN6ZWljaGVuCiAgIHdpcmQgZGFubiBkaWUgZvxyIGRpZXNlIEJpYmxpb3RoZWtlbiBnZXf8bnNjaHRlIFJlaWhlbmZvbGdlIGluIGRlcgogICBnbGVpY2hlbiBGb3JtIGFuZ2VnZWJlbiwgd2llIGVzIGltIHZvcmhlcmlnZW4gQWJzY2huaXR0IGJlc2NocmllYmVuCiAgIGlzdC4gQmVpc3BpZWw6CgogICBbRGxsT3ZlcnJpZGVzXQogICAia3JubDM4Niwga2VybmVsMzIiID0gImJ1aWx0aW4iCiAgICJnZGksIGdkaTMyIiAgICAgICAgPSAiYnVpbHRpbiIKICAgInVzZXIsIHVzZXIzMiIgICAgICA9ICJidWlsdGluIgogICAic2hlbGwsc2hlbGwzMiIgICAgID0gIm5hdGl2ZSwgYnVpbHRpbiIKCgogIDcuNSBLb25maWd1cmF0aW9uIGRlcyBYMTEgR3JhcGhpa3RyZWliZXJzCiAgCiAgIERlciBYMTEgR3JhcGhpa3RyZWliZXIgc3RlbGx0IGRpZSBTY2huaXR0c3RlbGxlIHp3aXNjaGVuIGRlbgogICBHcmFwaGlrZnVua3Rpb25lbiBkZXIgV2luZG93cy1CZXRyaWVic3N5c3RlbWUgdW5kIGRlbSBYIFdpbmRvdwogICBTeXN0ZW0gZGFyLiBFciBlcm32Z2xpY2h0IGVzIGFsc28sIGRhc3MgV2luZG93cy1Qcm9ncmFtbWUgdW50ZXIKICAgV0lORSBkYXMgWCBXaW5kb3cgU3lzdGVtIORobmxpY2ggYmVudXR6ZW4ga/ZubmVuLCB3aWUgc2llIHVudGVyCiAgIGVjaHRlbSBXaW5kb3dzIGVpbmUgbm9ybWFsZSBHcmFwaGlra2FydGUgYmVudXR6ZW4uIERhcyBWZXJoYWx0ZW4KICAgZGVzIFRyZWliZXJzIHdpcmQgaW0gQWJzY2huaXR0IHgxMWRydiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICBlaW5nZXN0ZWxsdC4gRG9ydCBzdGVoZW4gZGllIGZvbGdlbmRlbiBWYXJpYWJsZW4genVyIFZlcmb8Z3VuZzoKICAgCiAgIFByaXZhdGVDb2xvck1hcAogICAgICAgICAgV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgdHJ1ZSBnZXNldHp0IGlzdCwgdmVyd2VuZGV0IFdJTkUKICAgICAgICAgIGVpbmUgZWlnZW5lIEZhcmJwYWxldHRlLiBCZWkgWC1TZXJ2ZXJuIGRpZSBtaXQgZWluZQogICAgICAgICAgRmFyYnRpZWZlbiB2b24gMjU2IEZhcmJlbiAoOGJwcCkgb2RlciB3ZW5pZ2VyIGJldHJpZWJlbgogICAgICAgICAgd2VyZGVuLCBoYXQgZGFzIHp1ciBGb2xnZSwgZGFzcyBhbmRlcmUgRmVuc3RlciB1LlUuIGluCiAgICAgICAgICBmYWxzY2hlbiBGYXJiZW4gZGFyZ2VzdGVsbHQgd2VyZGVuLCB3ZW5uIHp1IFdJTkUgZ2Vo9nJlbmRlCiAgICAgICAgICBGZW5zdGVyIGluIGRlbiBWb3JkZXJncnVuZCBnZXNjaGFsdGV0IHNpbmQuIERhZvxyIGthbm4gV0lORQogICAgICAgICAgamVkb2NoIEZhcmJlbiBiZXNzZXIgZGFyc3RlbGxlbiBhbHMgb2huZSBkaWVzZQogICAgICAgICAgRWluc3RlbGx1bmcuIEZhbGxzIGRlciBYIFNlcnZlciBtaXQgZWluZXIgRmFyYnRpZWZlIHZvbiBtZWhyCiAgICAgICAgICBhbHMgMjU2IEZhcmJlbiBiZXRyaWViZW4gd2lyZCwgaXN0IGRpZSBFaW5zdGVsbHVuZwogICAgICAgICAgd2lya3VuZ3Nsb3MuCiAgICAgICAgICAKICAgQWxsb2NTeXN0ZW1Db2xvcnMKICAgICAgICAgIFdlbm4gV0lORSBrZWluZSBlaWdlbmUgRmFyYnBhbGV0dGUgdmVyd2VuZGV0LCBrYW5uIGhpZXIKICAgICAgICAgIGFuZ2VnZWJlbiB3ZXJkZW4sIHdpZXZpZWxlIEZhcmJlbiB2b24gZGVyIHN5c3RlbXdlaXQKICAgICAgICAgIGdldGVpbHRlbiBQYWxldHRlIG1heGltYWwgdm9uIFdJTkUgYmVudXR6dCB3ZXJkZW4KICAgICAgICAgIGT8cmZlbi4gRGVyIGj2Y2hzdG32Z2xpY2hlIFdlcnQgaXN0IGhpZXIgMjU2LCB3ZWlsIGJlaQogICAgICAgICAgYmVzc2VyZW4gRmFyYnRpZWZlbiBrZWluZSBQYWxldHRlIGJlbnV0enQgd2lyZC4gQmVpc3BpZWw6CiAgICAgICAgICAiQWxsb2NTeXN0ZW1Db2xvcnMiID0gIjEwMCIuCiAgICAgICAgICAKICAgUGVyZmVjdEdyYXBoaWNzCiAgICAgICAgICBBbiBlaW5pZ2VuIFN0ZWxsZW4gaGF0IFdJTkUgZGllIE32Z2xpY2hrZWl0LAogICAgICAgICAgR3JhcGhpa29wZXJhdGlvbmVuIGVudHdlZGVyIHNvIGR1cmNoenVm/GhyZW4sIGRhc3Mgc2llCiAgICAgICAgICBiZXNvbmRlcnMgc2NobmVsbCBzaW5kIG9kZXIgc28sIGRhc3Mgc2llIGJlc29uZGVycyBrb3JyZWt0CiAgICAgICAgICBhdXNnZWb8aHJ0IHdlcmRlbi4gV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZQogICAgICAgICAgZ2VzZXR6dCB3aXJkLCB3aXJkIGRlciBHZW5hdWlna2VpdCBWb3J6dWcgZ2VnZWJlbi4gQmVpc3BpZWw6CiAgICAgICAgICAiUGVyZmVjdEdyYXBoaWNzIiA9ICJmYWxzZSIuCiAgICAgICAgICAKICAgVXNlREdBCiAgICAgICAgICBER0EgKERpcmVjdCBHcmFwaGljcyBBY2Nlc3MpIGlzdCBlaW5lIEVyd2VpdGVydW5nIHZvbgogICAgICAgICAgWEZyZWU4Niwgd2VsY2hlIGRlbiBkaXJla3RlbiBadWdyaWZmIGF1ZiBkZW4gU3BlaWNoZXIgZGVyCiAgICAgICAgICBHcmFwaGlra2FydGUgZXJt9mdsaWNodC4gRGFkdXJjaCBsYXNzZW4gc2ljaAogICAgICAgICAgR3JhcGhpa29wZXJhdGlvbmVuIHdlc2VudGxpY2ggc2NobmVsbGVyIGR1cmNoZvxocmVuIGFscwogICAgICAgICAgbm9ybWFsZXJ3ZWlzZS4gRGllIERpcmVjdERyYXctQmlibGlvdGhlayAoRGlyZWN0WCkgdm9uIFdJTkUKICAgICAgICAgIGthbm4gZGllc2UgRXJ3ZWl0ZXJ1bmcgYmVudXR6ZW4sIHdvZHVyY2ggc2ljaCBpbnNiZXNvbmRlcmUKICAgICAgICAgIFNwaWVsZSBtaXQgZWluZXIg5GhubGljaGVuIEdlc2Nod2luZGlna2VpdCB3aWUgdW50ZXIgV2luZG93cwogICAgICAgICAgYXVzZvxocmVuIGxhc3Nlbi4gV2VpbCBER0EgZGVuIGRpcmVrdGVuIEhhcmR3YXJlenVncmlmZgogICAgICAgICAgZXJmb3JkZXJ0LCBzaW5kIGRhenUgaW4gZGVyIFJlZ2VsIEFkbWluaXN0cmF0b3JyZWNodGUKICAgICAgICAgIGVyZm9yZGVybGljaC4gRGllIFZlcndlbmR1bmcgdm9uIERHQSB3aXJkIG1pdCAiVXNlREdBIiA9ICJ0cnVlIgogICAgICAgICAgZWluLSB1bmQgbWl0ICJVc2VER0EiID0gImZhbHNlIiBhdXNnZXNjaGFsdGV0LgoKICAgICAgICAgIEFjaHR1bmc6IAogICAgICAgICAgQW53ZW5kdW5nZW4sIGRpZSBEaXJlY3REcmF3IGJlbnV0emVuLCB2ZXJzdWNoZW4KICAgICAgICAgIG5vcm1hbGVyd2Vpc2UgZGVuIEJpbGRzY2hpcm0gaW4gZWluZSBiZXN0aW1tdGUgQXVmbPZzdW5nIHVuZAogICAgICAgICAgRmFyYnRpZWZlIHp1IHNjaGFsdGVuLiBXSU5FIGthbm4gZGllIEF1Zmz2c3VuZyB6d2FyCiAgICAgICAgICB2ZXLkbmRlcm4sIGZhbGxzIHNpY2ggaW4gZGVyIERhdGVpIFhGODZDb25maWcgZWluZQogICAgICAgICAgRGVmaW5pdGlvbiBm/HIgZGVuIGFuZ2Vmb3JkZXJ0ZW4gTW9kdXMgYmVmaW5kZXQsIHdlaWwgZGFzIFgKICAgICAgICAgIFdpbmRvdyBTeXN0ZW0gamVkb2NoIG5pY2h0IGRlbiBXZWNoc2VsIGRlciBGYXJidGllZmUKICAgICAgICAgIHVudGVyc3T8dHp0LCBpc3QgZXMgb2Z0IGVyZm9yZGVybGljaCwgZGVuIFgtU2VydmVyIGluIGRlcgogICAgICAgICAgYmVu9nRpZ3RlbiBGYXJidGllZmUgenUgc3RhcnRlbiwgYmV2b3IgV0lORSBnZXN0YXJ0ZXQgd2lyZC4KICAgICAgICAgIAogICBVc2VYU2htCiAgICAgICAgICBIaWVyYmVpIGhhbmRlbHQgZXMgc2ljaCB1bSBlaW5lIGFuZGVyZSBFcndlaXRlcnVuZyBkZXMgWAogICAgICAgICAgV2luZG93IFN5c3RlbXMsIGRpZSBzY2huZWxsZXJlIEdyYXBoaWtvcGVyYXRpb25lbgogICAgICAgICAgZXJt9mdsaWNodC4gIEJlaXNwaWVsOiAiVXNlWFNobSIgPSAidHJ1ZSIuCiAgICAgICAgICAKICAgRFhHcmFiCiAgICAgICAgICBEaWVzZSBPcHRpb24gYmV3aXJrdCwgZGFzcyBkZXIgTWF1c3plaWdlciAtIGJlaSBkZXIKICAgICAgICAgIFZlcndlbmR1bmcgdm9uIERpcmVjdERyYXcgKERpcmVjdFgpIC0gZGFzIHZvbiBEaXJlY3REcmF3CiAgICAgICAgICBnZXN0ZXVlcnRlIEZlbnN0ZXIgbmljaHQgdmVybGFzc2VuIGthbm4uIERpZXMgaXN0IG5vdHdlbmRpZywKICAgICAgICAgIHVtIGVpbmlnZSBQcm9ncmFtbWUgcmljaHRpZyBiZWRpZW5lbiB6dSBr9m5uZW4sIGFsbGVyZGluZ3MKICAgICAgICAgIHdpcmQgZGFkdXJjaCB2ZXJoaW5kZXJ0LCBtaXQgZGVyIE1hdXMgaW4gZWluIGFuZGVyZXMgRmVuc3RlcgogICAgICAgICAgenUgc2NoYWx0ZW4sIGJlaXNwaWVsc3dlaXNlIHVtIFdJTkUgenUgYmVlbmRlbi4gQmVpc3BpZWw6CiAgICAgICAgICAiRFhHcmFiIiA9ICJmYWxzZSIuCiAgICAgICAgICAKICAgU2NyZWVuRGVwdGgKICAgICAgICAgIEVpbmlnZSBYLVNlcnZlciB1bnRlcnN0/HR6ZW4gdW50ZXJzY2hpZWRsaWNoZSBGYXJidGllZmVuIGF1ZgogICAgICAgICAgZGVtIHNlbGJlbiBCaWxkc2NoaXJtLiBNaXQgZGllc2VyIFZhcmlhYmxlIGthbm4gYXVzZ2V35GhsdAogICAgICAgICAgd2VyZGVuLCB3ZWxjaGUgRmFyYnRpZWZlIGluIGVpbmVtIHNvbGNoZW4gRmFsbCBiZW51dHp0CiAgICAgICAgICB3ZXJkZW4gc29sbC4KCiAgIE1hbmFnZWQKICAgICAgICAgIFdJTkUga2FubiB2b24gV2luZG93cy1Qcm9ncmFtbWVuIGRhcmdlc3RlbGx0ZSBGZW5zdGVyCiAgICAgICAgICB1LmEuIHVuYWJo5G5naWcgdm9tIGVpbmdlc2V0enRlbiBXaW5kb3ctTWFuYWdlciBhbnplaWdlbgogICAgICAgICAgb2RlciBzaWUgdW50ZXIgZGllIEtvbnRyb2xsZSBkZXMgV2luZG93LU1hbmFnZXJzCiAgICAgICAgICBzdGVsbGVuLiBEYXMgendlaXRlIFZlcmZhaHJlbiBiaWV0ZXQgZWluZSBiZXNzZXJlCiAgICAgICAgICBJbnRlZ3JhdGlvbiB2b24gV2luZG93cy1Qcm9ncmFtbWVuIGluIGRpZSBBcmJlaXRzdW1nZWJ1bmcKICAgICAgICAgIHVudGVyIExpbnV4LCB3ZWlsIGRpZSBGZW5zdGVyIGRhbm4gZ2VuYXVzbyB3aWUgZGllIHZvbgogICAgICAgICAgTGludXgtUHJvZ3JhbW1lbiBlcnNjaGVpbmVuIHVuZCB6dSBzdGV1ZXJuIHNpbmQuIFdlbGNoZXIgZGVyCiAgICAgICAgICB2ZXJm/GdiYXJlbiBBbnplaWdlbW9kaSB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGwsIHdpcmQKICAgICAgICAgIG5vcm1hbGVyd2Vpc2UgYW4gZGVyIEtvbW1hbmRvemVpbGUgYmVpbSBBdWZydWYgdm9uIFdJTkUKICAgICAgICAgIGFuZ2VnZWJlbi4gRHVyY2ggZGllc2UgVmFyaWFibGUgaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgICAgICAgIGzkc3N0IHNpY2ggZmVzdGxlZ2VuLCBvYiB2b24gV0lORSBnZXN0ZXVlcnRlIEZlbnN0ZXIKICAgICAgICAgIHN0YW5kYXJkbeTfaWcgZGVuIFdpbmRvdy1NYW5hZ2VyIHZlcndlbmRlbiBzb2xsZW4gKCJNYW5hZ2VkIiA9CiAgICAgICAgICAidHJ1ZSIpLgoKICAgRGVza3RvcERvdWJsZUJ1ZmZlcmVkCiAgICAgICAgICBEaWVzZSBPcHRpb24gc29sbHRlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQgd2VyZGVuLCB3ZW5uCiAgICAgICAgICBtaXQgV0lORSBQcm9ncmFtbWUgYmVudXR6dCB3ZXJkZW4sIGRpZSBPcGVuR0wKICAgICAgICAgIGJlbnV0emVuLiBIaWVyZHVyY2ggd2lyZCBkaWUgRGFyc3RlbGx1bmcgc29sY2hlciBBbndlbmR1bmdlbgogICAgICAgICAgdmVyYmVzc2VydC4KICAgICAgICAgIAogIDcuNiBLb25maWd1cmF0aW9uIGRlciB6dSB2ZXJ3ZW5kZW5kZW4gU2NocmlmdGFydGVuCiAgCiAgIERlciBYMTEtR3JhcGhpa3RyZWliZXIgeDExZHJ2IHZlcndlbmRldCB6dXIgRGFyc3RlbGx1bmcgdm9uIFNjaHJpZnQKICAgZGllIFNjaHJpZnRhcnRlbiwgZGllIGRlbSBYLVNlcnZlciBkaXJla3Qgb2RlciD8YmVyIGVpbmVuIEZvbnRzZXJ2ZXIKICAgenVyIFZlcmb8Z3VuZyBzdGVoZW4uIEVpbmUgUmVpaGUgdm9uIFdpbmRvd3MtQW53ZW5kdW5nZW4gZXJ3YXJ0ZW4KICAgYWxsZXJkaW5ncyBnYW56IGJlc3RpbW10ZSBTY2hyaWZ0ZW4sIGRpZSB1bnRlciBXaW5kb3dzIGluIGRlciBSZWdlbAogICB2ZXJm/GdiYXIgc2luZCB1bmQgdmllbGUgQW53ZW5kdW5nZW4gd2VyZGVuIGFuZGVycyBhbHMgdW50ZXIgV2luZG93cwogICBkYXJnZXN0ZWxsdCwgZmFsbHMgYW5kZXJlIFNjaHJpZnRhcnRlbiBiZW51dHp0IHdlcmRlbiBt/HNzZW4uCiAgIAogICBXaW5kb3dzIHZlcndlbmRldCBub3JtYWxlcndlaXNlIHp3ZWkgdW50ZXJzY2hpZWRsaWNoZSBUeXBlbiB2b24KICAgU2NocmlmdGFydGVuLCBu5G1saWNoIHNvIGdlbmFubnRlbiBUcnVlVHlwZS1TY2hyaWZ0ZW4gdW5kIGVpbmZhY2hlCiAgIEJpdG1hcC1TY2hyaWZ0YXJ0ZW4uIEJlaWRlIFNjaHJpZnR0eXBlbiBr9m5uZW4gdm9uIFhGcmVlODYgaW4gZGVyCiAgIFZlcnNpb25zZmFtaWxpZSAzLnggc3RhbmRhcmRt5N9pZyBuaWNodCB6dXIgVmVyZvxndW5nIGdlc3RlbGx0CiAgIHdlcmRlbi4gQWxsZXJkaW5ncyBpc3QgZXMgbfZnbGljaCwgV2luZG93cy1CaXRtYXAtU2NocmlmdGFydGVuIGluCiAgIGVpbiBGb3JtYXQgenUg/GJlcnNldHplbiwgd2VsY2hlcyB2b24gWEZyZWU4NiBlaW5nZWJ1bmRlbiB3ZXJkZW4KICAga2Fubi4gVHJ1ZVR5cGUtU2NocmlmdGFydGVuIGv2bm5lbiD8YmVyIHNwZXppZWxsZQogICBUcnVlVHlwZS1Gb250c2VydmVyLCBkaWUgbWl0dGxlcndlaWxlIGluIGRlbiBtZWlzdGVuIERpc3RyaWJ1dGlvbmVuCiAgIGVudGhhbHRlbiBzaW5kLCBlaW5nZWJ1bmRlbiB3ZXJkZW4uIEZhbGxzIGVpbmUgV2luZG93cy1JbnN0YWxsYXRpb24KICAgenVyIFZlcmb8Z3VuZyBzdGVodCwgZW1wZmllaGx0IGVzIHNpY2ggaW0gYWxsZ2VtZWluZW4sIGRpZSBkb3J0CiAgIHZvcmhhbmRlbmVuIFNjaHJpZnRhcnRlbiBhdWNoIHVudGVyIExpbnV4IGVpbnp1YmluZGVuLCBkYW1pdCB1bnRlcgogICBXSU5FIGF1c2dlZvxocnRlIFdpbmRvd3MtQW53ZW5kdW5nZW4gZGllIGVyd2FydGV0ZW4gU2NocmlmdGFydGVuCiAgIHZvcmZpbmRlbi4gV2VubiBXSU5FIG9obmUgV2luZG93cy1TY2hyaWZ0YXJ0ZW4gYmVudXR6dCB3aXJkLAogICB2ZXJzdWNodCBkYXMgUHJvZ3JhbW0sIGRpZSBhbmdlZm9yZGVydGVuIFNjaHJpZnRlbiBkdXJjaCBkaWUKICAgU2NocmlmdGVuIGRlcyBYIFdpbmRvdyBTeXN0ZW1zIHp1IGVyc2V0emVuLCB3b2R1cmNoIHNpY2gKICAgVmVy5G5kZXJ1bmdlbiBpbSBFcnNjaGVpbnVuZ3NiaWxkIGRlciBBbndlbmR1bmdlbiBlcmdlYmVuIGv2bm5lbi4KICAgCiAgICA3LjYuMSBFaW5iaW5kZW4gdm9uIEJpdG1hcC1TY2hyaWZ0ZW4KICAgIAogICBXaW5kb3dzIEJpdG1hcC1TY2hyaWZ0YXJ0ZW4gYmVmaW5kZW4gc2ljaCBub3JtYWxlcndlaXNlIGltCiAgIFVudGVydmVyemVpY2huaXMgZm9udHMgZGVzIFdpbmRvd3MtVmVyemVpY2huaXNzZXMgdW5kIGhhYmVuIGRpZQogICBEYXRlaW5hbWVuc2VuZHVuZyAuZm9uLiBFcyBpc3QgYWJlciBhdWNoIG32Z2xpY2gsIGRhc3Mgc2llIGluCiAgIGF1c2b8aHJiYXJlbiBEYXRlaWVuIG9kZXIgaW4gQmlibGlvdGhla2VuIGVudGhhbHRlbiBzaW5kLiBJbQogICBVbnRlcnZlcnplaWNobmlzIHRvb2xzIGRlcyBCYXNpc3ZlcnplaWNobmlzc2VzIG1pdCBkZW0KICAgV0lORS1RdWVsbGNvZGUgYmVmaW5kZXQgc2ljaCBkYXMgUHJvZ3JhbW0gZm50MmJkZiwgbWl0IGRlbSBkaWUKICAgRm9udHMgYXVzIGRpZXNlbiBEYXRlaWVuIGV4dHJhaGllcnQgdW5kIGluIGRhcyBCaXRtYXAgRGlzdHJpYnV0aW9uCiAgIEZvcm1hdCAoLmJkZikgdW1nZXdhbmRlbHQgd2VyZGVuIGv2bm5lbi4gRGF6dSBpc3QgZGFzIFByb2dyYW1tCiAgIGZvbGdlbmRlcm1hc3NlbiBhdWZ6dXJ1ZmVuOgogICAKICAgZm50MmJkZiAtbyBCYXNpc25hbWUgU2NocmlmdGRhdGVpCgogICBEYWJlaSBpc3QgZvxyIFNjaHJpZnRkYXRlaSBkZXIgTmFtZSBkZXIgRGF0ZWkgYW56dWdlYmVuLCBpbiBkZXIKICAgc2ljaCBkaWUgenUgZXh0cmFoaWVyZW5kZW4gU2NocmlmdGVuIGJlZmluZGVuIHVuZCBm/HIgQmFzaXNuYW1lCiAgIGVpbmUgQmV6ZWljaG51bmcsIG1pdCBkZXIgZGllIE5hbWVuIGRlciB6dSBleHRyYWhpZXJlbmRlbiBEYXRlaWVuCiAgIGJlZ2lubmVuIHNvbGxlbi4gRXMgaXN0IHp1IGJlYWNodGVuLCBkYXNzIHNpY2ggaW4gZGVyIFJlZ2VsIGluCiAgIGVpbmVyIFdpbmRvd3MtU2NocmlmdGFydGVuZGF0ZWkgbWVocmVyZSBTY2hyaWZ0YXJ0ZW4gYmVmaW5kZW4sIGRpZQogICBpbiB1bnRlcnNjaGllZGxpY2hlIERhdGVpZW4gZXh0cmFoaWVydCB3ZXJkZW4uIEJlaSBlaW5pZ2VuCiAgIFNjaHJpZnRhcnRlbiBpc3QgZXMgbm90d2VuZGlnLCBkZW0gUHJvZ3JhbW0gbWl0enV0ZWlsZW4sIHdpZSBkaWUKICAgU2NocmlmdGFydGVuIGtvZGllcnQgc2luZC4gSGllcnp1IGlzdCBkaWUgT3B0aW9uIC1jIHp1IHZlcndlbmRlbgogICB1bmQgZGFoaW50ZXIgZGllIEJlemVpY2hudW5nIGRlciBLb2RpZXJ1bmcgYW56dWdlYmVuLiBFaW5lCiAgINxiZXJzaWNodCD8YmVyIGFsbGUgdm9uIGRlbSBQcm9ncmFtbSB1bnRlcnN0/HR6dGVuIE9wdGlvbmVuIHdpcmQKICAgYXVzZ2VnZWJlbiwgd2VubiBlcyBvaG5lIFBhcmFtZXRlciBhdWZnZXJ1ZmVuIHdpcmQuIFVtIGFsc28KICAgYmVpc3BpZWxzd2Vpc2UgZGllIEJpdG1hcC1TY2hyaWZ0ZW4gYXVzIGRlciBEYXRlaSBTRVJJRkYuRk9OIGluCiAgIERhdGVpZW4genUgZXh0cmFoaWVyZW4sIGRlcmVuIE5hbWVuIG1pdCBkZXIgQmV6ZWljaG51bmcgc2VyaWZmCiAgIGJlZ2lubmVuLCB35HJlIGRhcyBQcm9ncmFtbSBzbyBhdWZ6dXJ1ZmVuOgogICAKICAgZm50MmJkZiAtbyBzZXJpZmYgU0VSSUZGLkZPTgogICAKICAgRXMgd2VyZGVuIGRhbm4gZWluZSBSZWloZSB2b24gRGF0ZWllbiBtaXQgdW50ZXJzY2hpZWRsaWNoZW4gRm9udHMKICAgYXVzIGRlciBPcmlnaW5hbGRhdGVpIGVyemV1Z3QuIEltIG7kY2hzdGVuIFNjaHJpdHQgc2luZCBkaWVzZQogICBEYXRlaWVuIG1pdCBkZW0gUHJvZ3JhbW0gYmRmdG9wY2YoMSkgaW4gZGFzIHNvIGdlbmFubnRlIFBvcnRhYmxlCiAgIENvbXBpbGVkIEZvcm1hdCB6dSD8YmVyc2V0emVuLiBEaWVzZXMgUHJvZ3JhbW0gc29sbHRlIEJlc3RhbmR0ZWlsCiAgIGplZGVyIFgxMS1JbnN0YWxsYXRpb24gc2VpbiB1bmQgaXN0IGR1cmNoIGVpbmUgTWFudWFsc2VpdGUKICAgZG9rdW1lbnRpZXJ0LiBVbSBiZWlzcGllbHN3ZWlzZSBkaWUgRGF0ZWkgc2VyaWZmX3I0MDAtMjMuYmRmIHp1CiAgIPxiZXJzZXR6ZW4gdW5kIGRhcyBFcmdlYm5pcyBpbiBkaWUgRGF0ZWkgc2VyaWZmX3I0MDAtMjMucGNmIHp1CiAgIHNjaHJlaWJlbiwga/ZubnRlIGRhcyBQcm9ncmFtbSBzbyBhdWZnZXJ1ZmVuIHdlcmRlbjoKICAgCiAgIGJkZnRvcGNmIC1vIHNlcmlmZl9yNDAwLTIzLnBjZiBzZXJpZmZfcjQwMC0yMy5iZGYKICAgCiAgIERpZSBhdWYgZGllc2UgV2Vpc2UgZXJ6ZXVndGVuIERhdGVpZW4ga/ZubmVuIG51biBpbiBlaW5lcyBkZXIsIHZvbgogICBkZW0gWC1TZXJ2ZXIgb2RlciBlaW5lbSBGb250c2VydmVyIGJlbnV0enRlbiwgRm9udC1WZXJ6ZWljaG5pcwogICBrb3BpZXJ0IHdlcmRlbi4gSW4gZGllc2VtIFZlcnplaWNobmlzIGlzdCBkYW5hY2ggZGVyIEJlZmVobAogICBta2ZvbnRkaXIgYXVmenVydWZlbiwgZGFtaXQgZGVyIGRvcnQgYmVmaW5kbGljaCBGb250aW5kZXggbmV1CiAgIGVyemV1Z3Qgd2lyZC4gIEJldm9yIGRpZSBTY2hyaWZ0ZW4gZGFubiB0YXRz5GNobGljaCB1bnRlciBYIHp1cgogICBWZXJm/Gd1bmcgc3RlaGVuIHVuZCBkYW1pdCB2b24gV0lORSBiZW51dHp0IHdlcmRlbiBr9m5uZW4sIG11c3MgWAogICBuZXUgZ2VzdGFydGV0IG9kZXIgZGVyIGZvbGdlbmRlIEJlZmVobCBhbiBkZXIgS29tbWFuZG96ZWlsZQogICBlaW5nZWdlYmVuIHdlcmRlbjoKICAgCiAgIHhzZXQgZnAgK3JlaGFzaAogICAKICAgSW0gVW50ZXJ2ZXJ6ZWljaG5pcyB0b29scyBkZXMgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3NlcyBiZWZpbmRldAogICBzaWNoIGVpbiBTaGVsbHNrcmlwdCBtaXQgZGVtIE5hbWVuIGZvbnRfY29udmVydC5zaCwgd2VsY2hlcyBkaWUKICAgb2JlbiBnZW5hbm50ZW4gU2Nocml0dGUgYXV0b21hdGlzY2ggZHVyY2hm/GhydCB1bmQgYWxsZSB1bnRlcmhhbGIKICAgZWluZXMgVmVyemVpY2huaXNzZXMgYmVmaW5kbGljaGVuIEJpdG1hcC1TY2hyaWZ0YXJ0ZW4gYXV0b21hdGlzY2gKICAga29udmVydGllcnQgdW5kIGluc3RhbGxpZXJ0LgogICAKICAgIDcuNi4yIEVpbmJpbmRlbiB2b24gVHJ1ZVR5cGUtU2NocmlmdGVuCiAgICAKICAgV2llIGJlcmVpdHMgZXJ35GhudCwga/ZubmVuIGRpZSBYLVNlcnZlciB2b24gWEZyZWU4NiBpbiBkZXIKICAgVmVyc2lvbnNmYW1pbGllIDMueCBrZWluZSBUcnVlVHlwZS1TY2hyaWZ0ZW4gZGFyc3RlbGxlbi4gU2VpdAogICBYRnJlZTg2IDQuMCBoYXQgc2ljaCBkaWVzIGFsbGVyZGluZ3MgZ2XkbmRlcnQsIHNvIGRhc3Mgc29sY2hlCiAgIFNjaHJpZnRlbiB6dWv8bmZ0aWcgcHJvYmxlbWxvcyB1bnRlciBYIC0gdW5kIGRhbWl0IGF1Y2ggbWl0IFdJTkUgLQogICB6dXIgVmVyZvxndW5nIGdlc3RlbGx0IHdlcmRlbiBr9m5uZW4uIExlaWRlciBr9m5uZW4g/GJlciBkYXMKICAgWC1Gb250LVByb3Rva29sbCBuaWNodCBhbGxlIHZvbiBtYW5jaGVuIFdpbmRvd3MtUHJvZ3JhbW1lbgogICBiZW72dGlndGVuIEluZm9ybWF0aW9uZW4g/GJlciBUcnVlVHlwZS1Gb250cyBkYXJnZXN0ZWxsdCB3ZXJkZW4sIHNvCiAgIGRhc3MgbWFuY2hlIFdpbmRvd3MtUHJvZ3JhbW1lIGF1Y2ggZGFubiBub2NoIG5pY2h0IHJpY2h0aWcKICAgZnVua3Rpb25pZXJlbiwgd2VubiBkaWUgYmVu9nRpZ3RlbiBGb250cyB6dXIgVmVyZvxndW5nIGdlc3RlbGx0CiAgIHdvcmRlbiBzaW5kLiBNaXQgWEZyZWU4NiAzLnggYmlldGV0IHNpY2ggZGVyIEVpbnNhdHogZWluZXMKICAgVHJ1ZVR5cGUtRm9udHNlcnZlcnMgYW4uIFp1ciBaZWl0IHN0ZWhlbiBkcmVpIHVudGVyc2NoaWVkbGljaGUKICAgc29sY2hlciBQcm9ncmFtbWUgenVyIFZlcmb8Z3VuZywgbuRtbGljaDogeGZzLXh0dCAoRGViaWFuLVBha2V0OgogICB4ZnMteHR0KSwgeGZzdHQgKERlYmlhbi1QYWtldCB4ZnN0dCkgdW5kIHhmc2Z0IChpbSBJbnRlcm5ldCB1bnRlcgogICBkZXIgQWRyZXNzZSBodHRwOi8vd3d3LmRjcy5lZC5hYy51ay9ob21lL2plYy9wcm9ncmFtcy94ZnNmdC8KICAgdmVyZvxnYmFyKS4KICAgCiAgIERlciBBdXRvciBoYXQgbWl0IGRlbSBQcm9ncmFtbSB4ZnNmdCBkaWUgYmVzdGVuIEVyZ2Vibmlzc2UgZXJ6aWVsdC4KICAgRGllc2VyIFNlcnZlciBs5HNzdCBzaWNoIGxlaWNodCBrb25maWd1cmllcmVuIHVuZCBpc3Qga29tcGF0aWJlbCB6dQogICBoZXJr9m1tbGljaGVuIEZvbnRzZXJ2ZXJuLCBzbyBkYXNzIG5pY2h0IHp3ZWkgdmVyc2NoaWVkZW5lCiAgIEZvbnRzZXJ2ZXIgYXVmIGVpbmVtIFJlY2huZXIgYXVzZ2Vm/GhydCB3ZXJkZW4gbfxzc2VuLiBEaWVzZXMKICAgUHJvZ3JhbW0gZGllbnRlIGF1Y2ggYWxzIEdydW5kbGFnZSBm/HIgZGllIEludGVncmF0aW9uIGRlcgogICBUcnVlVHlwZS1VbnRlcnN0/HR6dW5nIGluIFhGcmVlODYgNC4wLgogICAKICAgVW0gZGllIHZvbiBlaW5lbSBGb250c2VydmVyIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHRlbiBTY2hyaWZ0ZW4genUKICAgdmVyd2VuZGVuLCBtdXNzIGRlbSBYLVNlcnZlciBkaWUgQWRyZXNzZSBkZXMgRm9udHNlcnZlcnMgbWl0Z2V0ZWlsdAogICB3ZXJkZW4uIERpZXMga2FubiBlbnR3ZWRlciBpbiBkZXIgRGF0ZWkgL2V0Yy9YMTEvWEY4NkNvbmZpZyBvZGVyCiAgIGR1cmNoIEVpbmdhYmUgZGllc2VzIEJlZmVobHMgZ2VzY2hlaGVuOgogICAKICAgeHNldCBmcCsgdGNwL2xvY2FsaG9zdDo3MTAwCiAgIAogICBEYWJlaSBtdXNzIGxvY2FsaG9zdCB1LlUuIGdlZ2VuIGRlbiBOYW1lbiBkZXMgUmVjaG5lcnMgYXVzZ2V0YXVzY2h0CiAgIHdlcmRlbiwgYXVmIGRlbSBkZXIgRm9udHNlcnZlciBhdXNnZWb8aHJ0IHdlcmRlbiB1bmQgNzEwMCBkdXJjaCBkZW4KICAgUG9ydCwgZGVyIHZvbSBGb250c2VydmVyIGJlbnV0enQgd2lyZC4gV2VubiBkZXIgRm9udHNlcnZlciBhdWYgZGVtCiAgIHNlbGJlbiBSZWNobmVyIGF1c2dlZvxocnQgd2lyZCB3aWUgZGVyIFgtU2VydmVyLCBkYW5uIGv2bm5lbiB6dXIKICAgS29tbXVuaWthdGlvbiB6d2lzY2hlbiBYLVNlcnZlciB1bmQgRm9udHNlcnZlciBhdWNoCiAgIFVOSVgtRG9tYWluLVNvY2tldHMgYmVudXR6dCB3ZXJkZW4uIERlciBlbnRzcHJlY2hlbmRlIEJlZmVobCBr9m5udGUKICAgZGFubiBmb2xnZW5kZXJtYd9lbiBhdXNzZWhlbjoKICAgCiAgIHhzZXQgZnArIHVuaXgvOjcxMDAKICAgCiAgICA3LjYuMyBGb250LUVpbnN0ZWxsdW5nZW4gaW4gZGVyIFdJTkVzIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgIAogICBJbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSB+Ly53aW5lL2NvbmZpZyBiencuIHdpbmUuY29uZiBzdGVoZW4gZGllCiAgIGZvbGdlbmRlbiBWYXJpYWJsZW4genVyIFZlcmb8Z3VuZywgbWl0IGRlbmVuIFdJTkVzIFVtZ2FuZyBtaXQKICAgU2NocmlmdGFydGVuIGJlZWluZmx1c3N0IHdlcmRlbiBrYW5uOgogICAKICAgUmVzb2x1dGlvbgogICAgICAgICAgVW50ZXIgV2luZG93cyBr9m5uZW4gUHJvZ3JhbW1lIGRpZSBHcvbfZSBlaW5lcyB6dQogICAgICAgICAgdmVyd2VuZGVuZGVuIEZvbnRzIGluIFB1bmt0ZW4gKGFuIFN0ZWxsZSB2b24gUGl4ZWxuKQogICAgICAgICAgYW5nZWJlbi4gRGFtaXQgZGllIFNjaHJpZnRhcnQgZGFubiBpbiBkZXIgcmljaHRpZ2VuIEdy9t9lCiAgICAgICAgICBhbmdlemVpZ3Qgd2VyZGVuIGthbm4sIG11c3MgZGllIHRhdHPkY2hsaWNoZSBHcvbfZSBkZXMKICAgICAgICAgIEJpbGRzY2hpcm1zIGJla2FubnQgc2Vpbiwgd2FzIHVudGVyIFggbmljaHQgdW5iZWRpbmd0IGRlcgogICAgICAgICAgRmFsbCBpc3QuIE1pdCBkZXIgVmFyaWFibGUgUmVzb2x1dGlvbiBrYW5uIGRlc3dlZ2VuIGp1c3RpZXJ0CiAgICAgICAgICB3ZXJkZW4sIHdlbGNoZSBTY2hyaWZ0Z3L232VuIGluIHNvbGNoZW4gRuRsbGVuIHZvbiBXSU5FCiAgICAgICAgICBhdXNnZXfkaGx0IHdlcmRlbi4gRGVyIFN0YW5kYXJkd2VydCBpc3QgOTYsIHNpbm52b2xsZSBXZXJ0ZQogICAgICAgICAgbGllZ2VuIHp3aXNjaGVuIDYwIHVuZCAxMjAuIEJlaXNwaWVsOiAiUmVzb2x1dGlvbiIgPSAiMTAwIi4KICAgICAgICAgIAogICBEZWZhdWx0CiAgICAgICAgICBNaXQgZGllc2VyIFZhcmlhYmxlIHdpcmQgYW5nZWdlYmVuLCB3ZWxjaGUgU2NocmlmdGFydCBXSU5FCiAgICAgICAgICBhbHMgU3RhbmRhcmQgdmVyd2VuZGVuIHNvbGwuIERpZSBkYWJlaSBhbnp1Z2ViZW5kZQogICAgICAgICAgWmVpY2hlbmtldHRlIGJlc3RlaHQgYXVzIGRlciBIZXJzdGVsbGVyYmV6ZWljaG51bmcgZGVyIHp1CiAgICAgICAgICB2ZXJ3ZW5kZW5kZW4gU2NocmlmdGFydCB1bmQgaWhyZW0gTmFtZW4sIGRpZXNlIEJlemVpY2hudW5nZW4KICAgICAgICAgIHdlcmRlbiBkdXJjaCBlaW4gTWludXN6ZWljaGVuIG1pdGVpbmFuZGVyIHZlcmJ1bmRlbiwKICAgICAgICAgIGF132VyZGVtIG11c3Mgc2ljaCB6dSBCZWdpbm4gdW5kIGFtIEVuZGUgZGVyIFplaWNoZW5rZXR0ZQogICAgICAgICAgZWluIE1pbnVzemVpY2hlbiBiZWZpbmRlbi4gIERpZSB1bnRlciBYMTEgdmVyZvxnYmFyZW4gRm9udHMKICAgICAgICAgIGv2bm5lbiBiZWlzcGllbHN3ZWlzZSBtaXQgZGVuIFByb2dyYW1tZW4geGZvbnRzZWwoMSkgb2RlcgogICAgICAgICAgeGxzZm9udHMoMSkgYXVzZ2V35GhsdCB3ZXJkZW4uICAKICAgICAgICAgIEJlaXNwaWVsOiAiRGVmYXVsdCIgPSAgIi1hZG9iZS10aW1lcy0iCiAgICAgICAgICAKICAgRGVmYXVsdEZpeGVkCiAgICAgICAgICBIaWVybWl0IHdpcmQgZmVzdGdlbGVndCwgd2VsY2hlbiBGb250IFdJTkUgYWxzCiAgICAgICAgICBzdGFuZGFyZG3k32lnZSBTY2hyaWZ0YXJ0IG1pdCBnbGVpY2ht5N9pZ2VyIEJ1Y2hzdGFiZW5icmVpdGUKICAgICAgICAgIHZlcndlbmRlbiBzb2xsLiAgRGVyIE5hbWUgZGVyIGdld/xuc2NodGVuIFNjaHJpZnQgaXN0IHdpZQogICAgICAgICAgYmVpIGRlciBWYXJpYWJsZW4gRGVmYXVsdCBhbnp1Z2ViZW4uIEJlaXNwaWVsOgogICAgICAgICAgIkRlZmF1bHRGaXhlZCIgPSAiLXNvbnktZml4ZWQtIgogICAgICAgICAgCiAgIERlZmF1bHRTZXJpZgogICAgICAgICAgSGllcm1pdCB3aXJkIGZlc3RnZWxlZ3QsIHdlbGNoZW4gRm9udCBXSU5FIGFscwogICAgICAgICAgc3RhbmRhcmRt5N9pZ2UgU2NocmlmdGFydCBtaXQgU2VyaWZlbiB2ZXJ3ZW5kZW4KICAgICAgICAgIHNvbGwuIEJlaXNwaWVsOiAiRGVmYXVsdFNlcmlmIiA9ICItYWRvYmUtdGltZXMtIgogICAgICAgICAgCiAgIERlZmF1bHRTYW5zU2VyaWYKICAgICAgICAgIEhpZXJtaXQgd2lyZCBiZXN0aW1tdCwgd2VsY2hlbiBGb250IFdJTkUgYWxzIHN0YW5kYXJkbeTfaWdlCiAgICAgICAgICBTY2hyaWZ0YXJ0IG9obmUgU2VyaWZlbiB2ZXJ3ZW5kZW4gc29sbC4gQmVpc3BpZWw6CiAgICAgICAgICAiRGVmYXVsdFNhbnNTZXJpZiIgPSAiLWFkb2JlLWhlbHZldGljYS0iCiAgICAgICAgICAKICAgRm9udG1ldHJpYwogICAgICAgICAgV2VubiBXSU5FIGRhcyBlcnN0ZSBNYWwgZ2VzdGFydGV0IHdpcmQsIGZyYWd0IGVzIHZvbQogICAgICAgICAgWC1TZXJ2ZXIgZGllIEVpZ2Vuc2NoYWZ0ZW4gZGVyIHZlcmb8Z2JhcmVuIEZvbnRzIGFiLiAgV2VpbAogICAgICAgICAgZGllc2UgT3BlcmF0aW9uIHJlY2h0IHplaXRhdWZ3ZW5kaWcgaXN0LCB3aXJkIGRhcyBFcmdlYm5pcwogICAgICAgICAgZGVyIEFiZnJhZ2UgaW4gZWluZXIgRGF0ZWkgaW0gSGVpbWF0dmVyemVpY2huaXMgZGVzCiAgICAgICAgICBiZXRyZWZmZW5kZW4gQmVudXR6ZXJzIGdlc3BlaWNoZXJ0LiBEaWUgQWJmcmFnZSBicmF1Y2h0IGRhbm4KICAgICAgICAgIGJlaSBlaW5lbSBzcOR0ZXJlbiBBdWZydWYgZGVzIFByb2dyYW1tcyBudXIgYXVzZ2Vm/GhydCB6dQogICAgICAgICAgd2VyZGVuLCBmYWxscyBzaWNoIGRpZSB2ZXJm/GdiYXJlbiBGb250cyBnZeRuZGVydCBoYWJlbi4gTWl0CiAgICAgICAgICBkaWVzZXIgVmFyaWFibGVuIGthbm4gYW5nZWdlYmVuIHdlcmRlbiwgaW4gd2VsY2hlciBEYXRlaSBkaWUKICAgICAgICAgIEZvbnRkYXRlbiB6d2lzY2hlbmdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsZW4uIERhZHVyY2ggbORzc3QKICAgICAgICAgIHNpY2ggYmVpc3BpZWxzd2Vpc2UgdmVybWVpZGVuLCBkYXNzIGRpZSBBYmZyYWdlIGb8ciBqZWRlbgogICAgICAgICAgQmVudXR6ZXIgZXJuZXV0IGF1c2dlZvxocnQgd2VyZGVuIG11c3MuIEJlaXNwaWVsOgogICAgICAgICAgIkZvbnRtZXRyaWMiID0gIi92YXIvbGliL1dJTkUvZm9udC5jYWNoZSIuCiAgICAgICAgICAKICAgQWxpYXMKICAgICAgICAgIFdpZSB3ZWl0ZXIgb2JlbiBiZXJlaXRzIGFuZ2VzcHJvY2hlbiwga2FubiBlcyB2b3Jrb21tZW4sCiAgICAgICAgICBkYXNzIFdpbmRvd3MtQW53ZW5kdW5nZW4gYmVzdGltbXRlIFNjaHJpZnRhcnRlbiBiZW51dHplbgogICAgICAgICAgd29sbGVuLCBkaWUgdm9tIFgtU2VydmVyIG5pY2h0IHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQKICAgICAgICAgIHdlcmRlbi4gTWl0IGRlciBWYXJpYWJsZSBBbGlhcyBr9m5uZW4gc29sY2hlbiBGb250bmFtZW4KICAgICAgICAgIGFuZGVyZW4sIHVudGVyIFggdmVyZvxnYmFyZW4gU2NocmlmdGFydGVuIHp1Z2VvcmRuZXQKICAgICAgICAgIHdlcmRlbi4gV2VydGUsIGRpZSBkaWVzZXIgVmFyaWFibGVuIHp1Z2VvcmRuZXQgd2VyZGVuLAogICAgICAgICAgYmVzdGVoZW4gYXVzIGRyZWkgRWxlbWVudGVuLCBkaWUgZHVyY2ggS29tbWF0YSB2b25laW5hbmRlcgogICAgICAgICAgenUgdHJlbm5lbiBzaW5kLiBEYXMgZXJzdGUgRWxlbWVudCBpc3QgZGVyIE5hbWUgZGVyIHp1CiAgICAgICAgICBlcnNldHplbmRlbiBTY2hyaWZ0YXJ0LCBkYXMgendlaXRlIEVsZW1lbnQgZGVyIE5hbWUgZGVyIFgKICAgICAgICAgIFNjaHJpZnRhcnQsIGluIGRlciBGb3JtLCB3aWUgc2llIGF1Y2ggYmVpIGRlciBEZWZpbml0aW9uIGRlcgogICAgICAgICAgVmFyaWFibGVuIERlZmF1bHQgYW56dWdlYmVuIGlzdC4gQWxzIGRyaXR0ZXMgRWxlbWVudCBrYW5uCiAgICAgICAgICBvcHRpb25hbCBkYXMgU2NobPxzc2Vsd29ydCBzdWJzdCBhbmdlZ2ViZW4gd2VyZGVuLiAgRGllc2VzCiAgICAgICAgICBTY2hs/HNzZWx3b3J0IGJld2lya3QsIGRhc3MgZHVyY2ggZGllIEFsaWFzZGVmaW5pdGlvbiBlaW5lCiAgICAgICAgICBiZXJlaXRzIHZvcmhhbmRlbmUgRGVmaW5pdGlvbiAoZGllIHZvbiBXSU5FIGF1dG9tYXRpc2NoCiAgICAgICAgICBlcnN0ZWxsdCB3dXJkZSkg/GJlcnNjaHJpZWJlbiB3aXJkLiBXZWlsIGVzIG32Z2xpY2ggaXN0LAogICAgICAgICAgbWVocmVyZSBBbGlhcy1EZWZpbml0aW9uZW4gdm9yenVuZWhtZW4sIG11c3MgZGVyCiAgICAgICAgICBWYXJpYWJsZW5iZXplaWNobnVuZyBBbGlhcyBqZXdlaWxzIGVpbmUgWmFobCBuYWNoZ2VzdGVsbHQKICAgICAgICAgIHdlcmRlbiwgbWl0IGRlciBhbmdlZ2ViZW4gd2lyZCwgdW0gZGllIHdpZXZpZWx0ZQogICAgICAgICAgQWxpYXMtRGVmaW5pdGlvbiBlcyBzaWNoIGhhbmRlbHQuIERhYmVpIGlzdCBtaXQgZGVyIFphaGwKICAgICAgICAgIE51bGwgenUgYmVnaW5uZW4sIGVzIGRhcmYga2VpbmUgWmFobCBhdXNnZWxhc3NlbgogICAgICAgICAgd2VyZGVuLiBCZWlzcGllbDogIkFsaWFzMCIgPSAiU3lzdGVtLCAtLWludGVybmF0aW9uYWwtLCBzdWJzdCIKICAgICAgICAgIAogIDcuNyBLb25maWd1cmF0aW9uIHZvbiBTY2huaXR0c3RlbGxlbiB1bmQgSGFyZHdhcmV6dWdyaWZmCiAgCiAgIFdJTkUga2FubiBBbndlbmR1bmdlbiBkZW4gZGlyZWt0ZW4gWnVncmlmZiBhdWYgc2VyaWVsbGUgdW5kCiAgIHBhcmFsbGVsZSBTY2huaXR0c3RlbGxlbiBzb3dpZSBhdWYgd2VpdGVyZSBiZWxpZWJpZ2UgRWluLSB1bmQKICAgQXVzZ2FiZWFkcmVzc2VuIGdlc3RhdHRlbi4gR3J1bmRz5HR6bGljaCBpc3QgZGFiZWkgenUgYmVkZW5rZW4sCiAgIGRhc3MgZGVyIGJldHJlZmZlbmRlIFdJTkUtUHJvemVzcyBtaXQgYXVzcmVpY2hlbmRlbiBQcml2aWxlZ2llbgogICBhdXNnZXN0YXR0ZXQgc2VpbiBtdXNzLCBkYW1pdCBlaW4gc29sY2hlciBadWdyaWZmIHRhdHPkY2hsaWNoCiAgIG32Z2xpY2ggd2lyZC4gV2lyZCBXSU5FIG1pdCBnZXf2aG5saWNoZW4gQmVudXR6ZXJyZWNodGVuICh1bmQgbmljaHQKICAgbWl0IGRlbiBQcml2aWxlZ2llbiBkZXMgQWRtaW5pc3RyYXRvcnMpIGF1c2dlZvxocnQsIGJlZGV1dGV0IGRpZXMKICAgaW4gZGVyIFJlZ2VsLCBkYXNzIGRpZSBadWdyaWZmc3JlY2h0ZSBhdWYgZGllIEdlcuR0ZWRhdGVpZW4sIHdlbGNoZQogICBHZXLkdGUgcmVwcuRzZW50aWVyZW4sIGF1ZiBkaWUgV2luZG93cy1Qcm9ncmFtbWVuIGRlciBadWdyaWZmCiAgIGdlc3RhdHRldCB3ZXJkZW4gc29sbCwg/GJlcnBy/GZ0IHdlcmRlbiBt/HNzZW4uIERlciBkaXJla3RlIFp1Z3JpZmYKICAgYXVmIEVpbi0gdW5kIEF1c2dhYmVhZHJlc3NlbiBpc3QgdW50ZXIgTGludXggYXVzc2NobGll32xpY2ggZGVtCiAgIEFkbWluaXN0cmF0b3IgZ2VzdGF0dGV0LgogICAKICAgWnVyIEtvbmZpZ3VyYXRpb24gZGVyIHNlcmllbGxlbiBTY2huaXR0c3RlbGxlbiBkaWVudCBkZXIgQWJzY2huaXR0CiAgIFtzZXJpYWxwb3J0c10gaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkuIERpZSBlaW56ZWxuZW4gVmFyaWFibGVuIGluCiAgIGRpZXNlbSBBYnNjaG5pdHQgYmV6ZWljaG5lbiBkaWUgc2VyaWVsbGVuIFNjaG5pdHRzdGVsbGVuIHNvIHdpZSBlcwogICB1bnRlciBET1MgdW5kIFdpbmRvd3Mg/GJsaWNoIGlzdCAoQ29tMSwgQ29tMiB1c3cuKS4gQWxzIFdlcnQgd2lyZAogICBkaWVzZW4gVmFyaWFibGVuIGRlciBOYW1lIGRlciBHZXLkdGVkYXRlaSD8YmVyZ2ViZW4sIHdlbGNoZSBkaWUKICAgZW50c3ByZWNoZW5kZSBTY2huaXR0c3RlbGxlIHVudGVyIExpbnV4IHJlcHLkc2VudGllcnQuIEZhbGxzIGFsc28KICAgV2luZG93cy1BbndlbmR1bmdlbiB1bnRlciBXSU5FIPxiZXIgZGllIFNjaG5pdHRzdGVsbGUgQ29tMSBhdWYgZGFzCiAgIEdlcuR0IHp1Z3JlaWZlbiBzb2xsZW4sIGRhcyB1bnRlciBMaW51eCBkdXJjaCBkaWUgR2Vy5HRlZGF0ZWkKICAgL2Rldi90dHlTMCByZXBy5HNlbnRpZXJ0IHdpcmQsIHNvIG11c3MgaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgZGVyIGZvbGdlbmRlIEFic2Nobml0dCB6dSBmaW5kZW4gc2VpbjoKCiAgIFtzZXJpYWxwb3J0c10KICAgIkNvbTEiID0gIi9kZXYvdHR5UzAiCgoKICAgRGllIEtvbmZpZ3VyYXRpb24gcGFyYWxsZWxlciBTY2huaXR0c3RlbGxlbiBlcmZvbGd0IGFuYWxvZyB6dXIKICAgS29uZmlndXJhdGlvbiBzZXJpZWxsZXIuIERlciBOYW1lIGRlcyBlbnRzcHJlY2hlbmRlbiBBYnNjaG5pdHRzCiAgIGxhdXRldCBbcGFyYWxsZWxwb3J0c10gdW5kIGRpZSBOYW1lbiBwYXJhbGxlbGVyIFNjaG5pdHRzdGVsbGVuCiAgIHVudGVyIERPUyB1bmQgV2luZG93cyBsYXV0ZW4gTHB0MSwgbHB0MiB1c3cuIFdlbm4gYWxzbyB2b24KICAgV2luZG93cy1Qcm9ncmFtbWVuIHVudGVyIFdJTkUg/GJlciBkZW4gTmFtZW4gTHB0MSBhdWYgZGllIHBhcmFsbGVsZQogICBTY2huaXR0c3RlbGxlIHp1Z2VncmlmZmVuIHdlcmRlbiBzb2xsLCB3ZWxjaGUgdW50ZXIgTGludXggZHVyY2ggZGllCiAgIEdlcuR0ZWRhdGVpIC9kZXYvbHAwIHJlcHLkc2VudGllcnQgd2lyZCwgc28gd+RyZSBpbiBkaWUKICAgS29uZmlndXJhdGlvbnNkYXRlaSBkaWVzZXIgQWJzY2huaXR0IGF1Znp1bmVobWVuLgoKICAgW3BhcmFsbGVscG9ydHNdCiAgICJMcHQxIiA9ICIvZGV2L2xwMCIKCiAgIFVtIGRlbiBadWdyaWZmIGF1ZiBiZXN0aW1tdGUgRWluLSB1bmQgQXVzZ2FiZWFkcmVzc2VuIHp1IGVybfZnbGljaGVuLAogICBzaW5kIGRpZSBnZXf8bnNjaHRlbiBBZHJlc3NlbiBpbiBoZXhhZGV6aW1hbGVyIFNjaHJlaWJ3ZWlzZSBpbQogICBBYnNjaG5pdHQgW3BvcnRzXSBhbnp1Z2ViZW4uIEFscyBBZHJlc3NlbiBsYXNzZW4gc2ljaCBlbnR3ZWRlcgogICBlaW56ZWxuZSBBZHJlc3NlbiAoQmVpc3BpZWw6IDB4Nzc5KSBvZGVyIEFkcmVzc2JlcmVpY2hlIGFuZ2ViZW4uIEJlaQogICBBZHJlc3NiZXJlaWNoZW4gd2VyZGVuIGRpZSB1bnRlcmUgdW5kIG9iZXJlIEFkcmVzc2UgZGVzIGdld/xuc2NodGVuCiAgIEJlcmVpY2hzLCB2ZXJidW5kZW4gZHVyY2ggZWluZW4gQmluZGVzdHJpY2gsIGFuZ2VnZWJlbiAoQmVpc3BpZWw6CiAgIDB4MjgwLTB4MmEwKS4gV2VubiBtZWhyZXJlIEFkcmVzc2VuIG9kZXIgQWRyZXNzYmVyZWljaGUga29uZmlndXJpZXJ0CiAgIHdlcmRlbiBzb2xsZW4sIHNpbmQgZGllc2UgaGludGVyZWluYW5kZXIgLSBkdXJjaCBLb21tYXRhIGdldHJlbm50IC0KICAgYW56dWdlYmVuLiBBZHJlc3Nlbiwgdm9uIGRlbmVuIGdlbGVzZW4gd2VyZGVuIHNvbGwsIHNpbmQgZGVyIFZhcmlhYmxlbgogICByZWFkIHp1enVvcmRuZW4gdW5kIHNvbGNoZSwgYXVmIGRpZSBnZXNjaHJpZWJlbiB3ZXJkZW4gc29sbCwgZGVyCiAgIFZhcmlhYmxlbiB3cml0ZS4gRmFsbHMgYXVmIGVpbmUgYmVzdGltbXRlIEFkcmVzc2Ugc293b2hsIGxlc2VuZCBhbHMKICAgYXVjaCBzY2hyZWliZW5kIHp1Z2VncmlmZmVuIHdlcmRlbiBzb2xsLCBpc3Qgc2llIGJlaWRlbiBWYXJpYWJsZW4KICAgenV6dW9yZG5lbi4gQmVpc3BpZWw6CgogICBbcG9ydHNdCiAgICJyZWFkIiA9ICIweDM3OCwweDM3OSwweDIyMC0weDJhMCIKICAgIndyaXRlIiA9ICIweDM3OSwweDIyMC0weDJhMCIKCgogICAgNy43LjEgWnVncmlmZiBhdWYgU0NTSS1HZXLkdGUKICAgIAogICBXSU5FIGVybfZnbGljaHQgYXVjaCBkZW4gZGlyZWt0ZW4gWnVncmlmZiBhdWYgU0NTSS1HZXLkdGUgKPxiZXIgZGllCiAgIEFTUEktU2Nobml0dHN0ZWxsZSkuIEhpZXJ6dSBzaW5kIGtlaW5lIHNwZXppZWxsZW4gQW5nYWJlbiBpbiBkZXIKICAgS29uZmlndXJhdGlvbiBub3R3ZW5kaWcsIGFsbGVyZGluZ3MgbXVzcyBkZXIgS2VybmVsIGRlcyBTeXN0ZW1zIHNvCiAgIGtvbmZpZ3VyaWVydCB3b3JkZW4gc2VpbiwgZGFzcyBlciBkaWUgVW50ZXJzdPx0enVuZyBm/HIgZ2VuZXJpc2NoZW4KICAgU0NTSS1adWdyaWZmIGVudGjkbHQuIEF132VyZGVtIG38c3NlbiBkaWUgR2Vy5HRlZGF0ZWllbiwgd2VsY2hlIGRpZQogICBnZW5lcmlzY2hlbiBTQ1NJLUdlcuR0ZSByZXBy5HNlbnRpZXJlbiAobm9ybWFsZXJ3ZWlzZSAvZGV2L3NnMCwKICAgL2Rldi9zZzEgdXN3LikgbWl0IGF1c3JlaWNoZW5kZW4gUmVjaHRlbiBm/HIgZGVuIFp1Z3JpZmYKICAgYXVzZ2VzdGF0dGV0IHNlaW4uCiAgIAogIDcuOCBLb25maWd1cmF0aW9uIGRlciBXaW5kb3dzLVN5c3RlbXJlZ2lzdHJhdHVyCiAgCiAgIFdpbmRvd3MtQmV0cmllYnNzeXN0ZW1lIHN0ZWxsZW4gZWluZSBEYXRlbmJhbmsgenVyIFZlcmb8Z3VuZywgaW4KICAgZGVyIFByb2dyYW1tZSB1LmEuIEtvbmZpZ3VyYXRpb25zZGF0ZW4gYWJsZWdlbiB1bmQgc3DkdGVyIHdpZWRlcgogICBhdXNsZXNlbiBr9m5uZW4uIERpZXNlIHNvIGdlbmFubnRlIFJlZ2lzdHJhdHVyIHdpcmQgdm9uIFdJTkUKICAgZWJlbmZhbGxzIGJlcmVpdGdlc3RlbGx0LiBXSU5FIGlzdCBmZXJuZXIgaW4gZGVyIExhZ2UsIGRpZQogICBSZWdpc3RyYXR1ciBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiB6dSBpbXBvcnRpZXJlbiwKICAgZGFtaXQgZGVuIG1pdCBXSU5FIGF1c2dlZvxocnRlbiBQcm9ncmFtbWVuIGFsbGUgRGF0ZW4genVyIFZlcmb8Z3VuZwogICBzdGVoZW4sIGRpZSBhdWNoIHVudGVyIFdpbmRvd3MgdmVyZvxnYmFyIHNpbmQuIERpZXMgaXN0CiAgIGluc2Jlc29uZGVyZSBkYW5uIHZvbiBCZWRldXR1bmcsIHdlbm4gUHJvZ3JhbW1lIHVudGVyIFdpbmRvd3MKICAgaW5zdGFsbGllcnQgd29yZGVuIHNpbmQgdW5kIHVudGVyIFdJTkUgYXVzZ2Vm/GhydCB3ZXJkZW4uIEVzIGlzdCB6dQogICBiZWFjaHRlbiwgZGFzcyBXSU5FIGRpZSBSZWdpc3RyYXR1ciBlaW5lciBiZXN0ZWhlbmRlbgogICBXaW5kb3dzLUluc3RhbGxhdGlvbiBuaWVtYWxzIHZlcuRuZGVydC4gIEZhbGxzIFByb2dyYW1tZSBhbHNvIHVudGVyCiAgIFdJTkUgRGF0ZW4gaW4gZGllIFJlZ2lzdHJhdHVyIHNjaHJlaWJlbiwgc3RlaGVuIGRpZXNlIHVudGVyIFdpbmRvd3MKICAgbmljaHQgenVyIFZlcmb8Z3VuZy4gV0lORSBzcGVpY2hlcnQgZGllIFJlZ2lzdHJhdHVyIHZpZWxtZWhyIGluCiAgIGVpZ2VuZW4gRGF0ZWllbiwgd2VsY2hlIHNpY2gg/GJsaWNoZXJ3ZWlzZSB1bnRlcmhhbGIgZGVzCiAgIEhlaW1hdHZlcnplaWNobmlzc2VzIGRlcyBiZXRyZWZmZW5kZW4gQmVudXR6ZXJzIGJlZmluZGVuLiBOZWJlbiBkZW4KICAgYmVudXR6ZXJzcGV6aWZpc2NoZW4gUmVnaXN0cmF0dXJkYXRlbiBr9m5uZW4gdm9tIEFkbWluaXN0cmF0b3IKICAgc3lzdGVtd2VpdCBn/Gx0aWdlIERhdGVpZW4gYmVyZWl0IGdlc3RlbGx0IHdlcmRlbi4gRGllc2UgYmVmaW5kZW4KICAgc2ljaCD8YmxpY2hlcndlaXNlIGluIGRlbSBnbGVpY2hlbiBWZXJ6ZWljaG5pcyB3aWUgZGllIHN5c3RlbXdlaXQKICAgZ/xsdGlnZSBLb25maWd1cmF0aW9uc2RhdGVpLCBhbHNvIGluIC9ldGMgb2RlciBpbiAvdXNyL2xvY2FsL2V0YywKICAgd2VubiBXSU5FIG1pdCBkZW4gU3RhbmRhcmRlaW5zdGVsbHVuZ2VuIPxiZXJzZXR6dCB3dXJkZS4gSW0KICAgQWJzY2huaXR0IFtyZWdpc3RyeV0gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgc3RlaGVuIGRpZSBmb2xnZW5kZW4KICAgVmFyaWFibGVuIHp1ciBWZXJm/Gd1bmcsIG1pdCBkZW5lbiB1LmEuIGJlc3RpbW10IHdlcmRlbiBrYW5uLCBvYgogICBlaW5lIGJlc3RlaGVuZGVuIFJlZ2lzdHJhdHVyIGltcG9ydGllcnQgd2VyZGVuIHNvbGwgdW5kIHdvIFdJTkUgZGllCiAgIGVpZ2VuZSBSZWdpc3RyYXR1ciBhYmxlZ2VuIHNvbGwuCiAgIAogICBMb2FkR2xvYmFsUmVnaXN0cnlGaWxlcwogICAgICAgICAgV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IGlzdCwgbGllc3QKICAgICAgICAgIFdJTkUgZGllIHN5c3RlbXdlaXQgZ/xsdGlnZW4gUmVnaXN0cmF0dXJkYXRlbiBlaW4uIERpZXMgaXN0CiAgICAgICAgICBkaWUgU3RhbmRhcmRlaW5zdGVsbHVuZy4gQmVpc3BpZWw6ICJMb2FkR2xvYmFsUmVnaXN0cnlGaWxlcyIgPQogICAgICAgICAgInRydWUiCiAgICAgICAgICAKICAgTG9hZEhvbWVSZWdpc3RyeUZpbGVzCiAgICAgICAgICBXZW5uIGRpZXNlIFZhcmlhYmxlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQgaXN0LCBsaWVzdAogICAgICAgICAgV0lORSBkaWUgUmVnaXN0cmF0dXJkYXRlbiBhdXMgZGVtIFZlcnplaWNobmlzIC53aW5lIGltCiAgICAgICAgICBIZWltYXR2ZXJ6ZWljaG5pcyBkZXMgYXVmcnVmZW5kZW4gQmVudXR6ZXJzIGVpbi4gRGllCiAgICAgICAgICBSZWdpc3RyYXR1cmRhdGVuIGRlcyBCZW51dHplcnMgd2VyZGVuIG5hY2ggZGVuIHN5c3RlbXdlaXQKICAgICAgICAgIGf8bHRpZ2VuIERhdGVuIGdlbGFkZW4sIHNvIGRhc3MgQmVudXR6ZXIgZGllCiAgICAgICAgICBWb3JlaW5zdGVsbHVuZ2VuIGF1cyBkZXIgZ2xvYmFsZW4gUmVnaXN0cmF0dXIgbWl0IGVpZ2VuZW4KICAgICAgICAgIFdlcnRlbiD8YmVyc2NocmVpYmVuIGv2bm5lbi4gQmVpc3BpZWw6CiAgICAgICAgICAiTG9hZEhvbWVSZWdpc3RyeUZpbGVzIiA9ICJ0cnVlIiAKICAgICAgICAgIAogICBMb2FkV2luZG93c1JlZ2lzdHJ5RmlsZXMKICAgICAgICAgIE1pdCBkaWVzZXIgVmFyaWFibGVuIHdpcmQgYmVzdGltbXQsIG9iIGRpZSBSZWdpc3RyYXR1ciBlaW5lcgogICAgICAgICAgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gZ2VsYWRlbiB3ZXJkZW4gc29sbC4gV2VubgogICAgICAgICAgZGllIFZhcmlhYmxlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQgaXN0LCBzdGVsbHQgV0lORQogICAgICAgICAgc2VsYnN0c3TkbmRpZyBmZXN0LCB1bSB3ZWxjaGUgVmVyc2lvbiB2b24gV2luZG93cyBlcyBzaWNoCiAgICAgICAgICBiZWkgZGVyIGJlc3RlaGVuZGVuIEluc3RhbGxhdGlvbiBoYW5kZWx0IHVuZCBsaWVzdCBkaWUKICAgICAgICAgIFJlZ2lzdHJhdHVyZGF0ZW4gZGVyIEluc3RhbGxhdGlvbiBlaW4uIEVzIGlzdCB6dSBiZWFjaHRlbiwKICAgICAgICAgIGRhc3MgZGllcyBudXIgZnVua3Rpb25pZXJ0LCB3ZW5uIGRhcyBXaW5kb3dzLSB1bmQgZGFzCiAgICAgICAgICBTeXN0ZW12ZXJ6ZWljaG5pcyBpbSBhbGxnZW1laW5lbiBUZWlsIGRlcgogICAgICAgICAgS29uZmlndXJhdGlvbnNkYXRlaSByaWNodGlnIGFuZ2VnZWJlbiB3b3JkZW4gc2luZCB1bmQgZGVyCiAgICAgICAgICBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24gZW50c3ByZWNoZW4uIEF132VyZGVtIGlzdCBlcwogICAgICAgICAgdS5VLiBub3R3ZW5kaWcsIGRpZSBWYXJpYWJsZSBQcm9maWxlIGltIGFsbGdlbWVpbmVuIFRlaWwKICAgICAgICAgIHJpY2h0aWcgenUgc2V0emVuLiBCZWlzcGllbDogIkxvYWRXaW5kb3dzUmVnaXN0cnlGaWxlcyIgPSAidHJ1ZSIuCiAgICAgICAgICAKICAgV3JpdGVUb0hvbWVSZWdpc3RyeUZpbGVzCiAgICAgICAgICBXaXJkIGRpZXNlIFZhcmlhYmxlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQsIHZlcnN1Y2h0IFdJTkUKICAgICAgICAgIGFsbGUgxG5kZXJ1bmdlbiwgZGllIHfkaHJlbmQgZGVyIExhdWZ6ZWl0IHZvbiBXSU5FIGFuIGRlcgogICAgICAgICAgUmVnaXN0cmF0dXIgdm9yZ2Vub21tZW4gd2VyZGVuLCBpbiBkaWUgUmVnaXN0cmF0dXJkYXRlaWVuIGltCiAgICAgICAgICBWZXJ6ZWljaG5pcyAud2luZSBkZXMgYXVmcnVmZW5kZW4gQmVudXR6ZXJzIHp1CiAgICAgICAgICBzY2hyZWliZW4uIERpZXMgaXN0IGluIGRlciBSZWdlbCBub3R3ZW5kaWcsIGRhbWl0CiAgICAgICAgICBXaW5kb3dzLVByb2dyYW1tZSAoaW5zYmVzb25kZXJlIEluc3RhbGxhdGlvbnNwcm9ncmFtbWUpCiAgICAgICAgICDEbmRlcnVuZ2VuIGFuIGRlciBLb25maWd1cmF0aW9uIGFic3BlaWNoZXJuCiAgICAgICAgICBr9m5uZW4uIEJlaXNwaWVsOiAiV3JpdGVUb0hvbWVSZWdpc3RyeUZpbGVzIiA9ICJ0cnVlIi4KICAgICAgICAgICAgICAgICAgICAKICAgUGVyaW9kaWNTYXZlCiAgICAgICAgICBXZW5uIFZlcuRuZGVydW5nZW4gYW4gZGVyIFJlZ2lzdHJhdHVyIHZvbiBXSU5FIGdlc3BlaWNoZXJ0CiAgICAgICAgICB3ZXJkZW4gc29sbGVuLCBnZXNjaGllaHQgZGllcyBub3JtYWxlcndlaXNlIGF1dG9tYXRpc2NoLAogICAgICAgICAgd+RocmVuZCBXSU5FIGJlZW5kZXQgd2lyZC4gQWxsZXJkaW5ncyB3ZXJkZW4gZGllIMRuZGVydW5nZW4KICAgICAgICAgIGRhbm4gbmljaHQgZ2VzcGVpY2hlcnQsIHdlbm4gV0lORSBhdWZncnVuZCBlaW5lcyBGZWhsZXJzCiAgICAgICAgICBuaWNodCBrb3JyZWt0IGJlZW5kZXQgd2VyZGVuIGthbm4uIERlc3dlZ2VuIGlzdCBlcyBt9mdsaWNoLAogICAgICAgICAgbWl0IGRpZXNlciBWYXJpYWJsZW4gYW56dWdlYmVuLCBpbiB3ZWxjaGVtIFplaXRpbnRlcnZhbGwgZGFzCiAgICAgICAgICBQcm9ncmFtbSBkaWUgUmVnaXN0cmF0dXIgYXV0b21hdGlzY2ggc2ljaGVybiBzb2xsLiBEaWUKICAgICAgICAgIGRpZXNlciBWYXJpYWJsZW4g/GJlcmdlYmVuZSBaYWhsIHdpcmQgYWxzIFplaXRpbnRlcnZhbGwgaW4KICAgICAgICAgIFNla3VuZGVuIGludGVycHJldGllcnQuIERhbWl0IGRpZSBSZWdpc3RyYXR1ciBhbHNvCiAgICAgICAgICBiZWlzcGllbHN3ZWlzZSBhbGxlIDEwIE1pbnV0ZW4gYXV0b21hdGlzY2ggYWJnZXNwZWljaGVydAogICAgICAgICAgd2lyZCwgd+RyZSBkaWVzZSBWYXJpYWJsZSBzbyB6dSBzZXR6ZW46ICJQZXJpb2RpY1NhdmUiID0gIjYwMCIuCiAgICAgICAgICAKICAgU2F2ZU9ubHlVcGRhdGVkS2V5cwogICAgICAgICAgTWl0IGRpZXNlciBWYXJpYWJsZW4ga2FubiBiZXN0aW1tdCB3ZXJkZW4sIG9iIFdJTkUgbGVkaWdsaWNoCiAgICAgICAgICBzb2xjaGUgVGVpbGUgZGVyIFJlZ2lzdHJhdHVyIHNpY2hlcm4gc29sbCwgZGllIHNpY2ggd+RocmVuZAogICAgICAgICAgZGVyIExhdWZ6ZWl0IHZlcuRuZGVydCBoYWJlbiBvZGVyIG9iIGltbWVyIGRpZSBnZXNhbXRlCiAgICAgICAgICBSZWdpc3RyYXR1ciBnZXNwZWljaGVydCB3ZXJkZW4gc29sbC4gRGFzIGZvbGdlbmRlIEJlaXNwaWVsCiAgICAgICAgICBzcGVpY2hlcnQgZGllIFJlZ2lzdHJhdHVyIGtvbXBsZXR0OgogICAgICAgICAgIlNhdmVPbmx5VXBkYXRlZEtleXMiID0gImZhbHNlIi4KICAgICAgICAgIAogICBIaW53ZWlzOiAKICAgV2VpbCBkYXMgSW1wb3J0aWVyZW4gZWluZXIgZ3Jv32VuIFdpbmRvd3MtUmVnaXN0cmF0dXIgZWluIHJlbGF0aXYKICAgemVpdGF1ZndlbmRpZ2VyIFZvcmdhbmcgaXN0LCBlbXBmaWVobHQgZXMgc2ljaCwgZGllCiAgIFdpbmRvd3MtUmVnaXN0cmF0dXIgbnVyIGJlaW0gZXJzdGVuIFN0YXJ0IHZvbiBXSU5FIHp1IGltcG9ydGllcmVuCiAgICgiTG9hZFdpbmRvd3NSZWdpc3RyeUZpbGVzIiA9ICJ0cnVlIikgdW5kIGRpZXNlIGRhbm4ga29tcGxldHQgdm9uIFdJTkUKICAgc3BlaWNoZXJuIHp1IGxhc3NlbiAoIlNhdmVPbmxlVXBkYXRlZEtleXMiID0gImZhbHNlIikuIERhbmFjaCBsaWVndCBkaWUKICAgUmVnaXN0cmF0dXIgdm9sbHN05G5kaWcgaW4gV0lORXMgZWlnZW5lbSBGb3JtYXQgdm9yLCBzbyBkYXNzIGJlaQogICBzcOR0ZXJlbiBTdGFydHMgdm9uIFdJTkUgYXVmIGRlbiBJbXBvcnQgZGVyIFdpbmRvd3MtUmVnaXN0cmF0dXIKICAgdmVyemljaHRldCB3ZXJkZW4ga2FubiAoIkxvYWRXaW5kb3dzUmVnaXN0cnlGaWxlcyIgPSAiZmFsc2UiKS4KICAgCiAgNy45IEVpbnN0ZWxsdW5nIGRlcyBMb29rIGFuZCBGZWVsCiAgCiAgIEltIEFic2Nobml0dCBUd2Vhay5MYXlvdXQgZGVyIEtvbmZpZ3VyYXRpb24gbORzc3Qgc2ljaCBkdXJjaCBkaWUKICAgVmFyaWFibGUgV0lORUxvb2sgYmVzdGltbWVuLCB3ZWxjaGVzIExvb2sgYW5kIEZlZWwgdm9uIFdpbmRvd3MKICAgZHVyY2ggV0lORSBuYWNoZW1wZnVuZGVuIHdlcmRlbiBzb2xsLiBEZXIgV2VydCBXaW4zMSBiZXdpcmt0LCBkYXNzCiAgIFdJTkUgYWxsZSBGZW5zdGVyZWxlbWVudGUgaW4gZGVtIEVyc2NoZWludW5nc2JpbGQgZXJ6ZXVndCwgd2llIGVzCiAgIHZvbiBXaW5kb3dzIDMuMTEgYmVrYW5udCBpc3QuIEFuYWxvZyBkYXp1IGJld2lya2VuIGRpZSBXZXJ0ZSBXaW45NQogICB1bmQgV2luOTggZWluIG1vZGVybmVyZXMgRXJzY2hlaW51bmdzYmlsZC4gQmVpc3BpZWw6CgogICBbVHdlYWsuTGF5b3V0XQogICAiV0lORUxvb2siID0gIldpbjk4IgoKCiAgNy4xMCBLb25maWd1cmF0aW9uIGRlciBXaW5kb3dzLUNvbnNvbGUKICAKICAgSW0gR2VnZW5zYXR6IHp1IDE2LUJpdC1XaW5kb3dzLVZlcnNpb25lbiBpc3QgZXMgbWl0IGRlbSBXaW4zMiBBUEkgd2llCiAgIHVudGVyIFVOSVggbfZnbGljaCwgUHJvZ3JhbW1lIGb8ciBkZW4gVGV4dG1vZHVzIHp1IGVyc3RlbGxlbiwgZGllCiAgIHVudGVyIFdpbmRvd3Mgbm9ybWFsZXJ3ZWlzZSBpbiBlaW5lbSBzbyBnZW5hbm50ZW4gIk1TLURPUy1GZW5zdGVyIgogICBhdXNnZWb8aHJ0IHdlcmRlbiAob2J3b2hsIGRpZXNlIFByb2dyYW1tZSBuaWNodCB2aWVsIG1pdCBNUy1ET1MgenUKICAgdHVuIGhhYmVuKS4gVW50ZXIgV0lORSB2ZXJ3ZW5kZW4gc29sY2hlIFByb2dyYW1tZSBzdGFuZGFyZG3k32lnIGRpZQogICBTdGFuZGFyZGVpbmdhYmUgdW5kIC1BdXNnYWJlIGRlcyBUZXJtaW5hbHMsIHZvbiBkZW0gYXVzIFdJTkUKICAgZ2VzdGFydGV0IHd1cmRlLiBJbSBBYnNjaG5pdHQgW0NvbnNvbGVdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGlzdAogICBlcyBt9mdsaWNoLCBkaWUgRWlnZW5zY2hhZnRlbiBkZXIgS29uc29sZSBm/HIgV2luZG93cy1Qcm9ncmFtbWUKICAgbuRoZXIgenUgYmVzdGltbWVuLgogICAKICAgRHJpdmVycwogICAgICAgICAgSGllcm1pdCB3aXJkIGZlc3RnZWxlZ3QsIHdpZSBkaWUgS29uc29sZSB6dXIgVmVyZvxndW5nCiAgICAgICAgICBnZXN0ZWxsdCB3ZXJkZW4gc29sbC4gV0lORSBrYW5uIGRhenUgZGFzIG1pdCBkZW0KICAgICAgICAgIFdJTkUtUHJvemVzcyB2ZXJidW5kZW5lIFRlcm1pbmFsIHZlcndlbmRlbiBvZGVyIGb8ciBqZWRlcwogICAgICAgICAgV2luZG93cy1Qcm9ncmFtbSwgd2VsY2hlcyBlaW5lIG5ldWUgS29uc29sZSBhbmZvcmRlcnQsIGVpbgogICAgICAgICAgbmV1ZXMgVGVybWluYWxmZW5zdGVyICh3aWUgei5CLiB4dGVybSkgc3RhcnRlbi4gSW0KICAgICAgICAgIGFsbGdlbWVpbmVuIGlzdCBlcyB6dSBlbXBmZWhsZW4sIGb8ciBqZWRlIEtvbnNvbGUgZWluCiAgICAgICAgICBlaWdlbmVzIFRlcm1pbmFsZmVuc3RlciB6dSB2ZXJ3ZW5kZW4sIHdlaWwgZXMgenUKICAgICAgICAgIHVuZXJ3/G5zY2h0ZW4gTmViZW5lZmZla3RlbiBrb21tZW4ga2Fubiwgd2VubiB2ZXJzY2hpZWRlbmUKICAgICAgICAgIFdpbmRvd3MtUHJvemVzc2UgdW5kIFdJTkUgc2VsYnN0IGRhcyBzZWxiZSBUZXJtaW5hbAogICAgICAgICAgdmVyd2VuZGVuLiBFcyBpc3QgZmVybmVyIG32Z2xpY2gsIGRpZSBuY3Vyc2VzLUJpYmxpb3RoZWsgenUKICAgICAgICAgIGJlbnV0emVuLCB1bSBiZXN0aW1tdGUgRWlnZW5zY2hhZnRlbiwgd2llIGRpZSBEYXJzdGVsbHVuZwogICAgICAgICAgdW50ZXJzY2hpZWRsaWNoZXIgRmFyYmVuLCB6dSBiZW51dHplbi4gRGVyIFZhcmlhYmxlbiBEcml2ZXJzCiAgICAgICAgICBrYW5uIHp1ciBaZWl0IGVpbmUgS29tYmluYXRpb24gYXVzIGRlbiBmb2xnZW5kZW4KICAgICAgICAgIFNjaGz8c3NlbHf2cnRlcm4g/GJlcmdlYmVuIHdlcmRlbjogdHR5LCB4dGVybSB1bmQKICAgICAgICAgIG5jdXJzZXMuIFdlbm4gbWVocmVyZSBkaWVzZSBTY2hs/HNzZWx39nJ0ZXIgYmVudXR6dCB3ZXJkZW4sCiAgICAgICAgICBzaW5kIGRpZXNlIGR1cmNoIGRhcyBQbHVzLVplaWNoZW4gdm9uZWluYW5kZXIgenUKICAgICAgICAgIHRyZW5uZW4uIERpZSBBbmdhYmUgdHR5IGJld2lya3QsIGRhc3MgV0lORSBkYXMgVGVybWluYWwgZvxyCiAgICAgICAgICBkaWUgS29uc29sZSB2ZXJ3ZW5kZXQsIG1pdCB3ZWxjaGVtIGRlciBXSU5FLVByb3plc3MKICAgICAgICAgIHZlcmJ1bmRlbiBpc3QuIER1cmNoIGRpZSBBbmdhYmUgeHRlcm0gd2lyZCBlaW4gbmV1ZXMKICAgICAgICAgIFRlcm1pbmFsZmVuc3RlciBnZfZmZm5ldCwgd2VubiBlaW4gV2luZG93cy1Qcm9ncmFtbSBlaW5lCiAgICAgICAgICBuZXVlIEtvbnNvbGUgYW5mb3JkZXJ0LiBEaWUgQW5nYWJlIG5jdXJzZXMgYmV3aXJrdCwgZGFzcyBkaWUKICAgICAgICAgIG5jdXJzZXMtQmlibGlvdGhlayBiZW51dHp0IHdpcmQuIERpZXMgZnVua3Rpb25pZXJ0IG51ciwgd2VubgogICAgICAgICAgZGllIFVudGVyc3T8dHp1bmcgZGFm/HIgYmVpbSDcYmVyc2V0emVuIGRlcyBQcm9ncmFtbXMKICAgICAgICAgIGFrdGl2aWVydCB3dXJkZS4gQmVpc3BpZWw6ICJEcml2ZXJzIiA9ICJuY3Vyc2VzK3h0ZXJtIgogICAgICAgICAgCiAgIFh0ZXJtUHJvZwogICAgICAgICAgSGllcm1pdCBs5HNzdCBzaWNoIGFuZ2ViZW4sIHdlbGNoZXMgUHJvZ3JhbW0gYXVmZ2VydWZlbgogICAgICAgICAgd2VyZGVuIHNvbGwsIHVtIGRpZSBLb25zb2xlIGluIGVpbmVtIGVpZ2VuZW4gRmVuc3RlcgogICAgICAgICAgZGFyenVzdGVsbGVuICh6LkIuIGJlaSAiRHJpdmVycyIgPSAieHRlcm0iKS4gRXMgbGFzc2VuIHNpY2ggYWxsZQogICAgICAgICAgVGVybWluYWxlbXVsYXRpb25zcHJvZ3JhbW1lIHZlcndlbmRlbiwgd2VsY2hlIGRpZSB2b24geHRlcm0KICAgICAgICAgIGhlciBiZWthbm50ZW4gS29tbWFuZG96ZWlsZW5hcmd1bWVudGUgdmVyc3RlaGVuLiBCZWlzcGllbDoKICAgICAgICAgICJYdGVybVByb2ciID0gInd0ZXJtIi4KICAgICAgICAgIAogICBJbml0aWFsUm93cwogICAgICAgICAgTWl0IGRlciBWYXJpYWJsZW4gd2lyZCBhbmdlZ2ViZW4sIHdpZXZpZWxlIFplaWxlbiBkaWUKICAgICAgICAgIEtvbnNvbGUgbmFjaCBpaHJlbSBTdGFydCBoYWJlbiBzb2xsLiBCZWlzcGllbDoKICAgICAgICAgICJJbml0aWFsUm93cyIgPSAiMjQiLgogICAgICAgICAgCiAgIEluaXRpYWxDb2x1bW5zCiAgICAgICAgICBNaXQgZGVyIFZhcmlhYmxlbiB3aXJkIGFuZ2VnZWJlbiwgd2lldmllbGUgU3BhbHRlbiBkaWUKICAgICAgICAgIEtvbnNvbGUgbmFjaCBpaHJlbSBTdGFydCBoYWJlbiBzb2xsLiBCZWlzcGllbDoKICAgICAgICAgICJJbml0aWFsQ29sdW1ucyIgPSAiODAiLgogICAgICAgICAgCiAgIFRlcm1pbmFsVHlwZQogICAgICAgICAgSGllcm1pdCBs5HNzdCBzaWNoIGZlc3RsZWdlbiwgdm9uIHdlbGNoZW0gVGVybWluYWx0eXAgZGllCiAgICAgICAgICBuY3Vyc2VzLUJpYmxpb3RoZWsgYXVzZ2VoZW4gc29sbC4gVHlwaXNjaGUgV2VydGUgc2luZCB4dGVybQogICAgICAgICAgb2RlciBsaW51eC4KICAgICAgICAgIAogIDcuMTEgRGllIFp3aXNjaGVuYWJsYWdlCiAgCiAgIERhcyBLb256ZXB0IGRlciBad2lzY2hlbmFibGFnZSB1bnRlcnNjaGVpZGV0IHNpY2ggendpc2NoZW4gV2luZG93cwogICB1bmQgZGVtIFggV2luZG93IFN5c3RlbSBldHdhcy4gVW0gYmVpc3BpZWxzd2Vpc2UgZWluZW4gVGV4dCBpbiBkaWUKICAgWndpc2NoZW5hYmxhZ2UgenUgc3RlbGxlbiwgd2lyZCBkaWVzZXIgdW50ZXIgV2luZG93cyBub3JtYWxlcndlaXNlCiAgIHp1buRjaHN0IG1hcmtpZXJ0IHVuZCBkYW5uIPxiZXIgZWluZW4gTWVu/GJlZmVobCBpbiBkaWUKICAgWndpc2NoZW5hYmxhZ2Uga29waWVydCBvZGVyIHZlcnNjaG9iZW4uIFVudGVyIFggc3RlaGVuIG1pbmRlc3RlbnMKICAgendlaSBUeXBlbiB2b24gWndpc2NoZW5hYmxhZ2UgenVyIFZlcmb8Z3VuZy4gTmFjaGRlbSBlaW4gVGV4dCBkb3J0CiAgIG1hcmtpZXJ0IHdvcmRlbiBpc3QsIHN0ZWh0IGVyIGFscyBzbyBnZW5hbm50ZSBwcmlt5HJlIEF1c3dhaGwgenVyCiAgIFZlcmb8Z3VuZzsgZXIga2FubiBkYW5uIHNvZm9ydCBpbiBhbmRlcmUgQW53ZW5kdW5nZW4gZWluZ2Vm/Gd0CiAgIHdlcmRlbiAoZXR3YSBkdXJjaCBCZXTkdGlndW5nIGRlciBtaXR0bGVyZW4gTWF1c3Rhc3RlKS4gRGllCiAgIFp3aXNjaGVuYWJsYWdlIGlzdCBlaW5lIHdlaXRlcmUgQXVzd2FobCwgaW4gZGllIFRleHRlIG9kZXIgYW5kZXJlCiAgIERhdGVuIHZvbiB2aWVsZW4gWC1BbndlbmR1bmdlbiBhdXMga29waWVydCB1bmQgdm9uIGRvcnQgYXVzIHdpZWRlcgogICBlaW5nZWb8Z3Qgd2VyZGVuIGv2bm5lbi4gSW0gQWJzY2huaXR0IFtjbGlwYm9hcmRdIGRlcgogICBLb25maWd1cmF0aW9uc2RhdGVpIGzkc3N0IHNpY2ggYmVzdGltbWVuLCB3aWUgZGllCiAgIFdpbmRvd3MtWndpc2NoZW5hYmxhZ2UgbWl0IGRlciBad2lzY2hlbmFibGFnZSBkZXMgWCBXaW5kb3cgU3lzdGVtcwogICBpbnRlcmFnaWVydC4KICAgCiAgIENsZWFyQWxsU2VsZWN0aW9ucwogICAgICAgICAgV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgdHJ1ZSBnZXNldHp0IGlzdCwgd2lyZCBkZXIgSW5oYWx0CiAgICAgICAgICBkZXIgV2luZG93cy1ad2lzY2hlbmFibGFnZSBnZWz2c2NodCB1bmQgZHVyY2ggZGVuIEluaGFsdCBkZXIKICAgICAgICAgIFp3aXNjaGVuYWJsYWdlIGRlcyBYIFdpbmRvdyBTeXN0ZW1zIGVyc2V0enQsIGZhbGxzIGluIGVpbmVyCiAgICAgICAgICBhbmRlcmVuIFggQW53ZW5kdW5nIGV0d2FzIGluIGRpZSBwcmlt5HJlIEF1c3dhaGwgZ2VzdGVsbHQKICAgICAgICAgIHdpcmQuICBXaXJkIGJlaSBWZXJ3ZW5kdW5nIGRpZXNlciBFaW5zdGVsbHVuZyBhbHNvIHp1buRjaHN0CiAgICAgICAgICBldHdhcyBtaXQgZWluZW0gV2luZG93cy1Qcm9ncmFtbSBpbiBkaWUgWndpc2NoZW5hYmxhZ2UKICAgICAgICAgIGdlc3RlbGx0IHVuZCBkYW5hY2ggbWl0IGRlciBNYXVzIGVpbiBUZXh0IGluIGVpbmVyIFgKICAgICAgICAgIEFud2VuZHVuZyBtYXJraWVydCwgc28gZ2VodCBkZXIgdXJzcHL8bmdsaWNoZSBJbmhhbHQgZGVyCiAgICAgICAgICBXaW5kb3dzLVp3aXNjaGVuYWJsYWdlIHZlcmxvcmVuIHVuZCBlcyBzdGVodCBkb3J0IGRlciBtaXQKICAgICAgICAgIGRlciBNYXVzIG1hcmtpZXJ0ZSBUZXh0IHp1ciBWZXJm/Gd1bmcuIEZhbGxzIGRpZSBWYXJpYWJsZQogICAgICAgICAgYXVmIGZhbHNlIGdlc2V0enQgaXN0LCBibGVpYnQgZGVyIEluaGFsdCBkZXIgWndpc2NoZW5hYmxhZ2UKICAgICAgICAgIGR1cmNoIGRpZSBWZXLkbmRlcnVuZyBkZXIgcHJpbeRyZW4gQXVzd2FobCB1bmJlcvxocnQuIFVtCiAgICAgICAgICBkYW5uIGJlaXNwaWVsc3dlaXNlIGVpbmVuIFRleHQgdm9uIFhFbWFjcyBuYWNoIFdvcmQgenUKICAgICAgICAgIGtvcGllcmVuLCByZWljaHQgZXMgbmljaHQgYXVzLCBkZW4gVGV4dCBpbiBYRW1hY3MgenUKICAgICAgICAgIG1hcmtpZXJlbiwgc29uZGVybiBlciBtdXNzIGRvcnQgZXhwbGl6aXQgaW4gZGllCiAgICAgICAgICBad2lzY2hlbmFibGFnZSBrb3BpZXJ0IHdlcmRlbiwgZmFsbHMgc2ljaCBkb3J0IHZvcmhlciBlaW5lCiAgICAgICAgICBBdXN3YWhsIGJlZmFuZCwgZGllIHZvbiBlaW5lciBXaW5kb3dzLUFud2VuZHVuZyBhdXMKICAgICAgICAgIHZvcmdlbm9tbWVuIHd1cmRlLiBCZWlzcGllbDogIkNsZWFyQWxsU2VsZWN0aW9ucyIgPSAidHJ1ZSIKICAgICAgICAgIAogICBQZXJzaXN0ZW50U2VsZWN0aW9uCiAgICAgICAgICBOYWNoZGVtIFdJTkUgYmVlbmRldCB3b3JkZW4gaXN0LCBrYW5uIGRlciBJbmhhbHQgZGVyCiAgICAgICAgICBad2lzY2hlbmFibGFnZSBhbmRlcmVuIFggUHJvZ3JhbW1lbiBub3JtYWxlcndlaXNlIG5pY2h0IG1laHIKICAgICAgICAgIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQgd2VyZGVuLiBXZW5uIGRpZXNlIFZhcmlhYmxlIGF1ZiB0cnVlCiAgICAgICAgICBnZXNldHp0IGlzdCwgc3RhcnRldCBXSU5FIGRlc3dlZ2VuIGVpbiBrbGVpbmVzCiAgICAgICAgICBIaW50ZXJncnVuZHByb2dyYW1tICh3aW5lY2xpcHNydikgd2VsY2hlcyBkZW4gSW5oYWx0IGRlcgogICAgICAgICAgWndpc2NoZW5hYmxhZ2Ugc28gbGFuZ2UgdmVyZvxnYmFyIGjkbHQsIGJpcyBkaWVzZXIgZHVyY2ggZWluCiAgICAgICAgICBhbmRlcmVzIFByb2dyYW1tIGVyc2V0enQgd2lyZCB1bmQgc2ljaCBkYW5uCiAgICAgICAgICBiZWVuZGV0LiBCZWlzcGllbDogIlBlcnNpc3RlbnRTZWxlY3Rpb24iID0gInRydWUiCiAgICAgICAgICAKICA3LjEyIEtvbmZpZ3VyYXRpb24gZGVzIFBvc3RTY3JpcHQtRHJ1Y2tlcnRyZWliZXJzCiAgCiAgIFdJTkUga2FubiB6d2VpIFR5cGVuIHZvbiBEcnVja2VydHJlaWJlcm4gdmVyd2VuZGVuLCBu5G1saWNoIGVjaHRlCiAgIDE2Yml0IFdpbmRvd3MtRHJ1Y2tlcnRyZWliZXIsIHdpZSBTaWUgdm9uIFdpbmRvd3MgMy4xMSBvZGVyIFdpbmRvd3MKICAgOTUvOTggYmVudXR6dCB3ZXJkZW4sIG9kZXIgZWluZW4gZWlnZW5lbiBQb3N0U2NyaXB0LSBEcnVja2VydHJlaWJlciwKICAgbWl0IGRlbSBzaWNoIGF1cyBkZW4gbWVpc3RlbiBXaW5kb3dzLUFud2VuZHVuZ2VuIGhlcmF1cyBpbQogICBQb3N0U2NyaXB0LUZvcm1hdCBkcnVja2VuIGzkc3N0LiBEaWVzZSBQb3N0U2NyaXB0LUF1c2dhYmUga2FubiBkYW5uCiAgIPxiZXIgZGllIFNwb29sZXItU29mdHdhcmUgZGVzIFN5c3RlbXMgKG5vcm1hbGVyd2Vpc2UgbHByL2xwZCkgYXVmCiAgIGVpbmVuIGRpcmVrdCBhbmdlc2NobG9zc2VuZW4gb2RlciBmZXJuZW4gRHJ1Y2tlciBhdXNnZWdlYmVuIHdlcmRlbi4KICAgCiAgIEhpbndlaXNlIHp1ciBWZXJ3ZW5kdW5nIHZvbiAxNmJpdC1XaW5kb3dzLURydWNrZXJ0cmVpYmVyIGZpbmRlbgogICBzaWNoIHUuYS4gaW4gZGVyIERhdGVpIHByaW50aW5nIGltIFVudGVydmVyemVpY2huaXMgZG9jdW1lbnRhdGlvbgogICBkZXMgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3Nlcy4gSW0gZm9sZ2VuZGVuIHNvbGwgbGVkaWdsaWNoIGF1ZgogICBkaWUgS29uZmlndXJhdGlvbiBkZXMgZWluZ2ViYXV0ZW4gUG9zdFNjcmlwdC1EcnVja2VydHJlaWJlcnMKICAgZWluZ2VnYW5nZW4gd2VyZGVuICh3YXMgZ2VuZXJlbGwgc293aWVzbyBiZXZvcnp1Z3Qgd2lyZCkuCiAgIAogICBadW7kY2hzdCBpc3QgZGFzIFZvcmhhbmRlbnNlaW4gZGVzIERydWNrZXJ0cmVpYmVycyBhbnp1bWVsZGVuLiBEYXp1CiAgIHNpbmQgaW4gZGVyIERhdGVpIHdpbi5pbmkgaW0gV2luZG93cy1WZXJ6ZWljaG5pcyBkaWUgZm9sZ2VuZGVuCiAgIMRuZGVydW5nZW4gdm9yenVuZWhtZW46CgogICBbd2luZG93c10KICAgZGV2aWNlPVdJTkUgUG9zdFNjcmlwdCBEcml2ZXIsV0lORVBTLExQVDE6CgogICBbZGV2aWNlc10KICAgV0lORSBQb3N0U2NyaXB0IERyaXZlcj1XSU5FUFMsTFBUMToKCiAgIEZhbGxzIFNpZSBXSU5FIG9obmUgZWluZSBiZXN0ZWhlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHZlcndlbmRlbiwKICAga2FubiBlcyBzZWluLCBkYXNzIGRpZSBEYXRlaSB3aW4uaW5pIG5vY2ggbmljaHQgZXhpc3RpZXJ0LiBJbgogICBkaWVzZW0gRmFsbCBrYW5uIGRpZSBEYXRlaSBuZXUgYW5nZWxlZ3QgdW5kIGRpZSBvYmVuIGdlemVpZ3RlbgogICBaZWlsZW4gZG9ydCBlaW5nZXRyYWdlbiB3ZXJkZW4uIEZhbGxzIGRpZSBEYXRlaSBiZXJlaXRzIHZvcmhhbmRlbgogICBpc3QsIG38c3NlbiBkaWUgQWJzY2huaXR0ZSBbZGV2aWNlc10gdW5kIFt3aW5kb3dzXSBpbiBkZXIgRGF0ZWkKICAgbG9rYWxpc2llcnQgdW5kIHVtIGRpZSBvYmVuIGdlemVpZ3RlbiBaZWlsZW4gZXJn5G56dAogICB3ZXJkZW4uIEtlaW5lc2ZhbGxzIHNvbGx0ZW4gZGllIEFic2Nobml0dGUgZGV2aWNlcyBvZGVyIHdpbmRvd3MKICAgbWVocm1hbHMgaW4gZGVyIERhdGVpIHZvcmhhbmRlbiBzZWluLgogICAKICAgRGFtaXQgYXVjaCB2b24gMzJiaXQgUHJvZ3JhbW1lbiBhdXMgZ2VkcnVja3Qgd2VyZGVuIGthbm4sIGlzdCBlcwogICBub3R3ZW5kaWcsIGVpbmlnZSBFaW50cuRnZSBpbiBkZXIgUmVnaXN0cmF0dXIgdm9yenVuZWhtZW4uIERpZXNlCiAgIEVpbnRy5GdlIHNpbmQgaW4gZGVyIERhdGVpIHdpbmVkZWZhdWx0LnJlZyBpbSBXaW5lLUhhdXB0dmVyemVpY2huaXMKICAgdm9yaGFuZGVuIHVuZCBsYXNzZW4gc2ljaCBtaXQgZGVtIFByb2dyYW1tIHJlZ2VkaXQsIHdlbGNoZXMgc2ljaCBpbQogICBVbnRlcnZlcnplaWNobmlzIHByb2dyYW1zL3JlZ2VkaXQgZGVzIFF1ZWxsY29kZXZlcnplaWNobmlzc2VzIGJlZmluZGV0LAogICBpbXBvcnRpZXJlbi4gRmFsbHMgbm9jaCBuaWNodCBnZXNjaGVoZW4sIGlzdCByZWdlZGl0IGRhenUgenVu5GNoc3QgenUKICAg/GJlcnNldHplbi4gWnUgZGllc2VtIFp3ZWNrIGlzdCBpbiBkYXMgVmVyemVpY2huaXMgcHJvZ3JhbXMvcmVnZWRpdAogICB6dSB3ZWNoc2VsbiB1bmQgZG9ydCBkZXIgQmVmZWhsIG1ha2UgZWluenVnZWJlbiAoZGllcyBzZXR6dAogICB2b3JhdXMsIGRhc3MgV0lORSBiZXJlaXRzIGVyZm9sZ3JlaWNoIPxiZXJzZXR6dCB3dXJkZSkuIERhbmFjaAogICBr9m5uZW4gZGllIGVyZm9yZGVybGljaGVuIFNjaGz8c3NlbCBkdXJjaCBkaWUgRWluZ2FiZSBkZXMgZm9sZ2VuZGVuCiAgIEJlZmVobHMgaW1wb3J0aWVydCB3ZXJkZW46CiAgIAogICAuL3JlZ2VkaXQgLi4vLi4vd2luZWRlZmF1bHQucmVnCiAgIAogICBBY2h0dW5nOgogICBCZWkgZGVtIFByb2dyYW1tIHJlZ2VkaXQgaGFuZGVsdCBlcyBzaWNoIHVtIGVpbiBzb2dlbmFubnRlcwogICBXaW5lTGliLVByb2dyYW1tLiBTb2xjaGUgUHJvZ3JhbW1lIGJlbnV0emVuIFdJTkUsIHVtCiAgIFdpbmRvd3Mtc3BlemlmaXNjaGUgRnVua3Rpb25lbiB2ZXJ3ZW5kZW4genUga/ZubmVuLiBEYW1pdCBzaWUKICAgYXVzZ2Vm/GhydCB3ZXJkZW4ga/ZubmVuLCBtdXNzIGJlcmVpdHMgZWluZSBmdW5rdGlvbnNm5GhpZ2UKICAgV0lORS1Lb25maWd1cmF0aW9uIHZvcmhhbmRlbiBzZWluLiBEaWVzZXIgU2Nocml0dCBzb2xsdGUgYWxzbyBuaWNodAogICBkdXJjaGdlZvxocnQgd2VyZGVuLCBiZXZvciBkaWUgRXJzdGVsbHVuZyBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICBhYmdlc2NobG9zc2VuIHVuZCBkaWUgRnVua3Rpb25zZuRoaWdrZWl0IHZvbiBXSU5FIGdldGVzdGV0IHdvcmRlbgogICBpc3QuCiAgIAogICBXZWl0ZXIgd2lyZCBlaW5lIHNvIGdlbmFubnRlIFBQRC1EYXRlaSBiZW72dGlndC4gRWluZSBzb2xjaGUgRGF0ZWkKICAgYmVzY2hyZWlidCB2ZXJzY2hpZWRlbmUgRWlnZW5zY2hhZnRlbiBkZXMgRHJ1Y2tlcnMgdW5kIHdpcmQKICAgYmVu9nRpZ3QsIGRhbWl0IFdJTkUgYmVpc3BpZWxzd2Vpc2UgZW50c2NoZWlkZW4ga2Fubiwgb2IgaW4gRmFyYmUKICAgb2RlciBpbiBTY2h3YXJ6LVdlad8gZ2VkcnVja3Qgd2VyZGVuIGthbm4uIFdlbm4ga2VpbgogICBQb3N0U2NyaXB0LWbkaGlnZXIgRHJ1Y2tlciBiZW51dHp0IHdpcmQsIGRhbm4gYmVu9nRpZ3QgbWFuIGVpbmUKICAgUFBELURhdGVpLCB3ZWxjaGUgZGllIEVpZ2Vuc2NoYWZ0ZW4gZGVzIGdob3N0c2NyaXB0LVRyZWliZXJzIGb8cgogICBkZW4gZWluZ2VzZXR6dGVuIERydWNrZXIgYmVzY2hyZWlidCwgd2VpbCBkaWVzZXMgUHJvZ3JhbW0gaW4gZGVyCiAgIFJlZ2VsIHp1ciBVbXdhbmRsdW5nIHZvbiBQb3N0U2NyaXB0IGluIGRhcyBEcnVja2VyZm9ybWF0IGJlbnV0enQKICAgd2lyZC4gTWl0IERlYmlhbiBzdGVoZW4gc29sY2hlIERhdGVpZW4gaW4gZGVtIFBha2V0IHBwZC1ncyB6dXIKICAgVmVyZvxndW5nLiBXaXJkIGRpZXNlcyBQYWtldCBiZW51dHp0LCBzb2xsdGUgdm9yaGVyIGRpZSBEYXRlaQogICAvdXNyL2RvYy9wcGQtZ3MvUkVBRE1FIGdlbGVzZW4gd2VyZGVuLgogICAKICAgRWluZSBSZWloZSB2b24gUFBELURhdGVpZW4gc3RlaGVuIHVudGVyIGRlciBBZHJlc3NlCiAgIGZ0cDovL2Z0cC5hZG9iZS5jb20vcHViL2Fkb2JlL3ByaW50ZXJkcml2ZXJzL3dpbi9hbGwvcHBkZmlsZXMvIHp1cgogICBWZXJm/Gd1bmcuIEluIGRlbSBWZXJ6ZWljaG5pcyBiZWZpbmRlbiBzaWNoIHNlbGJzdGF1c3BhY2tlbmRlCiAgIFpJUC1BcmNoaXZlLCBkaWUgUFBELURhdGVpZW4gZvxyIERydWNrZXIgdmVyc2NoaWVkZW5lciBIZXJzdGVsbGVyCiAgIGVudGhhbHRlbi4gRGllc2UgQXJjaGl2ZSBr9m5uZW4gbWl0IGRlbSBQcm9ncmFtbSB1bnppcCgxKSBlbnRwYWNrdAogICB3ZXJkZW4uIFVtIGJlaXNwaWVsc3dlaXNlIGRpZSBEYXRlaSBocC5leGUgYXVzenVwYWNrZW4sIHfkcmUKICAgZm9sZ2VuZGVyIEJlZmVobCBlaW56dWdlYmVuOgogICAKICAgdW56aXAgLUwgaHAuZXhlCiAgIAogICBEYW5hY2ggaXN0IGRpZSBnZXf8bnNjaHRlIFBQRC1EYXRlaSBhdXN6dXfkaGxlbiwgaGllcmJlaSBtdXNzCiAgIHUuVS4gZWluIHdlbmlnIGV4cGVyaW1lbnRpZXJ0IHdlcmRlbiwgdW0gb3B0aW1hbGUgRXJnZWJuaXNzZSB6dQogICBlcnppZWxlbi4gRGllIERhdGVpIGthbm4gZGFubiBiZWlzcGllbHN3ZWlzZSBpbiBkYXMgVmVyemVpY2huaXMKICAgL3Vzci9sb2NhbC9ldGMvIGtvcGllcnQgd2VyZGVuIHVuZCBtdXNzIFdJTkUgZHVyY2ggZGVuIGZvbGdlbmRlbgogICBFaW50cmFnIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGJla2FubnQgZ2VtYWNodCB3ZXJkZW46CgogICBbcHNkcnZdCiAgICJwcGRmaWxlIiA9ICIvdXNyL2xvY2FsL2V0Yy9IUDRNM19WMS5QUEQiCgogICBGYWxscyBzaWNoIGRpZSBEYXRlaSBpbiBlaW5lbSBhbmRlcmVuIFZlcnplaWNobmlzIGJlZmluZGV0IG9kZXIKICAgZWluZW4gYW5kZXJlbiBOYW1lbiB0cuRndCwgaXN0IGRlciBXZXJ0IGb8ciBkaWUgVmFyaWFibGUgcHBkZmlsZQogICBuYXT8cmxpY2ggZW50c3ByZWNoZW5kIGFuenVwYXNzZW4uCiAgIAogICBTY2hsaWXfbGljaCBiZW72dGlndCBXSU5FIGRpZSBGb250bWV0cmljLURhdGVpZW4gZGVyIFNjaHJpZnRhcnRlbiwKICAgZGllIGF1ZiBkZW0gRHJ1Y2tlciAob2RlciBtaXQgZ2hvc3RzY3JpcHQpIHp1ciBWZXJm/Gd1bmcKICAgc3RlaGVuLiBFaW5lIFJlaWhlIHNvbGNoZXIgRm9udG1ldHJpYy1EYXRlaWVuIGxhc3NlbiBzaWNoIHVudGVyCiAgIERlYmlhbiBiZWlzcGllbHN3ZWlzZSBtaXQgZGVtIFBha2V0IHRldGV4LWV4dHJhIGluc3RhbGxpZXJlbi4gU2llCiAgIGJlZmluZGVuIHNpY2ggbmFjaCBkZXIgSW5zdGFsbGF0aW9uIHVudGVyaGFsYiBkZXMgVmVyemVpY2huaXNzZXMKICAgL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0uIFNpZSBoYWJlbiBub3JtYWxlcndlaXNlIGRpZQogICBEYXRlaW5hbWVuc2VuZHVuZyAuYWZtIChBZG9iZSBGb250TWV0cmljKS4gRGllIHp1IHZlcndlbmRlbmRlbgogICBEYXRlaWVuIHNpbmQgaW0gQWJzY2huaXR0IFthZm1maWxlc10gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgYW56dWdlYmVuLiBEZXIgTmFtZSBqZWRlciBEYXRlaSBpc3QgZGFiZWkgZWluZXIgVmFyaWFibGVuCiAgIHp1enVvcmRuZW4sIGRlcmVuIE5hbWUgc2ljaCBhdXMgZGVyIFplaWNoZW5rZXR0ZSBmaWxlIHVuZCBlaW5lcgogICBmb3J0bGF1ZmVuZGVuIFppZmZlciB6dXNhbW1lbnNldHp0LiAgQmVpIGRlciBBdXN3YWhsIGRlcgogICBBRk0tRGF0ZWllbiBpc3QgenUgYmVhY2h0ZW4sIGRhc3MgbnVyIGRpZSBEYXRlaWVuIGFuZ2VnZWJlbiB3ZXJkZW4KICAgYnJhdWNoZW4sIGb8ciBkaWUgZGVyIGVudHNwcmVjaGVuZGUgRm9udCB0YXRz5GNobGljaCBpbiBkZXIgdm9yaGVyCiAgIGRlZmluaWVydGVuIFBQRC1EYXRlaSBnZW5hbm50IHd1cmRlLiBEaWUgQmV6ZWljaG51bmdlbiBkZXIgRm9udHMKICAgYmVmaW5kZW4gc2ljaCBub3JtYWxlcndlaXNlIGluIGRlbiBGb250bWV0cmljLURhdGVpZW4sIGRpZSBtaXQKICAgZWluZW0gVGV4dGVkaXRvciBiZXRyYWNodGV0IHdlcmRlbiBr9m5uZW4uIERlciBBbmZhbmcgZGVzCiAgIGVudHNwcmVjaGVuZGVuIEFic2Nobml0dHMgaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkga/ZubnRlCiAgIGJlaXNwaWVsc3dlaXNlIGZvbGdlbmRlcm1h32VuIGF1c3NlaGVuOgoKICAgW2FmbWZpbGVzXQogICAiZmlsZTEiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL3RpbWVzL3B0bWI4YS5hZm0iCiAgICJmaWxlMiIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvdGltZXMvcHRtYmk4YS5hZm0iCiAgICJmaWxlMyIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvdGltZXMvcHRtcjhhLmFmbSIKICAgImZpbGU0IiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS90aW1lcy9wdG1yaThhLmFmbSIKICAgImZpbGU1IiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZibzhhbi5hZm0iCiAgICJmaWxlNiIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2YjhhLmFmbSIKICAgImZpbGU3IiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZiOGFuLmFmbSIKICAgImZpbGU4IiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZibzhhLmFmbSIKICAgImZpbGU5IiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZybzhhbi5hZm0iCiAgICJmaWxlMTAiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodnI4YS5hZm0iCiAgICJmaWxlMTEiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodnI4YW4uYWZtIgogICAiZmlsZTEyIiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZybzhhLmFmbSIKCiAgIEF1Y2ggaGllciBzaW5kIGRpZSBEYXRlaW5hbWVuIG5hdPxybGljaCBhbiBkaWUgdGF0c+RjaGxpY2gKICAgYmVudXR6dGVuIEZvbnRtZXRyaWMtRGF0ZWllbiBhbnp1cGFzc2VuLiBEZXIgRHJ1Y2tlcnRyZWliZXIgc29sbHRlCiAgIGRhbm4gYWxzIFdJTkUgUG9zdFNjcmlwdERyaXZlciBpbiBkZW4gRHJ1Y2tkaWFsb2dlbiBkZXIKICAgV2luZG93cy1BbndlbmR1bmdlbiB6dXIgVmVyZvxndW5nIHN0ZWhlbi4KICAgCiAgNy4xMyBLb25maWd1cmF0aW9uIGRlcyBTcG9vbGVycwogIAogICBTdGFuZGFyZG3k32lnIHdlcmRlbiBEcnVja2RhdGVuIGluIGVpbmUgRGF0ZWkgaW0gYWt0dWVsbGVuCiAgIEFyYmVpdHN2ZXJ6ZWljaG5pcyBhdXNnZWdlYmVuLCBkZXJlbiBOYW1lIGRlciBCZXplaWNobnVuZyBkZXMKICAgRHJ1Y2tlcmFuc2NobHVzc2VzIHVudGVyIFdpbmRvd3MsIGF1ZiBkZW4gZ2VkcnVja3Qgd3VyZGUsIGVudHNwcmljaHQuCiAgIEltIEFic2Nobml0dCBbc3Bvb2xlcl0gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgbORzc3Qgc2ljaCBkaWUgQXVzZ2FiZSBpbgogICBlaW5lIGFuZGVyZSBEYXRlaSB1bWxlbmtlbiBvZGVyIGFuIGVpbiBhbmRlcmVzIFByb2dyYW1tIHdlaXRlcmxlaXRlbi4KICAgRGF6dSBpc3QgaW4gZGVtIEFic2Nobml0dCBkZXIgTmFtZSBkZXMgQW5zY2hsdXNzZXMgYWxzCiAgIFZhcmlhYmxlbmJlemVpY2hudW5nIGFuenVnZWJlbiAoQmVpc3BpZWw6IExQVDE6KSB1bmQgZGllc2VyIFZhcmlhYmxlCiAgIGRlciBOYW1lIGRlciBEYXRlaSB6dSD8YmVyZ2ViZW4sIGluIHdlbGNoZSBkaWUgRHJ1Y2thdXNnYWJlIGdlbGVua3QKICAgd2VyZGVuIHNvbGwuIFVtIGRpZSBBdXNnYWJlIGFuIGRpZSBTdGFuZGFyZGVpbmdhYmUgZWluZXMgUHJvZ3JhbW1zIHp1CiAgIPxiZXJnZWJlbiwgaXN0IGRlciBOYW1lIGRlcyBnZXf8bnNjaHRlbiBQcm9ncmFtbXMgaGludGVyIGRlbQogICBQaXBlLVplaWNoZW4gKHwpIGFuenVnZWJlbi4KICAgCiAgIFdlbm4gYWxzbyBiZWlzcGllbHN3ZWlzZSBkaWUgQXVzZ2FiZSBhdWYgZGVuIEFuc2NobHVzcyBMUFQxOiBhbiBkYXMKICAgUHJvZ3JhbW0gbHByIPxiZXJnZWJlbiB3ZXJkZW4gc29sbCwgdW0gc2llIGRlbSBTcG9vbGVyIHp1enVm/GhyZW4sCiAgIHfkcmUgaW4gZGllIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZm9sZ2VuZGVyIEFic2Nobml0dCBhdWZ6dW5laG1lbjoKCiAgIFtzcG9vbGVyXQogICAiTFBUMToiID0gInxscHIiCgoKICA3LjE0IE11bHRpbWVkaWEtS29uZmlndXJhdGlvbgogIAogICBEaWUgTXVsdGltZWRpYS1BcmNoaXRla3R1ciB1bnRlciBXaW5kb3dzIGJlc3RlaHQgYXVzIHZlcnNjaGllZGVuZW4KICAgVHlwZW4gdm9uIFRyZWliZXJuIHVuZCBTY2huaXR0c3RlbGxlbiwgZGllIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4KICAgYmVudXR6dCB3ZXJkZW4ga/ZubmVuLiBEaWVzZSBBcmNoaXRla3R1ciB3aXJkIHZvbiBXSU5FCiAgIG5hY2hnZWJpbGRldCwgd29iZWkgdW50ZXJzY2hpZWRsaWNoZSBCZXN0YW5kdGVpbGUgbWVociBvZGVyIHdlbmlnZXIKICAgdm9sbHN05G5kaWcgdm9yaGFuZGVuIHNpbmQuIEVpbmUgYXVzZvxocmxpY2hlIEJlc2NocmVpYnVuZyBkZXIKICAgTXVsdGltZWRpYS1BcmNoaXRla3R1ciB2b24gV0lORSBiZWZpbmRldCBzaWNoIGluIGRlciBEYXRlaQogICBtdWx0aW1lZGlhIGltIFVudGVydmVyemVpY2huaXMgZG9jdW1lbnRhdGlvbi9zdGF0dXMgZGVzCiAgIFdJTkUtUXVlbGxjb2Rlcy4KICAgCiAgIFdJTkUgc3RlbGx0IGVpbmVuIGVpZ2VuZW4gVHJlaWJlciB6dXIgQW5zdGV1ZXJ1bmcgZGVyIFNvdW5kaGFyZHdhcmUKICAgenVyIFZlcmb8Z3VuZy4gRGllc2UgQW5zdGV1ZXJ1bmcgZ2VzY2hpZWh0IPxiZXIgZGllIEdlcuR0ZWRhdGVpZW4KICAgL2Rldi9kc3AsIC9kZXYvYXVkaW8sIC9kZXYvbWl4ZXIgdXN3LiBEZXN3ZWdlbiBtdXNzIGRhcmF1ZiBnZWFjaHRldAogICB3ZXJkZW4sIGRhc3MgU2NocmVpYi0gdW5kIExlc2ViZXJlY2h0aWd1bmcgZvxyIGRpZXNlIERhdGVpZW4KICAgYmVzdGVodCwgZmFsbHMgZGllIFNvdW5kdW50ZXJzdPx0enVuZyB2b24gV0lORSBiZW51dHp0IHdlcmRlbgogICBzb2xsLiBEZXIgVHJlaWJlciBzZXR6dCBhdWYgZGllIE9TUy0gKE9wZW4gU291bmQgU3lzdGVtKSBUcmVpYmVyCiAgIGF1ZiwgZGllIHN0YW5kYXJkbeTfaWcgQmVzdGFuZHRlaWwgZGVzIExpbnV4LUtlcm5lbHMgc2luZC4KICAgCiAgIEJpcyBhdWYgZGllIEJpYmxpb3RoZWtlbiB3aW5tbSB1bmQgbW1zeXN0ZW0gbGFzc2VuIHNpY2ggYWxsZQogICBhbmRlcmVuIEtvbXBvbmVudGVuIGRlcyBNdWx0aW1lZGlhc3lzdGVtcyBhdWNoIGF1cyBlaW5lcgogICBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4uIERpZXMgaXN0IHZvciBhbGxlbSBiZWkKICAgZWluaWdlbiBNQ0ktVHJlaWJlcm4gaGlsZnJlaWNoLCBkaWUgaW4gV0lORSBub2NoIG5pY2h0IHZvbGxzdORuZGlnCiAgIGltcGxlbWVudGllcnQgc2luZC4gTUNJLVRyZWliZXIgd2VyZGVuIGdlbGFkZW4sIHdlbm4gaW0gQWJzY2huaXR0CiAgIFttY2ldIGRlciBEYXRlaSBzeXN0ZW0uaW5pIGltIFdpbmRvd3MtVmVyemVpY2huaXMgQW53ZWlzdW5nZW4gaW4gZGVyCiAgIGZvbGdlbmRlbiBGb3JtIHN0ZWhlbjoKCiAgIFttY2ldCiAgIGNkYXVkaW89bWNpY2RhLmRydgogICBzZXF1ZW5jZXI9bWNpc2VxLmRydgoKICAgQmVpIFZlcndlbmR1bmcgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gc29sbHRlbiBzaWNoCiAgIGRpZSBlbnRzcHJlY2hlbmRlbiBBbndlaXN1bmdlbiBkb3J0IGJlcmVpdHMgYmVmaW5kZW4uIFdpcmQgb2huZQogICBlaW5lIGJlc3RlaGVuZGUgV2luZG93cy1JbnN0YWxsYXRpb24gZ2VhcmJlaXRldCwga2FubiBkaWUgRGF0ZWkKICAgc3lzdGVtLmluaSBpbSBVbnRlcnZlcnplaWNobmlzIGRvY3VtZW50YXRpb24vc2FtcGxlcyBkZXMKICAgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3NlcyBhbHMgVm9ybGFnZSBkaWVuZW4uIER1cmNoIGRpZSBWYXJpYWJsZQogICBtY2kgaW0gQWJzY2huaXR0IFtvcHRpb25zXSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSB2b24gV0lORSBsYXNzZW4KICAgc2ljaCBkaWUgRGVmaW5pdGlvbmVuIGF1cyBkZXIgRGF0ZWkgc3lzdGVtLmluaSD8YmVyc2NocmVpYmVuLiBEYXMKICAgaXN0IHNpbm52b2xsLCB1bSBiZXN0aW1tdGUgVHJlaWJlciBuaWNodCB6dSBsYWRlbiwgZGllIGluIGRlciBEYXRlaQogICBzeXN0ZW0uaW5pIGFuZ2VnZWJlbiBzaW5kLCB3ZWlsIGRpZXNlIFRyZWliZXIgbWl0IFdJTkUgbmljaHQKICAgcmljaHRpZyBmdW5rdGlvbmllcmVuLiBEaWVzIGlzdCB6dXIgWmVpdCBtaXQgZGVtIE1DSS1UcmVpYmVyCiAgIHZpZGVvZGlzayBkZXIgRmFsbC4gVW0gYWxsZSBNQ0ktVHJlaWJlciAoYmlzIGF1ZiB2aWRlb2Rpc2spIHp1CiAgIGxhZGVuLCBr9m5udGUgaW4gZGllIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZGVyIGFsc28gZGVyIGZvbGdlbmRlCiAgIEFic2Nobml0dCBhdWZnZW5vbW1lbiB3ZXJkZW46CgogICBbb3B0aW9uc10KICAgIm1jaSIgPSAiQ0RBVURJTzpTRVFVRU5DRVI6V0FWRUFVRElPOkFWSVZJREVPOk1QRUdWSURFTyIKCiAgIE9iIGVpbiBUcmVpYmVyIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBnZWxhZGVuCiAgIG9kZXIgZGVyIHZvbiBXSU5FIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHRlIFRyZWliZXIgYmVudXR6dCB3ZXJkZW4KICAgc29sbCwga2FubiB3aWUgYmVpIEJpYmxpb3RoZWtlbiBpbSBBYnNjaG5pdHQgRGxsT3ZlcnJpZGVzIGRlcgogICBLb25maWd1cmF0aW9uc2RhdGVpIGZlc3RnZWxlZ3Qgd2VyZGVuLCB3aWUgZXMgd2VpdGVyIG9iZW4KICAgYmVzY2hyaWViZW4gd3VyZGUuIERhYmVpIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBkaWUKICAgRGF0ZWluYW1lbnNlbmR1bmcgLmRydiBiZWkgVHJlaWJlcm4gLSBpbSBHZWdlbnNhdHogenUgQmlibGlvdGhla2VuCiAgIC0gbWl0IGFuenVnZWJlbiBpc3QuIFVtIGJlaXNwaWVsc3dlaXNlIGRpZSBNQ0ktVHJlaWJlciBtY2lhdmkgdW5kCiAgIG1jaWFuaW0gYXVzIGVpbmVyIGJlc3RlaGVuZGVuIEluc3RhbGxhdGlvbiB6dSBsYWRlbiB1bmQgZGllIPxicmlnZW4KICAgVHJlaWJlciB2b24gV0lORSB6dSB2ZXJ3ZW5kZW4sIHfkcmVuIGRlbSBBYnNjaG5pdHQgW0RsbE92ZXJyaWRlc10KICAgZGllIGZvbGdlbmRlbiBaZWlsZW4genV6dWb8Z2VuOgoKICAgIm1jaWF2aS5kcnYsIG1jaWFuaW0uZHJ2IiA9ICJuYXRpdmUsIGJ1aWx0aW4iCiAgICJtY2ljZGEuZHJ2LCBtY2lzZXEuZHJ2IiAgPSAiYnVpbHRpbiwgbmF0aXZlIgogICAibXNhY20uZHJ2LCBtaWRpbWFwLmRydiIgID0gImJ1aWx0aW4sIG5hdGl2ZSIKICAgIm1jaXdhdmUuZHJ2IiAgICAgICAgICAgICA9ICJidWlsdGluLCBuYXRpdmUiCgoKICA3LjE1IEVpbnJpY2h0ZW4gZGVyIFJlZ2lzdHJhdHVyCiAgCiAgIEVpbmUgUmVpaGUgdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbiB1bmQgV0lORSBzZWxic3QgYmVu9nRpZ2VuCiAgIGJlc3RpbW10ZSBFaW50cuRnZSBpbiBkZXIgUmVnaXN0cmF0dXIsIGRhbWl0IHNpZSByaWNodGlnCiAgIGZ1bmt0aW9uaWVyZW4uIFdlbm4gV0lORSBvaG5lIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbgogICBiZW51dHp0IHdpcmQgb2RlciBkaWUgV2luZG93cy1SZWdpc3RyYXR1ciBuaWNodCBpbXBvcnRpZXJ0IHdlcmRlbgogICBzb2xsLCBzaW5kIGRpZXNlIEVpbnRy5GdlIG5vY2ggbmljaHQgdm9yaGFuZGVuIHVuZCBt/HNzZW4gbWl0IGRlbQogICB3ZWl0ZXIgb2JlbiBiZXJlaXRzIGVyd+RobnRlbiBQcm9ncmFtbSByZWdhcGkgaW1wb3J0aWVydAogICB3ZXJkZW4uIEFscyBWb3JsYWdlIGthbm4gZGF6dSBkaWUgRGF0ZWkgd2luZWRlZmF1bHQucmVnIGltCiAgIFF1ZWxsY29kZXZlcnplaWNobmlzIHZvbiBXSU5FIGRpZW5lbi4gRGllIERhdGVpIHNvbGx0ZSBqZWRvY2gKICAgZGFyYXVmaGluIPxiZXJwcvxmdCB3ZXJkZW4sIG9iIGFsbGUgZG9ydCBhbmdlZ2ViZW5lbgogICBMYXVmd2Vya3NidWNoc3RhYmVuIHVuZCBQZmFkZSBzdGltbWVuLCBiZXZvciBzaWUgaW1wb3J0aWVydCB3aXJkLgogICBBdd9lcmRlbSBzb2xsdGUgaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgbmF0/HJsaWNoIGZlc3RnZWxlZ3QKICAgc2VpbiwgZGFzcyBkaWUgUmVnaXN0cmF0dXIgYmVpIEJlZW5kaWd1bmcgZGVzIFByb2dyYW1tcyBnZXNwZWljaGVydAogICB3aXJkLCBkYW1pdCBkaWUgaW1wb3J0aWVydGVuIERhdGVuIGF1Y2ggYmVpbSBu5GNoc3RlbiBBdWZydWYgdm9uCiAgIFdJTkUgenVyIFZlcmb8Z3VuZyBzdGVoZW4uIERhbmFjaCBrYW5uIGluIGRhcyBVbnRlcnZlcnplaWNobmlzCiAgIHByb2dyYW1zL3JlZ2FwaSBkZXMgUXVlbGxjb2RldmVyemVpY2huaXNzZXMgZ2V3ZWNoc2VsdCB3ZXJkZW4uIERvcnQKICAgaXN0IGRhcyBQcm9ncmFtbSB6dW7kY2hzdCBkdXJjaCBFaW5nYWJlIGRlcyBCZWZlaGxzIG1ha2UgenUKICAgZXJzdGVsbGVuLCBmYWxscyBkaWVzIG5vY2ggbmljaHQgZ2VzY2hlaGVuIGlzdC4gRGFuYWNoIGv2bm5lbiBkaWUKICAgZXJmb3JkZXJsaWNoZW4gRGF0ZW4gbWl0IGRlbSBmb2xnZW5kZW4gQmVmZWhsIGltcG9ydGllcnQgd2VyZGVuOgogICAKICAgLi9yZWdhcGkgc2V0VmFsdWUgPCAuLi8uLi93aW5lZGVmYXVsdC5yZWcKICAgCjggQXVmcnVmIHZvbiBXSU5FIHVuZCBLb21tYW5kb3plaWxlbm9wdGlvbmVuCgogICBXSU5FIGzkc3N0IHNpY2ggd2llIGplZGVzIGFuZGVyZSBQcm9ncmFtbSB2b24gZGVyIEtvbW1hbmRvemVpbGUgYXVzCiAgIGF1ZnJ1ZmVuLiBEZXIgTmFtZSBkZXMgYXVzenVm/GhyZW5kZW4gV2luZG93cy1Qcm9ncmFtbXMgaXN0IFdJTkUKICAgZGFiZWkgYW4gZGVyIEtvbW1hbmRvemVpbGUgYW5nZWJlbi4gUHJvZ3JhbW1lLCBkaWUgc2ljaCBpbiBlaW5lbQogICBWZXJ6ZWljaG5pcyBiZWZpbmRlbiwgZGFzIGluIGRlciBWYXJpYWJsZW4gUGF0aCBpbSBBYnNjaG5pdHQgV0lORQogICBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBhdWZnZWb8aHJ0IGlzdCwga/ZubmVuIGRhYmVpIG9obmUgQW5nYWJlCiAgIGRlcyBQZmFkbmFtZW5zIGF1ZmdlcnVmZW4gd2VyZGVuLiBEaWUgQW5nYWJlIGRlciBEYXRlaW5hbWVuc2VuZHVuZwogICAuZXhlIGlzdCBvcHRpb25hbC4gRmFsbHMgV0lORSBhbHNvIGdlc3RhcnRldCB1bmQgZGFzCiAgIFdpbmRvd3MtUHJvZ3JhbW0gd2lubWluZSAoTWluZXN3ZWVwZXIpIGdlbGFkZW4gd2VyZGVuIHNvbGwsIHfkcmUKICAgZGVyIGZvbGdlbmRlIEJlZmVobCBlaW56dWdlYmVuLCB2b3JhdXNnZXNldHp0LCBkaWUgRGF0ZWkKICAgd2lubWluZS5leGUgd/xyZGUgc2ljaCBpbiBlaW5lbSBWZXJ6ZWljaG5pcyBiZWZpbmRlbiwgd2VsY2hlcyBpbgogICBkZXIgVmFyaWFibGVuIFBhdGggYXVmZ2Vm/GhydCBpc3QuCiAgIAogICB3aW5lIHdpbm1pbmUuZXhlCiAgIAogICBTb2xsZW4gUHJvZ3JhbW1lIGdlc3RhcnRldCB3ZXJkZW4sIGRpZSBzaWNoIGluIFZlcnplaWNobmlzc2VuCiAgIGJlZmluZGVuLCB3ZWxjaGUgbmljaHQgaW4gZGVyIFZhcmlhYmxlbiBQYXRoIGJlZmluZGVuLCBpc3QgZXMKICAgZXJmb3JkZXJsaWNoLCBkZW4gUGZhZG5hbWVuIG1pdCBhbnp1Z2ViZW4uIEhpZXIga2FubiBlbnR3ZWRlciBkZXIKICAgRE9TLS9XaW5kb3dzLVBmYWRuYW1lIG9kZXIgZGVyIFVOSVgtUGZhZG5hbWUgYmVudXR6dCB3ZXJkZW4uIERpZQogICBiZWlkZW4gZm9sZ2VuZGVuIEJlZmVobGUgd/xyZGVuIGFsc28gZGFzIGdsZWljaGUgYmV3aXJrZW4sIGZhbGxzCiAgIGRhcyBMYXVmd2VyayBDOiBkZW0gVU5JWC1WZXJ6ZWljaG5pcyAvdmFyL3dpbnJvb3QgenVnZW9yZG5ldCB35HJlLgoKICAgd2luZSBjOlxcd2luZG93c1xcd2lubWluZS5leGUKICAgd2luZSAvdmFyL3dpbnJvb3Qvd2luZG93cy93aW5taW5lLmV4ZQoKICAgRGVyIFL8Y2t35HJ0cy1TY2hy5GdzdHJpY2ggaGF0IGb8ciBkaWUgU2hlbGwgQmFzaCBlaW5lIGJlc29uZGVyZQogICBCZWRldXR1bmcgdW5kIHdpcmQgZGVzd2VnZW4gbm9ybWFsZXJ3ZWlzZSBuaWNodCBhbiBXSU5FCiAgIPxiZXJnZWJlbi4gRHVyY2ggZGllIGRvcHBlbHRlIEFuZ2FiZSBkaWVzZXMgWmVpY2hlbnMgd2lyZCBiZXdpcmt0LAogICBkYXNzIGVpbiBlaW5mYWNoZXIgU2NocuRnc3RyaWNoIPxiZXJnZWJlbiB3aXJkLiBEYXRlaS0gdW5kCiAgIFZlcnplaWNobmlzbmFtZW4gZW50aGFsdGVuIHVudGVyIFdpbmRvd3MgZ2VsZWdlbnRsaWNoCiAgIExlZXJ6ZWljaGVuLiBBdWNoIGhpZXIgaXN0IGVzIG5vdHdlbmRpZyBlaW5lbiBUcmljayBhbnp1d2VuZGVuLAogICBkYW1pdCBkaWUgTGVlcnplaWNoZW4gbmljaHQgZGF6dSBm/GhyZW4sIGRhc3MgZGllIFNoZWxsIGRpZQogICBlaW56ZWxuZW4gVGVpbGUgZGVyIE5hbWVuIGluIHZlcnNjaGllZGVuZW4gQXJndW1lbnRlIHplcmxlZ3QuIERlcgogICBmb2xnZW5kZSBCZWZlaGwgd/xyZGUgYmVpc3BpZWxzd2Vpc2UgbmljaHQgenVtIGdld/xuc2NodGVuIEVyZ2VibmlzCiAgIGb8aHJlbjoKICAgCiAgIHdpbmUgL3Zhci93aW5yb290L1Byb2dyYW1tZS9NaWNyb3NvZnQgR2FtZXMvUm9BIFRyaWFsIFZlcnNpb24vUEFDREVNTy5FWEUKICAgCiAgIEhpZXIgd/xyZGUgZGllIFNoZWxsIFdJTkUgdmllciBBcmd1bWVudGUg/GJlcmdlYmVuLCBu5G1saWNoCiAgIC92YXIvd2lucm9vdC9Qcm9ncmFtbWUvTWljcm9zb2Z0LCBHYW1lcy9Sb0EsIFRyaWFsIHVuZAogICBWZXJzaW9uL1BBQ0RFTU8uRVhFLCB3b3JhdWZoaW4gZGFzIHp1IHN0YXJ0ZW5kZSBQcm9ncmFtbSBuaWNodCBtZWhyCiAgIGdlZnVuZGVuIHdlcmRlbiB3/HJkZS4gRGFtaXQgZGllIFNoZWxsIGJlaSBMZWVyemVpY2hlbiBrZWluZQogICBUcmVubnVuZyBkdXJjaGb8aHJ0LCBpc3QgZGVuIGJldHJlZmZlbmRlbiBMZWVyemVpY2hlbiBlYmVuZmFsbHMgZWluCiAgIHL8Y2t35HJ0c2dlcmljaHRldGVyIFNjaHLkZ3N0cmljaCB2b3Jhbnp1c3RlbGxlbjoKICAgCiAgIHdpbmUgL3Zhci93aW5yb290L1Byb2dyYW1tZS9NaWNyb3NvZnRcIEdhbWVzL1JvQVwgVHJpYWxcIFZlcnNpb24vUEFDREVNTy5FWEUKICAgCiAgIEZhbGxzIEFyZ3VtZW50ZSBkZW0genUgc3RhcnRlbmRlbiBXaW5kb3dzLVByb2dyYW1tZW4g/GJlcmdlYmVuCiAgIHdlcmRlbiBzb2xsZW4sIGlzdCBkZW0gUHJvZ3JhbW1uYW1lbiBlaW4gLS0gdm9yYW56dXN0ZWxsZW4sIHVtIFdpbmUKICAgZGFzIEVuZGUgZGVyIFdpbmUtT3B0aW9uZW4gYW56dXplaWdlbiAoZGFtaXQgV2luZSBuaWNodCBkdXJjaCBQcm9ncmFtbS0KICAgT3B0aW9uZW4gdmVyd2lycnQgd2VyZGVuIGthbm4sIGRpZSBldnQuIGViZW5mYWxscyAtLVhYWCBoZWlzc2VuKS4KICAgVW0gYmVpc3BpZWxzd2Vpc2UgZGFzIFByb2dyYW1tIG5vdGVwYWQuZXhlIHp1IHN0YXJ0ZW4gdW5kIGRpZXNlbSBQcm9ncmFtbQogICBkYXMgQXJndW1lbnQgcmVhZG1lLjFzdCB6dSD8YmVyZ2ViZW4sIHfkcmUgV0lORSBzbyBhdWZ6dXJ1ZmVuOgogICAKICAgd2luZSAtLSBub3RlcGFkIHJlYWRtZS4xc3QKICAgCiAgIFdlbm4gbWVocmVyZSBXaW5kb3dzLVByb2dyYW1tZSBoaW50ZXJlaW5hbmRlciBnZXN0YXJ0ZXQgd2VyZGVuIHNvbGxlbiwKICAgbXVzcyBXSU5FIG1laHJtYWxzIGhpbnRlcmVpbmFuZGVyIG1pdCBkZW4gZW50c3ByZWNoZW5kZW4gUHJvZ3JhbW1uYW1lbgogICBhbHMgQXJndW1lbnQgYXVmZ2VydWZlbiB3ZXJkZW4uCiAgIAogIDguMSBLb21tYW5kb3plaWxlbm9wdGlvbmVuCiAgCiAgIE5lYmVuIGRlbiBOYW1lbiBkZXIgenUgc3RhcnRlbmRlbiBQcm9ncmFtbWUgdmVyc3RlaHQgV0lORSBlaW5lIFJlaWhlCiAgIHZvbiBPcHRpb25lbiwgbWl0IGRlbmVuIGRpZSBPcGVyYXRpb24gZGVzIFByb2dyYW1tcyBnbG9iYWwgYmVlaW5mbHVzc3QKICAgd2VyZGVuIGthbm4uIERpZXNlIE9wdGlvbmVuIHdlcmRlbiBkaXJla3Qgdm9uIFdJTkUgaW50ZXJwcmV0aWVydAogICB1bmQgbmljaHQgYW4gZGFzIGF1Znp1cnVmZW5kZSBXaW5kb3dzLVByb2dyYW1tIPxiZXJnZWJlbi4KICAgCiAgIC0taGVscAogICAgICAgICAgRGllIE9wdGlvbiBiZXdpcmt0LCBkYXNzIGVpbmUg3GJlcnNpY2h0IPxiZXIgZGllIHZlcmb8Z2JhcmVuCiAgICAgICAgICBPcHRpb25lbiBhdXNnZWdlYmVuIHdpcmQuCiAgICAgICAgICAKICAgLS12ZXJzaW9uCiAgICAgICAgICBEaWUgT3B0aW9uIGJld2lya3QsIGRhc3MgZGllIFZlcnNpb25zbnVtbWVyIHZvbiBXSU5FCiAgICAgICAgICBhbmdlemVpZ3Qgd2lyZC4KICAgICAgICAgIAogICAtLWRsbCBCaWJsaW90aGVrWyxCaWJsaW90aGVrIC4uLl09YnxuWzpCaWJsaW90aGVrWyxCaWJsaW90aGVrLC4uLl09YnxuXQogICAgICAgICAgTWl0IGRpZXNlciBPcHRpb24gbGFzc2VuIHNpY2ggZGllIEVpbnN0ZWxsdW5nZW4gYXVzIGRlbQogICAgICAgICAgQWJzY2huaXR0IFtEbGxPdmVycmlkZXNdIGF1cyBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICAgICAgICAg/GJlcnNjaHJlaWJlbiwgZXMga2FubiBhbHNvIGFuZ2VnZWJlbiB3ZXJkZW0sIHdlbGNoZQogICAgICAgICAgQmlibGlvdGhla2VuIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbgogICAgICAgICAgZ2VsYWRlbiB1bmQgd2VsY2hlIGRpcmVrdCB2b24gV0lORSB6dSBWZXJm/Gd1bmcgZ2VzdGVsbHQKICAgICAgICAgIHdlcmRlbiBzb2xsZW4uICBEZXIgT3B0aW9uIGlzdCBlaW4gQXVzZHJ1Y2sgenUg/GJlcmdlYmVuLAogICAgICAgICAgd2VsY2hlciBhdXMgZGVuIE5hbWVuIGRlciBiZXRyZWZmZW5kZW4gQmlibGlvdGhla2VuIGJlc3RlaHQsCiAgICAgICAgICBkaWUgZHVyY2ggS29tbWF0YSAob2huZSBMZWVyemVpY2hlbikgdm9uZWluYW5kZXIgZ2V0cmVubnQKICAgICAgICAgIHdlcmRlbi4gRGFuYWNoIGZvbGd0IGVpbiBHbGVpY2hoZWl0c3plaWNoZW4gdW5kIGRhcmF1ZmhpbgogICAgICAgICAgZW50d2VkZXIgZGVyIEJ1Y2hzdGFiZSBiLCB1bSB6dSBiZXN0aW1tZW4sIGRhc3MgZGllCiAgICAgICAgICBhbmdlZ2ViZW5lbiBCaWJsaW90aGVrZW4gdm9uIFdJTkUgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdAogICAgICAgICAgd2VyZGVuIHNvbGxlbiwgb2RlciBkZXIgQnVjaHN0YWJlIG4sIGRhbWl0IHZlcnN1Y2h0IHdpcmQsCiAgICAgICAgICBkaWUgQmlibGlvdGhla2VuIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24genUKICAgICAgICAgIGxhZGVuLiBTb2xjaGUgQXVzZHJ1Y2tlIGv2bm5lbiB3aWVkZXJob2x0IGFuZ2VnZWJlbiB3ZXJkZW4sCiAgICAgICAgICBzaWUgc2luZCBkYW5uIGR1cmNoIGVpbmVuIERvcHBlbHB1bmt0IChvaG5lIExlZXJ6ZWljaGVuKQogICAgICAgICAgdm9uZWluYW5kZXIgenUgdHJlbm5lbi4gU29sbGVuIGJlaXNwaWVsc3dlaXNlIGRpZQogICAgICAgICAgQmlibGlvdGhla2VuIHNoZWxsLCBjb21tZGxnIHVuZCBjb21tY3RybCBtaXQgaWhyZW4KICAgICAgICAgIHp1Z2Vo9nJpZ2VuIDMyYml0IEJpYmxpb3RoZWtlbiBhdXMgZWluZXIgYmVzdGVoZW5kZW4KICAgICAgICAgIEluc3RhbGxhdGlvbiBnZWxhZGVuIHdlcmRlbiB1bmQgZGllIEJpYmxpb3RoZWsgYWR2YXBpMzIgdm9uCiAgICAgICAgICBXSU5FIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQgd2VyZGVuLCBvYndvaGwgZGllcyBpbiBkZXIKICAgICAgICAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgYW5kZXJzIGFuZ2VnZWJlbiBpc3QsIHNvIGv2bm50ZSBtYW4gZGllCiAgICAgICAgICBPcHRpb24gc28gZWluc2V0emVuOgoKICAgICAgICAgIC0tZGxsIGNvbW1kbGcsY29tZGxnMzIsY29tbWN0cmwsY29tY3RsMzIsc2hlbGwsc2hlbGwzMj1uOmFkdmFwaTMyPWIuCiAgICAgICAgICAKICAgLS1kZWJ1Z21zZyArfC1mb28sK3wtYmFyCiAgICAgICAgICBEaWVzZSBPcHRpb24gZGllbnQgZGF6dSwgenUga29udHJvbGxpZXJlbiwgd2VsY2hlIEFydCB2b24KICAgICAgICAgIEluZm9ybWF0aW9uZW4gV0lORSB6dXIgRmVobGVyLSB1bmQgQWJsYXVmdmVyZm9sZ3VuZyBhdXNnZWJlbgogICAgICAgICAgc29sbC4gRXMgc3RlaGVuIGVpbmUgUmVpaGUgc28gZ2VuYW5udGVyIEthbuRsZSB6dXIgVmVyZvxndW5nLAogICAgICAgICAgZGVyZW4gTmFtZW4gYW5nZXplaWd0IHdlcmRlbiwgd2VubiBkaWUgT3B0aW9uIG9obmUgd2VpdGVyZSBBbmdhYmVuCiAgICAgICAgICBiZW51dHp0IHdpcmQuIERpZSBlaW56ZWxuZW4gS2Fu5GxlIGVudHNwcmVjaGVuIG5vcm1hbGVyd2Vpc2UKICAgICAgICAgIHVudGVyc2NoaWVkbGljaGVuIFRlaWxiZXJlaWNoZW4gdm9uIFdJTkUsIGRlcmVuIFZlcmhhbHRlbiBkdXJjaAogICAgICAgICAgZGllIEF1c2dhYmUgYmVzdGltbXRlciBJbmZvcm1hdGlvbmVuIPxiZXJwcvxmdCB3ZXJkZW4ga2Fubi4gVW0KICAgICAgICAgIGJlaXNwaWVsc3dlaXNlIGRpZSBNZWxkdW5nZW4gZvxyIGRlbiBLYW5hbCBmaWxlIGVpbnp1c2NoYWx0ZW4sCiAgICAgICAgICB35HJlIGRpZSBPcHRpb24gLS1kZWJ1Z21zZyArZmlsZSB6dSBiZW51dHplbi4gV2VubiBkaWUKICAgICAgICAgIE1lbGR1bmdlbiBkZXIgS2Fu5GxlIGZpbGUgdW5kIGRvc2ZzIGF1c2dlZ2ViZW4gd2VyZGVuIHNvbGxlbiwKICAgICAgICAgIHfkcmUgLS1kZWJ1Z21zZyArZmlsZSwrZG9zZnMgYW56dWdlYmVuLiBXZWl0ZXJlIEluZm9ybWF0aW9uZW4KICAgICAgICAgIGhpZXJ6dSBiZWZpbmRlbiBzaWNoIGluIGRlciBEYXRlaSBkZWJ1Zy1tc2cgaW0gVW50ZXJ2ZXJ6ZWljaG5pcwogICAgICAgICAgZG9jdW1lbnRhdGlvbiBkZXMgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3Nlcy4gWndlaSBiZXNvbmRlcnMKICAgICAgICAgIHdpY2h0aWdlIEthbuRsZSBzaW5kIHJlbGF5IHVuZCBzbm9vcC4gV2VubiBkZXIgS2FuYWwgcmVsYXkKICAgICAgICAgIGVpbmdlc2NoYWx0ZXQgaXN0LCB3aXJkIGF1c2dlZ2ViZW4sIHdlbGNoZSBGdW5rdGlvbmVuIGluIFdJTkUKICAgICAgICAgIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gbWl0IHdlbGNoZW4gUGFyYW1ldGVybiBhdWZnZXJ1ZmVuIHdlcmRlbgogICAgICAgICAgdW5kIHdlbGNoZSBS/GNra2VocndlcnRlIGRpZXNlIEZ1bmt0aW9uZW4gbGllZmVybi4gRGVyIEthbmFsCiAgICAgICAgICBzbm9vcCB6ZWlndCBhbiwgd2VsY2hlIEZ1bmt0aW9uZW4gYXVzIGVjaHRlbgogICAgICAgICAgV2luZG93cy1CaWJsaW90aGVrZW4gYXVmZ2VydWZlbiB3ZXJkZW4uIERpZSBBdXNnYWJlIGRlcyBLYW5hbHMKICAgICAgICAgIHJlbGF5IGRpZW50IFdJTkUtRW50d2lja2xlcm4gb2Z0IGRhenUsIGZlc3R6dXN0ZWxsZW4sIHdvIGVpbgogICAgICAgICAgRmVobGVyIGF1ZmdldHJldGVuIGlzdC4gRGVzd2VnZW4gaXN0IGVzIHJhdHNhbSwgYmVpCiAgICAgICAgICBGZWhsZXJiZXJpY2h0ZW4gaW4gZGllIFdJTkUtTmV3c2dyb3VwIGRpZSBsZXR6dGVuIDIwMCBaZWlsZW4KICAgICAgICAgIGRlciBBdXNnYWJlIHZvbiBXSU5FIG1pdHp1c2NoaWNrZW4sIGRpZSBiZWkgZGVtIEF1ZnJ1ZiBkZXMKICAgICAgICAgIFByb2dyYW1tcyBtaXQgZGVyIE9wdGlvbiAtLWRlYnVnbXNnICtyZWxheSB2b3IgQXVmdHJldGVuIGRlcwogICAgICAgICAgRmVobGVycyBlbnRzdGFuZGVuIHNpbmQuCiAgICAgICAgICAKOSBGZWhsZXJxdWVsbGVuCgogICBXSU5FIGJlZmluZGV0IHNpY2ggenVyIFplaXQgbm9jaCBtaXR0ZW4gaW4gZGVyIEVudHdpY2tsdW5nLCB3ZXN3ZWdlbgogICB2aWVsZSBXaW5kb3dzLVByb2dyYW1tZSBudXIgdGVpbHdlaXNlIG9kZXIg/GJlcmhhdXB0IG5pY2h0IGRhbWl0CiAgIGZ1bmt0aW9uaWVyZW4uIE1pdCBncm/fZXIgV2FocnNjaGVpbmxpY2hrZWl0IHdlcmRlbiBlaW5pZ2UgUHJvZ3JhbW1lCiAgIHNvZ2FyIG5pZSBtaXQgV0lORSBmdW5rdGlvbmllcmVuLCBiZWlzcGllbHN3ZWlzZSB3ZWlsIHNpZSBlaWdlbmUKICAgV2luZG93cy1UcmVpYmVyIGJyYXVjaGVuLCBkaWUgdW50ZXIgTGludXggbmljaHQgZ2VsYWRlbiB3ZXJkZW4ga/ZubmVuLgogICBUcm90emRlbSBmdW5rdGlvbmllcmVuIHZpZWxlIFdpbmRvd3MtUHJvZ3JhbW1lIGF1c2dlc3Byb2NoZW4gZ3V0IG1pdAogICBXSU5FIHVuZCBkaWUgQW56YWhsIGZ1bmt0aW9uaWVyZW5kZXIgUHJvZ3JhbW1lIGVyaPZodCBzaWNoIHJlbGF0aXYKICAgc2NobmVsbC4gV2VubiBlaW4gUHJvZ3JhbW0gbmljaHQgd2llIGdld/xuc2NodCBmdW5rdGlvbmllcnQsIGthbm4gZXMKICAgZGVzd2VnZW4gaGlsZnJlaWNoIHNlaW4sIGRpZSBmb2xnZW5kZW4gRnJhZ2VuIHp1IHVudGVyc3VjaGVuOgogICAKICAgV0lORSBmdW5rdGlvbmllcnQg/GJlcmhhdXB0IG5pY2h0CiAgICAgICAgICBJbiBiZXN0aW1tdGVuIFBha2V0dmVyc2lvbmVuIGRlciBDLUJpYmxpb3RoZWsgKFZlcnNpb24KICAgICAgICAgIDIuMS4zKSBsaWVndCBlaW4gRmVobGVyIHZvciwgZGVyIGRhenUgZvxocnQsIGRhc3MgV0lORQogICAgICAgICAgZGlyZWt0IG5hY2ggZGVtIFN0YXJ0IG1pdCBGZWhsZXJtZWxkdW5nZW4gYWJicmljaHQuIFNpZQogICAgICAgICAga/ZubmVuIGRhcyBQcm9ibGVtIGJlaGViZW4sIGluZGVtIFNpZSBlaW5lIG5ldWVyZSBWZXJzaW9uCiAgICAgICAgICBkZXIgQy1CaWJsaW90aGVrIGluc3RhbGxpZXJlbiBvZGVyIGRpZSBWYXJpYWJsZSBMQU5HIGF1ZgogICAgICAgICAgZWluZW4gV2VydCBzZXR6ZW4uIEJlaSBWZXJ3ZW5kdW5nIGRlciBCYXNoIGthbm4gZGllcwogICAgICAgICAgYmVpc3BpZWxzd2Vpc2UgZHVyY2ggRWluZ2FiZSBkZXMgZm9sZ2VuZGVuIEJlZmVobHMKICAgICAgICAgIGdlc2NoZWhlbjogZXhwb3J0IExBTkc9ZGVfREUuCiAgICAgICAgICAKICAgV0lORSBmdW5rdGlvbmllcnQgaW1tZXIgbm9jaCBuaWNodAogICAgICAgICAgV2VubiBTaWUgV0lORSBhdWYgZGllIGJlc2NocmllYmVuZSBBcnQgaW5zdGFsbGllcnQgaGFiZW4sCiAgICAgICAgICBzb2xsdGVuIFNpZSD8YmVycHL8ZmVuLCBkYXNzIHNpY2ggbmljaHQgZ2xlaWNoemVpdGlnIG5vY2gKICAgICAgICAgIGVpbmUgYW5kZXJlLCDkbHRlcmUgVmVyc2lvbiBkZXMgUHJvZ3JhbW1zIGF1ZiBkZW0gUmVjaG5lcgogICAgICAgICAgYmVmaW5kZXQsIHdlbGNoZXMgdS5VLiB2b24gSWhyZXIgRGlzdHJpYnV0aW9uIG1pdGluc3RhbGxpZXJ0CiAgICAgICAgICB3dXJkZS4gRGllcyBr9m5udGUgbuRtbGljaCBkYXp1IGb8aHJlbiwgZGFzcyB2ZXJzdWNodCB3aXJkLAogICAgICAgICAgaW5rb21wYXRpYmxlIEJpYmxpb3RoZWtlbiB6dSBsYWRlbi4KICAgICAgICAgIAogICBXaW5kb3dzLSB1bmQgV2luZG93cy9zeXN0ZW0tVmVyemVpY2huaXMgc2luZCBuaWNodCByaWNodGlnIGFuZ2VnZWJlbgogICAgICAgICAgRGllIE1lbGR1bmcgSW52YWxpZCBwYXRoICdjOlx3aW5kb3dzJyBmb3Igd2luZG93cyBkaXJlY3RvcnkKICAgICAgICAgIGJlc2FndCwgZGFzcyBpbSBBYnNjaG5pdHQgV0lORSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBtaXQKICAgICAgICAgIGRlciBWYXJpYWJsZW4gV2luZG93cyBlaW4gV2luZG93cy1WZXJ6ZWljaG5pcyBhbmdlZ2ViZW4KICAgICAgICAgIHd1cmRlLCB3ZWxjaGVzIG5pY2h0IGV4aXN0aWVydC4gRXMgaXN0IGRhbm4genUg/GJlcnBy/GZlbiwKICAgICAgICAgIG9iIGRhcyBXaW5kb3dzLVZlcnplaWNobmlzIHZvcmhhbmRlbiBpc3QgdW5kIG9iIGRhcwogICAgICAgICAgTGF1ZndlcmssIGF1ZiBkZW0gZXMgc2ljaCBiZWZpbmRldCwgZGVtIHJpY2h0aWdlbgogICAgICAgICAgVU5JWC1WZXJ6ZWljaG5pcyB6dWdlb3JkbmV0IGlzdC4KICAgICAgICAgIAogICBEaWUgWnVvcmRudW5nZW4gZGVyIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gc3RpbW1lbiBuaWNodAogICAgICAgICAgV2VubiBiZWltIFN0YXJ0IHZvbiBXSU5FIE1lbGR1bmdlbiB3aWUgV2FybmluZzoKICAgICAgICAgIC92YXIvd2lucm9vdC93aW5kb3dzL3NvbC5leGUgbm90IGFjY2Vzc2libGUgZnJvbSBhIERPUyBkcml2ZQogICAgICAgICAgYXVzZ2VnZWJlbiB3ZXJkZW4sIHRlaWx0IFdJTkUgbWl0LCBkYXNzIGRhcyBhdXN6dWb8aHJlbmRlCiAgICAgICAgICBQcm9ncmFtbSBzaWNoIGluIGVpbmVtIFZlcnplaWNobmlzIGJlZmluZGV0LCBkYXMgYXVmZ3J1bmQKICAgICAgICAgIGRlciBadW9yZG51bmdlbiBpbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBtaXQga2VpbmVtCiAgICAgICAgICBMYXVmd2VyayBhc3NvemlpZXJ0IGlzdC4gRXMgc29sbHRlbiBkYW5uIGRpZQogICAgICAgICAgTGF1ZndlcmtzenVvcmRudW5nZW4g/GJlcnBy/GZ0IHdlcmRlbi4KICAgICAgICAgIAogICBXaW5kb3dzLVByb2dyYW1tZSBmaW5kZW4gRWluc3RlbGx1bmdlbiB1bmQgQmlibGlvdGhla2VuIG5pY2h0CiAgICAgICAgICBXZW5uIFdJTkUgbWl0IGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQKICAgICAgICAgIHdpcmQsIGlzdCBlcyBlcmZvcmRlcmxpY2gsIGRhc3MgZGllIExhdWZ3ZXJrc2J1Y2hzdGFiZW4KICAgICAgICAgIHVudGVyIFdpbmRvd3MgdW5kIFdJTkUg/GJlcmVpbnN0aW1tZW4uIEZhbGxzIGVpbiBQcm9ncmFtbQogICAgICAgICAgbuRtbGljaCBiZWlzcGllbHN3ZWlzZSBpbiBkZXIgUmVnaXN0cmF0dXIgZ2VzcGVpY2hlcnQgaGF0LAogICAgICAgICAgZGFzcyBzaWNoIGVpbmUgYmVzdGltbXRlIEtvbXBvbmVudGUgaW0gVmVyemVpY2huaXMKICAgICAgICAgIEM6XFdpbmRvd3NcU3lzdGVtIGJlZmluZGV0LCBkYW5uIGlzdCBlcyBlcmZvcmRlcmxpY2gsIGRhc3MKICAgICAgICAgIGRpZXNlcyBQcm9ncmFtbSBkaWUgS29tcG9uZW50ZSBhdWNoIHVudGVyIFdJTkUgaW4gZGVtIHNlbGJlbgogICAgICAgICAgVmVyemVpY2huaXMgZmluZGV0LiBFcyBpc3QgamVkb2NoIG32Z2xpY2ggbWl0IFdJTkUKICAgICAgICAgIHp1c+R0emxpY2hlIExhdWZ3ZXJrZSB6dSB2ZXJ3ZW5kZW4gKGFsc28gei5CLiBkYXMgZWlnZW5lCiAgICAgICAgICBIZWltYXR2ZXJ6ZWljaG5pcyBlaW5lbSBMYXVmd2Vya3NidWNoc3RhYmVuIHp1enVvcmRuZW4pLCBkaWUKICAgICAgICAgIHVudGVyIFdpbmRvd3MgbmljaHQgdm9yaGFuZGVuIHNpbmQuCiAgICAgICAgICAKICAgU3BpZWxlIHdlcmRlbiBpbSBGZW5zdGVyIGRhcmdlc3RlbGx0LCBvYndvaGwgVm9sbGJpbGQgYXVzZ2V35GhsdCB3dXJkZQogICB1bmQgc2luZCB6dSBsYW5nc2FtCgogICAgICAgICAgRGllIG1laXN0ZW4gU3BpZWxlIGJlbnV0emVuIGVpbmVuIGJlc3RpbW10ZSBGYXJidGllZmUsIGluCiAgICAgICAgICBkaWUgV2luZG93cyB1bXNjaGFsdGV0LCB3ZW5uIGRhcyBiZXRyZWZmZW5kZSBTcGllbCBnZXN0YXJ0ZXQKICAgICAgICAgIHdpcmQuICBNaXQgZGVtIFggV2luZG93IFN5c3RlbSBpc3QgZXMgbGVpZGVyIG5pY2h0IG32Z2xpY2gKICAgICAgICAgIGRpZSBGYXJidGllZmUgd+RocmVuZCBkZXMgbGF1ZmVuZGVuIEJldHJpZWJzIHp1IORuZGVybiwKICAgICAgICAgIHdlc3dlZ2VuIFdJTkUgZGllIGdld/xuc2NodGUgRmFyYnRpZWZlIGluIGVpbmVtIEZlbnN0ZXIKICAgICAgICAgIGVtdWxpZXJlbiBtdXNzLCBmYWxscyBkZXIgWC1TZXJ2ZXIgbmljaHQgaW4gZGVyIHJpY2h0aWdlbgogICAgICAgICAgRmFyYnRpZWZlIGzkdWZ0LiAgRGFkdXJjaCB3aXJkIHNlaHIgdmllbCBSZWNoZW5sZWlzdHVuZwogICAgICAgICAgYmVu9nRpZ3QgdW5kIGF132VyZGVtIGthbm4gbmljaHQgaW4gZWluZW4gVm9sbGJpbGRtb2R1cwogICAgICAgICAgZ2VzY2hhbHRldCB3ZXJkZW4uIEFiaGlsZmUgc2NoYWZmdCBoaWVyIG51ciwgZGVuIFgtU2VydmVyIGluCiAgICAgICAgICBkZXIgcmljaHRpZ2VuIEZhcmJ0aWVmZSB6dSBzdGFydGVuLCBiZXZvciBXSU5FIGF1ZmdlcnVmZW4KICAgICAgICAgIHdpcmQuIEhpZXJ6dSBkaWVuZW4gZGllIE9wdGlvbmVuIC1icHAsIGJlaSBYLVNlcnZlcm4gZGVzCiAgICAgICAgICBYRnJlZTg2LVByb2pla3RzIGRlciBWZXJzaW9uc2ZhbWlsaWUgMy4zLnggYnp3LiAtZGVwdGggaW4KICAgICAgICAgIGRlciBWZXJzaW9uc2ZhbWlsaWUgNC4wKSBHZWxlZ2VudGxpY2ggZW1wZmllaGx0IGVzIHNpY2gKICAgICAgICAgIGF1Y2gsIGVpbmVuIHp3ZWl0ZW4gWC1TZXJ2ZXIgenUgc3RhcnRlbiwgd2FzIGFtIGVpbmZhY2hzdGVuCiAgICAgICAgICBtaXQgZGVtIEJlZmVobCB4aW5pdCgxKSBnZXNjaGVoZW4ga2Fubi4gVW0gYmVpc3BpZWxzd2Vpc2UKICAgICAgICAgIGRhcyBQcm9ncmFtbSBxMnRlc3QuZXhlIG1pdCBXSU5FIGF1ZiBlaW5lbSB6d2VpdGVuIFgtU2VydmVyCiAgICAgICAgICBtaXQgZWluZXIgRmFyYnRpZWZlIHZvbiA4IEJpdCBwcm8gUGl4ZWwgYXVzIGRlbSBha3R1ZWxsZW4KICAgICAgICAgIEFyYmVpdHN2ZXJ6ZWljaG5pcyB6dSBzdGFydGVuLCBr9m5udGUgZGVyIGZvbGdlbmRlIEJlZmVobAogICAgICAgICAgYmVudXR6dCB3ZXJkZW4gKEZJWE1FOiBuaWNodCBtZWhyIGtvcnJla3QgPyk6CiAgICAgICAgICAKICAgICAgICAgIHhpbml0IC91c3IvbG9jYWwvYmluL1dJTkUgcTJ0ZXN0LmV4ZSAtLWRpc3BsYXkgOjEgLS0gLWJwcCA4IDoxCiAgICAgICAgCiAgICAgICAgICBGYWxscyBzaWNoIFdJTkUgaW4gZWluZW0gYW5kZXJlbiBWZXJ6ZWljaG5pcyBhbHMKICAgICAgICAgIC91c3IvbG9jYWwvYmluIGJlZmluZGV0LCBpc3QgZGVyIEJlZmVobCBuYXT8cmxpY2gKICAgICAgICAgIGVudHNwcmVjaGVuZCBhbnp1cGFzc2VuLgogICAgICAgICAgCiAgIERlciBER0EtTW9kdXMgZnVua3Rpb25pZXJ0IG5pY2h0LCBvYndvaGwgWCBpbiBkZXIgcmljaHRpZ2VuCiAgIEZhcmJ0aWVmZSBhdXNnZWb8aHJ0IHdpcmQ7IFNwaWVsZSBzaW5kIGltbWVyIG5vY2ggbGFuZ3NhbQogICAgICAgICAgRGllIFZlcndlbmR1bmcgdm9uIERHQSBpc3Qgbm9ybWFsZXJ3ZWlzZSBudXIgZGVtCiAgICAgICAgICBTeXN0ZW1hZG1pbmlzdHJhdG9yIGdlc3RhdHRldCwgZGFzIGJldHJlZmZlbmRlIFByb2dyYW1tIG11c3MKICAgICAgICAgIGFsc28gbWl0IGRlc3NlbiBSZWNodGVuIGF1c2dlZvxocnQgd2VyZGVuLiBBbHRlcm5hdGl2IGRhenUKICAgICAgICAgIHJlaWNodCBlcyBhdWNoIGF1cywgQmVudXR6ZXJuIFNjaHJlaWItIHVuZCBMZXNlcmVjaHRlIGF1ZgogICAgICAgICAgZGllIEdlcuR0ZWRhdGVpIC9kZXYva21lbSB6dSBlcnRlaWxlbi4KICAgICAgICAgIAogICBFcyBpc3Qga2VpbiBTb3VuZCB6dSBo9nJlbgogICAgICAgICAgWnVu5GNoc3Qgc29sbHRlIPxiZXJwcvxmdCB3ZXJkZW4sIG9iIGRpZSBTb3VuZHVudGVyc3T8dHp1bmcKICAgICAgICAgIGRlcyBMaW51eC1LZXJuZWxzIHJpY2h0aWcgZnVua3Rpb25pZXJ0LCBhbHNvIG9iIGVzIG32Z2xpY2gKICAgICAgICAgIGlzdCwgbWl0IGFuZGVyZW4gTGludXgtUHJvZ3JhbW1lbiBkaWUgU291bmRrYXJ0ZSB6dQogICAgICAgICAgdmVyd2VuZGVuLiBJbSBu5GNoc3RlbiBTY2hyaXR0IGthbm4g/GJlcnBy/GZ0IHdlcmRlbiwgb2IgZGllCiAgICAgICAgICBTb3VuZC1IYXJkd2FyZSB2b24gZWluZW0gYW5kZXJlbiBQcm9ncmFtbSBiZW51dHp0IHdpcmQgdW5kCiAgICAgICAgICBXSU5FIGRlc3dlZ2VuIG5pY2h0IGRhcmF1ZiB6dWdyZWlmZW4ga2Fubi4KICAgICAgICAgIApXZWl0ZXJm/GhyZW5kZSBJbmZvcm1hdGlvbmVuCgogICBEaWUgemVudHJhbGUgV2ViLUFkcmVzc2UgZvxyIEluZm9ybWF0aW9uZW4genUgV0lORSBpc3QKICAgaHR0cDovL3d3dy53aW5laHEuY29tLiBEb3J0IGJlZmluZGVuIHNpY2ggTGlua3MgenUgdmllbGVuIHdlaXRlcmVuCiAgIERva3VtZW50ZW4sIHdpZSBlaW5lbSBXSU5FLUZBUSwgZWluZW0gV0lORS1IT1dUTywgZWluZXIgQW5sZWl0dW5nIHp1bQogICBFcnN0ZWxsZW4gdm9uIEZlaGxlcmJlcmljaHRlbiB1bmQgdmllbGVzIG1laHIuCg==