CSAgIEluc3RhbGxhdGlvbnMtIHVuZCBCZWRpZW51bmdzYW5sZWl0dW5nIGb8ciBXSU5FCgkJCSAgICAgUGV0ZXIgR2FudGVuCgkJCSAgIHBldGVyQGdhbnRlbi5vcmcKCQkJICAgICA3LiBKdWxpIDIwMDAKCgoxLiBadXNhbW1lbmZhc3N1bmcKCkRpZXNlciBUZXh0IGJlc2NocmVpYnQgZGllIEluc3RhbGxhdGlvbiwgRWlucmljaHR1bmcgdW5kIEJlZGllbnVuZyB2b24KV0lORS4gV0lORSBpc3QgZWluZSBMYXVmemVpdHVtZ2VidW5nIHp1bSBBdXNm/GhyZW4gdm9uIFByb2dyYW1tZW4gZvxyCk1TLVdpbmRvd3MgdW50ZXIgR05VL0xpbnV4IHVuZCBhbmRlcmVuIFVOSVgta29tcGF0aWJsZW4KQmV0cmllYnNzeXN0ZW1lbiBhdWYgSW50ZWwteDg2LWtvbXBhdGlibGVuIENvbXB1dGVybiwgZGFzIFByb2dyYW1tIGthbm4KYXXfZXJkZW0gZGF6dSBnZW51dHp0IHdlcmRlbiwgZGVuIFF1ZWxsY29kZSBleGlzdGllcmVuZGVyCldpbmRvd3MtUHJvZ3JhbW1lIG5hY2ggVU5JWCB6dSBwb3J0aWVyZW4uIEluIGRpZXNlbSBUZXh0IGdlaHQgZXMgaW4KZXJzdGVyIExpbmllIGplZG9jaCB1bSBkaWUgSW5zdGFsbGF0aW9uIHVuZCBLb25maWd1cmF0aW9uIGRlcgpMYXVmemVpdHVtZ2VidW5nIGb8ciBXaW5kb3dzLVByb2dyYW1tZS4gRGVyIFRleHQgd3VyZGUKdXJzcHL8bmdsaWNoIGFscyBCZWdsZWl0bWF0ZXJpYWwgZvxyIGVpbmVuIFZvcnRyYWcg/GJlciBXSU5FIHVuZCBkaWUKSW50ZWdyYXRpb24gdm9uIFdpbmRvd3MtQW53ZW5kdW5nZW4gdW50ZXIgR05VL0xpbnV4IGF1ZiBkZW0gTGludXhUYWcKMjAwMCB2b20gMzAuIEp1bmkgYmlzIHp1bSAyLiBKdWxpIDIwMDAgaW4gU3R1dHRnYXJ0IGdlc2NocmllYmVuLiAKCjIuIEVpbmxlaXR1bmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApNaXQgV0lORSB3aXJkIGVpbiB1bWZhc3NlbmRlciBBbnNhdHogenVyIEludGVncmF0aW9uIHZvbgpXaW5kb3dzLUFud2VuZHVuZ2VuIHVudGVyIEdOVS9MaW51eCB2ZXJmb2xndC4gV0lORSBiZXN0ZWh0IHUuYS4gYXVzCmVpbmVtIExvYWRlciwgbWl0IGRlbSBXaW5kb3dzLSB1bmQgRE9TLVByb2dyYW1tZSB1bnRlciBMaW51eCBpbiBkZW4KU3BlaWNoZXIgZ2VsYWRlbiB1bmQgdm9tIFByb3plc3NvciBkZXMgUmVjaG5lcnMgYXVzZ2Vm/GhydCB3ZXJkZW4Ka/ZubmVuLiBBdd9lcmRlbSBzdGVsbHQgZGFzIFByb2dyYW1tIGVpbmVuIGdyb99lbiBUZWlsIGRlcgpTY2huaXR0c3RlbGxlbiAoQVBJcykgV2luZG93cy1iYXNpZXJ0ZXIgQmV0cmllYnNzeXN0ZW1lIHp1ciBWZXJm/Gd1bmcuCkRpZXNlIFNjaG5pdHRzdGVsbGVuIHdlcmRlbiB2b24gV2luZG93cy1Qcm9ncmFtbWVuLCBkaWUgbWl0IFdJTkUKYXVzZ2Vm/GhydCB3ZXJkZW4sIGJlbnV0enQsIHNvIGRhc3Mgc29sY2hlIFByb2dyYW1tZSBkaWUgc2VsYmUsCmVyd2FydGV0ZSBVbWdlYnVuZyB2b3JmaW5kZW4sIHdpZSB1bnRlciBXaW5kb3dzLiBXZWlsIGRpZXNlClNjaG5pdHRzdGVsbGVuIG1pdCBXSU5FIHZvcmhhbmRlbiBzaW5kIHVuZCBkZXJlbiBEZWZpbml0aW9uZW4gaW4gRm9ybQp2b24gSGVhZGVyLURhdGVpZW4gdm9ybGllZ2VuLCBrYW5uIFdJTkUgYXVjaCBiZW51dHp0IHdlcmRlbiwgdW0gZGVuClF1ZWxsY29kZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIG5hY2ggR05VL0xpbnV4IG9kZXIgYW5kZXJlbgpVTklYLWJhc2llcnRlbiBCZXRyaWVic3N5c3RlbWVuIHp1IHBvcnRpZXJlbi4gRXMgZW50c3RlaGVuIGRhbm4gZWNodGUKVU5JWC9MaW51eC1Qcm9ncmFtbWUsIHdlbGNoZSBkaWUgc2VsYmUgRnVua3Rpb25hbGl05HQgaGFiZW4sIHdpZSBpaHJlCuRxdWl2YWxlbnRlbiBQcm9ncmFtbWUgdW50ZXIgV2luZG93cy4gRGllIFZlcndlbmR1bmcgZWluZXMKZWluaGVpdGxpY2hlbiBBUElzIHVudGVyIFdpbmRvd3MgdW5kIExpbnV4IGhhdCBm/HIgU29mdHdhcmVoZXJzdGVsbGVyCmRlbiBWb3J0ZWlsLCBkYXNzIG51ciBlaW5lIGVpbnppZ2UgVmVyc2lvbiBkZXMgUXVlbGxjb2RlcyBnZXBmbGVndCB1bmQKd2VpdGVyZW50d2lja2VsdCB3ZXJkZW4gbXVzcywgZGllIHNpY2ggdW50ZXIgYmVpZGVuCkJldHJpZWJzc3lzdGVtZmFtaWxpZW4gdmVyd2VuZGVuIGzkc3N0LgoKRGFzIFdJTkUtUHJvamVrdCB3dXJkZSAxOTkzIGdlc3RhcnRldCwgZXMgd2lyZCBpbSB3ZXNlbnRsaWNoZW4gdm9uCkZyZWl3aWxsaWdlbiBnZXRyYWdlbiwgZGllIPxiZXIgTWFpbGluZ2xpc3RlbiBtaXRlaW5hbmRlcgprb21tdW5pemllcmVuLiBJbiBsZXR6dGVyIFplaXQgaGF0IFdJTkUgenVz5HR6bGljaGUgVW50ZXJzdPx0enVuZwpkdXJjaCBtZWhyZXJlIGtvbW1lcnppZWxsZSBVbnRlcm5laG1lbiBlcmZhaHJlbiwgZGllIFdJTkUgZGF6dQplaW5zZXR6ZW4sIGlocmUgV2luZG93cy1Qcm9ncmFtbWUgbmFjaCBHTlUvTGludXggenUgcG9ydGllcmVuLiBXSU5FCmlzdCBoZXV0ZSBpbiBkZXIgTGFnZSwgZWluZW4gZ3Jv32VuIFRlaWwgZGVyIGV4aXN0aWVyZW5kZW4KV2luZG93cy1Qcm9ncmFtbWUgKDE2LSB1bmQgMzJiaXQpIHVudGVyIExpbnV4IGF1c3p1ZvxocmVuLCBpbiBlaW5lbQpiZWdyZW56dGVuIFVtZmFuZyBr9m5uZW4gYXVjaCBET1MtUHJvZ3JhbW1lIG1pdCBXSU5FIGJlbnV0enQKd2VyZGVuLiBXSU5FIGb8aHJ0IFdpbmRvd3MtUHJvZ3JhbW1lIGRpcmVrdCB1bnRlciBMaW51eCBhdXMsIGVzCmJlbvZ0aWd0IGRhenUga2VpbmUgc3BlemllbGxlbiBLZXJuZWxlcndlaXRlcnVuZ2VuLCBrZWluZSBiZXNvbmRlcmVuClJlY2h0ZSB1bmQga2VpbmUgZXhpc3RpZXJlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uLiBEYXMgRGVzaWduIGVybGF1YnQKZXMsIGRpZSBiZXRyZWZmZW5kZW4gUHJvZ3JhbW1lIHVudGVyIExpbnV4IGdlbmF1c28gc2NobmVsbAphdXN6dWb8aHJlbiwgd2llIHVudGVyIFdpbmRvd3MsIHdlaWwga2VpbmUgRW11bGF0aW9uIGltIFNpbm5lIGVpbmVyCkludGVycHJldGF0aW9uIHZvbiBQcm96ZXNzb3JhbndlaXN1bmdlbiBzdGF0dGZpbmRldC4gWnVyIEF1c2b8aHJ1bmcKZWluZXMgYmVzdGltbXRlbiBQcm9ncmFtbXMgd2VyZGVuIHVudGVyIEdOVS9MaW51eCBtaXQgV0lORSB0aGVvcmV0aXNjaApkaWVzZWxiZW4gU3lzdGVtcmVzc291cmNlbiBiZW72dGlndCB3aWUgdW50ZXIgV2luZG93cy4gT3B0aW9uYWwga2FubgpXSU5FIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4uIEVzIGlzdCBkYW5uCm32Z2xpY2gsIGRpZSBFaW5zdGVsbHVuZ2VuIGRpZXNlciBJbnN0YWxsYXRpb24gZvxyIFdpbmRvd3MtUHJvZ3JhbW1lCnp1IPxiZXJuZWhtZW4gdW5kIGVpbmlnZSBPcmlnaW5hbC1CZXN0YW5kdGVpbGUgdm9uIFdpbmRvd3MgbWl0IFdJTkUgenUKdmVyd2VuZGVuLCB3ZWxjaGUgaW4gV0lORSBub2NoIG5pY2h0IGluIGF1c3JlaWNoZW5kZW0gVW1mYW5nIHp1cgpWZXJm/Gd1bmcgc3RlaGVuLgogICAKSW0gZm9sZ2VuZGVuIHdpcmQgYmVzY2hyaWViZW4sIHdpZSBXSU5FIGF1ZiBlaW5lbSBHTlUvTGludXgtU3lzdGVtCmluc3RhbGxpZXJ0IHVuZCBlaW5nZXJpY2h0ZXQgd2VyZGVuIGthbm4uIEF1c2dlZ2FuZ2VuIHd1cmRlIGRhYmVpCnVyc3BydWVuZ2xpY2ggdm9uIGRlciBMaW51eC1EaXN0cmlidXRpb24gRGViaWFuIEdOVS9MaW51eCAyLjIgKHBvdGF0bykKdW5kIGRlciBXSU5FLVZlcnNpb24gMjAwMDA2MTQuIE1pdHRsZXJ3ZWlsZSB3dXJkZSBkZXIgSW5oYWx0IGF1ZiBuZXVlcmUKV2luZS1WZXJzaW9uZW4gKDIwMDEwNXh4KSBhbmdlcGFzc3QuIEJlaSBWZXJ3ZW5kdW5nIGVpbmVyIGFuZGVyZW4KTGludXgtRGlzdHJpYnV0aW9uIG9kZXIgZWluZXIgYW5kZXJlbiBXSU5FLVZlcnNpb24gc2luZCBkaWUKYmVzY2hyaWViZW5lbiBTY2hyaXR0ZSBlbnRzcHJlY2hlbmQgYW56dXBhc3Nlbi4KTWl0dGxlcndlaWxlIGdpYnQgZXMgYmVpIERlYmlhbiB2b24gT3ZlIEthYXZlbiBlaW4gcGVyZmVrdCBhbmdlcGFzc3RlcwpXaW5lLVBhY2thZ2UgKCJ3aW5lIiksIGRhcyB6dXNhbW1lbiBtaXQgIndpbmVzZXR1cHRrIiBraW5kZXJsZWljaHQgdmVyd2VuZGV0CndlcmRlbiBrYW5uLgogICAKMy4gQmlu5HJwYWtldCBvZGVyIFF1ZWxsY29kZT8KCkluIGRlbiBtZWlzdGVuIExpbnV4LURpc3RyaWJ1dGlvbmVuIHNpbmQgaGV1dGUgV0lORS1QYWtldGUKZW50aGFsdGVuLiBIaWVyYmVpIGhhbmRlbHQgZXMgc2ljaCB1bSBCaW7kcnBha2V0ZSwgZGllIFdJTkUgaW4gZWluZXIKRm9ybSBlbnRoYWx0ZW4sIGluIGRlciBlcyBkaXJla3QgYXVzZ2Vm/GhydCB3ZXJkZW4ga2Fubi4gQWt0dWVsbGUKVmVyc2lvbmVuIHNvbGNoZXIgUGFrZXRlIGxhc3NlbiBzaWNoIGF1Y2ggdm9uIHZlcnNjaGllZGVuZW4KSW50ZXJuZXRzZWl0ZW4gaGVydW50ZXJsYWRlbi4gVGhlb3JldGlzY2ggc29sbHRlIFdJTkUgbmFjaCBkZXIKSW5zdGFsbGF0aW9uIGVpbmVzIEJpbuRycGFrZXRzIHNpbm52b2xsIGtvbmZpZ3VyaWVydCB1bmQgc29mb3J0CmJlbnV0emJhciBzZWluLiBUYXRz5GNobGljaCBpc3QgZXMgaW4gdmllbGVuIEbkbGxlbiBqZWRvY2ggbm90d2VuZGlnLCAKZGllIG1pdCBkZW0gUGFrZXQgaW5zdGFsbGllcnRlIEtvbmZpZ3VyYXRpb24genUg/GJlcmFyYmVpdGVuLiAKCkF1ZmdydW5kIGRlciBzY2huZWxsZW4gRW50d2lja2x1bmcgdm9uIFdJTkUgd2lyZCB6dXIgWmVpdCBlbXBmb2hsZW4sCmFuIFN0ZWxsZSBlaW5lcyBCaW7kcnBha2V0cyBkZW4gYWt0dWVsbGVuIFF1ZWxsY29kZSB6dSB2ZXJ3ZW5kZW4uIERlcgpRdWVsbGNvZGUgbXVzcywgbmFjaGRlbSBtYW4gaWhuIHNpY2ggYmVzY2hhZmZ0IGhhdCwgZW50cGFja3QsCmtvbmZpZ3VyaWVydCB1bmQga29tcGlsaWVydCAo/GJlcnNldHp0KSB3ZXJkZW4uIERhYmVpIGVudHN0ZWh0IGRhbm4KZWluZSBCaW7kcmRhdGVpLCBkaWUgZ2VuYXUgYW4gZGFzIGVpZ2VuZSBTeXN0ZW0gYW5nZXBhc3N0IGlzdCB1bmQKZGVzaGFsYiBlaW5lIGj2aGVyZSBXYWhyc2NoZWlubGljaGtlaXQgZvxyIG9wdGltYWxlIEVyZ2Vibmlzc2UgYmlldGV0LAphbHMgQmlu5HJwYWtldGUsIGRpZSB1LlUuIGb8ciBlaW4gYW5kZXJzIGtvbmZpZ3VyaWVydGVzIFN5c3RlbQplcnN0ZWxsdCB3dXJkZW4uIERpZSBWZXJ3ZW5kdW5nIGRlcyBRdWVsbGNvZGVzIGJpZXRldCBhdd9lcmRlbSBkaWUKTfZnbGljaGtlaXQsIGRhcyBQcm9ncmFtbSByZWxhdGl2IGVpbmZhY2ggYWt0dWFsaXNpZXJlbiB6dSBr9m5uZW4sCndvYmVpIG5pY2h0IGltbWVyIHdpZWRlciBkYXMga29tcGxldHRlIFBha2V0IGhlcnVudGVyZ2VsYWRlbiB3ZXJkZW4KbXVzcy4gRGFy/GJlcmhpbmF1cyBrYW5uIG1pdCBkZXIgVmVyd2VuZHVuZyBkZXMgYWt0dWVsbGVuIFF1ZWxsY29kZXMgCnNpY2hlcmdlc3RlbGx0IHdlcmRlbiwgZGFzcyBldnRsLiBhdWZ0cmV0ZW5kZSBGZWhsZXIgd2lya2xpY2ggaW4gV0lORQp2b3JoYW5kZW4gc2luZCB1bmQgbmljaHQgYmVyZWl0cyBiZWhvYmVuIHdvcmRlbiBzaW5kLiBEYWR1cmNoIHdpcmQgZGllCk32Z2xpY2hrZWl0IGdlc3RlaWdlcnQsIHNpbm52b2xsZSBGZWhsZXJiZXJpY2h0ZSBhbiBkaWUKV0lORS1FbnR3aWNrbGVyIHNjaGlja2VuIHp1IGv2bm5lbi4gCgpEaWUgSW5zdGFsbGF0aW9uIHZvbiBCaW7kcnBha2V0ZW4gaXN0IGFiaORuZ2lnIHZvbSBlaW5nZXNldHp0ZW4KUGFrZXRmb3JtYXQgZGVyIERpc3RyaWJ1dGlvbiAoenVtZWlzdCB3aXJkIGRhcyBSZWRoYXQtIG9kZXIKRGViaWFuLUZvcm1hdCBiZW51dHp0KSBzb3dpZSBkZXIgRGlzdHJpYnV0aW9uIHNlbGJzdC4gRGllIGhpZXJ6dQpiZW72dGlndGVuIEluZm9ybWF0aW9uZW4gc29sbHRlbiBzaWNoIGluIGRlciBEb2t1bWVudGF0aW9uIGRlciB2b24KSWhuZW4gZWluZ2VzZXR6dGVuIERpc3RyaWJ1dGlvbiBmaW5kZW4uIEluIGRpZXNlbSBUZXh0IHdpcmQgZGllCkluc3RhbGxhdGlvbiBhdXMgZGVtIFF1ZWxsY29kZSB2b24gV0lORSBiZXNjaHJpZWJlbi4gCgo0LjAgU3lzdGVtdm9yYXVzc2V0enVuZ2VuCgpEYW1pdCBXSU5FIGF1ZiBkZW0gU3lzdGVtIPxiZXJzZXR6dCB1bmQgYXVzZ2Vm/GhydCB3ZXJkZW4ga2Fubiwgbfxzc2VuCmRpZSBmb2xnZW5kZW4gUHJvZ3JhbW1lIHVuZCBEYXRlaWVuIGluc3RhbGxpZXJ0IHNlaW46CgogICAgMS4gTGludXgtS2VybmVsIGFiIGRlciBWZXJzaW9uc2ZhbWlsaWUgMi4yLnguIChXSU5FIGzkc3N0IHNpY2ggYXVjaAogICAgICAgdW50ZXIgTGludXgtS2VybmVscyBkZXIgVmVyc2lvbnNmYW1pbGllIDIuMC54IGF1c2b8aHJlbiwKICAgICAgIGFsbGVyZGluZ3MgdW50ZXJzdPx0emVuIGRpZXNlIEtlcm5lbHMgYmVzdGltbXRlIHZvbiBXSU5FIGJlbvZ0aWd0ZQogICAgICAgRWlnZW5zY2hhZnRlbiBuaWNodC4gRGllcyBtYWNodCBzaWNoIGluc2Jlc29uZGVyZSBkYW5uIGJlbWVya2JhciwKICAgICAgIHdlbm4gMzJCaXQtV2luZG93c3Byb2dyYW1tZSBtaXQgV0lORSBhdXNnZWb8aHJ0IHdlcmRlbiBzb2xsZW4sIGJlaQogICAgICAgZGVuZW4gbWVocmVyZSBUaHJlYWRzIGdsZWljaHplaXRpZyBhdXNnZWb8aHJ0IHdlcmRlbi4pIERpZQogICAgICAgVmVyc2lvbnNudW1tZXIgZGVzIGFrdHVlbGwgYXVzZ2Vm/GhydGVuIExpbnV4LUtlcm5lbHMgd2lyZAogICAgICAgYW5nZXplaWd0LCB3ZW5uIGRlciBmb2xnZW5kZW4gQmVmZWhsIGFuIGRlciBLb21tYW5kb3plaWxlCiAgICAgICBlaW5nZWdlYmVuIHdpcmQ6CgogICAgICAgdW5hbWUgLXIgCgogICAgMi4gRXMgd2lyZCBlbXBmb2hsZW4sIGRpZSBHTlUgQy1CaWJsaW90aGVrIChsaWJjNikgYWIgVmVyc2lvbiAyLjEKICAgICAgIGVpbnp1c2V0emVuLiBEaWUgVmVyc2lvbnNudW1tZXIgZGVyIGFrdHVlbGwgZWluZ2VzZXR6dGVuCiAgICAgICBDLUJpYmxpb3RoZWsga2FubiBhbmdlemVpZ3Qgd2VyZGVuLCBpbmRlbSBkZXIgZm9sZ2VuZGUgCiAgICAgICBCZWZlaGwgYmVudXR6dCB3aXJkOgoKICAgICAgIGxzIC1sIC9saWIvbGliYy5zby4qIAoKICAgICAgIEF1ZiBlaW5pZ2VuIFN5c3RlbWVuIGlzdCBzb3dvaGwgZGllIORsdGVyZSBDLUJpYmxpb3RoZWsgbGliYzUsCiAgICAgICBhbHMgYXVjaCBkaWUgbmV1ZXJlIEJpYmxpb3RoZWsgbGliYzYgdm9yaGFuZGVuLiBFbnRzY2hlaWRlbmQKICAgICAgIGlzdCBkYW5uIGluIGRlciBSZWdlbCBkaWUgbmV1ZXJlIFZlcnNpb24uIERpZSBDLUJpYmxpb3RoZWsgbXVzcwogICAgICAgUmVlbnRyYW50IHNlaW4sIGRhbWl0IFdJTkUgTXVsdGl0aHJlYWRpbmcgdW50ZXJzdPx0emVuCiAgICAgICBrYW5uLiBEaWVzIGlzdCBiZWkgYWxsZW4gbmV1ZXJlbiBMaW51eC1EaXN0cmlidXRpb25lbiBkZXIKICAgICAgIEZhbGwuIERpZSBDLUJpYmxpb3RoZWsgYmVmaW5kZXQgc2ljaCBpbSBQYWtldCBsaWJjNi4gVW0gV0lORSB6dQogICAgICAg/GJlcnNldHplbiB3ZXJkZW4genVz5HR6bGljaCBkaWUgRW50d2lja2xlcmRhdGVpZW4genVyCiAgICAgICBDLUJpYmxpb3RoZWsgYmVu9nRpZ3QuIERpZXNlIGJlZmluZGVuIHNpY2ggdW50ZXIgRGViaWFuIGltCiAgICAgICBQYWtldCBsaWJjNi1kZXYuCgogICAgMy4gV2VpbCBXSU5FIGRhcyBYIFdpbmRvdyBTeXN0ZW0gYmVudXR6dCwgd2VyZGVuIGRpZSBYLUJpYmxpb3RoZWtlbgogICAgICAgdW5kLCB3ZW5uIFdJTkUg/GJlcnNldHp0IHdlcmRlbiBzb2xsLCBkaWUgRW50d2lja2xlcmRhdGVpZW4gZvxyCiAgICAgICBYIGJlbvZ0aWd0LiBEaWUgQmlibGlvdGhla2VuIHNpbmQgdW50ZXIgRGViaWFuIGltIFBha2V0IHhsaWI2ZwogICAgICAgdW5kIGRpZSBFbnR3aWNrbGVyZGF0ZWllbiBpbSBQYWtldCB4bGliNmctZGV2IGVudGhhbHRlbi4KCiAgICA0LiBEYXL8YmVyaGluYXVzIGJlbvZ0aWd0IFdJTkUgZGllIFhQTS1CaWJsaW90aGVrIChQYWtldCB4cG00ZyksCiAgICAgICBkYW1pdCBkYXMgUHJvZ3JhbW0g/GJlcnNldHp0IHdlcmRlbiBrYW5uLCB3ZXJkZW4gZGllCiAgICAgICBFbnR3aWNrbGVyZGF0ZWllbiBm/HIgWFBNIGJlbvZ0aWd0LCBkaWVzZSBiZWZpbmRlbiBzaWNoIGltIFBha2V0CiAgICAgICB4cG00Zy1kZXYuCgogICAgNS4gRvxyIFByb2dyYW1tZSwgZGllIGltIFRleHRtb2R1cyBhdXNnZWb8aHJ0IHdlcmRlbiwga2FubiBXSU5FIGRpZQogICAgICAgQmlibGlvdGhlayBsaWJuY3Vyc2VzIHZlcndlbmRlbi4gRGFtaXQgZGllIFVudGVyc3T8dHp1bmcgZGFm/HIgaW4KICAgICAgIGRhcyBQcm9ncmFtbSBlaW5nZWJ1bmRlbiB3aXJkLCBt/HNzZW4gZGllIEVudHdpY2tsZXJkYXRlaWVuIGb8cgogICAgICAgZGllc2UgQmlibGlvdGhlayBpbnN0YWxsaWVydCBzZWluIChQYWtldCBsaWJuY3Vyc2VzNS1kZXYpLiBEaWUKICAgICAgIFZlcndlbmR1bmcgZGVyIG5jdXJzZXMtQmlibGlvdGhlayBpc3QgamVkb2NoIG9wdGlvbmFsLgoKICAgIDYuIEViZW5mYWxscyBvcHRpb25hbCBpc3QgZGllIFVudGVyc3T8dHp1bmcgZWluZXIgT3BlbkdMLWtvbXBhdGlibGVuCiAgICAgICBCaWJsaW90aGVrLCB3aWUgei5CLiBNZXNhLiBXZW5uIGRpZSBVbnRlcnN0/HR6dW5nIGb8ciBPcGVuR0wgaW4KICAgICAgIGRhcyBQcm9ncmFtbSBlaW5nZWJ1bmRlbiB3ZXJkZW4gc29sbCwgbfxzc2VuIGRpZQogICAgICAgT3BlbkdMLUVudHdpY2tsZXJkYXRlaWVuIGF1ZiBkZW0gU3lzdGVtIGluc3RhbGxpZXJ0IHNlaW4sIHdpZSBzaWUKICAgICAgIHouQi4gZHVyY2ggZGFzIFBha2V0IG1lc2FnLWRldiBiZXJlaXRnZXN0ZWxsdCB3ZXJkZW4uIFp1c+R0emxpY2gKICAgICAgIHNpbmQgZGFubiBuYXT8cmxpY2ggZGllIE9wZW5HTC1CaWJsaW90aGVrZW4gc2VsYnN0IGVyZm9yZGVybGljaC4KCiAgICA3LiBVbSBXSU5FIHp1IPxiZXJzZXR6ZW4sIG11c3MgZGVyIEdOVS1DLUNvbXBpbGVyIGJlbnV0enQgd2VyZGVuLgogICAgICAgRW1wZm9obGVuIHdpcmQgenVyIFplaXQgVmVyc2lvbiAyLjk1LiBXZWl0ZXIgd2VyZGVuIGVpbmlnZQogICAgICAgU3RhbmRhcmR3ZXJremV1Z2Ugd2llIG1ha2UsIChmKWxleCwgeWFjYyBvZGVyIGJpc29uIGJlbvZ0aWd0LAogICAgICAgZGllIGF1ZiBkZW4gbWVpc3RlbiBMaW51eHN5c3RlbWVuIGJlcmVpdHMgaW5zdGFsbGllcnQgc2VpbiBzb2xsdGVuLgogICAgICAgCiAgIEplIG5hY2hkZW0sIG9iIGluIGRlbSB6dSBlcnpldWdlbmRlbiBCaW7kcmNvZGUgRGVidWctSW5mb3JtYXRpb25lbgogICBlbnRoYWx0ZW4gc2VpbiBzb2xsZW4sIHdlcmRlbiBm/HIgZGllINxiZXJzZXR6dW5nIHVuZCBkaWUKICAgSW5zdGFsbGF0aW9uIHZvbiBXSU5FIHp3aXNjaGVuIGNhLiAxMDAgTUIgdW5kIGNhLiAyNTAgTUIKICAgU3BlaWNoZXJwbGF0eiBhdWYgZGVyIEZlc3RwbGF0dGUgYmVu9nRpZ3QuIEFuIGRlbiBQcm96ZXNzb3IgZGVzCiAgIFJlY2huZXJzIHdlcmRlbiBrZWluZSBiZXNvbmRlcmVuIEFuZm9yZGVydW5nZW4gZ2VzdGVsbHQsIHNvIGlzdCBlaW4KICAgUHJvemVzc29yIGRlciBQZW50aXVtLUtsYXNzZSBtaXQgMTMzIE1oeiBhdXNyZWljaGVuZCwgdW0gbWl0IFdJTkUKICAgYmVpc3BpZWxzd2Vpc2UgVGV4dHZlcmFyYmVpdHVuZ3Nwcm9ncmFtbWUgYXVzenVm/GhyZW4uIEb8ciBTcGllbGUKICAgdW5kIGFuZGVyZSBNdWx0aW1lZGlhLUFud2VuZHVuZ2VuIHdpcmQgYWxsZXJkaW5ncyBpbiBkZXIgUmVnZWwgZWluCiAgIHNjaG5lbGxlcmVyIFJlY2huZXIgYmVu9nRpZ3QuIFdpY2h0aWcgaXN0LCBkYXNzIHNpY2ggaW4gZGVtIFJlY2huZXIKICAgYXVzcmVpY2hlbmQgQXJiZWl0c3NwZWljaGVyIChSQU0pIGJlZmluZGV0LiBadXIgQXVzZvxocnVuZyBncvbfZXJlcgogICBXaW5kb3dzLVByb2dyYW1tZSBzb2xsdGUgZGVyIFJlY2huZXIgbWl0IDY0IE1CIFJBTSBhdXNnZXN0YXR0ZXQKICAgc2Vpbi4KICAgCjUuMCBCZXNjaGFmZnVuZyB1bmQgSW5zdGFsbGF0aW9uIGRlcyBRdWVsbGNvZGVzCgogICBXSU5FIGthbm4gdm9uIHZlcnNjaGllZGVuZW4gU2VydmVybiBpbSBJbnRlcm5ldCBwZXIgRlRQIG9kZXIgSFRUUAogICBoZXJ1bnRlcmdlbGFkZW4gd2VyZGVuLiBOb3JtYWxlcndlaXNlIGthbm4gZGVyIGpld2VpbHMgYWt0dWVsbGUKICAgUXVlbGxjb2RlIHUuYS4gdm9uIGRlbiBmb2xnZW5kZW4gQWRyZXNzZW4gYmV6b2dlbiB3ZXJkZW46CgogICAgICogZnRwOi8vbWV0YWxhYi51bmMuZWR1L3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50LwogICAgICogZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50LwogICAgICogZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi93aW5lL2RldmVsb3BtZW50LwogICAgICogaHR0cDovL21ldGFsYWIudW5jLmVkdS9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC8KICAgICAgIAogICBCZWkgZGVyIEVudHdpY2tsdW5nIHZvbiBXSU5FIHdlcmRlbiB6dXIgWmVpdCBub2NoIGtlaW5lCiAgIFZlcnNpb25zbnVtbWVybiBiZW51dHp0LiBBbiBTdGVsbGUgZGVzc2VuIHRy5Gd0IGplZGUgQXVzZ2FiZSBlaW5lCiAgIFphaGwsIHdlbGNoZSBuYWNoIGRlbSBTY2hlbWEgSmFocmVzemFobCwgTW9uYXQsIFRhZyBkZW0gRGF0dW0KICAgZW50c3ByaWNodCwgYW4gd2VsY2hlbSBkaWUgYmV0cmVmZmVuZGUgVmVyc2lvbiBoZXJhdXNnZWdlYmVuIHd1cmRlLgogICBEaWUgRGF0ZWkgV2luZS0yMDAwMDYxNC50YXIuZ3ogaW4gZWluZW0gZGVyIG9iZW4gYXVmZ2Vm/GhydGVuCiAgIFZlcnplaWNobmlzc2UgZW50aORsdCBhbHNvIGRpZSBWZXJzaW9uIHZvbiBXSU5FLiBkaWUgYW0gMTQuIEp1bmkKICAgMjAwMCBoZXJhdXNnZWdlYmVuIHd1cmRlLiBQcmluemlwaWVsbCBpc3QgZXMgenUgZW1wZmVobGVuLCBkaWUKICAgamV3ZWlscyBuZXVlc3RlIFZlcnNpb24genUgdmVyd2VuZGVuLiBOYWNoZGVtIGRlciBRdWVsbGNvZGUKICAgaGVydW50ZXJnZWxhZGVuIHdvcmRlbiBpc3QsIGthbm4gZXIgZHVyY2ggZGllIEVpbmdhYmUgZGVzIGZvbGdlbmRlbgogICBCZWZlaGxzIGltIGFrdHVlbGxlbiBBcmJlaXRzdmVyemVpY2huaXMgZW50cGFja3Qgd2VyZGVuOgogICAKICAgdGFyIC14dnpmIFdpbmUtMjAwMDA2MTQudGFyLmd6CiAgIAogICBEYWJlaSBpc3QgV2luZS0yMDAwMDYxNC50YXIuZ3ogbmF0/HJsaWNoIGR1cmNoIGRlbiBOYW1lbiBkZXIKICAgaGVydW50ZXJnZWxhZGVuZW4gRGF0ZWkgenUgZXJzZXR6ZW4uIERlciBRdWVsbGNvZGUgd2lyZCBkYW5uIGluIGVpbgogICBVbnRlcnZlcnplaWNobmlzIGRlcyBha3R1ZWxsZW4gVmVyemVpY2huaXNzZXMgZW50cGFja3QsIGRlc3NlbiBOYW1lCiAgIHNpY2ggYXVzIGRlciBCZXplaWNobnVuZyB3aW5lIHVuZCwgZ2V0cmVubnQgdm9uIGVpbmVtIEJpbmRlc3RyaWNoLAogICBkZW0gSGVyYXVzZ2FiZWRhdHVtIGRlciBiZW51dHp0ZW4gVmVyc2lvbiB6dXNhbW1lbnNldHp0LCBhbHNvCiAgIGJlaXNwaWVsc3dlaXNlIHdpbmUtMjAwMDA2MTQuIE5vcm1hbGVyd2Vpc2UgZW1wZmllaGx0IGVzIHNpY2gsCiAgIGRpZXNlcyBWZXJ6ZWljaG5pcyBpbiB3aW5lIHVtenViZW5lbm5lbiwgd2llIGVzIGR1cmNoIEVpbmdhYmUgZGVzCiAgIGZvbGdlbmRlbiBCZWZlaGxzIGdlc2NoZWhlbiBrYW5uOgogICAKICAgbXYgd2luZS0yMDAwMDYxNCB3aW5lCiAgIAogIDUuMSBBa3R1YWxpc2llcmVuIGRlcyBRdWVsbGNvZGVzIG1pdCBQYXRjaGRhdGVpZW4KICAKICAgTmViZW4gZGVuIGtvbXByaW1pZXJ0ZW4gVGFyLUFyY2hpdmVuLCB3ZWxjaGUgZGVuIFF1ZWxsY29kZSB2b24gV0lORQogICBiZWluaGFsdGVuLCBiZWZpbmRlbiBzaWNoIGluIGRlbiBhdWZnZWb8aHJ0ZW4gVmVyemVpY2huaXNzZW4gYXVjaAogICBzbyBnZW5hbm50ZSBQYXRjaC1EYXRlaWVuLCB3ZWxjaGUgbGVkaWdsaWNoIGRpZSDEbmRlcnVuZ2VuCiAgIGVudGhhbHRlbiwgZGllIHp3aXNjaGVuIHp3ZWkgQXVzZ2FiZW4gYW4gV0lORSB2b3JnZW5vbW1lbgogICB3dXJkZW4uIERpZXNlIERhdGVpZW4gc2luZCBub3JtYWxlcndlaXNlIHZpZWwga2xlaW5lciBhbHMgZGVyCiAgIGtvbXBsZXR0ZSBRdWVsbGNvZGUsIHNvIGRhc3MgZXMgc2ljaCBlbXBmaWVobHQsIHNpZSB6dSB2ZXJ3ZW5kZW4sCiAgIHdlbm4gZGFzIFByb2dyYW1tIHZvbiBlaW5lciBWZXJzaW9uIGF1ZiBkaWUgbuRjaHN0ZSBha3R1YWxpc2llcnQKICAgd2VyZGVuIHNvbGwuIEZhbGxzIGF1ZiBlaW5lbSBSZWNobmVyIGJlaXNwaWVsc3dlaXNlIFdpbmUtMjAwMDA2MTQKICAgaW5zdGFsbGllcnQgaXN0IHVuZCBhdWYgV0lORS0yMDAwMDYxNCBha3R1YWxpc2llcnQgd2VyZGVuIHNvbGwsIHNvCiAgIHfkcmUgZGllIERhdGVpIFdJTkUtMjAwMDA2MTQuZGlmZi5neiBoZXJ1bnRlcnp1bGFkZW4uIERpZSBpbiBkZXIKICAgRGF0ZWkgYmVzY2hyaWViZW4gVmVy5G5kZXJ1bmdlbiBr9m5uZW4gYXVmIGRlbiBpbnN0YWxsaWVydGVuCiAgIFF1ZWxsY29kZSBhbmdld2FuZHQgd2VyZGVuLCBpbmRlbSB6dW7kY2hzdCBpbiBkYXMgQmFzaXN2ZXJ6ZWljaG5pcwogICBkZXMgUXVlbGxjb2RlcyAoYWxzbyBpbiBkYXMgVmVyemVpY2huaXMgd2luZSwgd2VsY2hlcyBkdXJjaCBkaWUKICAgb2JlbiBiZXNjaHJpZWJlbmVuIFNjaHJpdHRlIGVudHN0YW5kZW4gaXN0KSBnZXdlY2hzZWx0IHdpcmQgdW5kCiAgIGRhbm4gZGFzIFByb2dyYW1tIHBhdGNoIHdpZSBmb2xndCBhdWZnZXJ1ZmVuIHdpcmQ6CiAgIAogICBndW56aXAgLWMgLi4vV2luZS0yMDAwMDUyNi5kaWZmLmd6IHwgcGF0Y2ggLXAxCiAgIAogICBIaWVyIHdpcmQgZGF2b24gYXVzZ2VnYW5nZW4sIGRhc3Mgc2ljaCBkaWUgUGF0Y2gtRGF0ZWkgaW4gZGVtCiAgIFZlcnplaWNobmlzIGJlZmluZGV0LCB3ZWxjaGVzIGRlbSBXSU5FLVZlcnplaWNobmlzICh3aW5lKQogICD8YmVyZ2VvcmRuZXQgaXN0IHVuZCBkZW4gTmFtZW4gV2luZS0yMDAwMDUyNi5kaWZmLmd6IHRy5Gd0LiBEZXIKICAgRGF0ZWluYW1lIGlzdCBlbnRzcHJlY2hlbmQgYW56dXBhc3Nlbiwgd2VubiBlaW5lIERhdGVpIG1pdCBlaW5lbQogICBhbmRlcmVuIE5hbWVuIG9kZXIgYXVzIGVpbmVtIGFuZGVyZW4gVmVyemVpY2huaXMgYmVudXR6dCB3aXJkLgogICAKICA1LjIgSGVydW50ZXJsYWRlbiB1bmQgQWt0dWFsaXNpZXJlbiB2b24gV0lORSBtaXQgQ1ZTCiAgCiAgIEFsdGVybmF0aXYga2FubiBkZXIgUXVlbGxjb2RlIHZvbSBDVlMtU2VydmVyIGRlcyBXSU5FLVByb2pla3RlcwogICBpbnN0YWxsaWVydCB3ZXJkZW4uIERlciBWb3J0ZWlsIGRpZXNlcyBWZXJmYWhyZW5zIGJlc3RlaHQgZGFyaW4sCiAgIGRhc3MgZXMgamVkZXJ6ZWl0IHVua29tcGxpemllcnQgbfZnbGljaCBpc3QsIGRlbiBlaWdlbmVuIFF1ZWxsY29kZQogICBhbiBkZW4gRW50d2lja2x1bmdzc3RhbmQgZGVzIFByb2pla3RzIGFuenVwYXNzZW4gb2huZSBkYXNzIGF1ZiBlaW5lCiAgIG5ldWUgQXVzZ2FiZSBkZXMgUHJvZ3JhbW1zIGdld2FydGV0IHdlcmRlbiBtdXNzLiBG/HIgamVkZW4sIGRlcgogICBwbGFudCwgc2VsYnN0IGFuIGRlbSBQcm9qZWt0IG1pdHp1YXJiZWl0ZW4sIGlzdCBkaWUgVmVyd2VuZHVuZyB2b24KICAgQ1ZTIG5vcm1hbGVyd2Vpc2UgZXJmb3JkZXJsaWNoLiBEYW1pdCBDVlMgYmVudXR6dCB3ZXJkZW4ga2FubiwgbXVzcwogICBkYXMgUHJvZ3JhbW0gY3ZzIG5hdPxybGljaCBpbnN0YWxsaWVydCBzZWluLiBVbnRlciBEZWJpYW4gaXN0IGVzIGluCiAgIGRlbSBnbGVpY2huYW1pZ2VuIFBha2V0IGVudGhhbHRlbi4gV2VubiBkaWVzIHNpY2hlcmdlc3RlbGx0IGlzdCwKICAga2FubiBkdXJjaCBkaWUgVW1nZWJ1bmdzdmFyaWFibGUgQ1ZTUk9PVCBlaW5nZXN0ZWxsdCB3ZXJkZW4sIHZvbiB3bwogICBkZXIgUXVlbGxjb2RlIGJlem9nZW4sIGJ6dy4gYWt0dWFsaXNpZXJ0IHdlcmRlbiBzb2xsLiBCZWkKICAgVmVyd2VuZHVuZyBkZXIgQmFzaCBrYW5uIGRhenUgZGVyIGZvbGdlbmRlIEJlZmVobCBlaW5nZWdlYmVuCiAgIHdlcmRlbjoKICAgCiAgIGV4cG9ydCBDVlNST09UPTpwc2VydmVyOmN2c0BjdnMud2luZWhxLmNvbTovaG9tZS93aW5lCiAgIAogICBEYW5hY2gga2FubiBtYW4gc2ljaCBiZWkgZGVtIENWUy1TZXJ2ZXIgYW5tZWxkZW4uIEhpZXJ6dSBkaWVudAogICBkaWVzZXIgQmVmZWhsOgogICAKICAgY3ZzIGxvZ2luCiAgIAogICBEYXMgUHJvZ3JhbW0gZXJmcmFndCBkYW5uIGVpbiBQYXNzd29ydCBm/HIgZGVuIFp1Z3JpZmYgYXVmIGRlbgogICBTZXJ2ZXIuICBIaWVyIGlzdCBkYXMgUGFzc3dvcnQgY3ZzIHp1IHZlcndlbmRlbi4gTnVuIGthbm4gZGVyCiAgIFF1ZWxsY29kZSB2b20gU2VydmVyIGhlcnVudGVyZ2VsYWRlbiB3ZXJkZW4sIGluZGVtIGRlciBu5GNoc3RlCiAgIEJlZmVobCBlaW5nZWdlYmVuIHdpcmQ6CiAgIAogICBjdnMgLXogMyBjaGVja291dCB3aW5lCiAgIAogICBJbSBha3R1ZWxsZW4gQXJiZWl0c3ZlcnplaWNobmlzIHdpcmQgZGFubiBlaW4gVW50ZXJ2ZXJ6ZWljaG5pcyBtaXQKICAgZGVyIEJlemVpY2hudW5nIHdpbmUgYW5nZWxlZ3QuIFNvYmFsZCBkZXIgQmVmZWhsIGFiZ2VzY2hsb3NzZW4gaXN0LAogICBiZWZpbmRlbiBzaWNoIGluIGRpZXNlbSBWZXJ6ZWljaG5pcyBkZXIgYWt0dWVsbGUgUXVlbGxjb2RlIGRlcwogICBQcm9qZWt0cyB1bmQgZWluaWdlIHp1c+R0emxpY2hlIERhdGVpZW4sIGRpZSB2b24gQ1ZTIGJlbvZ0aWd0CiAgIHdlcmRlbi4KICAgCiAgIFVtIGRlbiBRdWVsbGNvZGUgYXVmIGRlbiBuZXVlc3RlbiBTdGFuZCB6dSBicmluZ2VuLCBrYW5uIGRpZXNlcgogICBCZWZlaGwgYmVudXR6dCB3ZXJkZW46CiAgIAogICBjdnMgLXogMyB1cGRhdGUgLVBBZCBXSU5FCiAgIAogICBJbmZvcm1hdGlvbmVuIPxiZXIgZGllIGhpZXIgdmVyd2VuZGV0ZW4gUGFyYW1ldGVyIGJlaW0gQXVmcnVmIHZvbgogICBDVlMgdW5kIPxiZXIgd2VpdGVyZSBN9mdsaWNoa2VpdGVuIGRlcyBQcm9ncmFtbXMgYmVmaW5kZW4gc2ljaAogICB1LmEuIGluIGRlciBNYW51YWxzZWl0ZSB6dSBjdnMoMSkgc293aWUgYXVmIGRlciBDVlMtSG9tZXBhZ2UsIGRpZQogICB1bnRlciBodHRwOi8vd3d3LnNvdXJjZWdlYXIuY29tL0NWUyB6dSBlcnJlaWNoZW4gaXN0LiBXZWl0ZXJlIHdpY2h0aWdlCiAgIEhpbndlaXNlIGltIEhpbmJsaWNrIGF1ZiBDVlMgdW5kIFdJTkUgc2luZCB1bnRlciBkZXIgQWRyZXNzZQogICBodHRwOi8vd3d3LndpbmVocS5jb20vZGV2LnNodG1sIHZlcmb8Z2Jhci4KICAgCjYuMCBLb25maWd1cmF0aW9uIHVuZCDcYmVyc2V0enVuZyBkZXMgUXVlbGxjb2RlcwoKICAgVm9yYXVzZ2VzZXR6dCwgZGVyIFF1ZWxsY29kZSBiZWZpbmRldCBzaWNoIGltIFVudGVydmVyemVpY2huaXMgd2luZQogICBkZXMgYWt0dWVsbGVuIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlcywgaXN0IHp1buRjaHN0IGluIGRpZXNlcwogICBWZXJ6ZWljaG5pcyB6dSB3ZWNoc2VsbiwgdW0gYWxsZSB3ZWl0ZXJlbiBTY2hyaXR0ZSBkdXJjaHp1ZvxocmVuOgogICAKICAgY2Qgd2luZQogICAKICAgRGFubiBrYW5uIGRhcyBTa3JpcHQgY29uZmlndXJlIGF1ZmdlcnVmZW4gd2VyZGVuLiBEaWVzZXMgU2tyaXB0CiAgIGb8aHJ0IGVpbmUgUmVpaGUgdm9uIFRlc3RzIGR1cmNoLCBkaWUgdS5hLiB1bnRlcnN1Y2hlbiwgb2IgZGFzCiAgIFN5c3RlbSBhbGxlIG5vdHdlbmRpZ2VuIEVpZ2Vuc2NoYWZ0ZW4gZXJm/GxsdCB1bmQgZGllIGJlbvZ0aWd0ZW4KICAgRW50d2lja2xlcmRhdGVpZW4gaW5zdGFsbGllcnQgc2luZC4gRGFyYXVmaGluIGVyemV1Z3QgZXMgZGllCiAgIERhdGVpZW4sIGR1cmNoIHdlbGNoZSBkaWUg3GJlcnNldHp1bmcgZGVzIFF1ZWxsY29kZXMgZ2VzdGV1ZXJ0CiAgIHdpcmQuIERlbSBTa3JpcHQga/ZubmVuIHZlcnNjaGllZGVuZSBQYXJhbWV0ZXIg/GJlcmdlYmVuIHdlcmRlbiwKICAgbWl0IGRlbmVuIHNpY2ggYmVpc3BpZWxzd2Vpc2UgYmVzdGltbWVuIGzkc3N0LCBkYXNzIGluIGRlbiB6dQogICBlcnpldWdlbmRlbiBQcm9ncmFtbWVuIHVuZCBCaWJsaW90aGVrZW4ga2VpbmUgRGVidWctTWl0dGVpbHVuZ2VuCiAgIGVudGhhbHRlbiBzZWluIHNvbGxlbi4gRGllIHZvbGxzdORuZGlnZSBMaXN0ZSBkZXIgdmVyZvxnYmFyZW4KICAgT3B0aW9uZW4gZvxyIGNvbmZpZ3VyZSB3aXJkIGFuZ2V6ZWlndCwgd2VubiBkYXMgU2tyaXB0IG1pdCBkZXIKICAgT3B0aW9uIC0taGVscCBhdWZnZXJ1ZmVuIHdpcmQuICBOb3JtYWxlcndlaXNlIHJlaWNodCBlcyBhdXMsIGRhcwogICBTa3JpcHQgZm9sZ2VuZGVybWHfZW4gYXVmenVydWZlbjoKICAgCiAgIC4vY29uZmlndXJlCiAgIAogICBGYWxscyB3aWNodGlnZSBEYXRlaWVuIG9kZXIgRWlnZW5zY2hhZnRlbiBkZXMgU3lzdGVtcyB2b24gY29uZmlndXJlCiAgIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiBr9m5uZW4sIGVyZm9sZ3QgdW50ZXIgVW1zdORuZGVuIGVpbmUgV2Fybi0KICAgb2RlciBGZWhsZXJtZWxkdW5nLiBTb2xjaGUgRmVobGVyIHNvbGx0ZW4gYmVob2JlbiB3ZXJkZW4sIGJldm9yIG1pdAogICBkZXIg3GJlcnNldHp1bmcgZGVzIFF1ZWxsY29kZXMgZm9ydGdlZmFocmVuIHdpcmQuCiAgIAogICBJbSBu5GNoc3RlbiBTY2hyaXR0IHdpcmQgZGVyIFF1ZWxsY29kZSD8YmVyc2V0enQuIERhenUgc2luZAogICBoaW50ZXJlaW5hbmRlciBkaWUgZm9sZ2VuZGVuIGJlaWRlbiBCZWZlaGxlIHp1IGJlbnV0emVuOgogICAKICAgbWFrZSBkZXBlbmQKICAgCiAgIG1ha2UKICAgCiAgIEF1ZiBkZXIgUGFydGl0aW9uLCBhdWYgd2VsY2hlciBzaWNoIGRhcyBWZXJ6ZWljaG5pcyBtaXQgZGVtCiAgIFF1ZWxsY29kZSBiZWZpbmRldCwgd2VyZGVuIGb8ciBkaWUga29tcGxldHRlINxiZXJzZXR6dW5nIHp1ciBaZWl0CiAgIHVuZ2Vm5GhyIDIzMCBNQiBTcGVpY2hlcnBsYXR6IGJlbvZ0aWd0LiBEZXIgZ3L233RlIFRlaWwgZGllc2VzCiAgIFNwZWljaGVycGxhdHplcyB3aXJkIGRhYmVpIHZvbiBkZW4gRGVidWctSW5mb3JtYXRpb25lbiBpbiBkZW4KICAgT2JqZWt0ZGF0ZWllbiwgZGllIGJlaW0g3GJlcnNldHplbiBlcnpldWd0IHdlcmRlbiwgYmVu9nRpZ3QuIEZhbGxzCiAgIG5pY2h0IGJlYWJzaWNodGlndCB3aXJkLCBpcmdlbmR3ZWxjaGUgRmVobGVyIGluIFdJTkUgenUKICAgdW50ZXJzdWNoZW4sIGv2bm5lbiBkaWUgQmlu5HJkYXRlaWVuIGF1Y2ggb2huZSBEZWJ1Zy1JbmZvcm1hdGlvbmVuCiAgIGVyemV1Z3Qgd2VyZGVuLCBkYXp1IGlzdCBkZXIgbGV0enRlIGRlciBiZWlkZW4gb2JlbiBnZW5hbm50ZW4KICAgQmVmZWhsZSBkdXJjaCBkZW4gbuRjaHN0ZW4gQmVmZWhsIHp1IGVyc2V0emVuIChm/HIgZGllINxiZXJzZXR6dW5nCiAgIHdlcmRlbiBkYW5uIG51ciBub2NoIHVuZ2Vm5GhyIDgwIE1CIFNwZWljaGVycGxhdHogYmVu9nRpZ3QpLgogICAKICAgbWFrZSBDRkxBR1M9Ii1PMiIKICAgCiAgIE51biBrYW5uIFdJTkUgYXVmIGRlbSBTeXN0ZW0gaW5zdGFsbGllcnQgd2VyZGVuLiBIaWVyenUgaXN0IG1pdCBkZW4KICAgUmVjaHRlbiBkZXMgQWRtaW5pc3RyYXRvcnMgZGVyIGZvbGdlbmRlIEJlZmVobCBlaW56dWdlYmVuOgogICAKICAgbWFrZSBpbnN0YWxsCiAgIAogICBEYWR1cmNoIHdlcmRlbiBkaWUgYXVzZvxocmJhcmVuIFByb2dyYW1tZSB2b24gV0lORSBzdGFuZGFyZG3k32lnIGluCiAgIGRhcyBWZXJ6ZWljaG5pcyAvdXNyL2xvY2FsL2JpbiwgZGllIFByb2dyYW1tYmlibGlvdGhla2VuIGluIGRhcwogICBWZXJ6ZWljaG5pcyAvdXNyL2xvY2FsL2xpYiwgZGllIE1hbnVhbHNlaXRlbiB1bnRlcmhhbGIgZGVzCiAgIFZlcnplaWNobmlzc2VzIC91c3IvbG9jYWwvbWFuIHVuZCBlaW5pZ2UgSGVhZGVyLURhdGVpZW4gaW4gZGFzCiAgIFZlcnplaWNobmlzIC91c3IvbG9jYWwvaW5jbHVkZS93aW5lIGluc3RhbGxpZXJ0LiAKCiAgIEFjaHR1bmc6CiAgIFN0YW5kYXJkbeTfaWcgd2lyZCBiZWkgZWluaWdlbiBEaXN0cmlidXRpb25lbiAoei5CLiBiZWkgRGViaWFuCiAgIEdOVS9MaW51eCkgaW4gZGVtIFZlcnplaWNobmlzIC91c3IvbG9jYWwvbGliIG5pY2h0IG5hY2gKICAgUHJvZ3JhbW1iaWJsaW90aGVrZW4gZ2VzdWNodC4gRmFsbHMgYmVpbSBTdGFydCB2b24gV0lORSBnZW1lbGRldCB3aXJkLAogICBkYXNzIGJlc3RpbW10ZSBCaWJsaW90aGVrZW4gbmljaHQgZ2VsYWRlbiB3ZXJkZW4ga/ZubmVuLCBzb2xsdGUgZGVyCiAgIE5hbWUgZGllc2VzIFZlcnplaWNobmlzc2VzIGluIGRpZSBEYXRlaSAvZXRjL2xkLnNvLmNvbmYgKGluIGVpbmUKICAgZWlnZW5lIFplaWxlKSBlaW5nZXRyYWdlbiB1bmQgZGFuYWNoIGRhcyBQcm9ncmFtbSBsZGNvbmZpZyBhdWZnZXJ1ZmVuCiAgIHdlcmRlbi4KICAgCjcuMCBLb25maWd1cmF0aW9uCgogICBXaWUgdmllbGUgVU5JWC1Qcm9ncmFtbWUga2FubiBXSU5FIGVudHdlZGVyIPxiZXIgZWluZSBzeXN0ZW13ZWl0CiAgIGf8bHRpZ2UgS29uZmlndXJhdGlvbnNkYXRlaSBvZGVyIPxiZXIgZWluZSBiZW51dHplcnNwZXppZmlzY2hlCiAgIERhdGVpIGltIEhlaW1hdHZlcnplaWNobmlzIGRlcyBiZXRyZWZmZW5kZW4gQmVudXR6ZXJzIGtvbmZpZ3VyaWVydAogICB3ZXJkZW4uICBEaWUgYmVudXR6ZXJzcGV6aWZpc2NoZSBLb25maWd1cmF0aW9uc2RhdGVpIHRy5Gd0IGRlbgogICBOYW1lbiB+Ly53aW5lL2NvbmZpZy4KICAgCiAgNy4xIEF1ZmJhdSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSAgIAoKICAgRGFzIEZvcm1hdCBvcmllbnRpZXJ0IHNpY2ggYW4gZGVuIHZvbiBXaW5kb3dzIGhlciBiZWthbm50ZW4gKi5pbmktRGF0ZWllbiwKICAgYWxsZXJkaW5ncyBsZWljaHQgYWJnZeRuZGVydCBpbSBXaW5lLVJlZ2lzdHJ5LUZvcm1hdC4KICAgRGllIERhdGVpIGJlc3RlaHQgYXVzIGVpbnplbG5lbiBCbPZja2VuLCB3ZWxjaGUgZHVyY2ggQmV6ZWljaG5lcgogICBlaW5nZWxlaXRldCB3ZXJkZW4sIGRpZSBpbiBlY2tpZ2VuIEtsYW1tZXJuIHVuZCBpbiBlaW5lciBlaWdlbmVuCiAgIFplaWxlIHN0ZWhlbi4gSW5uZXJoYWxiIGVpbmVzIEJsb2NrZXMgYmVmaW5kZW4gc2ljaCBQYWFyZSB2b24gVmFyaWFibGVuCiAgIHVuZCBXZXJ0ZW4sIGRpZSBkdXJjaCBlaW4gR2xlaWNoaGVpdHN6ZWljaGVuIG1pdGVpbmFuZGVyIHZlcmJ1bmRlbiBzaW5kLgogICBEaWVzZSBQYWFyZSBzdGVoZW4gZWJlbmZhbGxzIGpld2VpbHMgaW4gZWluZXIgWmVpbGUuIEtvbW1lbnRhcmUgd2VyZGVuCiAgIGluIGRlciBEYXRlaSBkdXJjaCBlaW4gU2VtaWtvbG9uIGVpbmdlbGVpdGV0LiBBdd9lcmRlbSBk/HJmZW4gbGVlcmUgWmVpbGVuCiAgIGJlbnV0enQgd2VyZGVuLCB1bSBkaWUgRGF0ZWkgenUgc3RydWt0dXJpZXJlbi4gRWluIEJlaXNwaWVsIGb8cgogICBlaW5lbiBzb2xjaGVuIEJsb2NrIHfkcmUgYWxzbzoKCiAgIFtEcml2ZSBDXQogICAiUGF0aCIgPSAiL2hvbWUva2FybCIKICAgIlR5cGUiID0gImhkIgogICAiTGFiZWwiID0gIkxhdWZ3LkMiCiAgICJGaWxlc3lzdGVtIiA9ICJ3aW45NSIKCiAgIEF132VyZGVtIGlzdCBlcyBt9mdsaWNoLCBpbm5lcmhhbGIgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgbWl0CiAgIFdlcnRlbiB2b24gVW1nZWJ1bmdzdmFyaWFibGVuIHp1IGFyYmVpdGVuLiBEYXp1IGlzdCBhbiBTdGVsbGUgZWluZXMKICAgV2VydGVzIGRlciBOYW1lIGRlciB6dSB2ZXJ3ZW5kZW5kZW4gVW1nZWJ1bmdzdmFyaWFibGVuIGluCiAgIGdlc2Nod2VpZnRlbiBLbGFtbWVybiB1bmQgbWl0IGVpbmVtIHZvcmFuZ2VzdGVsbHRlbiBEb2xsYXJ6ZWljaGVuCiAgIGFuenVnZWJlbi4gU29sbCBiZWlzcGllbHN3ZWlzZSBkZXIgVmFyaWFibGVuIFBhdGggYXVzIGRlbSBvYmlnZW4KICAgQmVpc3BpZWwgZGVyIFdlcnQgenVnZW9yZG5ldCB3ZXJkZW4sIGRlbiBkaWUgVW1nZWJ1bmdzdmFyaWFibGUgSE9NRQogICB6dXIgWmVpdCBkZXIgQXVzZvxocnVuZyB2b24gV0lORSBoYXQsIHNvIHfkcmUgZGllIGVudHNwcmVjaGVuZGUKICAgWmVpbGUgZm9sZ2VuZGVybWHfZW4genUgc2NocmVpYmVuOgoKICAgIlBhdGgiID0gIiR7SE9NRX0iCgogICBWb20gQmFzaXN2ZXJ6ZWljaG5pcyBkZXMgV0lORS1RdWVsbGNvZGVzIGF1cyBiZWZpbmRldCBzaWNoIGluIGRlciBEYXRlaQogICBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnIGVpbiBCZWlzcGllbCBhbHMgVm9ybGFnZSBm/HIgZGllIEVyc3RlbGx1bmcKICAgZWluZXIgZWlnZW5lbiBLb25maWd1cmF0aW9uc2RhdGVpLiBEaWUgRGF0ZWkgZW50aORsdCBhbGxlIHdpY2h0aWdlbiBCbPZja2UKICAgdW5kIFZhcmlhYmxlbiwgc2llIG11c3MgamVkb2NoIGFuIGRpZSBlaWdlbmUgS29uZmlndXJhdGlvbiBhbmdlcGFzc3QKICAgd2VyZGVuLCBiZXZvciBXSU5FIGRhcyBlcnN0ZSBNYWwgYmVudXR6dCB3aXJkLiBBbmdlbm9tbWVuLCBkYXMKICAgQmFzaXN2ZXJ6ZWljaG5pcyBkZXMgV0lORS1RdWVsbGNvZGVzIHRy5Gd0IGRlbiBOYW1lbiB3aW5lIHVuZCBpc3QKICAgZWluIFVudGVydmVyemVpY2huaXMgZGVzIGVpZ2VuZW4gSGVpbWF0dmVyemVpY2huaXNzZXMsIGRhbm4ga2FubgogICBkaWVzZSBWb3JsYWdlIGR1cmNoIGRlbiBmb2xnZW5kZW4gQmVmZWhsIGFuIGRlbiByaWNodGlnZW4gUGxhdHoKICAga29waWVydCB3ZXJkZW46CiAgIAogICBjcCB+L3dpbmUvZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZyB+Ly53aW5lL2NvbmZpZwogICAKICAgRGllIFdlcnRlLCB3ZWxjaGUgVmFyaWFibGVuIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHp1Z2V3aWVzZW4KICAgd2VyZGVuLCBsYXNzZW4gc2ljaCBpbiBkcmVpIFR5cGVuIGVpbnRlaWxlbjogWmVpY2hlbmtldHRlbiwgWmFobGVuCiAgIHVuZCBCb29sc2NoZSBXZXJ0ZS4gSW0gRmFsbCB2b24gQm9vbHNjaGVuIFdlcnRlbiBs5HNzdCBzaWNoCiAgIGVudHdlZGVyIHRydWUgb2RlciBmYWxzZSwgMSBvZGVyIDAgYmV6aWVodW5nc3dlaXNlIHllcyBvZGVyIG5vCiAgIGFuZ2ViZW4uIEluIGRlbiBmb2xnZW5kZW4gQmVpc3BpZWxlbiB3aXJkIGRpZSB0cnVlIC8gZmFsc2UKICAgLVNjaHJlaWJ3ZWlzZSBiZW51dHp0LgogICAKICA3LjIgS29uZmlndXJhdGlvbiB2b24gTGF1ZndlcmtzYnVjaHN0YWJlbgogIAogICBad2lzY2hlbiBVTklYL0xpbnV4IGF1ZiBkZXIgZWluZW4gdW5kIERPUyBiencuIFdpbmRvd3MgYXVmIGRlcgogICBhbmRlcmVuIFNlaXRlIGdpYnQgZXMgZWluaWdlIFVudGVyc2NoaWVkZSBpbiBkZXIgQXJ0LCB3aWUKICAgRGF0ZW50cuRnZXIgdW5kIERhdGVpZW4gYmV6ZWljaG5ldCB3ZXJkZW4uIFVudGVyIFVOSVgvTGludXggZ2lidCBlcwogICBlaW4gRGF0ZWlzeXN0ZW0gbWl0IGVpbmVtIFd1cnplbHB1bmt0ICgvKSwgaW4gZGFzIHVudGVyc2NoaWVkbGljaGUKICAgRGF0ZW50cuRnZXIgZHVyY2ggZWluZW4gc3BlemllbGxlbiBCZWZlaGwgKG1vdW50KSBlaW5nZWJ1bmRlbgogICB3ZXJkZW4uIEFsbGUgRGF0ZWllbiBhdWYgZWluZ2VidW5kZW5lbiBEYXRlbnRy5Gdlcm4ga/ZubmVuIGRlc3dlZ2VuCiAgIGlubmVyaGFsYiBkaWVzZXMgRGF0ZWlzeXN0ZW1zIGFuZ2VzcHJvY2hlbiB3ZXJkZW4uIERPUyB1bmQgV2luZG93cwogICB2ZXJ3ZW5kZW4gamVkb2NoIGb8ciBqZWRlbiBlcmthbm50ZW4gRGF0ZW50cuRnZXIgZWluIGVpZ2VuZXMKICAgRGF0ZWlzeXN0ZW0uIFVtIGVpbmUgYmVzdGltbXRlIERhdGVpIGVpbmRldXRpZyB6dSBiZXplaWNobmVuLCBpc3QKICAgZXMgYmVpIGRpZXNlbiBCZXRyaWVic3N5c3RlbWVuIGRlc3dlZ2VuIG5vdHdlbmRpZywgbmViZW4gZGVtIFBmYWQtCiAgIHVuZCBEYXRlaW5hbWVuIGVpbmVuIHNvIGdlbmFubnRlbiBMYXVmd2Vya3NidWNoc3RhYmVuCiAgIGFuenVnZWJlbi4g3GJsaWNoZXJ3ZWlzZSBlbnRzcHJpY2h0IGRhYmVpIGRlciBMYXVmd2Vya3NidWNoc3RhYmUgQQogICBkZW0gZXJzdGVuIERpc2tldHRlbmxhdWZ3ZXJrIHVuZCBkZXIgQnVjaHN0YWJlIEMgZGVyIGVyc3RlbgogICBGZXN0cGxhdHRlbnBhcnRpdGlvbiBkZXMgU3lzdGVtcy4KICAgCiAgIFdlaWwgUHJvZ3JhbW1lLCBkaWUgZvxyIERPUyBvZGVyIFdpbmRvd3MgZ2VzY2hyaWViZW4gc2luZCwKICAgTGF1ZndlcmtzYnVjaHN0YWJlbiB2ZXJ3ZW5kZW4sIHVtIERhdGVpZW4genUgYmV6ZWljaG5lbiwgbXVzcyBXSU5FCiAgIGRpZXNlIEJ1Y2hzdGFiZW4gYXVmIGRhcyBVTklYLURhdGVpc3lzdGVtIGFiYmlsZGVuLiBEYXMgUHJvYmxlbSBpc3QKICAgYXVmIGRpZSBmb2xnZW5kZSBBcnQgZ2Vs9nN0OiBJbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSAofi8ud2luZS9jb25maWcpCiAgIHdpcmQgamVkZW0gTGF1ZndlcmtzYnVjaHN0YWJlbiBlaW4gVmVyemVpY2huaXMgaW0gVU5JWC1EYXRlaXN5c3RlbQogICB6dWdlb3JkbmV0LiBEaWVzZXMgVmVyemVpY2huaXMgc3RlbGx0IGRhbm4gKGF1cyBTaWNodCBkZXIgV2luZG93cy0KICAgUHJvZ3JhbW1lKSBkYXMgQmFzaXN2ZXJ6ZWljaG5pcyBkZXMgZW50c3ByZWNoZW5kZW4gTGF1ZndlcmtzIGRhci4KICAgSXN0IGFsc28gYmVpc3BpZWxzd2Vpc2UgZGFzIFZlcnplaWNobmlzIC92YXIvd2lucm9vdCBkZW0KICAgTGF1ZndlcmtzYnVjaHN0YWJlbiBDIHp1Z2VvcmRuZXQgdW5kIHf8cmRlIGVpbiBXaW5kb3dzLVByb2dyYW1tCiAgIHVudGVyIFdJTkUgdmVyc3VjaGVuLCBkaWUgRGF0ZWkgQzpcRG9rdW1lbnRlXGZpbmFuemFtdC5kb2MgenUg9mZmbmVuLAogICBzbyB3/HJkZSBpbiBXaXJrbGljaGtlaXQgZGllIERhdGVpIC92YXIvd2lucm9vdC9Eb2t1bWVudGUvZmluYW56YW10LmRvYwogICBnZfZmZm5ldCB3ZXJkZW4sIHZvcmF1c2dlc2V0enQsIGRpZXNlIERhdGVpIGV4aXN0aWVydCB0YXRz5GNobGljaC4KICAgRHVyY2ggZGllc2VuIE1lY2hhbmlzbXVzIGthbm4gYXVjaCBlcnJlaWNodCB3ZXJkZW4sIGRhc3Mgdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiwgZGllIHVudGVyIFdJTkUgYXVzZ2Vm/GhydCB3ZXJkZW4sIG51ciBhdWYgZWluZW4gVGVpbAogICBkZXMgVU5JWC1EYXRlaXN5c3RlbXMgenVnZWdyaWZmZW4gd2VyZGVuIGthbm4uCiAgIAogICBFaW4gd2VpdGVyZXIgVW50ZXJzY2hpZWQgendpc2NoZW4gZGVuIERhdGVpc3lzdGVtZW4gdW50ZXIgRE9TIHVuZAogICBXaW5kb3dzIGF1ZiBkZXIgZWluZW4gdW5kIFVOSVgvTGludXggYXVmIGRlciBhbmRlcmVuIFNlaXRlIGJlc3RlaHQKICAgaW4gZGVyIEJlcvxja3NpY2h0aWd1bmcgdm9uIEdyb98tIHVuZCBLbGVpbnNjaHJlaWJ1bmcgYmVpCiAgIERhdGVpbmFtZW4uICBX5GhyZW5kIGVzIHVudGVyIExpbnV4IGR1cmNoYXVzIG32Z2xpY2ggaXN0LCBkYXNzIHNpY2gKICAgaW4gZWluZW0gVmVyemVpY2huaXMgZ2xlaWNoemVpdGlnIERhdGVpZW4gbWl0IGRlbiBOYW1lbiBicmllZi50eHQsCiAgIEJyaWVmLnR4dCB1bmQgYnJpZWYuVFhUIGJlZmluZGVuLCBpc3QgZGllcyB1bnRlciBXaW5kb3dzCiAgIGF1c2dlc2NobG9zc2VuLCBoaWVyIHdpcmQgYmVpc3BpZWxzd2Vpc2UgZGllIERhdGVpIGJyaWVmLnR4dAogICBnZfZmZm5ldCwgZmFsbHMgZGllc2UgZXhpc3RpZXJ0LCBhYmVyIGVpZ2VudGxpY2ggZGllIERhdGVpCiAgIEJyaWVmLnR4dCBhbmdlZm9yZGVydCB3dXJkZS4gRGllIG1laXN0ZW4gUHJvZ3JhbW1lLCBkaWUgZvxyIERPUwogICBvZGVyIDE2Qml0LVdpbmRvd3MgZ2VzY2hyaWViZW4gd3VyZGVuLCBlcndhcnRlbiBkYXL8YmVyaGluYXVzLCBkYXNzCiAgIERhdGVpbmFtZW4gYXVzIG5pY2h0IG1laHIgYWxzIGFjaHQgWmVpY2hlbiB6dXr8Z2xpY2ggZWluZXIgZHJlaQogICBaZWljaGVuIGxhbmdlbiBFcndlaXRlcnVuZyBiZXN0ZWhlbi4gV0lORSBtdXNzIGF1cyBkaWVzZW4gR3L8bmRlbgogICBlbnRzY2hlaWRlbiwgd2VsY2hlIERhdGVpIHRhdHPkY2hsaWNoIGdl9mZmbmV0IHdpcmQsIHdlbm4gZXMKICAgYXVmZ3J1bmQgdm9uIEdyb98tIHVuZCBLbGVpbnNjaHJlaWJ1bmcgdW50ZXJzY2hpZWRsaWNoZQogICBN9mdsaWNoa2VpdGVuIGdpYnQuIEF132VyZGVtIG11c3MgZXMgZGllIERhdGVpbmFtZW4gaW4gYWNodCBaZWljaGVuCiAgIGxhbmdlIE5hbWVuIPxiZXJzZXR6ZW4sIGZhbGxzIHNpZSB2b24gMTZiaXQtUHJvZ3JhbW1lbiBhYmdlZnJhZ3QKICAgd2VyZGVuLgogICAKICAgV2VubiBXSU5FIG1pdCBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0IHdlcmRlbgogICBzb2xsLCBzb2xsdGUgZGFyYXVmIGdlYWNodGV0IHdlcmRlbiwgZGFzcyBkaWUgTGF1ZndlcmtzYnVjaHN0YWJlbgogICB1bnRlciBXaW5kb3dzIHVuZCBXSU5FIPxiZXJlaW5zdGltbWVuLiBCZWZpbmRldCBzaWNoIGRpZQogICBXaW5kb3dzLUluc3RhbGxhdGlvbiBhbHNvIGJlaXNwaWVsc3dlaXNlIGF1ZiBkZXIgUGFydGl0aW9uCiAgIC9kZXYvaGRhMSwgd2VsY2hlIHVudGVyIFdpbmRvd3Mg/GJlciBkZW4gTGF1ZndlcmtzYnVjaHN0YWJlbiBDCiAgIGFuZ2VzcHJvY2hlbiB3aXJkLCBzbyBzb2xsdGUgZGllc2UgUGFydGl0aW9uIHVudGVyIEdOVS9MaW51eCBpbiBlaW4KICAgYmVsaWViaWdlcyBWZXJ6ZWljaG5pcyBlaW5nZWJ1bmRlbiB3ZXJkZW4gdW5kIGRpZXNlcyBWZXJ6ZWljaG5pcyBpbgogICBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSB2b24gV0lORSB3aWVkZXIgZGVtIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gQwogICB6dWdlb3JkbmV0IHdlcmRlbiwgZGEgZXMgc29uc3QgbmF0dWVybGljaCB6dSBLb25mbGlrdGVuIG1pdCBkZXIKICAgdm9yaGFuZGVuZW4gS29uZmlndXJhdGlvbiBiZXJlaXRzIGluc3RhbGxpZXJ0ZXIgUHJvZ3JhbW1lIGtvbW1lbiBrYW5uLgogICAKICAgRWluIEJlaXNwaWVsIGb8ciBkaWUgWnVvcmRudW5nIHZvbiBVTklYLVZlcnplaWNobmlzc2VuIHVuZAogICBMYXVmd2Vya3NidWNoc3RhYmVuIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHd1cmRlIHdlaXRlciBvYmVuCiAgIGJlcmVpdHMgZ2VicmFjaHQuIEVpbmUgc29sY2hlIERlZmluaXRpb24gYmVzdGVodCBhdXMgZWluZW0gQmxvY2ssCiAgIGRlc3NlbiBOYW1lIHNpY2ggYXVzIGRlbSBTY2hs/HNzZWx3b3J0IERyaXZlIHVuZCBkZW0gQnVjaHN0YWJlbiBkZXMKICAgTGF1ZndlcmtzIHp1c2FtbWVuc2V0enQsIGb8ciBkYXMgZGllIERlZmluaXRpb24gZ2VsdGVuIHNvbGwuIEVpbgogICBCZWlzcGllbCB35HJlIGFsc28gW0RyaXZlIENdLiBEYXJhdWYgZm9sZ2VuIHZlcnNjaGllZGVuZSBWYXJpYWJsZW4sCiAgIG1pdCBkZW5lbiBkaWUgRWlnZW5zY2hhZnRlbiBkZXMgTGF1ZndlcmtlcyBmZXN0Z2VsZWd0IHdlcmRlbi4gRGllCiAgIHdpY2h0aWdzdGUgZGllc2VyIFZhcmlhYmxlbiBpc3QgUGF0aC4gSGllcm1pdCB3aXJkIGJlc3RpbW10LAogICB3ZWxjaGVtIFVOSVgtVmVyemVpY2huaXMgZGFzIExhdWZ3ZXJrIGVudHNwcmVjaGVuIHNvbGwgKEJlaXNwaWVsZToKICAgIlBhdGgiID0gIi9ob21lL2thcmwiLCAiUGF0aCIgPSAiJHtIT01FfSIpLiBEaWUgd2VpdGVyZW4gVmFyaWFibGVuCiAgIGhhYmVuIGRpZSBmb2xnZW5kZSBCZWRldXR1bmc6CiAgIAogICBUeXBlCiAgICAgICAgICBXaW5kb3dzIGthbm4gQW53ZW5kdW5nZW4gbWl0dGVpbGVuLCB2b24gd2VsY2hlbSBUeXAKICAgICAgICAgIChGZXN0cGxhdHRlLCBDRFJPTSB1c3cuKSBlaW4gYmVzdGltbXRlciBEYXRlbnRy5GdlciBpc3QuIE1pdAogICAgICAgICAgZGllc2VyIFZhcmlhYmxlbiB3aXJkIFdJTkUgbWl0Z2V0ZWlsdCwgd2VsY2hlbiBUeXAgZGFzCiAgICAgICAgICBlbnRzcHJlY2hlbmRlIExhdWZ3ZXJrIGhhYmVuIHNvbGwuIE32Z2xpY2hlIFdlcnRlIHNpbmQKICAgICAgICAgIGZsb3BweSAoRGlza2V0dGVubGF1ZndlcmspLCBoZCAoRmVzdHBsYXR0ZW5wYXJ0aXRpb24pLCBjZHJvbQogICAgICAgICAgKENEUk9NLUxhdWZ3ZXJrKSB1bmQgbmV0d29yayAoTmV0endlcmtsYXVmd2VyaykuIEltCiAgICAgICAgICBhbGxnZW1laW5lbiBlbXBmaWVobHQgZXMgc2ljaCwgaGllciBkZW4gVHlwIGFuenVnZWJlbiwgZGVyCiAgICAgICAgICBkZW0gVU5JWC1WZXJ6ZWljaG5pcywgd2VsY2hlcyBkZW0gTGF1ZndlcmsgenVnZW9yZG5ldCBpc3QsCiAgICAgICAgICBlbnRzcHJpY2h0LiBCZWlzcGllbDogIlR5cGUiID0gImZsb3BweSIuCiAgICAgICAgICAKICAgTGFiZWwKICAgICAgICAgIFVudGVyIERPUyB1bmQgV2luZG93cyBr9m5uZW4gTGF1ZndlcmtlIGVpbmUgc28gZ2VuYW5udGUKICAgICAgICAgIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgaGFiZW4uIERpZXNlIEJlemVpY2hudW5nIGthbm4gdm9uCiAgICAgICAgICBXaW5kb3dzLUFud2VuZHVuZ2VuIGFiZ2VmcmFndCB3ZXJkZW4uIE1pdCBkaWVzZXIgVmFyaWFibGUKICAgICAgICAgIGthbm4gYW5nZWdlYmVuIHdlcmRlbiwgd2VsY2hlbiBEYXRlbnRy5GdlcmJlemVpY2hudW5nIFdJTkUKICAgICAgICAgIHp1cvxja2xpZWZlcm4gc29sbCwgZmFsbHMgZWluZSBBbndlbmR1bmcgZGllc2UgZvxyIGRhcwogICAgICAgICAgTGF1ZndlcmsgYWJmcmFndC4gRGllIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgZGFyZiBhdXMgbmljaHQKICAgICAgICAgIG1laHIgYWxzIDExIEJ1Y2hzdGFiZW4gYmVzdGVoZW4uIEJlaXNwaWVsOiAiTGFiZWwiID0gIlBsYXR0ZTEiLgogICAgICAgICAgCiAgIFNlcmlhbAogICAgICAgICAgSmVkZXMgTGF1ZndlcmsgaGF0IHVudGVyIFdpbmRvd3MgZWluZSBzbyBnZW5hbm50ZQogICAgICAgICAgU2VyaWVubnVtbWVyLCBkaWUgZWJlbmZhbGxzIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gYWJnZWZyYWd0CiAgICAgICAgICB3ZXJkZW4ga2Fubi4gTWl0IGRpZXNlciBWYXJpYWJsZW4gbORzc3Qgc2ljaCBpbiBGb3JtIGVpbmUKICAgICAgICAgIGFjaHQtc3RlbGxpZ2VuIGhleGFkZXppbWFsZW4gWmFobCBhbmdlYmVuLCB3ZWxjaGUKICAgICAgICAgIFNlcmllbm51bW1lciBpbiBzb2xjaGVuIEbkbGxlbiB6dXL8Y2tnZWxpZWZlcnQgd2VyZGVuCiAgICAgICAgICBzb2xsLiBCZWlzcGllbDogIlNlcmlhbCIgPSAiMjNmNzhhNmIiLgogICAgICAgICAgCiAgIEZpbGVzeXN0ZW0KICAgICAgICAgIEhpZXJtaXQgd2lyZCBiZXN0aW1tdCwgd2VsY2hlIEVpZ2Vuc2NoYWZ0ZW4gZGFzIGVtdWxpZXJ0ZQogICAgICAgICAgRGF0ZWlzeXN0ZW0gYXVmIGRlbSBiZXRyZWZmZW5kZW4gTGF1ZndlcmsgaGFiZW4gc29sbC4gRXMKICAgICAgICAgIHNpbmQgZGllIGZvbGdlbmRlbiBXZXJ0ZSBt9mdsaWNoOgogICAgICAgICAgCiAgICAgICAgbXNkb3MKICAgICAgICAgICAgICAgIEF1ZiBkZW0gTGF1Zndlcmsgc2luZCBudXIgRGF0ZWluYW1lbiBtaXQgZWluZXIgTORuZ2UKICAgICAgICAgICAgICAgIHZvbiBhY2h0IFplaWNoZW4gdW5kIGVpbmVyIEVyd2VpdGVydW5nLCBkaWUgYXVzIGRyZWkKICAgICAgICAgICAgICAgIFplaWNoZW4gYmVzdGVodCwgenVnZWxhc3Nlbi4gVW50ZXJzY2hpZWRlIGluIEdyb98tIHVuZAogICAgICAgICAgICAgICAgS2xlaW5zY2hyZWlidW5nIHdlcmRlbiBuaWNodAogICAgICAgICAgICAgICAgYmVy/GNrc2ljaHRpZ3QuIEFsdGVybmF0aXYgZvxyIG1zZG9zIGv2bm5lbiBkaWUKICAgICAgICAgICAgICAgIEJlemVpY2hudW5nZW4gZG9zIG9kZXIgZmF0IGb8ciBkaWVzZW4gRGF0ZWlzeXN0ZW10eXAKICAgICAgICAgICAgICAgIGJlbnV0enQgd2VyZGVuLgogICAgICAgICAgICAgICAgCiAgICAgICAgd2luOTUKICAgICAgICAgICAgICAgIEF1ZiBkZW0gTGF1Zndlcmsgc2luZCBsYW5nZSBEYXRlaW5hbWVuIHp1Z2VsYXNzZW4uIERPUwogICAgICAgICAgICAgICAgdW5kIDE2Yml0LVdpbmRvd3Nwcm9ncmFtbWUga/ZubmVuIGplZG9jaCB3ZWl0ZXJoaW4KICAgICAgICAgICAgICAgIGt1cnplIERhdGVpbmFtZW4gYmVudXR6ZW4uIFVudGVyc2NoaWVkZSBpbiBHcm/fLSB1bmQKICAgICAgICAgICAgICAgIEtsZWluc2NocmVpYnVuZyB3ZXJkZW4gbmljaHQgYmVy/GNrc2ljaHRpZ3QuIERpZXMgaXN0CiAgICAgICAgICAgICAgICBkaWUgZW1wZm9obGVuZW4gRWluc3RlbGx1bmcgZvxyIGZhc3QgYWxsZSBBbndlbmR1bmdlbi4KICAgICAgICAgICAgICAgIEFsdGVybmF0aXYgZvxyIHdpbjk1IGthbm4gZGllc2VyIERhdGVpc3lzdGVtdHlwIGF1Y2gKICAgICAgICAgICAgICAgIGFscyB2ZmF0IGJlemVpY2huZXQgd2VyZGVuLgogICAgICAgICAgICAgICAgCiAgICAgICAgdW5peAogICAgICAgICAgICAgICAgRGFzIERhdGVpc3lzdGVtIGF1ZiBkZW0gTGF1ZndlcmsgdmVyaORsdCBzaWNoIORobmxpY2gKICAgICAgICAgICAgICAgIHdpZSBlaW4gdHlwaXNjaGVzIFVOSVgtRGF0ZWlzeXN0ZW0sIGQuaC4gRGF0ZWluYW1lbgogICAgICAgICAgICAgICAga/ZubmVuIGRpZSBub3JtYWxlcndlaXNlIGVybGF1YnRlIEzkbmdlIGhhYmVuIHVuZCBkaWUKICAgICAgICAgICAgICAgIEdyb98tIHVuZCBLbGVpbnNjaHJlaWJ1bmcgaXN0IGJlZGV1dHNhbS4gTWl0IGRpZXNlcgogICAgICAgICAgICAgICAgRWluc3RlbGx1bmcga29tbWVuIGRpZSBtZWlzdGVuIFdpbmRvd3MtUHJvZ3JhbW1lIG5pY2h0CiAgICAgICAgICAgICAgICB6dXJlY2h0LiAgUHJvYmxlbWUgdHJldGVuIGJlaXNwaWVsc3dlaXNlIGRhbm4gYXVmLAogICAgICAgICAgICAgICAgd2VubiBlaW4gV2luZG93cy1Qcm9ncmFtbSBlaW5lIERhdGVpIHp1buRjaHN0IHVudGVyCiAgICAgICAgICAgICAgICBkZW0gTmFtZW4gRGF0ZW4gc3BlaWNoZXJ0IHVuZCBkYW5uIHVudGVyIGRlbSBOYW1lbgogICAgICAgICAgICAgICAgREFURU4gd2llZGVyIPZmZm5lbiB3aWxsLgogICAgICAgICAgICAgICAgCiAgICAgICAgICBBY2h0dW5nOiAKCSAgRXMgaXN0IHp1IGJlYWNodGVuLCBkYXNzIG1pdCBkaWVzZXIgRWluc3RlbGx1bmcgbmljaHQKCSAgYW5nZWdlYmVuIHdpcmQsIHdlbGNoZSBFaWdlbnNjaGFmdGVuIGRhcyB6dWdydW5kZSBsaWVnZW5kZQoJICBVTklYLURhdGVpc3lzdGVtIGhhdCwgc29uZGVybiB3ZWxjaGUgRWlnZW5zY2hhZnRlbiB2b24gV0lORQoJICBm/HIgZGFzIGVudHNwcmVjaGVuZGUgTGF1ZndlcmsgZW11bGllcnQgd2VyZGVuIHNvbGxlbi4gRXMKCSAgaXN0IGFsc28gZHVyY2ggYXVzIG32Z2xpY2ggKHVuZCBpbiBkZW4gbWVpc3RlbiBG5GxsZW4KCSAgZXJmb3JkZXJsaWNoKSBm/HIgZWluIExhdWZ3ZXJrLCBkYXMgc2ljaCBhdWYgZWluZW0KCSAgVU5JWC1EYXRlaXN5c3RlbSBiZWZpbmRldCwgZGllIEVpbnN0ZWxsdW5nIHdpbjk1IHp1CgkgIHZlcndlbmRlbi4gRmFsbHMgZXMgc2ljaCBiZWkgZGVtIERhdGVudHLkZ2VyLCBhdWYgZGVtIHNpY2gKCSAgZGFzIGRlbSBMYXVmd2VyayB6dWdlb3JkbmV0ZSBWZXJ6ZWljaG5pcyBiZWZpbmRldCwKCSAgYWxsZXJkaW5ncyB1bSBlaW4gRkFULURhdGVpc3lzdGVtIGhhbmRlbHQsIHdlbGNoZXMgbWl0IGRlbQoJICBGQVQtVHJlaWJlciB2b24gTGludXggKHVuZCBuaWNodCwgd2llIPxibGljaCwgbWl0IGRlbQoJICBWRkFULVRyZWliZXIpIGJldHJpZWJlbiB3aXJkLCBkYW5uIG11c3MgaGllciBkZXIKCSAgRGF0ZWlzeXN0ZW10eXAgbXNkb3MgYmVudXR6dCB3ZXJkZW4sIHdlaWwgZXMgc29uc3QgcGFzc2llcmVuCgkgIGv2bm50ZSwgZGFzcyBXSU5FIHZlcnN1Y2h0LCBhdWYgZGVtIGJldHJlZmZlbmRlbiBEYXRlbnRy5GdlcgoJICBEYXRlaWVuIG1pdCBsYW5nZW4gTmFtZW4gYW56dWxlZ2VuLCB3YXMgZGFubiB6dSBlaW5lbSBGZWhsZXIKCSAgZvxocmVuIHf8cmRlLiBCZWlzcGllbDogIkZpbGVzeXN0ZW0iID0gIndpbjk1Ii4KICAgICAgICAgIAogICBEZXZpY2UKICAgICAgICAgIEluIGJlc29uZGVyZW4gRuRsbGVuIGlzdCBlcyBub3R3ZW5kaWcsIGRhc3MgZGllCiAgICAgICAgICBXaW5kb3dzLVByb2dyYW1tZSBkaXJla3QsIGFsc28gdW50ZXIgVW1nZWh1bmcgZGVzCiAgICAgICAgICBEYXRlaXN5c3RlbXMsIGF1ZiBkZW4gRGF0ZW50cuRnZXIgc2NocmVpYmVuIG9kZXIgdm9uIGlobQogICAgICAgICAgbGVzZW4uIERhbWl0IGRpZXMgYXVjaCBtaXQgV0lORSBt9mdsaWNoIGlzdCwga2FubiBoaWVyIGRlcgogICAgICAgICAgTmFtZSBkZXIgR2Vy5HRlZGF0ZWkgYW5nZWdlYmVuIHdlcmRlbiwgd2VsY2hlciBkZW4KICAgICAgICAgIERhdGVudHLkZ2VyIHVudGVyIExpbnV4IHJlcHLkc2VudGllcnQuIERpZXMgaXN0IG51ciBkYW5uCiAgICAgICAgICBzaW5udm9sbCwgd2VubiBkYXMgZGVtIGJldHJlZmZlbmRlbiBMYXVmd2VyayB6dWdlb3JkbmV0ZQogICAgICAgICAgVmVyemVpY2huaXMgZGVtIE1vdW50cHVua3QgZGVzIGhpZXIgYW5nZWdlYmVuZW4gRGF0ZW50cuRnZXJzCiAgICAgICAgICBlbnRzcHJpY2h0LiBEZXIgZGlyZWt0ZSBHZXLkdGV6dWdyaWZmIHNvbGx0ZSBub3JtYWxlcndlaXNlCiAgICAgICAgICBudXIgZvxyIHNvbGNoZSBEYXRlbnRy5GdlciBnZXN0YXR0ZXQgd2VyZGVuLCBkZXJlbiBJbmhhbHQKICAgICAgICAgIG5pY2h0IGJlc29uZGVycyBnZXNjaPx0enQgd2VyZGVuIG11c3MgKHUuVS4gRGlza2V0dGVuKSBvZGVyCiAgICAgICAgICB2b24gZGVuZW4gb2huZWhpbiBudXIgZ2VsZXNlbiB3ZXJkZW4ga2FubgogICAgICAgICAgKHouQi4gQ0RST01zKS4gRGFtaXQgYXVmIGRlbiBEYXRlbnRy5GdlciBnZXNjaHJpZWJlbiB3ZXJkZW4KICAgICAgICAgIGthbm4sIGlzdCBlcyB6dXPkdHpsaWNoIG5hdPxybGljaCBub3R3ZW5kaWcsIGRhc3MgZGllIFJlY2h0ZQogICAgICAgICAgYW4gZGVyIGJldHJlZmZlbmRlbiBHZXLkdGVkYXRlaSBhdXNyZWljaGVuZCBzaW5kLiAgQmVpc3BpZWw6CiAgICAgICAgICAiRGV2aWNlIiA9ICIvZGV2L2ZkMCIuCiAgICAgICAgICAKICAgRmFpbFJlYWRPbmx5CgogICAgICAgICAgRWluZSBSZWloZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIPZmZm5lbiBEYXRlaWVuIHByaW56aXBpZWxsCiAgICAgICAgICB6dW0gTGVzZW4gdW5kIFNjaHJlaWJlbiwgYXVjaCB3ZW5uIGF1cyBkZW4gYmV0cmVmZmVuZGVuCiAgICAgICAgICBEYXRlaWVuIGxlZGlnbGljaCBnZWxlc2VuIHdlcmRlbiBzb2xsLiBEaWVzZXMgVmVyaGFsdGVuCiAgICAgICAgICBm/GhydCBub3JtYWxlcndlaXNlIGRhenUsIGRhc3MgRGF0ZWllbiwgaW4gZGllIHZvbiBXSU5FCiAgICAgICAgICBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4gZGFyZiBvZGVyIGRpZSBzaWNoIGF1ZiBEYXRlbnRy5Gdlcm4KICAgICAgICAgIGJlZmluZGVuLCBhdWYgZGllIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiBrYW5uIChldHdhCiAgICAgICAgICBDRFJPTXMpLCBuaWNodCBnZfZmZm5ldCB3ZXJkZW4ga/ZubmVuLiBBdXMgZGllc2VtIEdydW5kCiAgICAgICAgICD2ZmZuZXQgV0lORSBEYXRlaWVuIHN0YW5kYXJkbeTfaWcgenVtIExlc2VuLCBmYWxscyBlaW5lCiAgICAgICAgICBEYXRlaSBuaWNodCB6dW0gTGVzZW4gdW5kIHp1bSBTY2hyZWliZW4gZ2X2ZmZuZXQgd2VyZGVuCiAgICAgICAgICBrb25udGUuIFdlbm4gZGllIFZhcmlhYmxlIEZhaWxSZWFkT25seSBhdWYgZGVuIFdlcnQgdHJ1ZQogICAgICAgICAgZ2VzZXR6dCB3aXJkLCB2ZXJo5Gx0IHNpY2ggV0lORSBzbyB3aWUgdW50ZXIgVU5JWCD8YmxpY2ggdW5kCiAgICAgICAgICBsaWVmZXJ0IGVpbmUgRmVobGVybWVsZHVuZyBhbiBkYXMgV2luZG93cy1Qcm9ncmFtbSwgZmFsbHMKICAgICAgICAgIGVpbmUgRGF0ZWkgbmljaHQgenVtIFNjaHJlaWJlbiBnZfZmZm5ldCB3ZXJkZW4ga2Fubi4gSW4gZGVyCiAgICAgICAgICBSZWdlbCBlbXBmaWVobHQgZXMgc2ljaCwgaGllciBkaWUgU3RhbmRhcmRlaW5zdGVsbHVuZyB6dQogICAgICAgICAg/GJlcm5laG1lbi4gIEJlaXNwaWVsOiAiRmFpbFJlYWRPbmx5IiA9ICJ0cnVlIi4KICAgICAgICAgIAogICBSZWFkVm9sSW5mbwogICAgICAgICAgV2VubiBkZXIgV2VydCBkaWVzZXIgVmFyaWFibGVuIGF1ZiB0cnVlIGdlc2V0enQgaXN0LAogICAgICAgICAgdmVyc3VjaHQgV0lORSwgZGllIFNlcmllbm51bW1lciB1bmQgZGllCiAgICAgICAgICBEYXRlbnRy5GdlcmJlemVpY2hudW5nIGRlcyBiZXRyZWZmZW5kZW4gTGF1ZndlcmtzIGRpcmVrdCB2b24KICAgICAgICAgIGRlbSBEYXRlbnRy5GdlciB6dSBsZXNlbi4gIERhenUgbXVzcyBkZW0gTGF1ZndlcmsgZWluZQogICAgICAgICAgR2Vy5HRlZGF0ZWkgenVnZW9yZG5ldCBzZWluIChWYXJpYWJsZSBkZXZpY2UpLiBEaWVzZQogICAgICAgICAgRWluc3RlbGx1bmcgaXN0IHZvciBhbGxlbSBm/HIgc29sY2hlIFByb2dyYW1tZSBzaW5udm9sbCwgZGllCiAgICAgICAgICBudXIgZGFubiBmdW5rdGlvbmllcmVuLCB3ZW5uIHNpY2ggYmVpc3BpZWxzd2Vpc2UgZGllCiAgICAgICAgICByaWNodGlnZSBDRFJPTSBpbSBMYXVmd2VyayBiZWZpbmRldCB1bmQgZGllIGRpZXMgYW5oYW5kIGRlcgogICAgICAgICAgU2VyaWVubnVtbWVyIG9kZXIgZGVyIERhdGVudHLkZ2VyYmV6ZWljaG51bmcKICAgICAgICAgIGZlc3RzdGVsbGVuLiBCZWlzcGllbDogIlJlYWRWb2xJbmZvIiA9ICJ0cnVlIgogICAgICAgICAgCiAgNy4zIEFsbGdlbWVpbmUgRWluc3RlbGx1bmdlbgogIAogICBJbSBBYnNjaG5pdHQgW3dpbmVdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHdlcmRlbiBkaWUgd2ljaHRpZ3N0ZW4KICAgYWxsZ2VtZWluZW4gRWluc3RlbGx1bmdlbiB2b3JnZW5vbW1lbi4gSW0gd2VzZW50bGljaGVuIGhhbmRlbHQgZXMKICAgc2ljaCBkYWJlaSB1bSBWZXJ6ZWljaG5pc2FuZ2FiZW4uIEVzIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBkaWVzZQogICBWZXJ6ZWljaG5pc2FuZ2FiZW4gaW4gZGVyIHVudGVyIERPUyB1bmQgV2luZG93cyD8YmxpY2hlbiBXZWlzZSB6dQogICBlcmZvbGdlbiBoYWJlbi4gRC5oLiwgamVkZW0gVmVyemVpY2huaXMgbXVzcyBlaW4gTGF1ZndlcmtzYnVjaHN0YWJlCiAgIHZvcmFuZ2VzdGVsbHQgd2VyZGVuLiBMYXVmd2Vya3NidWNoc3RhYmVuIHVuZCBWZXJ6ZWljaG5pcyB3ZXJkZW4KICAgZHVyY2ggZWluZW4gRG9wcGVscHVua3Qgdm9uZWluYW5kZXIgZ2V0cmVubnQsIGF132VyZGVtIHdlcmRlbgogICBlaW56ZWxuZSBWZXJ6ZWljaG5pc3NlIG5pY2h0IGR1cmNoIGVpbmVuIG5vcm1hbGVuIFNjaHLkZ3N0cmljaCwKICAgc29uZGVybiBkdXJjaCBlaW5lbiB1bWdla2VocnRlbiBTY2hy5GdzdHJpY2ggKEJhY2tzbGFzaCkKICAgdm9uZWluYW5kZXIgc2VwYXJpZXJ0LiBEaWUgQW5nYWJlbiB3ZXJkZW4gZHVyY2ggZGllIGltIHZvcmhlcmlnZW4KICAgQWJzY2huaXR0IGJlc2NocmllYmVuZW4gWnVvcmRudW5nZW4gdm9uIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gaW4KICAgVU5JWC1EYXRlaW5hbWVuIPxiZXJzZXR6dC4KICAgCiAgIFdpbmRvd3MKICAgICAgICAgIFVudGVyIFdpbmRvd3Mgc3BpZWx0IGRhcyBXaW5kb3dzLVZlcnplaWNobmlzIGVpbmUgYmVzb25kZXJlCiAgICAgICAgICBSb2xsZS4gUHJvZ3JhbW1lIGxlZ2VuIGhpZXIgb2Z0IEluaXRpYWxpc2llcnVuZ3NkYXRlaWVuIGFiCiAgICAgICAgICB1bmQgSW5zdGFsbGF0aW9uc3Byb2dyYW1tZSBrb3BpZXJlbiBnZWxlZ2VudGxpY2gKICAgICAgICAgIHZlcnNjaGllZGVuZSBEYXRlaWVuIGluIGRpZXNlcyBWZXJ6ZWljaG5pcy4gTWl0IGRlcgogICAgICAgICAgVmFyaWFibGVuIFdpbmRvd3Mgd2lyZCBlaW5nZXN0ZWxsdCwgd2VsY2hlcyBWZXJ6ZWljaG5pcyB2b24KICAgICAgICAgIGRlbiB1bnRlciBXSU5FIGF1c2dlZvxocnRlbiBQcm9ncmFtbWVuIGFscwogICAgICAgICAgV2luZG93cy1WZXJ6ZWljaG5pcyBiZWhhbmRlbHQgd2VyZGVuIHNvbGwuIERhcyBoaWVyCiAgICAgICAgICBhbmdlZ2ViZW5lIFZlcnplaWNobmlzIG11c3MgZXhpc3RpZXJlbiwgYmV2b3IgV0lORSBkYXMgZXJzdGUKICAgICAgICAgIE1hbCBnZXN0YXJ0ZXQgd2lyZC4gV2VubiBXSU5FIGVpbmUgYmVzdGVoZW5kZQogICAgICAgICAgV2luZG93cy1JbnN0YWxsYXRpb24gdmVyd2VuZGVuIHNvbGwsIG11c3MgaGllciBkYXMKICAgICAgICAgIFZlcnplaWNobmlzIGFuZ2VnZWJlbiB3ZXJkZW4sIGluIGRlbSBzaWNoIGRpZSBJbnN0YWxsYXRpb24KICAgICAgICAgIGJlZmluZGV0LiAKCiAgICAgICAgICBGYWxscyBXSU5FIG1pdCBlaW5lciBleGlzdGllcmVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgICAgICAgICB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGwgdW5kIGRpZXNlIEluc3RhbGxhdGlvbiBzaWNoIGF1ZiBkZXIKICAgICAgICAgIEZlc3RwbGF0dGVucGFydGl0aW9uIGJlZmluZGV0LCBkaWUgdW50ZXIgV2luZG93cyBkZW4KICAgICAgICAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gQzogdHLkZ3QgdW5kIHVudGVyIExpbnV4IGR1cmNoIGRpZQogICAgICAgICAgR2Vy5HRlZGF0ZWkgL2Rldi9oZGExIHJlcHLkc2VudGllcnQgd2lyZCwgc28ga/ZubnRlIGRpZXNlCiAgICAgICAgICBQYXJ0aXRpb24gYmVpc3BpZWxzd2Vpc2UgdW50ZXIgTGludXggYmVpc3BpZWxzd2Vpc2UgaW4gZGFzCiAgICAgICAgICBWZXJ6ZWljaG5pcyAvV2luZG93cyBlaW5nZWJ1bmRlbiB3ZXJkZW4uIERpZXNlbSBWZXJ6ZWljaG5pcwogICAgICAgICAgd+RyZSBkYW5uIGltIEFic2Nobml0dCwgd2VsY2hlciBkaWUKICAgICAgICAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW5rb25maWd1cmF0aW9uIGVudGjkbHQgZGVyCiAgICAgICAgICBMYXVmd2Vya3NidWNoc3RhYmUgQzogenV6dW9yZG5lbjoKIAogICAgICAgICAgW0RyaXZlIENdIAogICAgICAgICAgIlBhdGgiID0gIi9XaW5kb3dzIgogICAgICAgICAgIlR5cGUiID0gImhkIgogICAgICAgICAgIkxhYmVsIiA9ICJ3aW5kb3dzIgogICAgICAgICAgIkZpbGVzeXN0ZW0iID0gIndpbjk1IgoKICAgICAgICAgIFdlbm4gd2VpdGVyIGRlciBOYW1lIGRlcyBXaW5kb3dzLVZlcnplaWNobmlzc2VzIGRpZXNlcgogICAgICAgICAgSW5zdGFsbGF0aW9uIHdpbmRvd3MgbGF1dGV0ICh1bnRlciBXaW5kb3dzIGFsc28gQzpcd2luZG93cwogICAgICAgICAgdW5kIHVudGVyIExpbnV4IC9XaW5kb3dzL3dpbmRvd3MpLCBzbyB35HJlIGltIEFic2Nobml0dAogICAgICAgICAgW3dpbmVdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGZvbGdlbmRlIEFuZ2FiZSB2b3J6dW5laG1lbjoKICAgIAogICAgICAgICAgIldpbmRvd3MiID0gIkM6XFxXaW5kb3dzIgoKICAgICAgICAgIFNvbGwgV0lORSBqZWRvY2ggb2huZSBleGlzdGllcmVuZGUgV2luZG93cy1JbnN0YWxsYXRpb24KICAgICAgICAgIGJlbnV0enQgd2VyZGVuLCBzbyBrYW5uIGVpbiBiZWxpZWJpZ2VzIFZlcnplaWNobmlzIGFscwogICAgICAgICAgV3VyemVsdmVyemVpY2huaXMgZvxyIGRhcyBMYXVmd2VyayBkaWVuZW4sIHdlbGNoZXMgZGFzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzIGJlaW5oYWx0ZXQsIGJlaXNwaWVsc3dlaXNlIGv2bm50ZQogICAgICAgICAgaGllcmb8ciBkYXMgVmVyemVpY2huaXMgL1dpbmRvd3MgYW5nZWxlZ3Qgd2VyZGVuLiBJbiBkaWVzZW0KICAgICAgICAgIFZlcnplaWNobmlzIG38c3N0ZSBudW4gZGFzIFdpbmRvd3MtVmVyemVpY2huaXMgZXJ6ZXVndAogICAgICAgICAgd2VyZGVuLCB3ZWxjaGVzIGRhcmF1ZmhpbiB3aWUgb2JlbiBiZXNjaHJpZWJlbiBpbSBBYnNjaG5pdHQKICAgICAgICAgIFt3aW5lXSBhbHMgV2luZG93cy1WZXJ6ZWljaG5pcyBkZWtsYXJpZXJ0IHdlcmRlbiBt/HNzdGUuCiAgICAgICAgICAKICAgU3lzdGVtCiAgICAgICAgICBEYXMgU3lzdGVtLVZlcnplaWNobmlzIGhhdCBlaW5lIORobmxpY2hlIEJlZGV1dHVuZyB3aWUgZGFzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzLiBVbnRlciBXaW5kb3dzIGJlZmluZGVuIHNpY2ggaW4gZGllc2VtCiAgICAgICAgICBWZXJ6ZWljaG5pcyBpbSB3ZXNlbnRsaWNoZW4gZGllIFByb2dyYW1tYmlibGlvdGhla2VuLCBlcyBpc3QKICAgICAgICAgIG5vcm1hbGVyd2Vpc2UgZWluIFVudGVydmVyemVpY2huaXMgZGVzCiAgICAgICAgICBXaW5kb3dzLVZlcnplaWNobmlzc2VzLiAgRGllc2VzIFZlcnplaWNobmlzIG11c3MgZWJlbmZhbGxzCiAgICAgICAgICBleGlzdGllcmVuLCBiZXZvciBXSU5FIGRhcyBlcnN0ZSBNYWwgZ2VzdGFydGV0IHdpcmQuIEF1Y2gKICAgICAgICAgIGhpZXIgbXVzcyBkYXMgU3lzdGVtLVZlcnplaWNobmlzIGRlciBiZXN0ZWhlbmRlbgogICAgICAgICAgV2luZG93cy1JbnN0YWxsYXRpb24gYW5nZWdlYmVuIHdlcmRlbiwgZmFsbHMgZWluZSBzb2xjaGUKICAgICAgICAgIGJlbnV0enQgd2VyZGVuIHNvbGwuIFVudGVyIFdpbmRvd3MgOTUvOTggdHLkZ3QgZGllc2VzCiAgICAgICAgICBWZXJ6ZWljaG5pcyBub3JtYWxlcndlaXNlIGRlbiBOYW1lbiBzeXN0ZW0gdW5kIHVudGVyIFdpbmRvd3MKICAgICAgICAgIE5UIGRlbiBOYW1lbiBzeXN0ZW0zMi4gQmVpc3BpZWw6ICJTeXN0ZW0iID0gIkM6XFxXaW5kb3dzXFxTeXN0ZW0iLgogICAgICAgICAgCiAgIFRlbXAKICAgICAgICAgIERhcyBUZW1wLVZlcnplaWNobmlzIHdpcmQgdm9uIHZpZWxlbiBXaW5kb3dzLVByb2dyYW1tZW4gZGF6dQogICAgICAgICAgYmVudXR6dCwgdGVtcG9y5HJlIERhdGVpZW4gYWJ6dWxlZ2VuLiBEYW1pdCBkaWVzIGdlbGluZ3QsCiAgICAgICAgICBtdXNzIGhpZXIgZWluIFZlcnplaWNobmlzIGFuZ2VnZWJlbiB3ZXJkZW4sIHdlbGNoZXMgc2ljaCBhdWYKICAgICAgICAgIGVpbmVtIExhdWZ3ZXJrIGJlZmluZGV0LCBkYXMgZWluZW0gVU5JWC1WZXJ6ZWljaG5pcwogICAgICAgICAgZW50c3ByaWNodCwgaW4gZGVtIFNjaHJlaWJiZXJlY2h0aWd1bmcgYmVzdGVodC4gQmVpc3BpZWw6CiAgICAgICAgICAiVGVtcCIgPSAiRDpcXHRtcCIuCiAgICAgICAgICAKICAgUGF0aAogICAgICAgICAgRGllc2UgVmFyaWFibGUgaGF0IGRpZSBnbGVpY2hlIEJlZGV1dHVuZyB3aWUgZGllCiAgICAgICAgICBVbWdlYnVuZ3N2YXJpYWJsZSBQQVRIIHVudGVyIFVOSVguIElociBXZXJ0IGJlc3RlaHQgYXVzCiAgICAgICAgICBlaW5lciBLZXR0ZSBlaW56ZWxuZXIgVmVyemVpY2huaXNuYW1lbiwgZGllIG5hY2ggZWluZW0KICAgICAgICAgIGF1c3p1ZvxocmVuZGVuIFByb2dyYW1tIGR1cmNoc3VjaHQgd2lyZCwgd2VubiBkZXIgTmFtZSBlaW5lcwogICAgICAgICAgc29sY2hlbiBQcm9ncmFtbXMgbmljaHQgbWl0IFZlcnplaWNobmlzbmFtZW4gYW5nZWdlYmVuCiAgICAgICAgICB3dXJkZS4gRXMgaXN0IHp1IGJlYWNodGVuLCBkYXNzIGRpZSBlaW56ZWxuZW4gRWxlbWVudGUgZGllc2UKICAgICAgICAgIFZhcmlhYmxlIHVudGVyIFdpbmRvd3MgbmljaHQgZHVyY2ggZWluZW4gRG9wcGVscHVua3Qgc29uZGVybgogICAgICAgICAgZHVyY2ggZWluIFNlbWlrb2xvbiB2b25laW5hbmRlciBnZXRyZW5udCB3ZXJkZW4sIGF132VyZGVtCiAgICAgICAgICBlcndhcnRlbiB2aWVsZSBXaW5kb3dzLVByb2dyYW1tZSwgZGFzcyBkYXMgV2luZG93cy0gdW5kIGRhcwogICAgICAgICAgU3lzdGVtLVZlcnplaWNobmlzIGluIGRpZXNlciBWYXJpYWJsZW4gZW50aGFsdGVuCiAgICAgICAgICBzaW5kLiBCZWlzcGllbDoKICAgICAgICAgICJQYXRoIiA9ICJDOlxcV2luZG93cztDOlxcV2luZG93c1xcU3lzdGVtO0Q6XFxXaW5zdHVmZiIuCiAgICAgICAgICAKICAgUHJvZmlsZQogICAgICAgICAgRGllc2UgVmFyaWFibGUgd2lyZCB2b24gV0lORSBiZW51dHp0LCB1bSBkZW4KICAgICAgICAgIGJlbnV0emVyc3BlemlmaXNjaGVuIFRlaWwgZGVyIFN5c3RlbXJlZ2lzdHJhdHVyIGVpbmVyCiAgICAgICAgICBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiB6dSBsYWRlbi4gRmFsbHMgZXMgc2ljaCBiZWkKICAgICAgICAgIGRlciBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24gdW0gV2luZG93cyA5NS85OCBoYW5kZWx0LCBkYXMKICAgICAgICAgIG5pY2h0IG1pdCBtZWhyZXJlbiBCZW51dHplcm4gYmV0cmllYmVuIHdpcmQgb2RlciBvaG5lIGVpbmUKICAgICAgICAgIGJlc3RlaGVuZGUgV2luZG93cy1JbnN0YWxsYXRpb24gZ2VhcmJlaXRldCB3ZXJkZW4gc29sbCwKICAgICAgICAgIGJyYXVjaHQgZGllIFZhcmlhYmxlIFByb2ZpbGUgbmljaHQgZ2VzZXR6dCB6dSB3ZXJkZW4uIFdlbm4KICAgICAgICAgIGplZG9jaCBlaW5lIFdpbmRvd3MgTlQtIG9kZXIgZWluZSBXaW5kb3dzIDk1Lzk4LUluc3RhbGxhdGlvbgogICAgICAgICAgbWl0IG1laHJlcmVuIEJlbnV0emVybiBlaW5nZXNldHp0IHdpcmQsIG11c3MgaGllciBhbmdlZ2ViZW4KICAgICAgICAgIHdlcmRlbiwgYXVzIHdlbGNoZW0gVmVyemVpY2huaXMgV0lORSBkaWUgYmVudXR6ZXJzcGV6aWZpc2NoZQogICAgICAgICAgUmVnaXN0cmF0aW9uc2RhdGVuIGxhZGVuIHNvbGwuIERpZXNlIFZlcnplaWNobmlzc2UgYmVmaW5kZW4KICAgICAgICAgIHNpY2ggbm9ybWFsZXJ3ZWlzZSBpbSBVbnRlcnZlcnplaWNobmlzIFByb2ZpbGVzIGRlcwogICAgICAgICAgV2luZG93cy1WZXJ6ZWljaG5pcyB1bmQgdHJhZ2VuIGRlbiBOYW1lbiBkZXMgQmVudXR6ZXJzLAogICAgICAgICAgZGVzc2VuIEtvbmZpZ3VyYXRpb25zZGF0ZW4gc2llIGJlaGVyYmVyZ2VuLiBCZWlzcGllbDoKICAgICAgICAgICJQcm9maWxlIiA9ICJDOlxcV2luZG93c1xcUHJvZmlsZXNcXFBldGVyIi4KICAgICAgICAgIAogICBHcmFwaGljc0RyaXZlcgogICAgICAgICAgV0lORSBrYW5uIHVudGVyc2NoaWVkbGljaGUgVHJlaWJlciBm/HIgZGllIGdyYXBoaXNjaGUKICAgICAgICAgIEF1c2dhYmUgdmVyd2VuZGVuLiBXZWxjaGVyIFRyZWliZXIgenUgdmVyd2VuZGVuIGlzdCwgd2lyZAogICAgICAgICAgbWl0IGRpZXNlciBWYXJpYWJsZW4gZmVzdGdlbGVndC4gWnVyIFplaXQgc3RlaGVuIHp3ZWkKICAgICAgICAgIFRyZWliZXIgenVyIFZlcmb8Z3VuZywgbuRtbGljaCB4MTFkcnYgZvxyIGRpZSBWZXJ3ZW5kdW5nIGRlcwogICAgICAgICAgWCBXaW5kb3cgU3lzdGVtcyB1bmQgdHR5ZHJ2IGb8ciBkaWUgVmVyd2VuZHVuZyB2b24gV0lORSBhbgogICAgICAgICAgZGVyIEtvbnNvbGUuICBEZXIgVHJlaWJlciB0dHlkcnYgaXN0IHp1ciBaZWl0IG5pY2h0IHZvbGwKICAgICAgICAgIGZ1bmt0aW9uc2bkaGlnLCB3ZXN3ZWdlbiBzaWNoIGhpZXIgbnVyIGRpZSBWZXJ3ZW5kdW5nIGRlcwogICAgICAgICAgVHJlaWJlcnMgeDExZHJ2IGVtcGZpZWhsdCwgZGllcyBpc3QgYXVjaCBkaWUKICAgICAgICAgIFN0YW5kYXJkZWluc3RlbGx1bmcsIHdlbm4gZGllIFZhcmlhYmxlIG5pY2h0IGdlc2V0enQKICAgICAgICAgIHdpcmQuIEJlaXNwaWVsOiAiR3JhcGhpY3NEcml2ZXIiID0gIngxMWRydiIuCiAgICAgICAgICAKICA3LjQgS29uZmlndXJhdGlvbiBkZXIgenUgdmVyd2VuZGVuZGVuIEJpYmxpb3RoZWtlbgogIAogICBXaWUgVU5JWC9MaW51eC1Qcm9ncmFtbWUgYmVzdGVoZW4gV2luZG93cy1Qcm9ncmFtbWUgaW4gZGVyIFJlZ2VsCiAgIGF1cyBkZXIgZWlnZW50bGljaGVuIFByb2dyYW1tZGF0ZWkgdW5kIGVpbmVyIFJlaWhlIHZvbgogICBQcm9ncmFtbWJpYmxpb3RoZWtlbiwgZGllIGJlaW0gTGFkZW4gZGVzIFByb2dyYW1tcyBvZGVyIHNw5HRlciBtaXQKICAgZGVtIFByb2dyYW1tIHZlcmJ1bmRlbiB3ZXJkZW4uIEVpbmUgUmVpaGUgZGVyIFByb2dyYW1tYmlibGlvdGhla2VuCiAgIHVudGVyIFdpbmRvd3Mgc3RlbGx0IGRhYmVpIGdsZWljaHplaXRpZyBkaWUgU2Nobml0dHN0ZWxsZSB6dW0KICAgQmV0cmllYnNzeXN0ZW0gZGFyLiBOZWJlbiBkZW0gZWlnZW50bGljaGVuIFdpbmRvd3MtUHJvZ3JhbW0gd2VyZGVuCiAgIGFsc28gZGllIEJpYmxpb3RoZWtlbiBiZW72dGlndCwgdW0gZGFzIFByb2dyYW1tIGF1c2b8aHJlbiB6dQogICBr9m5uZW4uCiAgIAogICBXSU5FIHN0ZWxsdCBlaW5lIGdyb99lIEFuemFobCBkZXIgbm9ybWFsZXJ3ZWlzZSB1bnRlciBXaW5kb3dzCiAgIHZlcmb8Z2JhcmVuIEJpYmxpb3RoZWtlbiB6dXIgVmVyZvxndW5nLiBEaWVzZSBCaWJsaW90aGVrZW4gbGllZ2VuCiAgIGVudHdlZGVyIGluIEZvcm0gZWlnZW5lciBEYXRlaWVuIHZvciwgd2VsY2hlIHNpY2ggc3RhbmRhcmRt5N9pZyBpbQogICBWZXJ6ZWljaG5pcyAvdXNyL2xvY2FsL2xpYiBiZWZpbmRlbiwgb2RlciBzaWUgc2luZCBkaXJla3QgaW4gZGVyCiAgIFByb2dyYW1tZGF0ZWkgd2luZSBlbnRoYWx0ZW4uIFdJTkUgaXN0IGplZG9jaCBhdWNoIGluIGRlciBMYWdlLCBkaWUKICAgbm9ybWFsZW4gV2luZG93cy1CaWJsaW90aGVrZW4genUgdmVyd2VuZGVuOyBkaWVzIGlzdCBiZWlzcGllbHN3ZWlzZQogICBkYW5uIG5vdHdlbmRpZywgd2VubiB2b24gZWluZW0gUHJvZ3JhbW0gZWluZSBCaWJsaW90aGVrIGJlbvZ0aWd0CiAgIHdpcmQsIGJlaSBkZXIgZXMgc2ljaCBuaWNodCB1bSBlaW5lIHN0YW5kYXJkbeTfaWdlIFdpbmRvd3MtQmlibGlvdGhlawogICBoYW5kZWx0LCBzb25kZXJuIHVtIGVpbmUsIGRpZSBkZW0gU3lzdGVtIHfkaHJlbmQgZGVyIEluc3RhbGxhdGlvbgogICBkZXMgYmV0cmVmZmVuZGVuIFByb2dyYW1tcyBoaW56dWdlZvxndCB3b3JkZW4gaXN0LiBTb2xjaGUgQmlibGlvdGhla2VuCiAgIHdlcmRlbiBub3JtYWxlcndlaXNlIG5pY2h0IHZvbiBXSU5FIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQuCiAgIAogICBGYWxscyBXSU5FIG1pdCBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0IHdpcmQsCiAgIGJpZXRldCBlcyBzaWNoIHUuVS4gYW4sIGluIGVpbmlnZW4gRuRsbGVuIGFuIFN0ZWxsZSBkZXIgdm9uIFdJTkUKICAgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdGVuIEJpYmxpb3RoZWtlbiBkaWUgQmlibGlvdGhla2VuIGRlcgogICBXaW5kb3dzLUluc3RhbGxhdGlvbiB6dSB2ZXJ3ZW5kZW4uIERpZXNlIHNpbmQgaW4gdmllbGVuIEbkbGxlbgogICB2b2xsc3TkbmRpZ2VyIHVuZCBr9m5uZW4gZGVtIGF1c3p1ZvxocmVuZGVuIFByb2dyYW1tIGRlc3dlZ2VuIGVoZXIKICAgZGllIGVyd2FydGV0ZSBGdW5rdGlvbmFsaXTkdCB6dXIgVmVyZvxndW5nIHN0ZWxsZW4uIERhYmVpIGlzdAogICBqZWRvY2ggenUgYmVhY2h0ZW4sIGRhc3MgZGllcyBudXIgbWl0IHNvbGNoZW4gQmlibGlvdGhla2VuIG32Z2xpY2gKICAgaXN0LCBkaWUga2VpbmUgQmV0cmllYnNzeXN0ZW1mdW5rdGlvbmVuIGJlaW5oYWx0ZW4uIEJpYmxpb3RoZWtlbiwKICAgZGllIGxlZGlnbGljaCBlaW5mYWNoZW4gUHJvZ3JhbW1jb2RlLCB3aWUgYmVpc3BpZWxzd2Vpc2UgZGVuIGb8cgogICBo5HVmaWcgYmVu9nRpZ3RlIERpYWxvZ2UsIGJlaW5oYWx0ZW4sIGv2bm5lbiBoaW5nZWdlbiBwcm9ibGVtbG9zCiAgIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0IHdlcmRlbi4KICAgCiAgIERpZSBtZWlzdGVuIEJpYmxpb3RoZWtlbiBzdGVoZW4gdW50ZXIgV2luZG93cyAoOTUvOTgpIGluIHp3ZWkKICAgdmVyc2NoaWVkZW5lbiBWZXJzaW9uZW4genVyIFZlcmb8Z3VuZywgZWluZXIgMzJCaXQtVmVyc2lvbiwgZGllIHZvbgogICAzMkJpdC1Qcm9ncmFtbWVuIGdlbGFkZW4gd2VyZGVuIGthbm4gdW5kIGVpbmVyIDE2Qml0LVZlcnNpb24sIGRpZQogICB2b24gMTZCaXQtUHJvZ3JhbW1lbiBiZW51dHp0IHdlcmRlbiBrYW5uLiBCZWlkZSBWZXJzaW9uZW4gYmVudXR6ZW4KICAgaW4gZGVyIFJlZ2VsIFByb2dyYW1tY29kZSBhdXMgZGVyIGpld2VpbHMgenVnZWj2cmlnZW4gYW5kZXJlbgogICBWZXJzaW9uIChVbnRlciBXaW5kb3dzIDk1Lzk4IGJlZmluZGV0IHNpY2ggZGllIGVpZ2VudGxpY2hlCiAgIEZ1bmt0aW9uYWxpdOR0IG1laXN0IGluIGRlbiAxNkJpdC1CaWJsaW90aGVrZW4sIGRpZSB2b24gZGVuCiAgIDMyQml0LVZlcnNpb25lbiBnZWxhZGVuIHVuZCBhdWZnZXJ1ZmVuIHdlcmRlbikuIERlc3dlZ2VuIGlzdCBlcwogICBlcmZvcmRlcmxpY2gsIGRhc3MgaW1tZXIgamV3ZWlscyBiZWlkZSBWZXJzaW9uZW4gZWluZXIgQmlibGlvdGhlawogICBhbHMgV2luZG93cy0gb2RlciBhbHMgV0lORS1CaWJsaW90aGVrIGdlbGFkZW4gd2VyZGVuLCBhbmRlcmUKICAgRWluc3RlbGx1bmdlbiBm/GhyZW4gaW4gZGVyIFJlZ2VsIGRpcmVrdCBuYWNoIGRlbSBBdWZydWYgdm9uIFdJTkUKICAgenUgRmVobGVybi4gRGllIGZvbGdlbmRlIFRhYmVsbGUgemVpZ3QsIHdlbGNoZSBkZXIgd2ljaHRpZ3N0ZW4gMTYtCiAgIHVuZCAzMi1CaXQgQmlibGlvdGhla2VuIHp1c2FtbWVuIGdlaPZyZW4gdW5kIGdpYnQgQXVza3VuZnQgZGFy/GJlciwKICAgb2IgZGllc2UgQmlibGlvdGhla2VuIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbgogICBnZWxhZGVuIHdlcmRlbiBr9m5uZW4gb2RlciB1bmJlZGluZ3Qgdm9uIFdJTkUgenVyIFZlcmb8Z3VuZwogICBnZXN0ZWxsdCB3ZXJkZW4gbfxzc2VuLiBFcyB3aXJkIGpld2VpbHMgenVu5GNoc3QgZGllIDE2LUJpdCBWZXJzaW9uCiAgIHVuZCBkYW5uIGRpZSAzMi1CaXQgVmVyc2lvbiBnZW5hbm50LgogICAKICAga3JubDM4NiAKICAga2VybmVsMzIgCiAgIERpZXNlIEJpYmxpb3RoZWsgc3RlbGx0IGRpZSBTY2huaXR0c3RlbGxlIHp1IGRlbiBncnVuZGxlZ2VuZGVuCiAgIEZ1bmt0aW9uZW4sIHdpZSBEYXRlaXp1Z3JpZmYsIEVpbi0gdW5kIEF1c2dhYmUgb2RlcgogICBQcm96ZXNzc3luY2hyb25pc2F0aW9uLCB2b24gV2luZG93cy1CZXRyaWVic3N5c3RlbWVuIHp1ciBWZXJm/Gd1bmcuCiAgIERlc3dlZ2VuIGv2bm5lbiBoaWVyIG5pY2h0IGRpZSBCaWJsaW90aGVrZW4gZWluZXIKICAgV2luZG93cy1JbnN0YWxsYXRpb24gYmVudXR6dCB3ZXJkZW4uCgogICAtIAogICBudGRsbCAKICAgRGllc2UgQmlibGlvdGhlayBlbnRo5Gx0IGRpZSBTY2huaXR0c3RlbGxlIHp1IGRlbSBCZXRyaWVic3N5c3RlbQogICBXaW5kb3dzIE5ULiBFcyBtdXNzIGRlc3dlZ2VuIGRpZSBXSU5FLVZlcnNpb24gYmVudXR6dCB3ZXJkZW4uCgogICAtIAogICBhZHZhcGkzMiAKICAgSGllciBiZWZpbmRlbiBzaWNoIHUuYS4gRnVua3Rpb25lbiB6dW0gWnVncmlmZiBhdWYgZGllCiAgIFdpbmRvd3MtUmVnaXN0cmF0dXIgc293aWUgU2ljaGVyaGVpdHNmdW5rdGlvbmVuIHVuZAogICBrcnlwdG9ncmFwaGlzY2hlIEZ1bmt0aW9uZW4uIEluIGRlciBSZWdlbCBlbXBmaWVobHQgZXMgc2ljaCwgV0lORXMKICAgVmVyc2lvbiBkaWVzZXIgQmlibGlvdGhlayB6dSB2ZXJ3ZW5kZW4uCgogICB3aW5zb2NrIAogICB3c29jazMyIAogICBIaWVyIGJlZmluZGV0IHNpY2ggZGllIEludGVybmV0IFByb3Rva29sbCAoSVApIFNjaG5pdHRzdGVsbGUgdm9uCiAgIFdpbmRvd3MuIE1pdCBXSU5FIHdpcmQgZGllIElQLUZ1bmt0aW9uYWxpdOR0IGRlcyBCZXRyaWVic3N5c3RlbXMKICAgKExpbnV4KSBiZW51dHp0LCBzbyBkYXNzIGhpZXIgZGllIFdJTkUtVmVyc2lvbmVuIGRpZXNlcgogICBCaWJsaW90aGVrZW4gYmVudXR6dCB3ZXJkZW4gbfxzc2VuLCB3ZWxjaGUgZGllIElQLUF1ZnJ1ZmUgdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiBhbiBMaW51eCB3ZWl0ZXJsZWl0ZW4uCgogICBnZGkgCiAgIGdkaTMyIAogICBHREkgc3RlaHQgZvxyIEdyYXBoaWNzIERldmljZSBJbnRlcmZhY2UuIERpZSBCaWJsaW90aGVrIHN0ZWxsdCBlaW5lCiAgIGVpbmhlaXRsaWNoZSBTY2huaXR0c3RlbGxlIHp1ciBCaWxkc2NoaXJtYXVzZ2FiZSB1bmQgenUgRHJ1Y2tlcm4KICAgZGFyLiBBdWNoIGhpZXIgbfxzc2VuIGRpZSBXSU5FLVZlcnNpb25lbiBiZW51dHp0IHdlcmRlbi4gIAoKICAgdXNlcgogICB1c2VyMzIgCiAgIFVzZXIgc3RlbGx0IHUuYS4gRnVua3Rpb25lbiB6dXIgRmVuc3RlcnZlcndhbHR1bmcsIHp1IE1lbvxzIG9kZXIKICAgenVyIEJlZGllbnVuZyBkZXIgWndpc2NoZW5hYmxhZ2UgYmVyZWl0LiBEaWUgV2luZG93cyA5NS85OAogICBWZXJzaW9uZW4gZGllc2VyIEJpYmxpb3RoZWtlbiBrb25udGVuIGZy/GhlciB1bnRlciBiZXN0aW1tdGVuCiAgIEJlZGluZ3VuZ2VuIG1pdCBXSU5FIGJlbnV0enQgd2VyZGVuLiBEaWUgVVNFUi1CaWJsaW90aGVrZW4gdm9uCiAgIFdpbmRvd3MgTlQgcnVmZW4gaW4gZGVyIFJlZ2VsIEZ1bmt0aW9uZW4gaW0gTlQtS2VybmVsIGF1ZiB1bmQKICAga/ZubmVuIGRlc3dlZ2VuIG5pY2h0IG1pdCBXSU5FIGJlbnV0enQgd2VyZGVuLiBFcyBlbXBmaWVobHQgc2ljaCwKICAgZGllIFVzZXItQmlibGlvdGhla2VuIHZvbiBXSU5FIHp1IHZlcndlbmRlbi4KCiAgIGx6ZXhwYW5kIAogICBsejMyIAogICBEaWVzZSBiZWlkZW4gQmlibGlvdGhla2VuIHN0ZWxsZW4gRnVua3Rpb25lbiB6dW0gRGVrb21wcmltaWVyZW4KICAgdm9uIExaLUFyY2hpdmVuIHp1ciBWZXJm/Gd1bmcuIFNvbGNoZSBGdW5rdGlvbmVuIHdlcmRlbiBpbQogICB3ZXNlbnRsaWNoZW4gdm9uIEluc3RhbGxhdGlvbnNwcm9ncmFtbWVuIGJlbvZ0aWd0LiBEaWUgenUgV2luZG93cwogICBnZWj2cmVuZGVuIFZlcnNpb25lbiBkaWVzZXIgQmlibGlvdGhla2VuIGJlbnV0emVuIGVpbmlnZSBGdW5rdGlvbmVuCiAgIGF1cyBkZXIgS2VybmVsLUJpYmxpb3RoZWssIGRpZSBpbiBXSU5FIHp1ciBaZWl0IG5pY2h0IGltcGxlbWVudGllcnQKICAgc2luZC4gRXMgbfxzc2VuIGRlc3dlZ2VuIGRpZSB2b24gV0lORSBiZXJlaXRnZXN0ZWxsdGVuIFZlcnNpb25lbgogICBiZW51dHp0IHdlcmRlbi4KCiAgIGNvbW1jdHJsIAogICBjb21jdGwzMiAKICAgRGllc2UgQmlibGlvdGhlayAoY29tbW9uIGNvbnRyb2xzKSBzdGVsbHQgRnVua3Rpb25lbiB6dXIgRXJ6ZXVndW5nCiAgIG9mdCBiZW51dHp0ZXIgRmVuc3RlcmVsZW1lbnRlLCB3aWUgV2Vya3pldWdsZWlzdGVuIG9kZXIKICAgU3RhdHVzYW56ZWlnZW4sIHp1ciBWZXJm/Gd1bmcuIEVzIGv2bm5lbiBzb3dvaGwgZGllIFZlcnNpb24gdm9uCiAgIFdJTkUgYWxzIGF1Y2ggZGllIFdpbmRvd3MtVmVyc2lvbiBkZXIgQmlibGlvdGhlayBiZW51dHp0IHdlcmRlbi4KCiAgIGNvbW1kbGcgCiAgIGNvbWRsZzMyIAogICBIaWVyIGJlZmluZGVuIHNpY2gga29tcGxldHRlIERpYWxvZ2UsIGRpZSBvZnQgdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiBiZW51dHp0IHdlcmRlbiAoRmFyYmF1c3dhaGwsIEF1c3dhaGwgZGVyCiAgIFNjaHJpZnRhcnQsIFN1Y2hlbiB1bmQgRXJzZXR6ZW4gdXN3LikuIEF1Y2ggaGllciBr9m5uZW4gd2FobHdlaXNlCiAgIGRpZSBXaW5kb3dzLSBvZGVyIFdJTkUtVmVyc2lvbmVuIGJlbnV0enQgd2VyZGVuLgoKICAgc2hlbGwgCiAgIHNoZWxsMzIgCiAgIERpZSBTaGVsbC1CaWJsaW90aGVrIGJlaW5oYWx0ZXQgZGVuIGdy9t90ZW4gVGVpbCBkZXIKICAgQmVudXR6ZXJzY2huaXR0c3RlbGxlbiB2b24gV2luZG93cy4gU2llIHdpcmQgdW50ZXIgV2luZG93cwogICBiZXNvbmRlcnMgdm9tIEV4cGxvcmVyIChkZW0gRGF0ZWltYW5hZ2VyKSB1bmQgdmllbGVuIGFuZGVyZW4KICAgQW53ZW5kdW5nZW4gYmVudXR6dCwgZGllIEZ1bmt0aW9uZW4gd2llIGJlaXNwaWVsc3dlaXNlCiAgIERyYWctYW5kLURyb3AgdW50ZXJzdPx0emVuLiAgUHJpbnppcGllbGwga2FubiBzb3dvaGwgZGllIFdpbmRvd3MtCiAgIGFscyBhdWNoIGRpZSBXSU5FLVZlcnNpb24gYmVudXR6dCB3ZXJkZW4uCgogICAtIAogICBjcnRkbGwgCiAgIERpZXMgaXN0IGRpZSBzdGFuZGFyZG3k32lnZSBDLUxhdWZ6ZWl0YmlibGlvdGhlayB2b24gV2luZG93cy4gWnVyCiAgIFplaXQgaXN0IGRpZSBXaW5kb3dzLVZlcnNpb24gdm9sbHN05G5kaWdlciwgd2Vzd2VnZW4gZWluaWdlCiAgIFByb2dyYW1tZSBtaXQgZGVyIFdJTkUtVmVyc2lvbiBuaWNodCByaWNodGlnIGZ1bmt0aW9uaWVyZW4uCiAgIAogICBOZWJlbiBkZW4gaGllciBnZW5hbm50ZW4gd2ljaHRpZ3N0ZW4gU3lzdGVtYmlibGlvdGhla2VuIHN0ZWxsdCBXSU5FCiAgIGVpbmUgUmVpaGUgd2VpdGVyZXIgQmlibGlvdGhla2VuIHp1ciBWZXJm/Gd1bmcsIGJlaXNwaWVsc3dlaXNlIHp1cgogICBVbnRlcnN0/HR6dW5nIHZvbiBNdWx0aW1lZGlhLUFud2VuZHVuZ2VuLiBGYWxscyBlaW5lCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHp1ciBWZXJm/Gd1bmcgc3RlaHQsIGVtcGZpZWhsdCBlcyBzaWNoIGluCiAgIHZpZWxlbiBG5GxsZW4sIGF1c3p1cHJvYmllcmVuLCBvYiBlaW4gUHJvZ3JhbW0gYmVzc2VyIG1pdCBkZW4KICAgV0lORS1WZXJzaW9uZW4gb2RlciBkZW4gV2luZG93cy1WZXJzaW9uZW4gZGllc2VyIEJpYmxpb3RoZWtlbgogICBmdW5rdGlvbmllcnQuIAoKICAgSW4gZGVyIERhdGVpIH4vLndpbmUvY29uZmlnIGdpYnQgZXMgendlaSBBYnNjaG5pdHRlLCBtaXQgZGVuZW4KICAgYmVzdGltbXQgd2lyZCwgd2VsY2hlIEJpYmxpb3RoZWtlbiBhdXMgZWluZXIgV2luZG93cy1JbnN0YWxsYXRpb24KICAgZ2VsYWRlbiB3ZXJkZW4gc29sbGVuLiBEYXL8YmVyaGluYXVzIGv2bm5lbiBkaWVzZSBFaW5zdGVsbHVuZ2VuCiAgIGJlaW0gQXVmcnVmIHZvbiBXSU5FIGFuIGRlciBLb21tYW5kb3plaWxlIPxiZXJzY2hyaWViZW4gd2VyZGVuLgogICBJbSBhbGxnZW1laW5lbiBlbXBmaWVobHQgZXMgc2ljaCwgZGllIEVpbnN0ZWxsdW5nZW4gaW4gZGVyCiAgIEJlaXNwaWVsdmVyc2lvbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSAoZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZykKICAgenUg/GJlcm5laG1lbiB1bmQgZGllc2UgbnVyIGRhbm4genUgdmVy5G5kZXJuLCBmYWxscwogICBiZXN0aW1tdGUgUHJvZ3JhbW1lIG1pdCBkZW4gVm9yZWluc3RlbGx1bmdlbiBuaWNodCByaWNodGlnCiAgIGZ1bmt0aW9uaWVyZW4uIEZhbGxzIGRpZSBCaWJsaW90aGVrZW4gZWluZXIgV2luZG93cy1JbnN0YWxsYXRpb24KICAgYmVudXR6dCB3ZXJkZW4gc29sbGVuLCBpc3QgZGFyYXVmIHp1IGFjaHRlbiwgZGFzcyBkaWVzZSBhdWNoIHZvbgogICBXSU5FIGdlZnVuZGVuIHdlcmRlbiBr9m5uZW4uIERpZXMgc2V0enQgaW4gZGVyIFJlZ2VsIHZvcmF1cywgZGFzcwogICBtaXQgZGVuIFZhcmlhYmxlbiBXaW5kb3dzIHVuZCBTeXN0ZW0gaW0gYWxsZ2VtZWluZW4gVGVpbCBkZXIKICAgS29uZmlndXJhdGlvbiBhdWYgZGFzIFdpbmRvd3MtIGJ6dy4gZGFzIFN5c3RlbXZlcnplaWNobmlzIGVpbmVyCiAgIGf8bHRpZ2VuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGdlemVpZ3Qgd2lyZCB1bmQgZGFzcyBkaWVzZSBiZWlkZW4KICAgVmVyemVpY2huaXNzZSBpbSBXZXJ0IGRlciBWYXJpYWJsZW4gUGF0aCBnZW5hbm50IHdlcmRlbi4KICAgCiAgIEltIEFic2Nobml0dCBbRGxsRGVmYXVsdHNdIGv2bm5lbiBkaWUgZm9sZ2VuZGVuIGJlaWRlbiBFaW5zdGVsbHVuZ2VuCiAgIHZvcmdlbm9tbWVuIHdlcmRlbjoKICAgCiAgIERlZmF1bHRMb2FkT3JkZXIKICAgICAgICAgIEhpZXJtaXQgd2lyZCBiZXN0aW1tdCwgd2VsY2hlIFJlaWhlbmZvbGdlIFdJTkUgc3RhbmRhcmRt5N9pZwogICAgICAgICAgYmVudXR6ZW4gc29sbCwgd2VubiB2ZXJzdWNodCB3aXJkLCBlaW5lIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICBEaWVzZSBSZWloZW5mb2xnZSB3aXJkIGR1cmNoIGRpZSBmb2xnZW5kZW4gU2NobPxzc2Vsd/ZydGVyCiAgICAgICAgICBkZWZpbmllcnQ6CiAgICAgICAgICAKICAgICAgICBuYXRpdmUKICAgICAgICAgICAgICAgIEVzIHNvbGwgdmVyc3VjaHQgd2VyZGVuLCBkaWUgV2luZG93cy1WZXJzaW9uIGRlcgogICAgICAgICAgICAgICAgYmV0cmVmZmVuZGVuIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICBidWlsdGluCiAgICAgICAgICAgICAgICBFcyBzb2xsIHZlcnN1Y2h0IHdlcmRlbiwgZGllIFdJTkUtVmVyc2lvbiBkZXIKICAgICAgICAgICAgICAgIGJldHJlZmZlbmRlbiBCaWJsaW90aGVrIHp1IGxhZGVuLgogICAgICAgICAgICAgICAgCiAgICAgICAgZWxmZGxsCiAgICAgICAgICAgICAgICBFbGZkbGxzIHNpbmQgZWluZSBiZXNvbmRlcmUgRm9ybSB2b24KICAgICAgICAgICAgICAgIFdpbmRvd3MtQmlibGlvdGhla2VuLCB3ZWxjaGUgdm9uIFdJTkUgenVyIFZlcmb8Z3VuZwogICAgICAgICAgICAgICAgZ2VzdGVsbHQgd2VyZGVuLiBTaWUgc2luZCB1cnNwcvxuZ2xpY2ggZ2VwbGFudCB3b3JkZW4sCiAgICAgICAgICAgICAgICB1bSBkaWUgZWluZ2ViYXV0ZW4gQmlibGlvdGhla2VuIGFienVs9nNlbiwgYWxsZXJkaW5ncwogICAgICAgICAgICAgICAgaGFiZW4gZGllIGVpbmdlYmF1dGVuIEJpYmxpb3RoZWtlbiBtaXQgZGVyIFplaXQgdmllbGUKICAgICAgICAgICAgICAgIGRlciBm/HIgRWxmZGxscyBnZXBsYW50ZW4gRnVua3Rpb25lbiBiZWtvbW1lbiwgc28gZGFzcwogICAgICAgICAgICAgICAgZGllc2UgRm9ybSB2b24gQmlibGlvdGhla2VuIHp1ciBaZWl0IGtlaW5lIGJlc29uZGVyZQogICAgICAgICAgICAgICAgQmVkZXV0dW5nIGhhdC4KICAgICAgICAgICAgICAgIAogICAgICAgIHNvCiAgICAgICAgICAgICAgICBJbiBlaW5pZ2VuIEbkbGxlbiBnaWJ0IGVzIHZvbiBlaW5lciBCaWJsaW90aGVrIExpbnV4LQogICAgICAgICAgICAgICAgdW5kIFdpbmRvd3MtVmVyc2lvbmVuLCBkaWUgc2ljaCBzb3dvaGwgaGluc2ljaHRsaWNoCiAgICAgICAgICAgICAgICBpaHJlciBGdW5rdGlvbmFsaXTkdCBhbHMgYXVjaCBoaW5zaWNodGxpY2ggZGVyCiAgICAgICAgICAgICAgICBhdWZydWZiYXJlbiBGdW5rdGlvbmVuIGluIGRlciBCaWJsaW90aGVrIG5pY2h0CiAgICAgICAgICAgICAgICB1bnRlcnNjaGVpZGVuLiBGYWxscyBlaW4gV2luZG93cy1Qcm9ncmFtbSBkaWUKICAgICAgICAgICAgICAgIFdpbmRvd3MtVmVyc2lvbiBlaW5lciBzb2xjaGVuIEJpYmxpb3RoZWsgbGFkZW4gd2lsbCwKICAgICAgICAgICAgICAgIGthbm4gV0lORSB2ZXJzdWNoZW4sIGFuIFN0ZWxsZSBkZXNzZW4gZGllIExpbnV4LVZlcnNpb24KICAgICAgICAgICAgICAgIHp1IGxhZGVuIHVuZCBkaWUgRnVua3Rpb25lbiBkaWVzZXIgVmVyc2lvbiBhbiBTdGVsbGUKICAgICAgICAgICAgICAgIGRlciBpbiBkZXIgV2luZG93cy1WZXJzaW9uIGF1ZnJ1ZmVuLiBNaXQgZGVtCiAgICAgICAgICAgICAgICBTY2hs/HNzZWx3b3J0IHNvIGthbm4gZGllc2VzIFZlcmhhbHRlbiBoZXJ2b3JnZXJ1ZmVuCiAgICAgICAgICAgICAgICB3ZXJkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICAgIER1cmNoIGRpZSBSZWloZW5mb2xnZSwgbWl0IGRlciBkaWVzZSBTY2hs/HNzZWx39nJ0ZXIgZGVyCiAgICAgICAgICBWYXJpYWJsZW4gRGVmYXVsdExvYWRPcmRlciB6dWdlb3JkbmV0IHdlcmRlbiwgd2lyZAogICAgICAgICAgZmVzdGdlbGVndCwgaW4gd2VsY2hlciBSZWloZW5mb2xnZSBXSU5FIGRpZSBlaW56ZWxuZW4KICAgICAgICAgIFN0cmF0ZWdpZW4gYmVudXR6dC4gIFd1cmRlIGJlaXNwaWVsc3dlaXNlICJEZWZhdWx0TG9hZE9yZGVyIiA9CiAgICAgICAgICAibmF0aXZlLCBidWlsdGluLCBzbyIgYW5nZWdlYmVuLCBzbyB2ZXJzdWNodCBXSU5FLCB3ZW5uIGVpbmUKICAgICAgICAgIEJpYmxpb3RoZWsgZ2VsYWRlbiB3ZXJkZW4gbXVzcywgenVu5GNoc3QgZGllCiAgICAgICAgICBXaW5kb3dzLVZlcnNpb24genUgbGFkZW4uIFdlbm4gZGllcyBuaWNodCBmdW5rdGlvbmllcnQgKGluCiAgICAgICAgICBkZXIgUmVnZWwsIHdlaWwgZGllIEJpYmxpb3RoZWsgbmljaHQgdm9yaGFuZGVuIGlzdCBvZGVyCiAgICAgICAgICBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4ga2FubiksIHdpcmQgdmVyc3VjaHQsIGRpZSBXSU5FLVZlcnNpb24KICAgICAgICAgIGRlciBCaWJsaW90aGVrIHp1IHZlcndlbmRlbiB1bmQgZmFsbHMgYXVjaCBlaW5lIHNvbGNoZSBuaWNodAogICAgICAgICAgdm9yaGFuZGVuIGlzdCwgd2lyZCB2ZXJzdWNodCwgZGlyZWt0IGRpZSBVTklYLVZlcnNpb24gZGVyCiAgICAgICAgICBlbnRzcHJlY2hlbmRlbiBCaWJsaW90aGVrIHp1IGxhZGVuLgogICAgICAgICAgCiAgIEltIEFic2Nobml0dCBbRGxsT3ZlcnJpZGVzXSBs5HNzdCBzaWNoIGRhcyBpbSB2b3JoZXJpZ2VuIEFic2Nobml0dAogICBzcGV6aWZpemllcnRlIFZlcmhhbHRlbiBm/HIgZWluemVsbmUgQmlibGlvdGhla2VuIHdpZWRlcgogICD8YmVyc2NocmVpYmVuLiBX5GhyZW5kIGVzIG7kbWxpY2ggaW0gYWxsZ2VtZWluZW4gZWluZSBndXRlCiAgIFN0cmF0ZWdpZSBpc3QsIHp1buRjaHN0IHp1IHZlcnN1Y2hlbiwgZGllIFdpbmRvd3MtVmVyc2lvbmVuIHZvbgogICBCaWJsaW90aGVrZW4genUgbGFkZW4sIGRhcmYgZGllcyAod2llIG9iZW4gYmVzY2hyaWViZW4pIGJlaQogICBiZXN0aW1tdGVuIEJpYmxpb3RoZWtlbiBhdWYga2VpbmVuIEZhbGwgZ2VzY2hlaGVuIHVuZCBlcyBt/HNzZW4gaW4KICAgamVkZW0gRmFsbCBkaWUgV0lORS1WZXJzaW9uZW4gYmVudXR6dCB3ZXJkZW4uIEFscyBWYXJpYWJsZW4gd2VyZGVuCiAgIGluIGRpZXNlbSBBYnNjaG5pdHQgZGllIEJpYmxpb3RoZWtlbiBnZW5hbm50LCBm/HIgZGllIGVpbmUKICAgc3BlemllbGxlIFJlaWhlbmZvbGdlIGdlbHRlbiBzb2xsLiBIaW50ZXIgZGVtIEdsZWljaGhlaXRzemVpY2hlbgogICB3aXJkIGRhbm4gZGllIGb8ciBkaWVzZSBCaWJsaW90aGVrZW4gZ2V3/G5zY2h0ZSBSZWloZW5mb2xnZSBpbiBkZXIKICAgZ2xlaWNoZW4gRm9ybSBhbmdlZ2ViZW4sIHdpZSBlcyBpbSB2b3JoZXJpZ2VuIEFic2Nobml0dCBiZXNjaHJpZWJlbgogICBpc3QuIEJlaXNwaWVsOgoKICAgW0RsbE92ZXJyaWRlc10KICAgImtybmwzODYsIGtlcm5lbDMyIiA9ICJidWlsdGluIgogICAiZ2RpLCBnZGkzMiIgICAgICAgID0gImJ1aWx0aW4iCiAgICJ1c2VyLCB1c2VyMzIiICAgICAgPSAiYnVpbHRpbiIKICAgInNoZWxsLHNoZWxsMzIiICAgICA9ICJuYXRpdmUsIGJ1aWx0aW4iCgoKICA3LjUgS29uZmlndXJhdGlvbiBkZXMgWDExIEdyYXBoaWt0cmVpYmVycwogIAogICBEZXIgWDExIEdyYXBoaWt0cmVpYmVyIHN0ZWxsdCBkaWUgU2Nobml0dHN0ZWxsZSB6d2lzY2hlbiBkZW4KICAgR3JhcGhpa2Z1bmt0aW9uZW4gZGVyIFdpbmRvd3MtQmV0cmllYnNzeXN0ZW1lIHVuZCBkZW0gWCBXaW5kb3cKICAgU3lzdGVtIGRhci4gRXIgZXJt9mdsaWNodCBlcyBhbHNvLCBkYXNzIFdpbmRvd3MtUHJvZ3JhbW1lIHVudGVyCiAgIFdJTkUgZGFzIFggV2luZG93IFN5c3RlbSDkaG5saWNoIGJlbnV0emVuIGv2bm5lbiwgd2llIHNpZSB1bnRlcgogICBlY2h0ZW0gV2luZG93cyBlaW5lIG5vcm1hbGUgR3JhcGhpa2thcnRlIGJlbnV0emVuLiBEYXMgVmVyaGFsdGVuCiAgIGRlcyBUcmVpYmVycyB3aXJkIGltIEFic2Nobml0dCB4MTFkcnYgZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgZWluZ2VzdGVsbHQuIERvcnQgc3RlaGVuIGRpZSBmb2xnZW5kZW4gVmFyaWFibGVuIHp1ciBWZXJm/Gd1bmc6CiAgIAogICBQcml2YXRlQ29sb3JNYXAKICAgICAgICAgIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIHRydWUgZ2VzZXR6dCBpc3QsIHZlcndlbmRldCBXSU5FCiAgICAgICAgICBlaW5lIGVpZ2VuZSBGYXJicGFsZXR0ZS4gQmVpIFgtU2VydmVybiBkaWUgbWl0IGVpbmUKICAgICAgICAgIEZhcmJ0aWVmZW4gdm9uIDI1NiBGYXJiZW4gKDhicHApIG9kZXIgd2VuaWdlciBiZXRyaWViZW4KICAgICAgICAgIHdlcmRlbiwgaGF0IGRhcyB6dXIgRm9sZ2UsIGRhc3MgYW5kZXJlIEZlbnN0ZXIgdS5VLiBpbgogICAgICAgICAgZmFsc2NoZW4gRmFyYmVuIGRhcmdlc3RlbGx0IHdlcmRlbiwgd2VubiB6dSBXSU5FIGdlaPZyZW5kZQogICAgICAgICAgRmVuc3RlciBpbiBkZW4gVm9yZGVyZ3J1bmQgZ2VzY2hhbHRldCBzaW5kLiBEYWb8ciBrYW5uIFdJTkUKICAgICAgICAgIGplZG9jaCBGYXJiZW4gYmVzc2VyIGRhcnN0ZWxsZW4gYWxzIG9obmUgZGllc2UKICAgICAgICAgIEVpbnN0ZWxsdW5nLiBGYWxscyBkZXIgWCBTZXJ2ZXIgbWl0IGVpbmVyIEZhcmJ0aWVmZSB2b24gbWVocgogICAgICAgICAgYWxzIDI1NiBGYXJiZW4gYmV0cmllYmVuIHdpcmQsIGlzdCBkaWUgRWluc3RlbGx1bmcKICAgICAgICAgIHdpcmt1bmdzbG9zLgogICAgICAgICAgCiAgIEFsbG9jU3lzdGVtQ29sb3JzCiAgICAgICAgICBXZW5uIFdJTkUga2VpbmUgZWlnZW5lIEZhcmJwYWxldHRlIHZlcndlbmRldCwga2FubiBoaWVyCiAgICAgICAgICBhbmdlZ2ViZW4gd2VyZGVuLCB3aWV2aWVsZSBGYXJiZW4gdm9uIGRlciBzeXN0ZW13ZWl0CiAgICAgICAgICBnZXRlaWx0ZW4gUGFsZXR0ZSBtYXhpbWFsIHZvbiBXSU5FIGJlbnV0enQgd2VyZGVuCiAgICAgICAgICBk/HJmZW4uIERlciBo9mNoc3Rt9mdsaWNoZSBXZXJ0IGlzdCBoaWVyIDI1Niwgd2VpbCBiZWkKICAgICAgICAgIGJlc3NlcmVuIEZhcmJ0aWVmZW4ga2VpbmUgUGFsZXR0ZSBiZW51dHp0IHdpcmQuIEJlaXNwaWVsOgogICAgICAgICAgIkFsbG9jU3lzdGVtQ29sb3JzIiA9ICIxMDAiLgogICAgICAgICAgCiAgIFBlcmZlY3RHcmFwaGljcwogICAgICAgICAgQW4gZWluaWdlbiBTdGVsbGVuIGhhdCBXSU5FIGRpZSBN9mdsaWNoa2VpdCwKICAgICAgICAgIEdyYXBoaWtvcGVyYXRpb25lbiBlbnR3ZWRlciBzbyBkdXJjaHp1ZvxocmVuLCBkYXNzIHNpZQogICAgICAgICAgYmVzb25kZXJzIHNjaG5lbGwgc2luZCBvZGVyIHNvLCBkYXNzIHNpZSBiZXNvbmRlcnMga29ycmVrdAogICAgICAgICAgYXVzZ2Vm/GhydCB3ZXJkZW4uIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIGRlbiBXZXJ0IHRydWUKICAgICAgICAgIGdlc2V0enQgd2lyZCwgd2lyZCBkZXIgR2VuYXVpZ2tlaXQgVm9yenVnIGdlZ2ViZW4uIEJlaXNwaWVsOgogICAgICAgICAgIlBlcmZlY3RHcmFwaGljcyIgPSAiZmFsc2UiLgogICAgICAgICAgCiAgIFVzZURHQQogICAgICAgICAgREdBIChEaXJlY3QgR3JhcGhpY3MgQWNjZXNzKSBpc3QgZWluZSBFcndlaXRlcnVuZyB2b24KICAgICAgICAgIFhGcmVlODYsIHdlbGNoZSBkZW4gZGlyZWt0ZW4gWnVncmlmZiBhdWYgZGVuIFNwZWljaGVyIGRlcgogICAgICAgICAgR3JhcGhpa2thcnRlIGVybfZnbGljaHQuIERhZHVyY2ggbGFzc2VuIHNpY2gKICAgICAgICAgIEdyYXBoaWtvcGVyYXRpb25lbiB3ZXNlbnRsaWNoIHNjaG5lbGxlciBkdXJjaGb8aHJlbiBhbHMKICAgICAgICAgIG5vcm1hbGVyd2Vpc2UuIERpZSBEaXJlY3REcmF3LUJpYmxpb3RoZWsgKERpcmVjdFgpIHZvbiBXSU5FCiAgICAgICAgICBrYW5uIGRpZXNlIEVyd2VpdGVydW5nIGJlbnV0emVuLCB3b2R1cmNoIHNpY2ggaW5zYmVzb25kZXJlCiAgICAgICAgICBTcGllbGUgbWl0IGVpbmVyIORobmxpY2hlbiBHZXNjaHdpbmRpZ2tlaXQgd2llIHVudGVyIFdpbmRvd3MKICAgICAgICAgIGF1c2b8aHJlbiBsYXNzZW4uIFdlaWwgREdBIGRlbiBkaXJla3RlbiBIYXJkd2FyZXp1Z3JpZmYKICAgICAgICAgIGVyZm9yZGVydCwgc2luZCBkYXp1IGluIGRlciBSZWdlbCBBZG1pbmlzdHJhdG9ycmVjaHRlCiAgICAgICAgICBlcmZvcmRlcmxpY2guIERpZSBWZXJ3ZW5kdW5nIHZvbiBER0Egd2lyZCBtaXQgIlVzZURHQSIgPSAidHJ1ZSIKICAgICAgICAgIGVpbi0gdW5kIG1pdCAiVXNlREdBIiA9ICJmYWxzZSIgYXVzZ2VzY2hhbHRldC4KCiAgICAgICAgICBBY2h0dW5nOiAKICAgICAgICAgIEFud2VuZHVuZ2VuLCBkaWUgRGlyZWN0RHJhdyBiZW51dHplbiwgdmVyc3VjaGVuCiAgICAgICAgICBub3JtYWxlcndlaXNlIGRlbiBCaWxkc2NoaXJtIGluIGVpbmUgYmVzdGltbXRlIEF1Zmz2c3VuZyB1bmQKICAgICAgICAgIEZhcmJ0aWVmZSB6dSBzY2hhbHRlbi4gV0lORSBrYW5uIGRpZSBBdWZs9nN1bmcgendhcgogICAgICAgICAgdmVy5G5kZXJuLCBmYWxscyBzaWNoIGluIGRlciBEYXRlaSBYRjg2Q29uZmlnIGVpbmUKICAgICAgICAgIERlZmluaXRpb24gZvxyIGRlbiBhbmdlZm9yZGVydGVuIE1vZHVzIGJlZmluZGV0LCB3ZWlsIGRhcyBYCiAgICAgICAgICBXaW5kb3cgU3lzdGVtIGplZG9jaCBuaWNodCBkZW4gV2VjaHNlbCBkZXIgRmFyYnRpZWZlCiAgICAgICAgICB1bnRlcnN0/HR6dCwgaXN0IGVzIG9mdCBlcmZvcmRlcmxpY2gsIGRlbiBYLVNlcnZlciBpbiBkZXIKICAgICAgICAgIGJlbvZ0aWd0ZW4gRmFyYnRpZWZlIHp1IHN0YXJ0ZW4sIGJldm9yIFdJTkUgZ2VzdGFydGV0IHdpcmQuCiAgICAgICAgICAKICAgVXNlWFNobQogICAgICAgICAgSGllcmJlaSBoYW5kZWx0IGVzIHNpY2ggdW0gZWluZSBhbmRlcmUgRXJ3ZWl0ZXJ1bmcgZGVzIFgKICAgICAgICAgIFdpbmRvdyBTeXN0ZW1zLCBkaWUgc2NobmVsbGVyZSBHcmFwaGlrb3BlcmF0aW9uZW4KICAgICAgICAgIGVybfZnbGljaHQuICBCZWlzcGllbDogIlVzZVhTaG0iID0gInRydWUiLgogICAgICAgICAgCiAgIERYR3JhYgogICAgICAgICAgRGllc2UgT3B0aW9uIGJld2lya3QsIGRhc3MgZGVyIE1hdXN6ZWlnZXIgLSBiZWkgZGVyCiAgICAgICAgICBWZXJ3ZW5kdW5nIHZvbiBEaXJlY3REcmF3IChEaXJlY3RYKSAtIGRhcyB2b24gRGlyZWN0RHJhdwogICAgICAgICAgZ2VzdGV1ZXJ0ZSBGZW5zdGVyIG5pY2h0IHZlcmxhc3NlbiBrYW5uLiBEaWVzIGlzdCBub3R3ZW5kaWcsCiAgICAgICAgICB1bSBlaW5pZ2UgUHJvZ3JhbW1lIHJpY2h0aWcgYmVkaWVuZW4genUga/ZubmVuLCBhbGxlcmRpbmdzCiAgICAgICAgICB3aXJkIGRhZHVyY2ggdmVyaGluZGVydCwgbWl0IGRlciBNYXVzIGluIGVpbiBhbmRlcmVzIEZlbnN0ZXIKICAgICAgICAgIHp1IHNjaGFsdGVuLCBiZWlzcGllbHN3ZWlzZSB1bSBXSU5FIHp1IGJlZW5kZW4uIEJlaXNwaWVsOgogICAgICAgICAgIkRYR3JhYiIgPSAiZmFsc2UiLgogICAgICAgICAgCiAgIFNjcmVlbkRlcHRoCiAgICAgICAgICBFaW5pZ2UgWC1TZXJ2ZXIgdW50ZXJzdPx0emVuIHVudGVyc2NoaWVkbGljaGUgRmFyYnRpZWZlbiBhdWYKICAgICAgICAgIGRlbSBzZWxiZW4gQmlsZHNjaGlybS4gTWl0IGRpZXNlciBWYXJpYWJsZSBrYW5uIGF1c2dld+RobHQKICAgICAgICAgIHdlcmRlbiwgd2VsY2hlIEZhcmJ0aWVmZSBpbiBlaW5lbSBzb2xjaGVuIEZhbGwgYmVudXR6dAogICAgICAgICAgd2VyZGVuIHNvbGwuCgogICBNYW5hZ2VkCiAgICAgICAgICBXSU5FIGthbm4gdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbiBkYXJnZXN0ZWxsdGUgRmVuc3RlcgogICAgICAgICAgdS5hLiB1bmFiaORuZ2lnIHZvbSBlaW5nZXNldHp0ZW4gV2luZG93LU1hbmFnZXIgYW56ZWlnZW4KICAgICAgICAgIG9kZXIgc2llIHVudGVyIGRpZSBLb250cm9sbGUgZGVzIFdpbmRvdy1NYW5hZ2VycwogICAgICAgICAgc3RlbGxlbi4gRGFzIHp3ZWl0ZSBWZXJmYWhyZW4gYmlldGV0IGVpbmUgYmVzc2VyZQogICAgICAgICAgSW50ZWdyYXRpb24gdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbiBpbiBkaWUgQXJiZWl0c3VtZ2VidW5nCiAgICAgICAgICB1bnRlciBMaW51eCwgd2VpbCBkaWUgRmVuc3RlciBkYW5uIGdlbmF1c28gd2llIGRpZSB2b24KICAgICAgICAgIExpbnV4LVByb2dyYW1tZW4gZXJzY2hlaW5lbiB1bmQgenUgc3RldWVybiBzaW5kLiBXZWxjaGVyIGRlcgogICAgICAgICAgdmVyZvxnYmFyZW4gQW56ZWlnZW1vZGkgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLCB3aXJkCiAgICAgICAgICBub3JtYWxlcndlaXNlIGFuIGRlciBLb21tYW5kb3plaWxlIGJlaW0gQXVmcnVmIHZvbiBXSU5FCiAgICAgICAgICBhbmdlZ2ViZW4uIER1cmNoIGRpZXNlIFZhcmlhYmxlIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgICAgICAgICBs5HNzdCBzaWNoIGZlc3RsZWdlbiwgb2Igdm9uIFdJTkUgZ2VzdGV1ZXJ0ZSBGZW5zdGVyCiAgICAgICAgICBzdGFuZGFyZG3k32lnIGRlbiBXaW5kb3ctTWFuYWdlciB2ZXJ3ZW5kZW4gc29sbGVuICgiTWFuYWdlZCIgPQogICAgICAgICAgInRydWUiKS4KCiAgIERlc2t0b3BEb3VibGVCdWZmZXJlZAogICAgICAgICAgRGllc2UgT3B0aW9uIHNvbGx0ZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IHdlcmRlbiwgd2VubgogICAgICAgICAgbWl0IFdJTkUgUHJvZ3JhbW1lIGJlbnV0enQgd2VyZGVuLCBkaWUgT3BlbkdMCiAgICAgICAgICBiZW51dHplbi4gSGllcmR1cmNoIHdpcmQgZGllIERhcnN0ZWxsdW5nIHNvbGNoZXIgQW53ZW5kdW5nZW4KICAgICAgICAgIHZlcmJlc3NlcnQuCiAgICAgICAgICAKICA3LjYgS29uZmlndXJhdGlvbiBkZXIgenUgdmVyd2VuZGVuZGVuIFNjaHJpZnRhcnRlbgogIAogICBEZXIgWDExLUdyYXBoaWt0cmVpYmVyIHgxMWRydiB2ZXJ3ZW5kZXQgenVyIERhcnN0ZWxsdW5nIHZvbiBTY2hyaWZ0CiAgIGRpZSBTY2hyaWZ0YXJ0ZW4sIGRpZSBkZW0gWC1TZXJ2ZXIgZGlyZWt0IG9kZXIg/GJlciBlaW5lbiBGb250c2VydmVyCiAgIHp1ciBWZXJm/Gd1bmcgc3RlaGVuLiBFaW5lIFJlaWhlIHZvbiBXaW5kb3dzLUFud2VuZHVuZ2VuIGVyd2FydGVuCiAgIGFsbGVyZGluZ3MgZ2FueiBiZXN0aW1tdGUgU2NocmlmdGVuLCBkaWUgdW50ZXIgV2luZG93cyBpbiBkZXIgUmVnZWwKICAgdmVyZvxnYmFyIHNpbmQgdW5kIHZpZWxlIEFud2VuZHVuZ2VuIHdlcmRlbiBhbmRlcnMgYWxzIHVudGVyIFdpbmRvd3MKICAgZGFyZ2VzdGVsbHQsIGZhbGxzIGFuZGVyZSBTY2hyaWZ0YXJ0ZW4gYmVudXR6dCB3ZXJkZW4gbfxzc2VuLgogICAKICAgV2luZG93cyB2ZXJ3ZW5kZXQgbm9ybWFsZXJ3ZWlzZSB6d2VpIHVudGVyc2NoaWVkbGljaGUgVHlwZW4gdm9uCiAgIFNjaHJpZnRhcnRlbiwgbuRtbGljaCBzbyBnZW5hbm50ZW4gVHJ1ZVR5cGUtU2NocmlmdGVuIHVuZCBlaW5mYWNoZQogICBCaXRtYXAtU2NocmlmdGFydGVuLiBCZWlkZSBTY2hyaWZ0dHlwZW4ga/ZubmVuIHZvbiBYRnJlZTg2IGluIGRlcgogICBWZXJzaW9uc2ZhbWlsaWUgMy54IHN0YW5kYXJkbeTfaWcgbmljaHQgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdAogICB3ZXJkZW4uIEFsbGVyZGluZ3MgaXN0IGVzIG32Z2xpY2gsIFdpbmRvd3MtQml0bWFwLVNjaHJpZnRhcnRlbiBpbgogICBlaW4gRm9ybWF0IHp1IPxiZXJzZXR6ZW4sIHdlbGNoZXMgdm9uIFhGcmVlODYgZWluZ2VidW5kZW4gd2VyZGVuCiAgIGthbm4uIFRydWVUeXBlLVNjaHJpZnRhcnRlbiBr9m5uZW4g/GJlciBzcGV6aWVsbGUKICAgVHJ1ZVR5cGUtRm9udHNlcnZlciwgZGllIG1pdHRsZXJ3ZWlsZSBpbiBkZW4gbWVpc3RlbiBEaXN0cmlidXRpb25lbgogICBlbnRoYWx0ZW4gc2luZCwgZWluZ2VidW5kZW4gd2VyZGVuLiBGYWxscyBlaW5lIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgIHp1ciBWZXJm/Gd1bmcgc3RlaHQsIGVtcGZpZWhsdCBlcyBzaWNoIGltIGFsbGdlbWVpbmVuLCBkaWUgZG9ydAogICB2b3JoYW5kZW5lbiBTY2hyaWZ0YXJ0ZW4gYXVjaCB1bnRlciBMaW51eCBlaW56dWJpbmRlbiwgZGFtaXQgdW50ZXIKICAgV0lORSBhdXNnZWb8aHJ0ZSBXaW5kb3dzLUFud2VuZHVuZ2VuIGRpZSBlcndhcnRldGVuIFNjaHJpZnRhcnRlbgogICB2b3JmaW5kZW4uIFdlbm4gV0lORSBvaG5lIFdpbmRvd3MtU2NocmlmdGFydGVuIGJlbnV0enQgd2lyZCwKICAgdmVyc3VjaHQgZGFzIFByb2dyYW1tLCBkaWUgYW5nZWZvcmRlcnRlbiBTY2hyaWZ0ZW4gZHVyY2ggZGllCiAgIFNjaHJpZnRlbiBkZXMgWCBXaW5kb3cgU3lzdGVtcyB6dSBlcnNldHplbiwgd29kdXJjaCBzaWNoCiAgIFZlcuRuZGVydW5nZW4gaW0gRXJzY2hlaW51bmdzYmlsZCBkZXIgQW53ZW5kdW5nZW4gZXJnZWJlbiBr9m5uZW4uCiAgIAogICAgNy42LjEgRWluYmluZGVuIHZvbiBCaXRtYXAtU2NocmlmdGVuCiAgICAKICAgV2luZG93cyBCaXRtYXAtU2NocmlmdGFydGVuIGJlZmluZGVuIHNpY2ggbm9ybWFsZXJ3ZWlzZSBpbQogICBVbnRlcnZlcnplaWNobmlzIGZvbnRzIGRlcyBXaW5kb3dzLVZlcnplaWNobmlzc2VzIHVuZCBoYWJlbiBkaWUKICAgRGF0ZWluYW1lbnNlbmR1bmcgLmZvbi4gRXMgaXN0IGFiZXIgYXVjaCBt9mdsaWNoLCBkYXNzIHNpZSBpbgogICBhdXNm/GhyYmFyZW4gRGF0ZWllbiBvZGVyIGluIEJpYmxpb3RoZWtlbiBlbnRoYWx0ZW4gc2luZC4gSW0KICAgVW50ZXJ2ZXJ6ZWljaG5pcyB0b29scyBkZXMgQmFzaXN2ZXJ6ZWljaG5pc3NlcyBtaXQgZGVtCiAgIFdJTkUtUXVlbGxjb2RlIGJlZmluZGV0IHNpY2ggZGFzIFByb2dyYW1tIGZudDJiZGYsIG1pdCBkZW0gZGllCiAgIEZvbnRzIGF1cyBkaWVzZW4gRGF0ZWllbiBleHRyYWhpZXJ0IHVuZCBpbiBkYXMgQml0bWFwIERpc3RyaWJ1dGlvbgogICBGb3JtYXQgKC5iZGYpIHVtZ2V3YW5kZWx0IHdlcmRlbiBr9m5uZW4uIERhenUgaXN0IGRhcyBQcm9ncmFtbQogICBmb2xnZW5kZXJtYXNzZW4gYXVmenVydWZlbjoKICAgCiAgIGZudDJiZGYgLW8gQmFzaXNuYW1lIFNjaHJpZnRkYXRlaQoKICAgRGFiZWkgaXN0IGb8ciBTY2hyaWZ0ZGF0ZWkgZGVyIE5hbWUgZGVyIERhdGVpIGFuenVnZWJlbiwgaW4gZGVyCiAgIHNpY2ggZGllIHp1IGV4dHJhaGllcmVuZGVuIFNjaHJpZnRlbiBiZWZpbmRlbiB1bmQgZvxyIEJhc2lzbmFtZQogICBlaW5lIEJlemVpY2hudW5nLCBtaXQgZGVyIGRpZSBOYW1lbiBkZXIgenUgZXh0cmFoaWVyZW5kZW4gRGF0ZWllbgogICBiZWdpbm5lbiBzb2xsZW4uIEVzIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBzaWNoIGluIGRlciBSZWdlbCBpbgogICBlaW5lciBXaW5kb3dzLVNjaHJpZnRhcnRlbmRhdGVpIG1laHJlcmUgU2NocmlmdGFydGVuIGJlZmluZGVuLCBkaWUKICAgaW4gdW50ZXJzY2hpZWRsaWNoZSBEYXRlaWVuIGV4dHJhaGllcnQgd2VyZGVuLiBCZWkgZWluaWdlbgogICBTY2hyaWZ0YXJ0ZW4gaXN0IGVzIG5vdHdlbmRpZywgZGVtIFByb2dyYW1tIG1pdHp1dGVpbGVuLCB3aWUgZGllCiAgIFNjaHJpZnRhcnRlbiBrb2RpZXJ0IHNpbmQuIEhpZXJ6dSBpc3QgZGllIE9wdGlvbiAtYyB6dSB2ZXJ3ZW5kZW4KICAgdW5kIGRhaGludGVyIGRpZSBCZXplaWNobnVuZyBkZXIgS29kaWVydW5nIGFuenVnZWJlbi4gRWluZQogICDcYmVyc2ljaHQg/GJlciBhbGxlIHZvbiBkZW0gUHJvZ3JhbW0gdW50ZXJzdPx0enRlbiBPcHRpb25lbiB3aXJkCiAgIGF1c2dlZ2ViZW4sIHdlbm4gZXMgb2huZSBQYXJhbWV0ZXIgYXVmZ2VydWZlbiB3aXJkLiBVbSBhbHNvCiAgIGJlaXNwaWVsc3dlaXNlIGRpZSBCaXRtYXAtU2NocmlmdGVuIGF1cyBkZXIgRGF0ZWkgU0VSSUZGLkZPTiBpbgogICBEYXRlaWVuIHp1IGV4dHJhaGllcmVuLCBkZXJlbiBOYW1lbiBtaXQgZGVyIEJlemVpY2hudW5nIHNlcmlmZgogICBiZWdpbm5lbiwgd+RyZSBkYXMgUHJvZ3JhbW0gc28gYXVmenVydWZlbjoKICAgCiAgIGZudDJiZGYgLW8gc2VyaWZmIFNFUklGRi5GT04KICAgCiAgIEVzIHdlcmRlbiBkYW5uIGVpbmUgUmVpaGUgdm9uIERhdGVpZW4gbWl0IHVudGVyc2NoaWVkbGljaGVuIEZvbnRzCiAgIGF1cyBkZXIgT3JpZ2luYWxkYXRlaSBlcnpldWd0LiBJbSBu5GNoc3RlbiBTY2hyaXR0IHNpbmQgZGllc2UKICAgRGF0ZWllbiBtaXQgZGVtIFByb2dyYW1tIGJkZnRvcGNmKDEpIGluIGRhcyBzbyBnZW5hbm50ZSBQb3J0YWJsZQogICBDb21waWxlZCBGb3JtYXQgenUg/GJlcnNldHplbi4gRGllc2VzIFByb2dyYW1tIHNvbGx0ZSBCZXN0YW5kdGVpbAogICBqZWRlciBYMTEtSW5zdGFsbGF0aW9uIHNlaW4gdW5kIGlzdCBkdXJjaCBlaW5lIE1hbnVhbHNlaXRlCiAgIGRva3VtZW50aWVydC4gVW0gYmVpc3BpZWxzd2Vpc2UgZGllIERhdGVpIHNlcmlmZl9yNDAwLTIzLmJkZiB6dQogICD8YmVyc2V0emVuIHVuZCBkYXMgRXJnZWJuaXMgaW4gZGllIERhdGVpIHNlcmlmZl9yNDAwLTIzLnBjZiB6dQogICBzY2hyZWliZW4sIGv2bm50ZSBkYXMgUHJvZ3JhbW0gc28gYXVmZ2VydWZlbiB3ZXJkZW46CiAgIAogICBiZGZ0b3BjZiAtbyBzZXJpZmZfcjQwMC0yMy5wY2Ygc2VyaWZmX3I0MDAtMjMuYmRmCiAgIAogICBEaWUgYXVmIGRpZXNlIFdlaXNlIGVyemV1Z3RlbiBEYXRlaWVuIGv2bm5lbiBudW4gaW4gZWluZXMgZGVyLCB2b24KICAgZGVtIFgtU2VydmVyIG9kZXIgZWluZW0gRm9udHNlcnZlciBiZW51dHp0ZW4sIEZvbnQtVmVyemVpY2huaXMKICAga29waWVydCB3ZXJkZW4uIEluIGRpZXNlbSBWZXJ6ZWljaG5pcyBpc3QgZGFuYWNoIGRlciBCZWZlaGwKICAgbWtmb250ZGlyIGF1Znp1cnVmZW4sIGRhbWl0IGRlciBkb3J0IGJlZmluZGxpY2ggRm9udGluZGV4IG5ldQogICBlcnpldWd0IHdpcmQuICBCZXZvciBkaWUgU2NocmlmdGVuIGRhbm4gdGF0c+RjaGxpY2ggdW50ZXIgWCB6dXIKICAgVmVyZvxndW5nIHN0ZWhlbiB1bmQgZGFtaXQgdm9uIFdJTkUgYmVudXR6dCB3ZXJkZW4ga/ZubmVuLCBtdXNzIFgKICAgbmV1IGdlc3RhcnRldCBvZGVyIGRlciBmb2xnZW5kZSBCZWZlaGwgYW4gZGVyIEtvbW1hbmRvemVpbGUKICAgZWluZ2VnZWJlbiB3ZXJkZW46CiAgIAogICB4c2V0IGZwICtyZWhhc2gKICAgCiAgIEltIFVudGVydmVyemVpY2huaXMgdG9vbHMgZGVzIFdJTkUtUXVlbGxjb2RldmVyemVpY2huaXNzZXMgYmVmaW5kZXQKICAgc2ljaCBlaW4gU2hlbGxza3JpcHQgbWl0IGRlbSBOYW1lbiBmb250X2NvbnZlcnQuc2gsIHdlbGNoZXMgZGllCiAgIG9iZW4gZ2VuYW5udGVuIFNjaHJpdHRlIGF1dG9tYXRpc2NoIGR1cmNoZvxocnQgdW5kIGFsbGUgdW50ZXJoYWxiCiAgIGVpbmVzIFZlcnplaWNobmlzc2VzIGJlZmluZGxpY2hlbiBCaXRtYXAtU2NocmlmdGFydGVuIGF1dG9tYXRpc2NoCiAgIGtvbnZlcnRpZXJ0IHVuZCBpbnN0YWxsaWVydC4KICAgCiAgICA3LjYuMiBFaW5iaW5kZW4gdm9uIFRydWVUeXBlLVNjaHJpZnRlbgogICAgCiAgIFdpZSBiZXJlaXRzIGVyd+RobnQsIGv2bm5lbiBkaWUgWC1TZXJ2ZXIgdm9uIFhGcmVlODYgaW4gZGVyCiAgIFZlcnNpb25zZmFtaWxpZSAzLngga2VpbmUgVHJ1ZVR5cGUtU2NocmlmdGVuIGRhcnN0ZWxsZW4uIFNlaXQKICAgWEZyZWU4NiA0LjAgaGF0IHNpY2ggZGllcyBhbGxlcmRpbmdzIGdl5G5kZXJ0LCBzbyBkYXNzIHNvbGNoZQogICBTY2hyaWZ0ZW4genVr/G5mdGlnIHByb2JsZW1sb3MgdW50ZXIgWCAtIHVuZCBkYW1pdCBhdWNoIG1pdCBXSU5FIC0KICAgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdCB3ZXJkZW4ga/ZubmVuLiBMZWlkZXIga/ZubmVuIPxiZXIgZGFzCiAgIFgtRm9udC1Qcm90b2tvbGwgbmljaHQgYWxsZSB2b24gbWFuY2hlbiBXaW5kb3dzLVByb2dyYW1tZW4KICAgYmVu9nRpZ3RlbiBJbmZvcm1hdGlvbmVuIPxiZXIgVHJ1ZVR5cGUtRm9udHMgZGFyZ2VzdGVsbHQgd2VyZGVuLCBzbwogICBkYXNzIG1hbmNoZSBXaW5kb3dzLVByb2dyYW1tZSBhdWNoIGRhbm4gbm9jaCBuaWNodCByaWNodGlnCiAgIGZ1bmt0aW9uaWVyZW4sIHdlbm4gZGllIGJlbvZ0aWd0ZW4gRm9udHMgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdAogICB3b3JkZW4gc2luZC4gTWl0IFhGcmVlODYgMy54IGJpZXRldCBzaWNoIGRlciBFaW5zYXR6IGVpbmVzCiAgIFRydWVUeXBlLUZvbnRzZXJ2ZXJzIGFuLiBadXIgWmVpdCBzdGVoZW4gZHJlaSB1bnRlcnNjaGllZGxpY2hlCiAgIHNvbGNoZXIgUHJvZ3JhbW1lIHp1ciBWZXJm/Gd1bmcsIG7kbWxpY2g6IHhmcy14dHQgKERlYmlhbi1QYWtldDoKICAgeGZzLXh0dCksIHhmc3R0IChEZWJpYW4tUGFrZXQgeGZzdHQpIHVuZCB4ZnNmdCAoaW0gSW50ZXJuZXQgdW50ZXIKICAgZGVyIEFkcmVzc2UgaHR0cDovL3d3dy5kY3MuZWQuYWMudWsvaG9tZS9qZWMvcHJvZ3JhbXMveGZzZnQvCiAgIHZlcmb8Z2JhcikuCiAgIAogICBEZXIgQXV0b3IgaGF0IG1pdCBkZW0gUHJvZ3JhbW0geGZzZnQgZGllIGJlc3RlbiBFcmdlYm5pc3NlIGVyemllbHQuCiAgIERpZXNlciBTZXJ2ZXIgbORzc3Qgc2ljaCBsZWljaHQga29uZmlndXJpZXJlbiB1bmQgaXN0IGtvbXBhdGliZWwgenUKICAgaGVya/ZtbWxpY2hlbiBGb250c2VydmVybiwgc28gZGFzcyBuaWNodCB6d2VpIHZlcnNjaGllZGVuZQogICBGb250c2VydmVyIGF1ZiBlaW5lbSBSZWNobmVyIGF1c2dlZvxocnQgd2VyZGVuIG38c3Nlbi4gRGllc2VzCiAgIFByb2dyYW1tIGRpZW50ZSBhdWNoIGFscyBHcnVuZGxhZ2UgZvxyIGRpZSBJbnRlZ3JhdGlvbiBkZXIKICAgVHJ1ZVR5cGUtVW50ZXJzdPx0enVuZyBpbiBYRnJlZTg2IDQuMC4KICAgCiAgIFVtIGRpZSB2b24gZWluZW0gRm9udHNlcnZlciB6dXIgVmVyZvxndW5nIGdlc3RlbGx0ZW4gU2NocmlmdGVuIHp1CiAgIHZlcndlbmRlbiwgbXVzcyBkZW0gWC1TZXJ2ZXIgZGllIEFkcmVzc2UgZGVzIEZvbnRzZXJ2ZXJzIG1pdGdldGVpbHQKICAgd2VyZGVuLiBEaWVzIGthbm4gZW50d2VkZXIgaW4gZGVyIERhdGVpIC9ldGMvWDExL1hGODZDb25maWcgb2RlcgogICBkdXJjaCBFaW5nYWJlIGRpZXNlcyBCZWZlaGxzIGdlc2NoZWhlbjoKICAgCiAgIHhzZXQgZnArIHRjcC9sb2NhbGhvc3Q6NzEwMAogICAKICAgRGFiZWkgbXVzcyBsb2NhbGhvc3QgdS5VLiBnZWdlbiBkZW4gTmFtZW4gZGVzIFJlY2huZXJzIGF1c2dldGF1c2NodAogICB3ZXJkZW4sIGF1ZiBkZW0gZGVyIEZvbnRzZXJ2ZXIgYXVzZ2Vm/GhydCB3ZXJkZW4gdW5kIDcxMDAgZHVyY2ggZGVuCiAgIFBvcnQsIGRlciB2b20gRm9udHNlcnZlciBiZW51dHp0IHdpcmQuIFdlbm4gZGVyIEZvbnRzZXJ2ZXIgYXVmIGRlbQogICBzZWxiZW4gUmVjaG5lciBhdXNnZWb8aHJ0IHdpcmQgd2llIGRlciBYLVNlcnZlciwgZGFubiBr9m5uZW4genVyCiAgIEtvbW11bmlrYXRpb24gendpc2NoZW4gWC1TZXJ2ZXIgdW5kIEZvbnRzZXJ2ZXIgYXVjaAogICBVTklYLURvbWFpbi1Tb2NrZXRzIGJlbnV0enQgd2VyZGVuLiBEZXIgZW50c3ByZWNoZW5kZSBCZWZlaGwga/ZubnRlCiAgIGRhbm4gZm9sZ2VuZGVybWHfZW4gYXVzc2VoZW46CiAgIAogICB4c2V0IGZwKyB1bml4Lzo3MTAwCiAgIAogICAgNy42LjMgRm9udC1FaW5zdGVsbHVuZ2VuIGluIGRlciBXSU5FcyBLb25maWd1cmF0aW9uc2RhdGVpCiAgICAKICAgSW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgfi8ud2luZS9jb25maWcgYnp3LiB3aW5lLmNvbmYgc3RlaGVuIGRpZQogICBmb2xnZW5kZW4gVmFyaWFibGVuIHp1ciBWZXJm/Gd1bmcsIG1pdCBkZW5lbiBXSU5FcyBVbWdhbmcgbWl0CiAgIFNjaHJpZnRhcnRlbiBiZWVpbmZsdXNzdCB3ZXJkZW4ga2FubjoKICAgCiAgIFJlc29sdXRpb24KICAgICAgICAgIFVudGVyIFdpbmRvd3Mga/ZubmVuIFByb2dyYW1tZSBkaWUgR3L232UgZWluZXMgenUKICAgICAgICAgIHZlcndlbmRlbmRlbiBGb250cyBpbiBQdW5rdGVuIChhbiBTdGVsbGUgdm9uIFBpeGVsbikKICAgICAgICAgIGFuZ2ViZW4uIERhbWl0IGRpZSBTY2hyaWZ0YXJ0IGRhbm4gaW4gZGVyIHJpY2h0aWdlbiBHcvbfZQogICAgICAgICAgYW5nZXplaWd0IHdlcmRlbiBrYW5uLCBtdXNzIGRpZSB0YXRz5GNobGljaGUgR3L232UgZGVzCiAgICAgICAgICBCaWxkc2NoaXJtcyBiZWthbm50IHNlaW4sIHdhcyB1bnRlciBYIG5pY2h0IHVuYmVkaW5ndCBkZXIKICAgICAgICAgIEZhbGwgaXN0LiBNaXQgZGVyIFZhcmlhYmxlIFJlc29sdXRpb24ga2FubiBkZXN3ZWdlbiBqdXN0aWVydAogICAgICAgICAgd2VyZGVuLCB3ZWxjaGUgU2NocmlmdGdy9t9lbiBpbiBzb2xjaGVuIEbkbGxlbiB2b24gV0lORQogICAgICAgICAgYXVzZ2V35GhsdCB3ZXJkZW4uIERlciBTdGFuZGFyZHdlcnQgaXN0IDk2LCBzaW5udm9sbGUgV2VydGUKICAgICAgICAgIGxpZWdlbiB6d2lzY2hlbiA2MCB1bmQgMTIwLiBCZWlzcGllbDogIlJlc29sdXRpb24iID0gIjEwMCIuCiAgICAgICAgICAKICAgRGVmYXVsdAogICAgICAgICAgTWl0IGRpZXNlciBWYXJpYWJsZSB3aXJkIGFuZ2VnZWJlbiwgd2VsY2hlIFNjaHJpZnRhcnQgV0lORQogICAgICAgICAgYWxzIFN0YW5kYXJkIHZlcndlbmRlbiBzb2xsLiBEaWUgZGFiZWkgYW56dWdlYmVuZGUKICAgICAgICAgIFplaWNoZW5rZXR0ZSBiZXN0ZWh0IGF1cyBkZXIgSGVyc3RlbGxlcmJlemVpY2hudW5nIGRlciB6dQogICAgICAgICAgdmVyd2VuZGVuZGVuIFNjaHJpZnRhcnQgdW5kIGlocmVtIE5hbWVuLCBkaWVzZSBCZXplaWNobnVuZ2VuCiAgICAgICAgICB3ZXJkZW4gZHVyY2ggZWluIE1pbnVzemVpY2hlbiBtaXRlaW5hbmRlciB2ZXJidW5kZW4sCiAgICAgICAgICBhdd9lcmRlbSBtdXNzIHNpY2ggenUgQmVnaW5uIHVuZCBhbSBFbmRlIGRlciBaZWljaGVua2V0dGUKICAgICAgICAgIGVpbiBNaW51c3plaWNoZW4gYmVmaW5kZW4uICBEaWUgdW50ZXIgWDExIHZlcmb8Z2JhcmVuIEZvbnRzCiAgICAgICAgICBr9m5uZW4gYmVpc3BpZWxzd2Vpc2UgbWl0IGRlbiBQcm9ncmFtbWVuIHhmb250c2VsKDEpIG9kZXIKICAgICAgICAgIHhsc2ZvbnRzKDEpIGF1c2dld+RobHQgd2VyZGVuLiAgCiAgICAgICAgICBCZWlzcGllbDogIkRlZmF1bHQiID0gICItYWRvYmUtdGltZXMtIgogICAgICAgICAgCiAgIERlZmF1bHRGaXhlZAogICAgICAgICAgSGllcm1pdCB3aXJkIGZlc3RnZWxlZ3QsIHdlbGNoZW4gRm9udCBXSU5FIGFscwogICAgICAgICAgc3RhbmRhcmRt5N9pZ2UgU2NocmlmdGFydCBtaXQgZ2xlaWNobeTfaWdlciBCdWNoc3RhYmVuYnJlaXRlCiAgICAgICAgICB2ZXJ3ZW5kZW4gc29sbC4gIERlciBOYW1lIGRlciBnZXf8bnNjaHRlbiBTY2hyaWZ0IGlzdCB3aWUKICAgICAgICAgIGJlaSBkZXIgVmFyaWFibGVuIERlZmF1bHQgYW56dWdlYmVuLiBCZWlzcGllbDoKICAgICAgICAgICJEZWZhdWx0Rml4ZWQiID0gIi1zb255LWZpeGVkLSIKICAgICAgICAgIAogICBEZWZhdWx0U2VyaWYKICAgICAgICAgIEhpZXJtaXQgd2lyZCBmZXN0Z2VsZWd0LCB3ZWxjaGVuIEZvbnQgV0lORSBhbHMKICAgICAgICAgIHN0YW5kYXJkbeTfaWdlIFNjaHJpZnRhcnQgbWl0IFNlcmlmZW4gdmVyd2VuZGVuCiAgICAgICAgICBzb2xsLiBCZWlzcGllbDogIkRlZmF1bHRTZXJpZiIgPSAiLWFkb2JlLXRpbWVzLSIKICAgICAgICAgIAogICBEZWZhdWx0U2Fuc1NlcmlmCiAgICAgICAgICBIaWVybWl0IHdpcmQgYmVzdGltbXQsIHdlbGNoZW4gRm9udCBXSU5FIGFscyBzdGFuZGFyZG3k32lnZQogICAgICAgICAgU2NocmlmdGFydCBvaG5lIFNlcmlmZW4gdmVyd2VuZGVuIHNvbGwuIEJlaXNwaWVsOgogICAgICAgICAgIkRlZmF1bHRTYW5zU2VyaWYiID0gIi1hZG9iZS1oZWx2ZXRpY2EtIgogICAgICAgICAgCiAgIEZvbnRtZXRyaWMKICAgICAgICAgIFdlbm4gV0lORSBkYXMgZXJzdGUgTWFsIGdlc3RhcnRldCB3aXJkLCBmcmFndCBlcyB2b20KICAgICAgICAgIFgtU2VydmVyIGRpZSBFaWdlbnNjaGFmdGVuIGRlciB2ZXJm/GdiYXJlbiBGb250cyBhYi4gIFdlaWwKICAgICAgICAgIGRpZXNlIE9wZXJhdGlvbiByZWNodCB6ZWl0YXVmd2VuZGlnIGlzdCwgd2lyZCBkYXMgRXJnZWJuaXMKICAgICAgICAgIGRlciBBYmZyYWdlIGluIGVpbmVyIERhdGVpIGltIEhlaW1hdHZlcnplaWNobmlzIGRlcwogICAgICAgICAgYmV0cmVmZmVuZGVuIEJlbnV0emVycyBnZXNwZWljaGVydC4gRGllIEFiZnJhZ2UgYnJhdWNodCBkYW5uCiAgICAgICAgICBiZWkgZWluZW0gc3DkdGVyZW4gQXVmcnVmIGRlcyBQcm9ncmFtbXMgbnVyIGF1c2dlZvxocnQgenUKICAgICAgICAgIHdlcmRlbiwgZmFsbHMgc2ljaCBkaWUgdmVyZvxnYmFyZW4gRm9udHMgZ2XkbmRlcnQgaGFiZW4uIE1pdAogICAgICAgICAgZGllc2VyIFZhcmlhYmxlbiBrYW5uIGFuZ2VnZWJlbiB3ZXJkZW4sIGluIHdlbGNoZXIgRGF0ZWkgZGllCiAgICAgICAgICBGb250ZGF0ZW4gendpc2NoZW5nZXNwZWljaGVydCB3ZXJkZW4gc29sbGVuLiBEYWR1cmNoIGzkc3N0CiAgICAgICAgICBzaWNoIGJlaXNwaWVsc3dlaXNlIHZlcm1laWRlbiwgZGFzcyBkaWUgQWJmcmFnZSBm/HIgamVkZW4KICAgICAgICAgIEJlbnV0emVyIGVybmV1dCBhdXNnZWb8aHJ0IHdlcmRlbiBtdXNzLiBCZWlzcGllbDoKICAgICAgICAgICJGb250bWV0cmljIiA9ICIvdmFyL2xpYi9XSU5FL2ZvbnQuY2FjaGUiLgogICAgICAgICAgCiAgIEFsaWFzCiAgICAgICAgICBXaWUgd2VpdGVyIG9iZW4gYmVyZWl0cyBhbmdlc3Byb2NoZW4sIGthbm4gZXMgdm9ya29tbWVuLAogICAgICAgICAgZGFzcyBXaW5kb3dzLUFud2VuZHVuZ2VuIGJlc3RpbW10ZSBTY2hyaWZ0YXJ0ZW4gYmVudXR6ZW4KICAgICAgICAgIHdvbGxlbiwgZGllIHZvbSBYLVNlcnZlciBuaWNodCB6dXIgVmVyZvxndW5nIGdlc3RlbGx0CiAgICAgICAgICB3ZXJkZW4uIE1pdCBkZXIgVmFyaWFibGUgQWxpYXMga/ZubmVuIHNvbGNoZW4gRm9udG5hbWVuCiAgICAgICAgICBhbmRlcmVuLCB1bnRlciBYIHZlcmb8Z2JhcmVuIFNjaHJpZnRhcnRlbiB6dWdlb3JkbmV0CiAgICAgICAgICB3ZXJkZW4uIFdlcnRlLCBkaWUgZGllc2VyIFZhcmlhYmxlbiB6dWdlb3JkbmV0IHdlcmRlbiwKICAgICAgICAgIGJlc3RlaGVuIGF1cyBkcmVpIEVsZW1lbnRlbiwgZGllIGR1cmNoIEtvbW1hdGEgdm9uZWluYW5kZXIKICAgICAgICAgIHp1IHRyZW5uZW4gc2luZC4gRGFzIGVyc3RlIEVsZW1lbnQgaXN0IGRlciBOYW1lIGRlciB6dQogICAgICAgICAgZXJzZXR6ZW5kZW4gU2NocmlmdGFydCwgZGFzIHp3ZWl0ZSBFbGVtZW50IGRlciBOYW1lIGRlciBYCiAgICAgICAgICBTY2hyaWZ0YXJ0LCBpbiBkZXIgRm9ybSwgd2llIHNpZSBhdWNoIGJlaSBkZXIgRGVmaW5pdGlvbiBkZXIKICAgICAgICAgIFZhcmlhYmxlbiBEZWZhdWx0IGFuenVnZWJlbiBpc3QuIEFscyBkcml0dGVzIEVsZW1lbnQga2FubgogICAgICAgICAgb3B0aW9uYWwgZGFzIFNjaGz8c3NlbHdvcnQgc3Vic3QgYW5nZWdlYmVuIHdlcmRlbi4gIERpZXNlcwogICAgICAgICAgU2NobPxzc2Vsd29ydCBiZXdpcmt0LCBkYXNzIGR1cmNoIGRpZSBBbGlhc2RlZmluaXRpb24gZWluZQogICAgICAgICAgYmVyZWl0cyB2b3JoYW5kZW5lIERlZmluaXRpb24gKGRpZSB2b24gV0lORSBhdXRvbWF0aXNjaAogICAgICAgICAgZXJzdGVsbHQgd3VyZGUpIPxiZXJzY2hyaWViZW4gd2lyZC4gV2VpbCBlcyBt9mdsaWNoIGlzdCwKICAgICAgICAgIG1laHJlcmUgQWxpYXMtRGVmaW5pdGlvbmVuIHZvcnp1bmVobWVuLCBtdXNzIGRlcgogICAgICAgICAgVmFyaWFibGVuYmV6ZWljaG51bmcgQWxpYXMgamV3ZWlscyBlaW5lIFphaGwgbmFjaGdlc3RlbGx0CiAgICAgICAgICB3ZXJkZW4sIG1pdCBkZXIgYW5nZWdlYmVuIHdpcmQsIHVtIGRpZSB3aWV2aWVsdGUKICAgICAgICAgIEFsaWFzLURlZmluaXRpb24gZXMgc2ljaCBoYW5kZWx0LiBEYWJlaSBpc3QgbWl0IGRlciBaYWhsCiAgICAgICAgICBOdWxsIHp1IGJlZ2lubmVuLCBlcyBkYXJmIGtlaW5lIFphaGwgYXVzZ2VsYXNzZW4KICAgICAgICAgIHdlcmRlbi4gQmVpc3BpZWw6ICJBbGlhczAiID0gIlN5c3RlbSwgLS1pbnRlcm5hdGlvbmFsLSwgc3Vic3QiCiAgICAgICAgICAKICA3LjcgS29uZmlndXJhdGlvbiB2b24gU2Nobml0dHN0ZWxsZW4gdW5kIEhhcmR3YXJlenVncmlmZgogIAogICBXSU5FIGthbm4gQW53ZW5kdW5nZW4gZGVuIGRpcmVrdGVuIFp1Z3JpZmYgYXVmIHNlcmllbGxlIHVuZAogICBwYXJhbGxlbGUgU2Nobml0dHN0ZWxsZW4gc293aWUgYXVmIHdlaXRlcmUgYmVsaWViaWdlIEVpbi0gdW5kCiAgIEF1c2dhYmVhZHJlc3NlbiBnZXN0YXR0ZW4uIEdydW5kc+R0emxpY2ggaXN0IGRhYmVpIHp1IGJlZGVua2VuLAogICBkYXNzIGRlciBiZXRyZWZmZW5kZSBXSU5FLVByb3plc3MgbWl0IGF1c3JlaWNoZW5kZW4gUHJpdmlsZWdpZW4KICAgYXVzZ2VzdGF0dGV0IHNlaW4gbXVzcywgZGFtaXQgZWluIHNvbGNoZXIgWnVncmlmZiB0YXRz5GNobGljaAogICBt9mdsaWNoIHdpcmQuIFdpcmQgV0lORSBtaXQgZ2V39mhubGljaGVuIEJlbnV0emVycmVjaHRlbiAodW5kIG5pY2h0CiAgIG1pdCBkZW4gUHJpdmlsZWdpZW4gZGVzIEFkbWluaXN0cmF0b3JzKSBhdXNnZWb8aHJ0LCBiZWRldXRldCBkaWVzCiAgIGluIGRlciBSZWdlbCwgZGFzcyBkaWUgWnVncmlmZnNyZWNodGUgYXVmIGRpZSBHZXLkdGVkYXRlaWVuLCB3ZWxjaGUKICAgR2Vy5HRlIHJlcHLkc2VudGllcmVuLCBhdWYgZGllIFdpbmRvd3MtUHJvZ3JhbW1lbiBkZXIgWnVncmlmZgogICBnZXN0YXR0ZXQgd2VyZGVuIHNvbGwsIPxiZXJwcvxmdCB3ZXJkZW4gbfxzc2VuLiBEZXIgZGlyZWt0ZSBadWdyaWZmCiAgIGF1ZiBFaW4tIHVuZCBBdXNnYWJlYWRyZXNzZW4gaXN0IHVudGVyIExpbnV4IGF1c3NjaGxpZd9saWNoIGRlbQogICBBZG1pbmlzdHJhdG9yIGdlc3RhdHRldC4KICAgCiAgIFp1ciBLb25maWd1cmF0aW9uIGRlciBzZXJpZWxsZW4gU2Nobml0dHN0ZWxsZW4gZGllbnQgZGVyIEFic2Nobml0dAogICBbc2VyaWFscG9ydHNdIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpLiBEaWUgZWluemVsbmVuIFZhcmlhYmxlbiBpbgogICBkaWVzZW0gQWJzY2huaXR0IGJlemVpY2huZW4gZGllIHNlcmllbGxlbiBTY2huaXR0c3RlbGxlbiBzbyB3aWUgZXMKICAgdW50ZXIgRE9TIHVuZCBXaW5kb3dzIPxibGljaCBpc3QgKENvbTEsIENvbTIgdXN3LikuIEFscyBXZXJ0IHdpcmQKICAgZGllc2VuIFZhcmlhYmxlbiBkZXIgTmFtZSBkZXIgR2Vy5HRlZGF0ZWkg/GJlcmdlYmVuLCB3ZWxjaGUgZGllCiAgIGVudHNwcmVjaGVuZGUgU2Nobml0dHN0ZWxsZSB1bnRlciBMaW51eCByZXBy5HNlbnRpZXJ0LiBGYWxscyBhbHNvCiAgIFdpbmRvd3MtQW53ZW5kdW5nZW4gdW50ZXIgV0lORSD8YmVyIGRpZSBTY2huaXR0c3RlbGxlIENvbTEgYXVmIGRhcwogICBHZXLkdCB6dWdyZWlmZW4gc29sbGVuLCBkYXMgdW50ZXIgTGludXggZHVyY2ggZGllIEdlcuR0ZWRhdGVpCiAgIC9kZXYvdHR5UzAgcmVwcuRzZW50aWVydCB3aXJkLCBzbyBtdXNzIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgIGRlciBmb2xnZW5kZSBBYnNjaG5pdHQgenUgZmluZGVuIHNlaW46CgogICBbc2VyaWFscG9ydHNdCiAgICJDb20xIiA9ICIvZGV2L3R0eVMwIgoKCiAgIERpZSBLb25maWd1cmF0aW9uIHBhcmFsbGVsZXIgU2Nobml0dHN0ZWxsZW4gZXJmb2xndCBhbmFsb2cgenVyCiAgIEtvbmZpZ3VyYXRpb24gc2VyaWVsbGVyLiBEZXIgTmFtZSBkZXMgZW50c3ByZWNoZW5kZW4gQWJzY2huaXR0cwogICBsYXV0ZXQgW3BhcmFsbGVscG9ydHNdIHVuZCBkaWUgTmFtZW4gcGFyYWxsZWxlciBTY2huaXR0c3RlbGxlbgogICB1bnRlciBET1MgdW5kIFdpbmRvd3MgbGF1dGVuIExwdDEsIGxwdDIgdXN3LiBXZW5uIGFsc28gdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiB1bnRlciBXSU5FIPxiZXIgZGVuIE5hbWVuIExwdDEgYXVmIGRpZSBwYXJhbGxlbGUKICAgU2Nobml0dHN0ZWxsZSB6dWdlZ3JpZmZlbiB3ZXJkZW4gc29sbCwgd2VsY2hlIHVudGVyIExpbnV4IGR1cmNoIGRpZQogICBHZXLkdGVkYXRlaSAvZGV2L2xwMCByZXBy5HNlbnRpZXJ0IHdpcmQsIHNvIHfkcmUgaW4gZGllCiAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZGllc2VyIEFic2Nobml0dCBhdWZ6dW5laG1lbi4KCiAgIFtwYXJhbGxlbHBvcnRzXQogICAiTHB0MSIgPSAiL2Rldi9scDAiCgogICBVbSBkZW4gWnVncmlmZiBhdWYgYmVzdGltbXRlIEVpbi0gdW5kIEF1c2dhYmVhZHJlc3NlbiB6dSBlcm32Z2xpY2hlbiwKICAgc2luZCBkaWUgZ2V3/G5zY2h0ZW4gQWRyZXNzZW4gaW4gaGV4YWRlemltYWxlciBTY2hyZWlid2Vpc2UgaW0KICAgQWJzY2huaXR0IFtwb3J0c10gYW56dWdlYmVuLiBBbHMgQWRyZXNzZW4gbGFzc2VuIHNpY2ggZW50d2VkZXIKICAgZWluemVsbmUgQWRyZXNzZW4gKEJlaXNwaWVsOiAweDc3OSkgb2RlciBBZHJlc3NiZXJlaWNoZSBhbmdlYmVuLiBCZWkKICAgQWRyZXNzYmVyZWljaGVuIHdlcmRlbiBkaWUgdW50ZXJlIHVuZCBvYmVyZSBBZHJlc3NlIGRlcyBnZXf8bnNjaHRlbgogICBCZXJlaWNocywgdmVyYnVuZGVuIGR1cmNoIGVpbmVuIEJpbmRlc3RyaWNoLCBhbmdlZ2ViZW4gKEJlaXNwaWVsOgogICAweDI4MC0weDJhMCkuIFdlbm4gbWVocmVyZSBBZHJlc3NlbiBvZGVyIEFkcmVzc2JlcmVpY2hlIGtvbmZpZ3VyaWVydAogICB3ZXJkZW4gc29sbGVuLCBzaW5kIGRpZXNlIGhpbnRlcmVpbmFuZGVyIC0gZHVyY2ggS29tbWF0YSBnZXRyZW5udCAtCiAgIGFuenVnZWJlbi4gQWRyZXNzZW4sIHZvbiBkZW5lbiBnZWxlc2VuIHdlcmRlbiBzb2xsLCBzaW5kIGRlciBWYXJpYWJsZW4KICAgcmVhZCB6dXp1b3JkbmVuIHVuZCBzb2xjaGUsIGF1ZiBkaWUgZ2VzY2hyaWViZW4gd2VyZGVuIHNvbGwsIGRlcgogICBWYXJpYWJsZW4gd3JpdGUuIEZhbGxzIGF1ZiBlaW5lIGJlc3RpbW10ZSBBZHJlc3NlIHNvd29obCBsZXNlbmQgYWxzCiAgIGF1Y2ggc2NocmVpYmVuZCB6dWdlZ3JpZmZlbiB3ZXJkZW4gc29sbCwgaXN0IHNpZSBiZWlkZW4gVmFyaWFibGVuCiAgIHp1enVvcmRuZW4uIEJlaXNwaWVsOgoKICAgW3BvcnRzXQogICAicmVhZCIgPSAiMHgzNzgsMHgzNzksMHgyMjAtMHgyYTAiCiAgICJ3cml0ZSIgPSAiMHgzNzksMHgyMjAtMHgyYTAiCgoKICAgIDcuNy4xIFp1Z3JpZmYgYXVmIFNDU0ktR2Vy5HRlCiAgICAKICAgV0lORSBlcm32Z2xpY2h0IGF1Y2ggZGVuIGRpcmVrdGVuIFp1Z3JpZmYgYXVmIFNDU0ktR2Vy5HRlICj8YmVyIGRpZQogICBBU1BJLVNjaG5pdHRzdGVsbGUpLiBIaWVyenUgc2luZCBrZWluZSBzcGV6aWVsbGVuIEFuZ2FiZW4gaW4gZGVyCiAgIEtvbmZpZ3VyYXRpb24gbm90d2VuZGlnLCBhbGxlcmRpbmdzIG11c3MgZGVyIEtlcm5lbCBkZXMgU3lzdGVtcyBzbwogICBrb25maWd1cmllcnQgd29yZGVuIHNlaW4sIGRhc3MgZXIgZGllIFVudGVyc3T8dHp1bmcgZvxyIGdlbmVyaXNjaGVuCiAgIFNDU0ktWnVncmlmZiBlbnRo5Gx0LiBBdd9lcmRlbSBt/HNzZW4gZGllIEdlcuR0ZWRhdGVpZW4sIHdlbGNoZSBkaWUKICAgZ2VuZXJpc2NoZW4gU0NTSS1HZXLkdGUgcmVwcuRzZW50aWVyZW4gKG5vcm1hbGVyd2Vpc2UgL2Rldi9zZzAsCiAgIC9kZXYvc2cxIHVzdy4pIG1pdCBhdXNyZWljaGVuZGVuIFJlY2h0ZW4gZvxyIGRlbiBadWdyaWZmCiAgIGF1c2dlc3RhdHRldCBzZWluLgogICAKICA3LjggS29uZmlndXJhdGlvbiBkZXIgV2luZG93cy1TeXN0ZW1yZWdpc3RyYXR1cgogIAogICBXaW5kb3dzLUJldHJpZWJzc3lzdGVtZSBzdGVsbGVuIGVpbmUgRGF0ZW5iYW5rIHp1ciBWZXJm/Gd1bmcsIGluCiAgIGRlciBQcm9ncmFtbWUgdS5hLiBLb25maWd1cmF0aW9uc2RhdGVuIGFibGVnZW4gdW5kIHNw5HRlciB3aWVkZXIKICAgYXVzbGVzZW4ga/ZubmVuLiBEaWVzZSBzbyBnZW5hbm50ZSBSZWdpc3RyYXR1ciB3aXJkIHZvbiBXSU5FCiAgIGViZW5mYWxscyBiZXJlaXRnZXN0ZWxsdC4gV0lORSBpc3QgZmVybmVyIGluIGRlciBMYWdlLCBkaWUKICAgUmVnaXN0cmF0dXIgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24genUgaW1wb3J0aWVyZW4sCiAgIGRhbWl0IGRlbiBtaXQgV0lORSBhdXNnZWb8aHJ0ZW4gUHJvZ3JhbW1lbiBhbGxlIERhdGVuIHp1ciBWZXJm/Gd1bmcKICAgc3RlaGVuLCBkaWUgYXVjaCB1bnRlciBXaW5kb3dzIHZlcmb8Z2JhciBzaW5kLiBEaWVzIGlzdAogICBpbnNiZXNvbmRlcmUgZGFubiB2b24gQmVkZXV0dW5nLCB3ZW5uIFByb2dyYW1tZSB1bnRlciBXaW5kb3dzCiAgIGluc3RhbGxpZXJ0IHdvcmRlbiBzaW5kIHVuZCB1bnRlciBXSU5FIGF1c2dlZvxocnQgd2VyZGVuLiBFcyBpc3QgenUKICAgYmVhY2h0ZW4sIGRhc3MgV0lORSBkaWUgUmVnaXN0cmF0dXIgZWluZXIgYmVzdGVoZW5kZW4KICAgV2luZG93cy1JbnN0YWxsYXRpb24gbmllbWFscyB2ZXLkbmRlcnQuICBGYWxscyBQcm9ncmFtbWUgYWxzbyB1bnRlcgogICBXSU5FIERhdGVuIGluIGRpZSBSZWdpc3RyYXR1ciBzY2hyZWliZW4sIHN0ZWhlbiBkaWVzZSB1bnRlciBXaW5kb3dzCiAgIG5pY2h0IHp1ciBWZXJm/Gd1bmcuIFdJTkUgc3BlaWNoZXJ0IGRpZSBSZWdpc3RyYXR1ciB2aWVsbWVociBpbgogICBlaWdlbmVuIERhdGVpZW4sIHdlbGNoZSBzaWNoIPxibGljaGVyd2Vpc2UgdW50ZXJoYWxiIGRlcwogICBIZWltYXR2ZXJ6ZWljaG5pc3NlcyBkZXMgYmV0cmVmZmVuZGVuIEJlbnV0emVycyBiZWZpbmRlbi4gTmViZW4gZGVuCiAgIGJlbnV0emVyc3BlemlmaXNjaGVuIFJlZ2lzdHJhdHVyZGF0ZW4ga/ZubmVuIHZvbSBBZG1pbmlzdHJhdG9yCiAgIHN5c3RlbXdlaXQgZ/xsdGlnZSBEYXRlaWVuIGJlcmVpdCBnZXN0ZWxsdCB3ZXJkZW4uIERpZXNlIGJlZmluZGVuCiAgIHNpY2gg/GJsaWNoZXJ3ZWlzZSBpbiBkZW0gZ2xlaWNoZW4gVmVyemVpY2huaXMgd2llIGRpZSBzeXN0ZW13ZWl0CiAgIGf8bHRpZ2UgS29uZmlndXJhdGlvbnNkYXRlaSwgYWxzbyBpbiAvZXRjIG9kZXIgaW4gL3Vzci9sb2NhbC9ldGMsCiAgIHdlbm4gV0lORSBtaXQgZGVuIFN0YW5kYXJkZWluc3RlbGx1bmdlbiD8YmVyc2V0enQgd3VyZGUuIEltCiAgIEFic2Nobml0dCBbcmVnaXN0cnldIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHN0ZWhlbiBkaWUgZm9sZ2VuZGVuCiAgIFZhcmlhYmxlbiB6dXIgVmVyZvxndW5nLCBtaXQgZGVuZW4gdS5hLiBiZXN0aW1tdCB3ZXJkZW4ga2Fubiwgb2IKICAgZWluZSBiZXN0ZWhlbmRlbiBSZWdpc3RyYXR1ciBpbXBvcnRpZXJ0IHdlcmRlbiBzb2xsIHVuZCB3byBXSU5FIGRpZQogICBlaWdlbmUgUmVnaXN0cmF0dXIgYWJsZWdlbiBzb2xsLgogICAKICAgTG9hZEdsb2JhbFJlZ2lzdHJ5RmlsZXMKICAgICAgICAgIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIGRlbiBXZXJ0IHRydWUgZ2VzZXR6dCBpc3QsIGxpZXN0CiAgICAgICAgICBXSU5FIGRpZSBzeXN0ZW13ZWl0IGf8bHRpZ2VuIFJlZ2lzdHJhdHVyZGF0ZW4gZWluLiBEaWVzIGlzdAogICAgICAgICAgZGllIFN0YW5kYXJkZWluc3RlbGx1bmcuIEJlaXNwaWVsOiAiTG9hZEdsb2JhbFJlZ2lzdHJ5RmlsZXMiID0KICAgICAgICAgICJ0cnVlIgogICAgICAgICAgCiAgIExvYWRIb21lUmVnaXN0cnlGaWxlcwogICAgICAgICAgV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IGlzdCwgbGllc3QKICAgICAgICAgIFdJTkUgZGllIFJlZ2lzdHJhdHVyZGF0ZW4gYXVzIGRlbSBWZXJ6ZWljaG5pcyAud2luZSBpbQogICAgICAgICAgSGVpbWF0dmVyemVpY2huaXMgZGVzIGF1ZnJ1ZmVuZGVuIEJlbnV0emVycyBlaW4uIERpZQogICAgICAgICAgUmVnaXN0cmF0dXJkYXRlbiBkZXMgQmVudXR6ZXJzIHdlcmRlbiBuYWNoIGRlbiBzeXN0ZW13ZWl0CiAgICAgICAgICBn/Gx0aWdlbiBEYXRlbiBnZWxhZGVuLCBzbyBkYXNzIEJlbnV0emVyIGRpZQogICAgICAgICAgVm9yZWluc3RlbGx1bmdlbiBhdXMgZGVyIGdsb2JhbGVuIFJlZ2lzdHJhdHVyIG1pdCBlaWdlbmVuCiAgICAgICAgICBXZXJ0ZW4g/GJlcnNjaHJlaWJlbiBr9m5uZW4uIEJlaXNwaWVsOgogICAgICAgICAgIkxvYWRIb21lUmVnaXN0cnlGaWxlcyIgPSAidHJ1ZSIgCiAgICAgICAgICAKICAgTG9hZFdpbmRvd3NSZWdpc3RyeUZpbGVzCiAgICAgICAgICBNaXQgZGllc2VyIFZhcmlhYmxlbiB3aXJkIGJlc3RpbW10LCBvYiBkaWUgUmVnaXN0cmF0dXIgZWluZXIKICAgICAgICAgIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGdlbGFkZW4gd2VyZGVuIHNvbGwuIFdlbm4KICAgICAgICAgIGRpZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IGlzdCwgc3RlbGx0IFdJTkUKICAgICAgICAgIHNlbGJzdHN05G5kaWcgZmVzdCwgdW0gd2VsY2hlIFZlcnNpb24gdm9uIFdpbmRvd3MgZXMgc2ljaAogICAgICAgICAgYmVpIGRlciBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24gaGFuZGVsdCB1bmQgbGllc3QgZGllCiAgICAgICAgICBSZWdpc3RyYXR1cmRhdGVuIGRlciBJbnN0YWxsYXRpb24gZWluLiBFcyBpc3QgenUgYmVhY2h0ZW4sCiAgICAgICAgICBkYXNzIGRpZXMgbnVyIGZ1bmt0aW9uaWVydCwgd2VubiBkYXMgV2luZG93cy0gdW5kIGRhcwogICAgICAgICAgU3lzdGVtdmVyemVpY2huaXMgaW0gYWxsZ2VtZWluZW4gVGVpbCBkZXIKICAgICAgICAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgcmljaHRpZyBhbmdlZ2ViZW4gd29yZGVuIHNpbmQgdW5kIGRlcgogICAgICAgICAgYmVzdGVoZW5kZW4gSW5zdGFsbGF0aW9uIGVudHNwcmVjaGVuLiBBdd9lcmRlbSBpc3QgZXMKICAgICAgICAgIHUuVS4gbm90d2VuZGlnLCBkaWUgVmFyaWFibGUgUHJvZmlsZSBpbSBhbGxnZW1laW5lbiBUZWlsCiAgICAgICAgICByaWNodGlnIHp1IHNldHplbi4gQmVpc3BpZWw6ICJMb2FkV2luZG93c1JlZ2lzdHJ5RmlsZXMiID0gInRydWUiLgogICAgICAgICAgCiAgIFdyaXRlVG9Ib21lUmVnaXN0cnlGaWxlcwogICAgICAgICAgV2lyZCBkaWVzZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0LCB2ZXJzdWNodCBXSU5FCiAgICAgICAgICBhbGxlIMRuZGVydW5nZW4sIGRpZSB35GhyZW5kIGRlciBMYXVmemVpdCB2b24gV0lORSBhbiBkZXIKICAgICAgICAgIFJlZ2lzdHJhdHVyIHZvcmdlbm9tbWVuIHdlcmRlbiwgaW4gZGllIFJlZ2lzdHJhdHVyZGF0ZWllbiBpbQogICAgICAgICAgVmVyemVpY2huaXMgLndpbmUgZGVzIGF1ZnJ1ZmVuZGVuIEJlbnV0emVycyB6dQogICAgICAgICAgc2NocmVpYmVuLiBEaWVzIGlzdCBpbiBkZXIgUmVnZWwgbm90d2VuZGlnLCBkYW1pdAogICAgICAgICAgV2luZG93cy1Qcm9ncmFtbWUgKGluc2Jlc29uZGVyZSBJbnN0YWxsYXRpb25zcHJvZ3JhbW1lKQogICAgICAgICAgxG5kZXJ1bmdlbiBhbiBkZXIgS29uZmlndXJhdGlvbiBhYnNwZWljaGVybgogICAgICAgICAga/ZubmVuLiBCZWlzcGllbDogIldyaXRlVG9Ib21lUmVnaXN0cnlGaWxlcyIgPSAidHJ1ZSIuCiAgICAgICAgICAgICAgICAgICAgCiAgIFBlcmlvZGljU2F2ZQogICAgICAgICAgV2VubiBWZXLkbmRlcnVuZ2VuIGFuIGRlciBSZWdpc3RyYXR1ciB2b24gV0lORSBnZXNwZWljaGVydAogICAgICAgICAgd2VyZGVuIHNvbGxlbiwgZ2VzY2hpZWh0IGRpZXMgbm9ybWFsZXJ3ZWlzZSBhdXRvbWF0aXNjaCwKICAgICAgICAgIHfkaHJlbmQgV0lORSBiZWVuZGV0IHdpcmQuIEFsbGVyZGluZ3Mgd2VyZGVuIGRpZSDEbmRlcnVuZ2VuCiAgICAgICAgICBkYW5uIG5pY2h0IGdlc3BlaWNoZXJ0LCB3ZW5uIFdJTkUgYXVmZ3J1bmQgZWluZXMgRmVobGVycwogICAgICAgICAgbmljaHQga29ycmVrdCBiZWVuZGV0IHdlcmRlbiBrYW5uLiBEZXN3ZWdlbiBpc3QgZXMgbfZnbGljaCwKICAgICAgICAgIG1pdCBkaWVzZXIgVmFyaWFibGVuIGFuenVnZWJlbiwgaW4gd2VsY2hlbSBaZWl0aW50ZXJ2YWxsIGRhcwogICAgICAgICAgUHJvZ3JhbW0gZGllIFJlZ2lzdHJhdHVyIGF1dG9tYXRpc2NoIHNpY2hlcm4gc29sbC4gRGllCiAgICAgICAgICBkaWVzZXIgVmFyaWFibGVuIPxiZXJnZWJlbmUgWmFobCB3aXJkIGFscyBaZWl0aW50ZXJ2YWxsIGluCiAgICAgICAgICBTZWt1bmRlbiBpbnRlcnByZXRpZXJ0LiBEYW1pdCBkaWUgUmVnaXN0cmF0dXIgYWxzbwogICAgICAgICAgYmVpc3BpZWxzd2Vpc2UgYWxsZSAxMCBNaW51dGVuIGF1dG9tYXRpc2NoIGFiZ2VzcGVpY2hlcnQKICAgICAgICAgIHdpcmQsIHfkcmUgZGllc2UgVmFyaWFibGUgc28genUgc2V0emVuOiAiUGVyaW9kaWNTYXZlIiA9ICI2MDAiLgogICAgICAgICAgCiAgIFNhdmVPbmx5VXBkYXRlZEtleXMKICAgICAgICAgIE1pdCBkaWVzZXIgVmFyaWFibGVuIGthbm4gYmVzdGltbXQgd2VyZGVuLCBvYiBXSU5FIGxlZGlnbGljaAogICAgICAgICAgc29sY2hlIFRlaWxlIGRlciBSZWdpc3RyYXR1ciBzaWNoZXJuIHNvbGwsIGRpZSBzaWNoIHfkaHJlbmQKICAgICAgICAgIGRlciBMYXVmemVpdCB2ZXLkbmRlcnQgaGFiZW4gb2RlciBvYiBpbW1lciBkaWUgZ2VzYW10ZQogICAgICAgICAgUmVnaXN0cmF0dXIgZ2VzcGVpY2hlcnQgd2VyZGVuIHNvbGwuIERhcyBmb2xnZW5kZSBCZWlzcGllbAogICAgICAgICAgc3BlaWNoZXJ0IGRpZSBSZWdpc3RyYXR1ciBrb21wbGV0dDoKICAgICAgICAgICJTYXZlT25seVVwZGF0ZWRLZXlzIiA9ICJmYWxzZSIuCiAgICAgICAgICAKICAgSGlud2VpczogCiAgIFdlaWwgZGFzIEltcG9ydGllcmVuIGVpbmVyIGdyb99lbiBXaW5kb3dzLVJlZ2lzdHJhdHVyIGVpbiByZWxhdGl2CiAgIHplaXRhdWZ3ZW5kaWdlciBWb3JnYW5nIGlzdCwgZW1wZmllaGx0IGVzIHNpY2gsIGRpZQogICBXaW5kb3dzLVJlZ2lzdHJhdHVyIG51ciBiZWltIGVyc3RlbiBTdGFydCB2b24gV0lORSB6dSBpbXBvcnRpZXJlbgogICAoIkxvYWRXaW5kb3dzUmVnaXN0cnlGaWxlcyIgPSAidHJ1ZSIpIHVuZCBkaWVzZSBkYW5uIGtvbXBsZXR0IHZvbiBXSU5FCiAgIHNwZWljaGVybiB6dSBsYXNzZW4gKCJTYXZlT25sZVVwZGF0ZWRLZXlzIiA9ICJmYWxzZSIpLiBEYW5hY2ggbGllZ3QgZGllCiAgIFJlZ2lzdHJhdHVyIHZvbGxzdORuZGlnIGluIFdJTkVzIGVpZ2VuZW0gRm9ybWF0IHZvciwgc28gZGFzcyBiZWkKICAgc3DkdGVyZW4gU3RhcnRzIHZvbiBXSU5FIGF1ZiBkZW4gSW1wb3J0IGRlciBXaW5kb3dzLVJlZ2lzdHJhdHVyCiAgIHZlcnppY2h0ZXQgd2VyZGVuIGthbm4gKCJMb2FkV2luZG93c1JlZ2lzdHJ5RmlsZXMiID0gImZhbHNlIikuCiAgIAogIDcuOSBFaW5zdGVsbHVuZyBkZXMgTG9vayBhbmQgRmVlbAogIAogICBJbSBBYnNjaG5pdHQgVHdlYWsuTGF5b3V0IGRlciBLb25maWd1cmF0aW9uIGzkc3N0IHNpY2ggZHVyY2ggZGllCiAgIFZhcmlhYmxlIFdJTkVMb29rIGJlc3RpbW1lbiwgd2VsY2hlcyBMb29rIGFuZCBGZWVsIHZvbiBXaW5kb3dzCiAgIGR1cmNoIFdJTkUgbmFjaGVtcGZ1bmRlbiB3ZXJkZW4gc29sbC4gRGVyIFdlcnQgV2luMzEgYmV3aXJrdCwgZGFzcwogICBXSU5FIGFsbGUgRmVuc3RlcmVsZW1lbnRlIGluIGRlbSBFcnNjaGVpbnVuZ3NiaWxkIGVyemV1Z3QsIHdpZSBlcwogICB2b24gV2luZG93cyAzLjExIGJla2FubnQgaXN0LiBBbmFsb2cgZGF6dSBiZXdpcmtlbiBkaWUgV2VydGUgV2luOTUKICAgdW5kIFdpbjk4IGVpbiBtb2Rlcm5lcmVzIEVyc2NoZWludW5nc2JpbGQuIEJlaXNwaWVsOgoKICAgW1R3ZWFrLkxheW91dF0KICAgIldJTkVMb29rIiA9ICJXaW45OCIKCgogIDcuMTAgS29uZmlndXJhdGlvbiBkZXIgV2luZG93cy1Db25zb2xlCiAgCiAgIEltIEdlZ2Vuc2F0eiB6dSAxNi1CaXQtV2luZG93cy1WZXJzaW9uZW4gaXN0IGVzIG1pdCBkZW0gV2luMzIgQVBJIHdpZQogICB1bnRlciBVTklYIG32Z2xpY2gsIFByb2dyYW1tZSBm/HIgZGVuIFRleHRtb2R1cyB6dSBlcnN0ZWxsZW4sIGRpZQogICB1bnRlciBXaW5kb3dzIG5vcm1hbGVyd2Vpc2UgaW4gZWluZW0gc28gZ2VuYW5udGVuICJNUy1ET1MtRmVuc3RlciIKICAgYXVzZ2Vm/GhydCB3ZXJkZW4gKG9id29obCBkaWVzZSBQcm9ncmFtbWUgbmljaHQgdmllbCBtaXQgTVMtRE9TIHp1CiAgIHR1biBoYWJlbikuIFVudGVyIFdJTkUgdmVyd2VuZGVuIHNvbGNoZSBQcm9ncmFtbWUgc3RhbmRhcmRt5N9pZyBkaWUKICAgU3RhbmRhcmRlaW5nYWJlIHVuZCAtQXVzZ2FiZSBkZXMgVGVybWluYWxzLCB2b24gZGVtIGF1cyBXSU5FCiAgIGdlc3RhcnRldCB3dXJkZS4gSW0gQWJzY2huaXR0IFtDb25zb2xlXSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBpc3QKICAgZXMgbfZnbGljaCwgZGllIEVpZ2Vuc2NoYWZ0ZW4gZGVyIEtvbnNvbGUgZvxyIFdpbmRvd3MtUHJvZ3JhbW1lCiAgIG7kaGVyIHp1IGJlc3RpbW1lbi4KICAgCiAgIERyaXZlcnMKICAgICAgICAgIEhpZXJtaXQgd2lyZCBmZXN0Z2VsZWd0LCB3aWUgZGllIEtvbnNvbGUgenVyIFZlcmb8Z3VuZwogICAgICAgICAgZ2VzdGVsbHQgd2VyZGVuIHNvbGwuIFdJTkUga2FubiBkYXp1IGRhcyBtaXQgZGVtCiAgICAgICAgICBXSU5FLVByb3plc3MgdmVyYnVuZGVuZSBUZXJtaW5hbCB2ZXJ3ZW5kZW4gb2RlciBm/HIgamVkZXMKICAgICAgICAgIFdpbmRvd3MtUHJvZ3JhbW0sIHdlbGNoZXMgZWluZSBuZXVlIEtvbnNvbGUgYW5mb3JkZXJ0LCBlaW4KICAgICAgICAgIG5ldWVzIFRlcm1pbmFsZmVuc3RlciAod2llIHouQi4geHRlcm0pIHN0YXJ0ZW4uIEltCiAgICAgICAgICBhbGxnZW1laW5lbiBpc3QgZXMgenUgZW1wZmVobGVuLCBm/HIgamVkZSBLb25zb2xlIGVpbgogICAgICAgICAgZWlnZW5lcyBUZXJtaW5hbGZlbnN0ZXIgenUgdmVyd2VuZGVuLCB3ZWlsIGVzIHp1CiAgICAgICAgICB1bmVyd/xuc2NodGVuIE5lYmVuZWZmZWt0ZW4ga29tbWVuIGthbm4sIHdlbm4gdmVyc2NoaWVkZW5lCiAgICAgICAgICBXaW5kb3dzLVByb3plc3NlIHVuZCBXSU5FIHNlbGJzdCBkYXMgc2VsYmUgVGVybWluYWwKICAgICAgICAgIHZlcndlbmRlbi4gRXMgaXN0IGZlcm5lciBt9mdsaWNoLCBkaWUgbmN1cnNlcy1CaWJsaW90aGVrIHp1CiAgICAgICAgICBiZW51dHplbiwgdW0gYmVzdGltbXRlIEVpZ2Vuc2NoYWZ0ZW4sIHdpZSBkaWUgRGFyc3RlbGx1bmcKICAgICAgICAgIHVudGVyc2NoaWVkbGljaGVyIEZhcmJlbiwgenUgYmVudXR6ZW4uIERlciBWYXJpYWJsZW4gRHJpdmVycwogICAgICAgICAga2FubiB6dXIgWmVpdCBlaW5lIEtvbWJpbmF0aW9uIGF1cyBkZW4gZm9sZ2VuZGVuCiAgICAgICAgICBTY2hs/HNzZWx39nJ0ZXJuIPxiZXJnZWJlbiB3ZXJkZW46IHR0eSwgeHRlcm0gdW5kCiAgICAgICAgICBuY3Vyc2VzLiBXZW5uIG1laHJlcmUgZGllc2UgU2NobPxzc2Vsd/ZydGVyIGJlbnV0enQgd2VyZGVuLAogICAgICAgICAgc2luZCBkaWVzZSBkdXJjaCBkYXMgUGx1cy1aZWljaGVuIHZvbmVpbmFuZGVyIHp1CiAgICAgICAgICB0cmVubmVuLiBEaWUgQW5nYWJlIHR0eSBiZXdpcmt0LCBkYXNzIFdJTkUgZGFzIFRlcm1pbmFsIGb8cgogICAgICAgICAgZGllIEtvbnNvbGUgdmVyd2VuZGV0LCBtaXQgd2VsY2hlbSBkZXIgV0lORS1Qcm96ZXNzCiAgICAgICAgICB2ZXJidW5kZW4gaXN0LiBEdXJjaCBkaWUgQW5nYWJlIHh0ZXJtIHdpcmQgZWluIG5ldWVzCiAgICAgICAgICBUZXJtaW5hbGZlbnN0ZXIgZ2X2ZmZuZXQsIHdlbm4gZWluIFdpbmRvd3MtUHJvZ3JhbW0gZWluZQogICAgICAgICAgbmV1ZSBLb25zb2xlIGFuZm9yZGVydC4gRGllIEFuZ2FiZSBuY3Vyc2VzIGJld2lya3QsIGRhc3MgZGllCiAgICAgICAgICBuY3Vyc2VzLUJpYmxpb3RoZWsgYmVudXR6dCB3aXJkLiBEaWVzIGZ1bmt0aW9uaWVydCBudXIsIHdlbm4KICAgICAgICAgIGRpZSBVbnRlcnN0/HR6dW5nIGRhZvxyIGJlaW0g3GJlcnNldHplbiBkZXMgUHJvZ3JhbW1zCiAgICAgICAgICBha3RpdmllcnQgd3VyZGUuIEJlaXNwaWVsOiAiRHJpdmVycyIgPSAibmN1cnNlcyt4dGVybSIKICAgICAgICAgIAogICBYdGVybVByb2cKICAgICAgICAgIEhpZXJtaXQgbORzc3Qgc2ljaCBhbmdlYmVuLCB3ZWxjaGVzIFByb2dyYW1tIGF1ZmdlcnVmZW4KICAgICAgICAgIHdlcmRlbiBzb2xsLCB1bSBkaWUgS29uc29sZSBpbiBlaW5lbSBlaWdlbmVuIEZlbnN0ZXIKICAgICAgICAgIGRhcnp1c3RlbGxlbiAoei5CLiBiZWkgIkRyaXZlcnMiID0gInh0ZXJtIikuIEVzIGxhc3NlbiBzaWNoIGFsbGUKICAgICAgICAgIFRlcm1pbmFsZW11bGF0aW9uc3Byb2dyYW1tZSB2ZXJ3ZW5kZW4sIHdlbGNoZSBkaWUgdm9uIHh0ZXJtCiAgICAgICAgICBoZXIgYmVrYW5udGVuIEtvbW1hbmRvemVpbGVuYXJndW1lbnRlIHZlcnN0ZWhlbi4gQmVpc3BpZWw6CiAgICAgICAgICAiWHRlcm1Qcm9nIiA9ICJ3dGVybSIuCiAgICAgICAgICAKICAgSW5pdGlhbFJvd3MKICAgICAgICAgIE1pdCBkZXIgVmFyaWFibGVuIHdpcmQgYW5nZWdlYmVuLCB3aWV2aWVsZSBaZWlsZW4gZGllCiAgICAgICAgICBLb25zb2xlIG5hY2ggaWhyZW0gU3RhcnQgaGFiZW4gc29sbC4gQmVpc3BpZWw6CiAgICAgICAgICAiSW5pdGlhbFJvd3MiID0gIjI0Ii4KICAgICAgICAgIAogICBJbml0aWFsQ29sdW1ucwogICAgICAgICAgTWl0IGRlciBWYXJpYWJsZW4gd2lyZCBhbmdlZ2ViZW4sIHdpZXZpZWxlIFNwYWx0ZW4gZGllCiAgICAgICAgICBLb25zb2xlIG5hY2ggaWhyZW0gU3RhcnQgaGFiZW4gc29sbC4gQmVpc3BpZWw6CiAgICAgICAgICAiSW5pdGlhbENvbHVtbnMiID0gIjgwIi4KICAgICAgICAgIAogICBUZXJtaW5hbFR5cGUKICAgICAgICAgIEhpZXJtaXQgbORzc3Qgc2ljaCBmZXN0bGVnZW4sIHZvbiB3ZWxjaGVtIFRlcm1pbmFsdHlwIGRpZQogICAgICAgICAgbmN1cnNlcy1CaWJsaW90aGVrIGF1c2dlaGVuIHNvbGwuIFR5cGlzY2hlIFdlcnRlIHNpbmQgeHRlcm0KICAgICAgICAgIG9kZXIgbGludXguCiAgICAgICAgICAKICA3LjExIERpZSBad2lzY2hlbmFibGFnZQogIAogICBEYXMgS29uemVwdCBkZXIgWndpc2NoZW5hYmxhZ2UgdW50ZXJzY2hlaWRldCBzaWNoIHp3aXNjaGVuIFdpbmRvd3MKICAgdW5kIGRlbSBYIFdpbmRvdyBTeXN0ZW0gZXR3YXMuIFVtIGJlaXNwaWVsc3dlaXNlIGVpbmVuIFRleHQgaW4gZGllCiAgIFp3aXNjaGVuYWJsYWdlIHp1IHN0ZWxsZW4sIHdpcmQgZGllc2VyIHVudGVyIFdpbmRvd3Mgbm9ybWFsZXJ3ZWlzZQogICB6dW7kY2hzdCBtYXJraWVydCB1bmQgZGFubiD8YmVyIGVpbmVuIE1lbvxiZWZlaGwgaW4gZGllCiAgIFp3aXNjaGVuYWJsYWdlIGtvcGllcnQgb2RlciB2ZXJzY2hvYmVuLiBVbnRlciBYIHN0ZWhlbiBtaW5kZXN0ZW5zCiAgIHp3ZWkgVHlwZW4gdm9uIFp3aXNjaGVuYWJsYWdlIHp1ciBWZXJm/Gd1bmcuIE5hY2hkZW0gZWluIFRleHQgZG9ydAogICBtYXJraWVydCB3b3JkZW4gaXN0LCBzdGVodCBlciBhbHMgc28gZ2VuYW5udGUgcHJpbeRyZSBBdXN3YWhsIHp1cgogICBWZXJm/Gd1bmc7IGVyIGthbm4gZGFubiBzb2ZvcnQgaW4gYW5kZXJlIEFud2VuZHVuZ2VuIGVpbmdlZvxndAogICB3ZXJkZW4gKGV0d2EgZHVyY2ggQmV05HRpZ3VuZyBkZXIgbWl0dGxlcmVuIE1hdXN0YXN0ZSkuIERpZQogICBad2lzY2hlbmFibGFnZSBpc3QgZWluZSB3ZWl0ZXJlIEF1c3dhaGwsIGluIGRpZSBUZXh0ZSBvZGVyIGFuZGVyZQogICBEYXRlbiB2b24gdmllbGVuIFgtQW53ZW5kdW5nZW4gYXVzIGtvcGllcnQgdW5kIHZvbiBkb3J0IGF1cyB3aWVkZXIKICAgZWluZ2Vm/Gd0IHdlcmRlbiBr9m5uZW4uIEltIEFic2Nobml0dCBbY2xpcGJvYXJkXSBkZXIKICAgS29uZmlndXJhdGlvbnNkYXRlaSBs5HNzdCBzaWNoIGJlc3RpbW1lbiwgd2llIGRpZQogICBXaW5kb3dzLVp3aXNjaGVuYWJsYWdlIG1pdCBkZXIgWndpc2NoZW5hYmxhZ2UgZGVzIFggV2luZG93IFN5c3RlbXMKICAgaW50ZXJhZ2llcnQuCiAgIAogICBDbGVhckFsbFNlbGVjdGlvbnMKICAgICAgICAgIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIHRydWUgZ2VzZXR6dCBpc3QsIHdpcmQgZGVyIEluaGFsdAogICAgICAgICAgZGVyIFdpbmRvd3MtWndpc2NoZW5hYmxhZ2UgZ2Vs9nNjaHQgdW5kIGR1cmNoIGRlbiBJbmhhbHQgZGVyCiAgICAgICAgICBad2lzY2hlbmFibGFnZSBkZXMgWCBXaW5kb3cgU3lzdGVtcyBlcnNldHp0LCBmYWxscyBpbiBlaW5lcgogICAgICAgICAgYW5kZXJlbiBYIEFud2VuZHVuZyBldHdhcyBpbiBkaWUgcHJpbeRyZSBBdXN3YWhsIGdlc3RlbGx0CiAgICAgICAgICB3aXJkLiAgV2lyZCBiZWkgVmVyd2VuZHVuZyBkaWVzZXIgRWluc3RlbGx1bmcgYWxzbyB6dW7kY2hzdAogICAgICAgICAgZXR3YXMgbWl0IGVpbmVtIFdpbmRvd3MtUHJvZ3JhbW0gaW4gZGllIFp3aXNjaGVuYWJsYWdlCiAgICAgICAgICBnZXN0ZWxsdCB1bmQgZGFuYWNoIG1pdCBkZXIgTWF1cyBlaW4gVGV4dCBpbiBlaW5lciBYCiAgICAgICAgICBBbndlbmR1bmcgbWFya2llcnQsIHNvIGdlaHQgZGVyIHVyc3By/G5nbGljaGUgSW5oYWx0IGRlcgogICAgICAgICAgV2luZG93cy1ad2lzY2hlbmFibGFnZSB2ZXJsb3JlbiB1bmQgZXMgc3RlaHQgZG9ydCBkZXIgbWl0CiAgICAgICAgICBkZXIgTWF1cyBtYXJraWVydGUgVGV4dCB6dXIgVmVyZvxndW5nLiBGYWxscyBkaWUgVmFyaWFibGUKICAgICAgICAgIGF1ZiBmYWxzZSBnZXNldHp0IGlzdCwgYmxlaWJ0IGRlciBJbmhhbHQgZGVyIFp3aXNjaGVuYWJsYWdlCiAgICAgICAgICBkdXJjaCBkaWUgVmVy5G5kZXJ1bmcgZGVyIHByaW3kcmVuIEF1c3dhaGwgdW5iZXL8aHJ0LiBVbQogICAgICAgICAgZGFubiBiZWlzcGllbHN3ZWlzZSBlaW5lbiBUZXh0IHZvbiBYRW1hY3MgbmFjaCBXb3JkIHp1CiAgICAgICAgICBrb3BpZXJlbiwgcmVpY2h0IGVzIG5pY2h0IGF1cywgZGVuIFRleHQgaW4gWEVtYWNzIHp1CiAgICAgICAgICBtYXJraWVyZW4sIHNvbmRlcm4gZXIgbXVzcyBkb3J0IGV4cGxpeml0IGluIGRpZQogICAgICAgICAgWndpc2NoZW5hYmxhZ2Uga29waWVydCB3ZXJkZW4sIGZhbGxzIHNpY2ggZG9ydCB2b3JoZXIgZWluZQogICAgICAgICAgQXVzd2FobCBiZWZhbmQsIGRpZSB2b24gZWluZXIgV2luZG93cy1BbndlbmR1bmcgYXVzCiAgICAgICAgICB2b3JnZW5vbW1lbiB3dXJkZS4gQmVpc3BpZWw6ICJDbGVhckFsbFNlbGVjdGlvbnMiID0gInRydWUiCiAgICAgICAgICAKICAgUGVyc2lzdGVudFNlbGVjdGlvbgogICAgICAgICAgTmFjaGRlbSBXSU5FIGJlZW5kZXQgd29yZGVuIGlzdCwga2FubiBkZXIgSW5oYWx0IGRlcgogICAgICAgICAgWndpc2NoZW5hYmxhZ2UgYW5kZXJlbiBYIFByb2dyYW1tZW4gbm9ybWFsZXJ3ZWlzZSBuaWNodCBtZWhyCiAgICAgICAgICB6dXIgVmVyZvxndW5nIGdlc3RlbGx0IHdlcmRlbi4gV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgdHJ1ZQogICAgICAgICAgZ2VzZXR6dCBpc3QsIHN0YXJ0ZXQgV0lORSBkZXN3ZWdlbiBlaW4ga2xlaW5lcwogICAgICAgICAgSGludGVyZ3J1bmRwcm9ncmFtbSAod2luZWNsaXBzcnYpIHdlbGNoZXMgZGVuIEluaGFsdCBkZXIKICAgICAgICAgIFp3aXNjaGVuYWJsYWdlIHNvIGxhbmdlIHZlcmb8Z2JhciBo5Gx0LCBiaXMgZGllc2VyIGR1cmNoIGVpbgogICAgICAgICAgYW5kZXJlcyBQcm9ncmFtbSBlcnNldHp0IHdpcmQgdW5kIHNpY2ggZGFubgogICAgICAgICAgYmVlbmRldC4gQmVpc3BpZWw6ICJQZXJzaXN0ZW50U2VsZWN0aW9uIiA9ICJ0cnVlIgogICAgICAgICAgCiAgNy4xMiBLb25maWd1cmF0aW9uIGRlcyBQb3N0U2NyaXB0LURydWNrZXJ0cmVpYmVycwogIAogICBXSU5FIGthbm4gendlaSBUeXBlbiB2b24gRHJ1Y2tlcnRyZWliZXJuIHZlcndlbmRlbiwgbuRtbGljaCBlY2h0ZQogICAxNmJpdCBXaW5kb3dzLURydWNrZXJ0cmVpYmVyLCB3aWUgU2llIHZvbiBXaW5kb3dzIDMuMTEgb2RlciBXaW5kb3dzCiAgIDk1Lzk4IGJlbnV0enQgd2VyZGVuLCBvZGVyIGVpbmVuIGVpZ2VuZW4gUG9zdFNjcmlwdC0gRHJ1Y2tlcnRyZWliZXIsCiAgIG1pdCBkZW0gc2ljaCBhdXMgZGVuIG1laXN0ZW4gV2luZG93cy1BbndlbmR1bmdlbiBoZXJhdXMgaW0KICAgUG9zdFNjcmlwdC1Gb3JtYXQgZHJ1Y2tlbiBs5HNzdC4gRGllc2UgUG9zdFNjcmlwdC1BdXNnYWJlIGthbm4gZGFubgogICD8YmVyIGRpZSBTcG9vbGVyLVNvZnR3YXJlIGRlcyBTeXN0ZW1zIChub3JtYWxlcndlaXNlIGxwci9scGQpIGF1ZgogICBlaW5lbiBkaXJla3QgYW5nZXNjaGxvc3NlbmVuIG9kZXIgZmVybmVuIERydWNrZXIgYXVzZ2VnZWJlbiB3ZXJkZW4uCiAgIAogICBIaW53ZWlzZSB6dXIgVmVyd2VuZHVuZyB2b24gMTZiaXQtV2luZG93cy1EcnVja2VydHJlaWJlciBmaW5kZW4KICAgc2ljaCB1LmEuIGluIGRlciBEYXRlaSBwcmludGluZyBpbSBVbnRlcnZlcnplaWNobmlzIGRvY3VtZW50YXRpb24KICAgZGVzIFdJTkUtUXVlbGxjb2RldmVyemVpY2huaXNzZXMuIEltIGZvbGdlbmRlbiBzb2xsIGxlZGlnbGljaCBhdWYKICAgZGllIEtvbmZpZ3VyYXRpb24gZGVzIGVpbmdlYmF1dGVuIFBvc3RTY3JpcHQtRHJ1Y2tlcnRyZWliZXJzCiAgIGVpbmdlZ2FuZ2VuIHdlcmRlbiAod2FzIGdlbmVyZWxsIHNvd2llc28gYmV2b3J6dWd0IHdpcmQpLgogICAKICAgWnVu5GNoc3QgaXN0IGRhcyBWb3JoYW5kZW5zZWluIGRlcyBEcnVja2VydHJlaWJlcnMgYW56dW1lbGRlbi4gRGF6dQogICBzaW5kIGluIGRlciBEYXRlaSB3aW4uaW5pIGltIFdpbmRvd3MtVmVyemVpY2huaXMgZGllIGZvbGdlbmRlbgogICDEbmRlcnVuZ2VuIHZvcnp1bmVobWVuOgoKICAgW3dpbmRvd3NdCiAgIGRldmljZT1XSU5FIFBvc3RTY3JpcHQgRHJpdmVyLFdJTkVQUyxMUFQxOgoKICAgW2RldmljZXNdCiAgIFdJTkUgUG9zdFNjcmlwdCBEcml2ZXI9V0lORVBTLExQVDE6CgogICBGYWxscyBTaWUgV0lORSBvaG5lIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4sCiAgIGthbm4gZXMgc2VpbiwgZGFzcyBkaWUgRGF0ZWkgd2luLmluaSBub2NoIG5pY2h0IGV4aXN0aWVydC4gSW4KICAgZGllc2VtIEZhbGwga2FubiBkaWUgRGF0ZWkgbmV1IGFuZ2VsZWd0IHVuZCBkaWUgb2JlbiBnZXplaWd0ZW4KICAgWmVpbGVuIGRvcnQgZWluZ2V0cmFnZW4gd2VyZGVuLiBGYWxscyBkaWUgRGF0ZWkgYmVyZWl0cyB2b3JoYW5kZW4KICAgaXN0LCBt/HNzZW4gZGllIEFic2Nobml0dGUgW2RldmljZXNdIHVuZCBbd2luZG93c10gaW4gZGVyIERhdGVpCiAgIGxva2FsaXNpZXJ0IHVuZCB1bSBkaWUgb2JlbiBnZXplaWd0ZW4gWmVpbGVuIGVyZ+RuenQKICAgd2VyZGVuLiBLZWluZXNmYWxscyBzb2xsdGVuIGRpZSBBYnNjaG5pdHRlIGRldmljZXMgb2RlciB3aW5kb3dzCiAgIG1laHJtYWxzIGluIGRlciBEYXRlaSB2b3JoYW5kZW4gc2Vpbi4KICAgCiAgIERhbWl0IGF1Y2ggdm9uIDMyYml0IFByb2dyYW1tZW4gYXVzIGdlZHJ1Y2t0IHdlcmRlbiBrYW5uLCBpc3QgZXMKICAgbm90d2VuZGlnLCBlaW5pZ2UgRWludHLkZ2UgaW4gZGVyIFJlZ2lzdHJhdHVyIHZvcnp1bmVobWVuLiBEaWVzZQogICBFaW50cuRnZSBzaW5kIGluIGRlciBEYXRlaSBwc2Rydi5yZWcgaW0gVW50ZXJ2ZXJ6ZWljaG5pcwogICBkb2N1bWVudGF0aW9uIGRlcyBXSU5FLVF1ZWxsY29kZXZlcnplaWNobmlzc2VzIHZvcmhhbmRlbiB1bmQgbGFzc2VuCiAgIHNpY2ggbWl0IGRlbSBQcm9ncmFtbSByZWdhcGksIHdlbGNoZXMgc2ljaCBpbSBVbnRlcnZlcnplaWNobmlzCiAgIHByb2dyYW1zL3JlZ2FwaSBkZXMgUXVlbGxjb2RldmVyemVpY2huaXNzZXMgYmVmaW5kZXQsCiAgIGltcG9ydGllcmVuLiBGYWxscyBub2NoIG5pY2h0IGdlc2NoZWhlbiwgaXN0IHJlZ2FwaSBkYXp1IHp1buRjaHN0IHp1CiAgIPxiZXJzZXR6ZW4uIFp1IGRpZXNlbSBad2VjayBpc3QgaW4gZGFzIFZlcnplaWNobmlzIHByb2dyYW1zL3JlZ2FwaQogICB6dSB3ZWNoc2VsbiB1bmQgZG9ydCBkZXIgQmVmZWhsIG1ha2UgZWluenVnZWJlbiAoZGllcyBzZXR6dAogICB2b3JhdXMsIGRhc3MgV0lORSBiZXJlaXRzIGVyZm9sZ3JlaWNoIPxiZXJzZXR6dCB3dXJkZSkuIERhbmFjaAogICBr9m5uZW4gZGllIGVyZm9yZGVybGljaGVuIFNjaGz8c3NlbCBkdXJjaCBkaWUgRWluZ2FiZSBkZXMgZm9sZ2VuZGVuCiAgIEJlZmVobHMgaW1wb3J0aWVydCB3ZXJkZW46CiAgIAogICAuL3JlZ2FwaSBzZXRWYWx1ZSA8IC4uLy4uL2RvY3VtZW50YXRpb24vcHNkcnYucmVnCiAgIAogICBBY2h0dW5nOgogICBCZWkgZGVtIFByb2dyYW1tIHJlZ2FwaSBoYW5kZWx0IGVzIHNpY2ggdW0gZWluIHNvZ2VuYW5udGVzCiAgIFdpbmVMaWItUHJvZ3JhbW0uIFNvbGNoZSBQcm9ncmFtbWUgYmVudXR6ZW4gV0lORSwgdW0KICAgV2luZG93cy1zcGV6aWZpc2NoZSBGdW5rdGlvbmVuIHZlcndlbmRlbiB6dSBr9m5uZW4uIERhbWl0IHNpZQogICBhdXNnZWb8aHJ0IHdlcmRlbiBr9m5uZW4sIG11c3MgYmVyZWl0cyBlaW5lIGZ1bmt0aW9uc2bkaGlnZQogICBXSU5FLUtvbmZpZ3VyYXRpb24gdm9yaGFuZGVuIHNlaW4uIERpZXNlciBTY2hyaXR0IHNvbGx0ZSBhbHNvIG5pY2h0CiAgIGR1cmNoZ2Vm/GhydCB3ZXJkZW4sIGJldm9yIGRpZSBFcnN0ZWxsdW5nIGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgIGFiZ2VzY2hsb3NzZW4gdW5kIGRpZSBGdW5rdGlvbnNm5GhpZ2tlaXQgdm9uIFdJTkUgZ2V0ZXN0ZXQgd29yZGVuCiAgIGlzdC4KICAgCiAgIFdlaXRlciB3aXJkIGVpbmUgc28gZ2VuYW5udGUgUFBELURhdGVpIGJlbvZ0aWd0LiBFaW5lIHNvbGNoZSBEYXRlaQogICBiZXNjaHJlaWJ0IHZlcnNjaGllZGVuZSBFaWdlbnNjaGFmdGVuIGRlcyBEcnVja2VycyB1bmQgd2lyZAogICBiZW72dGlndCwgZGFtaXQgV0lORSBiZWlzcGllbHN3ZWlzZSBlbnRzY2hlaWRlbiBrYW5uLCBvYiBpbiBGYXJiZQogICBvZGVyIGluIFNjaHdhcnotV2Vp3yBnZWRydWNrdCB3ZXJkZW4ga2Fubi4gV2VubiBrZWluCiAgIFBvc3RTY3JpcHQtZuRoaWdlciBEcnVja2VyIGJlbnV0enQgd2lyZCwgZGFubiBiZW72dGlndCBtYW4gZWluZQogICBQUEQtRGF0ZWksIHdlbGNoZSBkaWUgRWlnZW5zY2hhZnRlbiBkZXMgZ2hvc3RzY3JpcHQtVHJlaWJlcnMgZvxyCiAgIGRlbiBlaW5nZXNldHp0ZW4gRHJ1Y2tlciBiZXNjaHJlaWJ0LCB3ZWlsIGRpZXNlcyBQcm9ncmFtbSBpbiBkZXIKICAgUmVnZWwgenVyIFVtd2FuZGx1bmcgdm9uIFBvc3RTY3JpcHQgaW4gZGFzIERydWNrZXJmb3JtYXQgYmVudXR6dAogICB3aXJkLiBNaXQgRGViaWFuIHN0ZWhlbiBzb2xjaGUgRGF0ZWllbiBpbiBkZW0gUGFrZXQgcHBkLWdzIHp1cgogICBWZXJm/Gd1bmcuIFdpcmQgZGllc2VzIFBha2V0IGJlbnV0enQsIHNvbGx0ZSB2b3JoZXIgZGllIERhdGVpCiAgIC91c3IvZG9jL3BwZC1ncy9SRUFETUUgZ2VsZXNlbiB3ZXJkZW4uCiAgIAogICBFaW5lIFJlaWhlIHZvbiBQUEQtRGF0ZWllbiBzdGVoZW4gdW50ZXIgZGVyIEFkcmVzc2UKICAgZnRwOi8vZnRwLmFkb2JlLmNvbS9wdWIvYWRvYmUvcHJpbnRlcmRyaXZlcnMvd2luL2FsbC9wcGRmaWxlcy8genVyCiAgIFZlcmb8Z3VuZy4gSW4gZGVtIFZlcnplaWNobmlzIGJlZmluZGVuIHNpY2ggc2VsYnN0YXVzcGFja2VuZGUKICAgWklQLUFyY2hpdmUsIGRpZSBQUEQtRGF0ZWllbiBm/HIgRHJ1Y2tlciB2ZXJzY2hpZWRlbmVyIEhlcnN0ZWxsZXIKICAgZW50aGFsdGVuLiBEaWVzZSBBcmNoaXZlIGv2bm5lbiBtaXQgZGVtIFByb2dyYW1tIHVuemlwKDEpIGVudHBhY2t0CiAgIHdlcmRlbi4gVW0gYmVpc3BpZWxzd2Vpc2UgZGllIERhdGVpIGhwLmV4ZSBhdXN6dXBhY2tlbiwgd+RyZQogICBmb2xnZW5kZXIgQmVmZWhsIGVpbnp1Z2ViZW46CiAgIAogICB1bnppcCAtTCBocC5leGUKICAgCiAgIERhbmFjaCBpc3QgZGllIGdld/xuc2NodGUgUFBELURhdGVpIGF1c3p1d+RobGVuLCBoaWVyYmVpIG11c3MKICAgdS5VLiBlaW4gd2VuaWcgZXhwZXJpbWVudGllcnQgd2VyZGVuLCB1bSBvcHRpbWFsZSBFcmdlYm5pc3NlIHp1CiAgIGVyemllbGVuLiBEaWUgRGF0ZWkga2FubiBkYW5uIGJlaXNwaWVsc3dlaXNlIGluIGRhcyBWZXJ6ZWljaG5pcwogICAvdXNyL2xvY2FsL2V0Yy8ga29waWVydCB3ZXJkZW4gdW5kIG11c3MgV0lORSBkdXJjaCBkZW4gZm9sZ2VuZGVuCiAgIEVpbnRyYWcgaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgYmVrYW5udCBnZW1hY2h0IHdlcmRlbjoKCiAgIFtwc2Rydl0KICAgInBwZGZpbGUiID0gIi91c3IvbG9jYWwvZXRjL0hQNE0zX1YxLlBQRCIKCiAgIEZhbGxzIHNpY2ggZGllIERhdGVpIGluIGVpbmVtIGFuZGVyZW4gVmVyemVpY2huaXMgYmVmaW5kZXQgb2RlcgogICBlaW5lbiBhbmRlcmVuIE5hbWVuIHRy5Gd0LCBpc3QgZGVyIFdlcnQgZvxyIGRpZSBWYXJpYWJsZSBwcGRmaWxlCiAgIG5hdPxybGljaCBlbnRzcHJlY2hlbmQgYW56dXBhc3Nlbi4KICAgCiAgIFNjaGxpZd9saWNoIGJlbvZ0aWd0IFdJTkUgZGllIEZvbnRtZXRyaWMtRGF0ZWllbiBkZXIgU2NocmlmdGFydGVuLAogICBkaWUgYXVmIGRlbSBEcnVja2VyIChvZGVyIG1pdCBnaG9zdHNjcmlwdCkgenVyIFZlcmb8Z3VuZwogICBzdGVoZW4uIEVpbmUgUmVpaGUgc29sY2hlciBGb250bWV0cmljLURhdGVpZW4gbGFzc2VuIHNpY2ggdW50ZXIKICAgRGViaWFuIGJlaXNwaWVsc3dlaXNlIG1pdCBkZW0gUGFrZXQgdGV0ZXgtZXh0cmEgaW5zdGFsbGllcmVuLiBTaWUKICAgYmVmaW5kZW4gc2ljaCBuYWNoIGRlciBJbnN0YWxsYXRpb24gdW50ZXJoYWxiIGRlcyBWZXJ6ZWljaG5pc3NlcwogICAvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS4gU2llIGhhYmVuIG5vcm1hbGVyd2Vpc2UgZGllCiAgIERhdGVpbmFtZW5zZW5kdW5nIC5hZm0gKEFkb2JlIEZvbnRNZXRyaWMpLiBEaWUgenUgdmVyd2VuZGVuZGVuCiAgIERhdGVpZW4gc2luZCBpbSBBYnNjaG5pdHQgW2FmbWZpbGVzXSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICBhbnp1Z2ViZW4uIERlciBOYW1lIGplZGVyIERhdGVpIGlzdCBkYWJlaSBlaW5lciBWYXJpYWJsZW4KICAgenV6dW9yZG5lbiwgZGVyZW4gTmFtZSBzaWNoIGF1cyBkZXIgWmVpY2hlbmtldHRlIGZpbGUgdW5kIGVpbmVyCiAgIGZvcnRsYXVmZW5kZW4gWmlmZmVyIHp1c2FtbWVuc2V0enQuICBCZWkgZGVyIEF1c3dhaGwgZGVyCiAgIEFGTS1EYXRlaWVuIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBudXIgZGllIERhdGVpZW4gYW5nZWdlYmVuIHdlcmRlbgogICBicmF1Y2hlbiwgZvxyIGRpZSBkZXIgZW50c3ByZWNoZW5kZSBGb250IHRhdHPkY2hsaWNoIGluIGRlciB2b3JoZXIKICAgZGVmaW5pZXJ0ZW4gUFBELURhdGVpIGdlbmFubnQgd3VyZGUuIERpZSBCZXplaWNobnVuZ2VuIGRlciBGb250cwogICBiZWZpbmRlbiBzaWNoIG5vcm1hbGVyd2Vpc2UgaW4gZGVuIEZvbnRtZXRyaWMtRGF0ZWllbiwgZGllIG1pdAogICBlaW5lbSBUZXh0ZWRpdG9yIGJldHJhY2h0ZXQgd2VyZGVuIGv2bm5lbi4gRGVyIEFuZmFuZyBkZXMKICAgZW50c3ByZWNoZW5kZW4gQWJzY2huaXR0cyBpbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBr9m5udGUKICAgYmVpc3BpZWxzd2Vpc2UgZm9sZ2VuZGVybWHfZW4gYXVzc2VoZW46CgogICBbYWZtZmlsZXNdCiAgICJmaWxlMSIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvdGltZXMvcHRtYjhhLmFmbSIKICAgImZpbGUyIiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS90aW1lcy9wdG1iaThhLmFmbSIKICAgImZpbGUzIiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS90aW1lcy9wdG1yOGEuYWZtIgogICAiZmlsZTQiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL3RpbWVzL3B0bXJpOGEuYWZtIgogICAiZmlsZTUiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodmJvOGFuLmFmbSIKICAgImZpbGU2IiA9ICIvdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZiOGEuYWZtIgogICAiZmlsZTciID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodmI4YW4uYWZtIgogICAiZmlsZTgiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodmJvOGEuYWZtIgogICAiZmlsZTkiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodnJvOGFuLmFmbSIKICAgImZpbGUxMCIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2cjhhLmFmbSIKICAgImZpbGUxMSIgPSAiL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2cjhhbi5hZm0iCiAgICJmaWxlMTIiID0gIi91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodnJvOGEuYWZtIgoKICAgQXVjaCBoaWVyIHNpbmQgZGllIERhdGVpbmFtZW4gbmF0/HJsaWNoIGFuIGRpZSB0YXRz5GNobGljaAogICBiZW51dHp0ZW4gRm9udG1ldHJpYy1EYXRlaWVuIGFuenVwYXNzZW4uIERlciBEcnVja2VydHJlaWJlciBzb2xsdGUKICAgZGFubiBhbHMgV0lORSBQb3N0U2NyaXB0RHJpdmVyIGluIGRlbiBEcnVja2RpYWxvZ2VuIGRlcgogICBXaW5kb3dzLUFud2VuZHVuZ2VuIHp1ciBWZXJm/Gd1bmcgc3RlaGVuLgogICAKICA3LjEzIEtvbmZpZ3VyYXRpb24gZGVzIFNwb29sZXJzCiAgCiAgIFN0YW5kYXJkbeTfaWcgd2VyZGVuIERydWNrZGF0ZW4gaW4gZWluZSBEYXRlaSBpbSBha3R1ZWxsZW4KICAgQXJiZWl0c3ZlcnplaWNobmlzIGF1c2dlZ2ViZW4sIGRlcmVuIE5hbWUgZGVyIEJlemVpY2hudW5nIGRlcwogICBEcnVja2VyYW5zY2hsdXNzZXMgdW50ZXIgV2luZG93cywgYXVmIGRlbiBnZWRydWNrdCB3dXJkZSwgZW50c3ByaWNodC4KICAgSW0gQWJzY2huaXR0IFtzcG9vbGVyXSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBs5HNzdCBzaWNoIGRpZSBBdXNnYWJlIGluCiAgIGVpbmUgYW5kZXJlIERhdGVpIHVtbGVua2VuIG9kZXIgYW4gZWluIGFuZGVyZXMgUHJvZ3JhbW0gd2VpdGVybGVpdGVuLgogICBEYXp1IGlzdCBpbiBkZW0gQWJzY2huaXR0IGRlciBOYW1lIGRlcyBBbnNjaGx1c3NlcyBhbHMKICAgVmFyaWFibGVuYmV6ZWljaG51bmcgYW56dWdlYmVuIChCZWlzcGllbDogTFBUMTopIHVuZCBkaWVzZXIgVmFyaWFibGUKICAgZGVyIE5hbWUgZGVyIERhdGVpIHp1IPxiZXJnZWJlbiwgaW4gd2VsY2hlIGRpZSBEcnVja2F1c2dhYmUgZ2VsZW5rdAogICB3ZXJkZW4gc29sbC4gVW0gZGllIEF1c2dhYmUgYW4gZGllIFN0YW5kYXJkZWluZ2FiZSBlaW5lcyBQcm9ncmFtbXMgenUKICAg/GJlcmdlYmVuLCBpc3QgZGVyIE5hbWUgZGVzIGdld/xuc2NodGVuIFByb2dyYW1tcyBoaW50ZXIgZGVtCiAgIFBpcGUtWmVpY2hlbiAofCkgYW56dWdlYmVuLgogICAKICAgV2VubiBhbHNvIGJlaXNwaWVsc3dlaXNlIGRpZSBBdXNnYWJlIGF1ZiBkZW4gQW5zY2hsdXNzIExQVDE6IGFuIGRhcwogICBQcm9ncmFtbSBscHIg/GJlcmdlYmVuIHdlcmRlbiBzb2xsLCB1bSBzaWUgZGVtIFNwb29sZXIgenV6dWb8aHJlbiwKICAgd+RyZSBpbiBkaWUgS29uZmlndXJhdGlvbnNkYXRlaSBmb2xnZW5kZXIgQWJzY2huaXR0IGF1Znp1bmVobWVuOgoKICAgW3Nwb29sZXJdCiAgICJMUFQxOiIgPSAifGxwciIKCgogIDcuMTQgTXVsdGltZWRpYS1Lb25maWd1cmF0aW9uCiAgCiAgIERpZSBNdWx0aW1lZGlhLUFyY2hpdGVrdHVyIHVudGVyIFdpbmRvd3MgYmVzdGVodCBhdXMgdmVyc2NoaWVkZW5lbgogICBUeXBlbiB2b24gVHJlaWJlcm4gdW5kIFNjaG5pdHRzdGVsbGVuLCBkaWUgdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbgogICBiZW51dHp0IHdlcmRlbiBr9m5uZW4uIERpZXNlIEFyY2hpdGVrdHVyIHdpcmQgdm9uIFdJTkUKICAgbmFjaGdlYmlsZGV0LCB3b2JlaSB1bnRlcnNjaGllZGxpY2hlIEJlc3RhbmR0ZWlsZSBtZWhyIG9kZXIgd2VuaWdlcgogICB2b2xsc3TkbmRpZyB2b3JoYW5kZW4gc2luZC4gRWluZSBhdXNm/GhybGljaGUgQmVzY2hyZWlidW5nIGRlcgogICBNdWx0aW1lZGlhLUFyY2hpdGVrdHVyIHZvbiBXSU5FIGJlZmluZGV0IHNpY2ggaW4gZGVyIERhdGVpCiAgIG11bHRpbWVkaWEgaW0gVW50ZXJ2ZXJ6ZWljaG5pcyBkb2N1bWVudGF0aW9uL3N0YXR1cyBkZXMKICAgV0lORS1RdWVsbGNvZGVzLgogICAKICAgV0lORSBzdGVsbHQgZWluZW4gZWlnZW5lbiBUcmVpYmVyIHp1ciBBbnN0ZXVlcnVuZyBkZXIgU291bmRoYXJkd2FyZQogICB6dXIgVmVyZvxndW5nLiBEaWVzZSBBbnN0ZXVlcnVuZyBnZXNjaGllaHQg/GJlciBkaWUgR2Vy5HRlZGF0ZWllbgogICAvZGV2L2RzcCwgL2Rldi9hdWRpbywgL2Rldi9taXhlciB1c3cuIERlc3dlZ2VuIG11c3MgZGFyYXVmIGdlYWNodGV0CiAgIHdlcmRlbiwgZGFzcyBTY2hyZWliLSB1bmQgTGVzZWJlcmVjaHRpZ3VuZyBm/HIgZGllc2UgRGF0ZWllbgogICBiZXN0ZWh0LCBmYWxscyBkaWUgU291bmR1bnRlcnN0/HR6dW5nIHZvbiBXSU5FIGJlbnV0enQgd2VyZGVuCiAgIHNvbGwuIERlciBUcmVpYmVyIHNldHp0IGF1ZiBkaWUgT1NTLSAoT3BlbiBTb3VuZCBTeXN0ZW0pIFRyZWliZXIKICAgYXVmLCBkaWUgc3RhbmRhcmRt5N9pZyBCZXN0YW5kdGVpbCBkZXMgTGludXgtS2VybmVscyBzaW5kLgogICAKICAgQmlzIGF1ZiBkaWUgQmlibGlvdGhla2VuIHdpbm1tIHVuZCBtbXN5c3RlbSBsYXNzZW4gc2ljaCBhbGxlCiAgIGFuZGVyZW4gS29tcG9uZW50ZW4gZGVzIE11bHRpbWVkaWFzeXN0ZW1zIGF1Y2ggYXVzIGVpbmVyCiAgIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHZlcndlbmRlbi4gRGllcyBpc3Qgdm9yIGFsbGVtIGJlaQogICBlaW5pZ2VuIE1DSS1UcmVpYmVybiBoaWxmcmVpY2gsIGRpZSBpbiBXSU5FIG5vY2ggbmljaHQgdm9sbHN05G5kaWcKICAgaW1wbGVtZW50aWVydCBzaW5kLiBNQ0ktVHJlaWJlciB3ZXJkZW4gZ2VsYWRlbiwgd2VubiBpbSBBYnNjaG5pdHQKICAgW21jaV0gZGVyIERhdGVpIHN5c3RlbS5pbmkgaW0gV2luZG93cy1WZXJ6ZWljaG5pcyBBbndlaXN1bmdlbiBpbiBkZXIKICAgZm9sZ2VuZGVuIEZvcm0gc3RlaGVuOgoKICAgW21jaV0KICAgY2RhdWRpbz1tY2ljZGEuZHJ2CiAgIHNlcXVlbmNlcj1tY2lzZXEuZHJ2CgogICBCZWkgVmVyd2VuZHVuZyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBzb2xsdGVuIHNpY2gKICAgZGllIGVudHNwcmVjaGVuZGVuIEFud2Vpc3VuZ2VuIGRvcnQgYmVyZWl0cyBiZWZpbmRlbi4gV2lyZCBvaG5lCiAgIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiBnZWFyYmVpdGV0LCBrYW5uIGRpZSBEYXRlaQogICBzeXN0ZW0uaW5pIGltIFVudGVydmVyemVpY2huaXMgZG9jdW1lbnRhdGlvbi9zYW1wbGVzIGRlcwogICBXSU5FLVF1ZWxsY29kZXZlcnplaWNobmlzc2VzIGFscyBWb3JsYWdlIGRpZW5lbi4gRHVyY2ggZGllIFZhcmlhYmxlCiAgIG1jaSBpbSBBYnNjaG5pdHQgW29wdGlvbnNdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHZvbiBXSU5FIGxhc3NlbgogICBzaWNoIGRpZSBEZWZpbml0aW9uZW4gYXVzIGRlciBEYXRlaSBzeXN0ZW0uaW5pIPxiZXJzY2hyZWliZW4uIERhcwogICBpc3Qgc2lubnZvbGwsIHVtIGJlc3RpbW10ZSBUcmVpYmVyIG5pY2h0IHp1IGxhZGVuLCBkaWUgaW4gZGVyIERhdGVpCiAgIHN5c3RlbS5pbmkgYW5nZWdlYmVuIHNpbmQsIHdlaWwgZGllc2UgVHJlaWJlciBtaXQgV0lORSBuaWNodAogICByaWNodGlnIGZ1bmt0aW9uaWVyZW4uIERpZXMgaXN0IHp1ciBaZWl0IG1pdCBkZW0gTUNJLVRyZWliZXIKICAgdmlkZW9kaXNrIGRlciBGYWxsLiBVbSBhbGxlIE1DSS1UcmVpYmVyIChiaXMgYXVmIHZpZGVvZGlzaykgenUKICAgbGFkZW4sIGv2bm50ZSBpbiBkaWUgS29uZmlndXJhdGlvbnNkYXRlaSBkZXIgYWxzbyBkZXIgZm9sZ2VuZGUKICAgQWJzY2huaXR0IGF1Zmdlbm9tbWVuIHdlcmRlbjoKCiAgIFtvcHRpb25zXQogICAibWNpIiA9ICJDREFVRElPOlNFUVVFTkNFUjpXQVZFQVVESU86QVZJVklERU86TVBFR1ZJREVPIgoKICAgT2IgZWluIFRyZWliZXIgYXVzIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGdlbGFkZW4KICAgb2RlciBkZXIgdm9uIFdJTkUgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdGUgVHJlaWJlciBiZW51dHp0IHdlcmRlbgogICBzb2xsLCBrYW5uIHdpZSBiZWkgQmlibGlvdGhla2VuIGltIEFic2Nobml0dCBEbGxPdmVycmlkZXMgZGVyCiAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZmVzdGdlbGVndCB3ZXJkZW4sIHdpZSBlcyB3ZWl0ZXIgb2JlbgogICBiZXNjaHJpZWJlbiB3dXJkZS4gRGFiZWkgaXN0IHp1IGJlYWNodGVuLCBkYXNzIGRpZQogICBEYXRlaW5hbWVuc2VuZHVuZyAuZHJ2IGJlaSBUcmVpYmVybiAtIGltIEdlZ2Vuc2F0eiB6dSBCaWJsaW90aGVrZW4KICAgLSBtaXQgYW56dWdlYmVuIGlzdC4gVW0gYmVpc3BpZWxzd2Vpc2UgZGllIE1DSS1UcmVpYmVyIG1jaWF2aSB1bmQKICAgbWNpYW5pbSBhdXMgZWluZXIgYmVzdGVoZW5kZW4gSW5zdGFsbGF0aW9uIHp1IGxhZGVuIHVuZCBkaWUg/GJyaWdlbgogICBUcmVpYmVyIHZvbiBXSU5FIHp1IHZlcndlbmRlbiwgd+RyZW4gZGVtIEFic2Nobml0dCBbRGxsT3ZlcnJpZGVzXQogICBkaWUgZm9sZ2VuZGVuIFplaWxlbiB6dXp1ZvxnZW46CgogICAibWNpYXZpLmRydiwgbWNpYW5pbS5kcnYiID0gIm5hdGl2ZSwgYnVpbHRpbiIKICAgIm1jaWNkYS5kcnYsIG1jaXNlcS5kcnYiICA9ICJidWlsdGluLCBuYXRpdmUiCiAgICJtc2FjbS5kcnYsIG1pZGltYXAuZHJ2IiAgPSAiYnVpbHRpbiwgbmF0aXZlIgogICAibWNpd2F2ZS5kcnYiICAgICAgICAgICAgID0gImJ1aWx0aW4sIG5hdGl2ZSIKCgogIDcuMTUgRWlucmljaHRlbiBkZXIgUmVnaXN0cmF0dXIKICAKICAgRWluZSBSZWloZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIHVuZCBXSU5FIHNlbGJzdCBiZW72dGlnZW4KICAgYmVzdGltbXRlIEVpbnRy5GdlIGluIGRlciBSZWdpc3RyYXR1ciwgZGFtaXQgc2llIHJpY2h0aWcKICAgZnVua3Rpb25pZXJlbi4gV2VubiBXSU5FIG9obmUgZWluZSBiZXN0ZWhlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgIGJlbnV0enQgd2lyZCBvZGVyIGRpZSBXaW5kb3dzLVJlZ2lzdHJhdHVyIG5pY2h0IGltcG9ydGllcnQgd2VyZGVuCiAgIHNvbGwsIHNpbmQgZGllc2UgRWludHLkZ2Ugbm9jaCBuaWNodCB2b3JoYW5kZW4gdW5kIG38c3NlbiBtaXQgZGVtCiAgIHdlaXRlciBvYmVuIGJlcmVpdHMgZXJ35GhudGVuIFByb2dyYW1tIHJlZ2FwaSBpbXBvcnRpZXJ0CiAgIHdlcmRlbi4gQWxzIFZvcmxhZ2Uga2FubiBkYXp1IGRpZSBEYXRlaSB3aW5lZGVmYXVsdC5yZWcgaW0KICAgUXVlbGxjb2RldmVyemVpY2huaXMgdm9uIFdJTkUgZGllbmVuLiBEaWUgRGF0ZWkgc29sbHRlIGplZG9jaAogICBkYXJhdWZoaW4g/GJlcnBy/GZ0IHdlcmRlbiwgb2IgYWxsZSBkb3J0IGFuZ2VnZWJlbmVuCiAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gdW5kIFBmYWRlIHN0aW1tZW4sIGJldm9yIHNpZSBpbXBvcnRpZXJ0IHdpcmQuCiAgIEF132VyZGVtIHNvbGx0ZSBpbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBuYXT8cmxpY2ggZmVzdGdlbGVndAogICBzZWluLCBkYXNzIGRpZSBSZWdpc3RyYXR1ciBiZWkgQmVlbmRpZ3VuZyBkZXMgUHJvZ3JhbW1zIGdlc3BlaWNoZXJ0CiAgIHdpcmQsIGRhbWl0IGRpZSBpbXBvcnRpZXJ0ZW4gRGF0ZW4gYXVjaCBiZWltIG7kY2hzdGVuIEF1ZnJ1ZiB2b24KICAgV0lORSB6dXIgVmVyZvxndW5nIHN0ZWhlbi4gRGFuYWNoIGthbm4gaW4gZGFzIFVudGVydmVyemVpY2huaXMKICAgcHJvZ3JhbXMvcmVnYXBpIGRlcyBRdWVsbGNvZGV2ZXJ6ZWljaG5pc3NlcyBnZXdlY2hzZWx0IHdlcmRlbi4gRG9ydAogICBpc3QgZGFzIFByb2dyYW1tIHp1buRjaHN0IGR1cmNoIEVpbmdhYmUgZGVzIEJlZmVobHMgbWFrZSB6dQogICBlcnN0ZWxsZW4sIGZhbGxzIGRpZXMgbm9jaCBuaWNodCBnZXNjaGVoZW4gaXN0LiBEYW5hY2gga/ZubmVuIGRpZQogICBlcmZvcmRlcmxpY2hlbiBEYXRlbiBtaXQgZGVtIGZvbGdlbmRlbiBCZWZlaGwgaW1wb3J0aWVydCB3ZXJkZW46CiAgIAogICAuL3JlZ2FwaSBzZXRWYWx1ZSA8IC4uLy4uL3dpbmVkZWZhdWx0LnJlZwogICAKOCBBdWZydWYgdm9uIFdJTkUgdW5kIEtvbW1hbmRvemVpbGVub3B0aW9uZW4KCiAgIFdJTkUgbORzc3Qgc2ljaCB3aWUgamVkZXMgYW5kZXJlIFByb2dyYW1tIHZvbiBkZXIgS29tbWFuZG96ZWlsZSBhdXMKICAgYXVmcnVmZW4uIERlciBOYW1lIGRlcyBhdXN6dWb8aHJlbmRlbiBXaW5kb3dzLVByb2dyYW1tcyBpc3QgV0lORQogICBkYWJlaSBhbiBkZXIgS29tbWFuZG96ZWlsZSBhbmdlYmVuLiBQcm9ncmFtbWUsIGRpZSBzaWNoIGluIGVpbmVtCiAgIFZlcnplaWNobmlzIGJlZmluZGVuLCBkYXMgaW4gZGVyIFZhcmlhYmxlbiBQYXRoIGltIEFic2Nobml0dCBXSU5FCiAgIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGF1ZmdlZvxocnQgaXN0LCBr9m5uZW4gZGFiZWkgb2huZSBBbmdhYmUKICAgZGVzIFBmYWRuYW1lbnMgYXVmZ2VydWZlbiB3ZXJkZW4uIERpZSBBbmdhYmUgZGVyIERhdGVpbmFtZW5zZW5kdW5nCiAgIC5leGUgaXN0IG9wdGlvbmFsLiBGYWxscyBXSU5FIGFsc28gZ2VzdGFydGV0IHVuZCBkYXMKICAgV2luZG93cy1Qcm9ncmFtbSB3aW5taW5lIChNaW5lc3dlZXBlcikgZ2VsYWRlbiB3ZXJkZW4gc29sbCwgd+RyZQogICBkZXIgZm9sZ2VuZGUgQmVmZWhsIGVpbnp1Z2ViZW4sIHZvcmF1c2dlc2V0enQsIGRpZSBEYXRlaQogICB3aW5taW5lLmV4ZSB3/HJkZSBzaWNoIGluIGVpbmVtIFZlcnplaWNobmlzIGJlZmluZGVuLCB3ZWxjaGVzIGluCiAgIGRlciBWYXJpYWJsZW4gUGF0aCBhdWZnZWb8aHJ0IGlzdC4KICAgCiAgIHdpbmUgd2lubWluZS5leGUKICAgCiAgIFNvbGxlbiBQcm9ncmFtbWUgZ2VzdGFydGV0IHdlcmRlbiwgZGllIHNpY2ggaW4gVmVyemVpY2huaXNzZW4KICAgYmVmaW5kZW4sIHdlbGNoZSBuaWNodCBpbiBkZXIgVmFyaWFibGVuIFBhdGggYmVmaW5kZW4sIGlzdCBlcwogICBlcmZvcmRlcmxpY2gsIGRlbiBQZmFkbmFtZW4gbWl0IGFuenVnZWJlbi4gSGllciBrYW5uIGVudHdlZGVyIGRlcgogICBET1MtL1dpbmRvd3MtUGZhZG5hbWUgb2RlciBkZXIgVU5JWC1QZmFkbmFtZSBiZW51dHp0IHdlcmRlbi4gRGllCiAgIGJlaWRlbiBmb2xnZW5kZW4gQmVmZWhsZSB3/HJkZW4gYWxzbyBkYXMgZ2xlaWNoZSBiZXdpcmtlbiwgZmFsbHMKICAgZGFzIExhdWZ3ZXJrIEM6IGRlbSBVTklYLVZlcnplaWNobmlzIC92YXIvd2lucm9vdCB6dWdlb3JkbmV0IHfkcmUuCgogICB3aW5lIGM6XFx3aW5kb3dzXFx3aW5taW5lLmV4ZQogICB3aW5lIC92YXIvd2lucm9vdC93aW5kb3dzL3dpbm1pbmUuZXhlCgogICBEZXIgUvxja3fkcnRzLVNjaHLkZ3N0cmljaCBoYXQgZvxyIGRpZSBTaGVsbCBCYXNoIGVpbmUgYmVzb25kZXJlCiAgIEJlZGV1dHVuZyB1bmQgd2lyZCBkZXN3ZWdlbiBub3JtYWxlcndlaXNlIG5pY2h0IGFuIFdJTkUKICAg/GJlcmdlYmVuLiBEdXJjaCBkaWUgZG9wcGVsdGUgQW5nYWJlIGRpZXNlcyBaZWljaGVucyB3aXJkIGJld2lya3QsCiAgIGRhc3MgZWluIGVpbmZhY2hlciBTY2hy5GdzdHJpY2gg/GJlcmdlYmVuIHdpcmQuIERhdGVpLSB1bmQKICAgVmVyemVpY2huaXNuYW1lbiBlbnRoYWx0ZW4gdW50ZXIgV2luZG93cyBnZWxlZ2VudGxpY2gKICAgTGVlcnplaWNoZW4uIEF1Y2ggaGllciBpc3QgZXMgbm90d2VuZGlnIGVpbmVuIFRyaWNrIGFuenV3ZW5kZW4sCiAgIGRhbWl0IGRpZSBMZWVyemVpY2hlbiBuaWNodCBkYXp1IGb8aHJlbiwgZGFzcyBkaWUgU2hlbGwgZGllCiAgIGVpbnplbG5lbiBUZWlsZSBkZXIgTmFtZW4gaW4gdmVyc2NoaWVkZW5lbiBBcmd1bWVudGUgemVybGVndC4gRGVyCiAgIGZvbGdlbmRlIEJlZmVobCB3/HJkZSBiZWlzcGllbHN3ZWlzZSBuaWNodCB6dW0gZ2V3/G5zY2h0ZW4gRXJnZWJuaXMKICAgZvxocmVuOgogICAKICAgd2luZSAvdmFyL3dpbnJvb3QvUHJvZ3JhbW1lL01pY3Jvc29mdCBHYW1lcy9Sb0EgVHJpYWwgVmVyc2lvbi9QQUNERU1PLkVYRQogICAKICAgSGllciB3/HJkZSBkaWUgU2hlbGwgV0lORSB2aWVyIEFyZ3VtZW50ZSD8YmVyZ2ViZW4sIG7kbWxpY2gKICAgL3Zhci93aW5yb290L1Byb2dyYW1tZS9NaWNyb3NvZnQsIEdhbWVzL1JvQSwgVHJpYWwgdW5kCiAgIFZlcnNpb24vUEFDREVNTy5FWEUsIHdvcmF1ZmhpbiBkYXMgenUgc3RhcnRlbmRlIFByb2dyYW1tIG5pY2h0IG1laHIKICAgZ2VmdW5kZW4gd2VyZGVuIHf8cmRlLiBEYW1pdCBkaWUgU2hlbGwgYmVpIExlZXJ6ZWljaGVuIGtlaW5lCiAgIFRyZW5udW5nIGR1cmNoZvxocnQsIGlzdCBkZW4gYmV0cmVmZmVuZGVuIExlZXJ6ZWljaGVuIGViZW5mYWxscyBlaW4KICAgcvxja3fkcnRzZ2VyaWNodGV0ZXIgU2NocuRnc3RyaWNoIHZvcmFuenVzdGVsbGVuOgogICAKICAgd2luZSAvdmFyL3dpbnJvb3QvUHJvZ3JhbW1lL01pY3Jvc29mdFwgR2FtZXMvUm9BXCBUcmlhbFwgVmVyc2lvbi9QQUNERU1PLkVYRQogICAKICAgRmFsbHMgQXJndW1lbnRlIGRlbSB6dSBzdGFydGVuZGVuIFdpbmRvd3MtUHJvZ3JhbW1lbiD8YmVyZ2ViZW4KICAgd2VyZGVuIHNvbGxlbiwgaXN0IGRlbSBQcm9ncmFtbW5hbWVuIGVpbiAtLSB2b3Jhbnp1c3RlbGxlbiwgdW0gV2luZQogICBkYXMgRW5kZSBkZXIgV2luZS1PcHRpb25lbiBhbnp1emVpZ2VuIChkYW1pdCBXaW5lIG5pY2h0IGR1cmNoIFByb2dyYW1tLQogICBPcHRpb25lbiB2ZXJ3aXJydCB3ZXJkZW4ga2FubiwgZGllIGV2dC4gZWJlbmZhbGxzIC0tWFhYIGhlaXNzZW4pLgogICBVbSBiZWlzcGllbHN3ZWlzZSBkYXMgUHJvZ3JhbW0gbm90ZXBhZC5leGUgenUgc3RhcnRlbiB1bmQgZGllc2VtIFByb2dyYW1tCiAgIGRhcyBBcmd1bWVudCByZWFkbWUuMXN0IHp1IPxiZXJnZWJlbiwgd+RyZSBXSU5FIHNvIGF1Znp1cnVmZW46CiAgIAogICB3aW5lIC0tIG5vdGVwYWQgcmVhZG1lLjFzdAogICAKICAgV2VubiBtZWhyZXJlIFdpbmRvd3MtUHJvZ3JhbW1lIGhpbnRlcmVpbmFuZGVyIGdlc3RhcnRldCB3ZXJkZW4gc29sbGVuLAogICBtdXNzIFdJTkUgbWVocm1hbHMgaGludGVyZWluYW5kZXIgbWl0IGRlbiBlbnRzcHJlY2hlbmRlbiBQcm9ncmFtbW5hbWVuCiAgIGFscyBBcmd1bWVudCBhdWZnZXJ1ZmVuIHdlcmRlbi4KICAgCiAgOC4xIEtvbW1hbmRvemVpbGVub3B0aW9uZW4KICAKICAgTmViZW4gZGVuIE5hbWVuIGRlciB6dSBzdGFydGVuZGVuIFByb2dyYW1tZSB2ZXJzdGVodCBXSU5FIGVpbmUgUmVpaGUKICAgdm9uIE9wdGlvbmVuLCBtaXQgZGVuZW4gZGllIE9wZXJhdGlvbiBkZXMgUHJvZ3JhbW1zIGdsb2JhbCBiZWVpbmZsdXNzdAogICB3ZXJkZW4ga2Fubi4gRGllc2UgT3B0aW9uZW4gd2VyZGVuIGRpcmVrdCB2b24gV0lORSBpbnRlcnByZXRpZXJ0CiAgIHVuZCBuaWNodCBhbiBkYXMgYXVmenVydWZlbmRlIFdpbmRvd3MtUHJvZ3JhbW0g/GJlcmdlYmVuLgogICAKICAgLS1tYW5hZ2VkCiAgICAgICAgICBTdGFuZGFyZG3k32lnIGxhdWZlbiBXaW5kb3dzLVByb2dyYW1tZSBtaXQgV0lORSB1bmFiaORuZ2lnCiAgICAgICAgICB2b20gZWluZ2VzZXR6dGVuIFdpbmRvd3MtTWFuYWdlci4gRGllcyBrYW5uIHp1IFByb2JsZW1lbiBiZWkKICAgICAgICAgIGRlciBnbGVpY2h6ZWl0aWdlbiBWZXJ3ZW5kdW5nIG5vcm1hbGVyIFggUHJvZ3JhbW1lIHVuZCB2b24KICAgICAgICAgIFdpbmRvd3MtUHJvZ3JhbW1lbiBm/GhyZW4uIER1cmNoIFZlcndlbmR1bmcgZGVyIE9wdGlvbgogICAgICAgICAgLS1tYW5hZ2VkIHdlcmRlbiBhdWNoIFdpbmRvd3MtUHJvZ3JhbW1lIHZvbSBXaW5kb3ctTWFuYWdlcgogICAgICAgICAgdmVyd2FsdGV0LCBzaWUgZXJoYWx0ZW4gZGFubiBkaWUgZ2xlaWNoZW4gVmVyemllcnVuZ2VuIHdpZQogICAgICAgICAgbm9ybWFsZSBYIFByb2dyYW1tZSAoc2llaGUgYXVjaCBBYnNjaG5pdHQgNy41KQogICAgICAgICAgCiAgIC0td2ludmVyIFZlcnNpb24KICAgICAgICAgIFZpZWxlIFdpbmRvd3MtUHJvZ3JhbW1lIGZ1bmt0aW9uaWVyZW4gbnVyIG1pdCBiZXN0aW1tdGVuCiAgICAgICAgICBWZXJzaW9uZW4gdm9uIFdpbmRvd3Mgb2RlciB2ZXJoYWx0ZW4gc2ljaCB1bnRlcnNjaGllZGxpY2gsCiAgICAgICAgICBqZSBuYWNoZGVtIG1pdCB3ZWxjaGVyIFZlcnNpb24gdm9uIFdpbmRvd3Mgc2llIGF1c2dlZvxocnQKICAgICAgICAgIHdlcmRlbi4gIERpZXNlciBQYXJhbWV0ZXIgZGllbnQgZGF6dSwgV0lORSBhbnp1d2Vpc2VuLCBhbHMKICAgICAgICAgIHdlbGNoZSBXaW5kb3dzLVZlcnNpb24gZXMgc2ljaCBhdXNnZWJlbiBzb2xsLCB3ZW5uIFByb2dyYW1tZQogICAgICAgICAgZGllcyBlcmZyYWdlbi4gU3RhbmRhcmRt5N9pZyB2ZXJzdWNodCBXSU5FIHNlbGJzdAogICAgICAgICAgaGVyYXVzenVmaW5kZW4sIHdlbGNoZSBWZXJzaW9uIHZvbiBlaW5lbSBiZXN0aW1tdGVuIFByb2dyYW1tCiAgICAgICAgICBlcndhcnRldCB3aXJkLiBNaXQgVmVyc2lvbiBrYW5uIGZvbGdlbmRlcyBhbmdlZ2ViZW4gd2VyZGVuOgogICAgICAgICAgd2luMzEgKFdpbmRvd3MgMy4xKSwgd2luOTUgKFdpbmRvd3MgOTUpLCB3aW45OCAoV2luZG93cyA5OCksCiAgICAgICAgICBudDM1MSAoV2luZG93cyBOVCAzLjUxKSBvZGVyIG50NDAgKFdpbmRvd3MgTlQgNC4wKS4gSW0KICAgICAgICAgIFp3ZWlmZWxzZmFsbCBlbXBmaWVobHQgc2ljaCB3aW45NSwgd2VpbCBXSU5FIHp1ciBaZWl0IGRpZQogICAgICAgICAgbWVpc3RlbiBHZW1laW5zYW1rZWl0ZW4gbWl0IGRpZXNlciBXaW5kb3dzLVZlcnNpb24KICAgICAgICAgIGF1ZndlaXN0LiBCZWlzcGllbDogLS13aW52ZXIgd2luOTUuCiAgICAgICAgICAKICAgLS1kb3N2ZXIgVmVyc2lvbgogICAgICAgICAgV2VubiBET1MtUHJvZ3JhbW1lIG1pdCBXaW5kb3dzIGF1c2dlZvxocnQgd2VyZGVuLCBlcndhcnRlbgogICAgICAgICAgZGllc2UgZ2VsZWdlbnRsaWNoIGVpbmUgYmVzdGltbXRlIFZlcnNpb24gdm9uIE1TLURPUy4gRGF6dQogICAgICAgICAgaXN0IG1pdCBkZW0gUGFyYW1ldGVyIC0tZG9zdmVyIGRpZSBnZXf8bnNjaHRlIFZlcnNpb24sIGluCiAgICAgICAgICBkZXIgRm9ybSB4Lnh4IGFuenVnZWJlbi4gQmVpc3BpZWw6IC0tZG9zdmVyIDcuMTAgKGRpZXNlCiAgICAgICAgICBWZXJzaW9uIGVudHNwcmljaHQgV2luZG93cyA5NWIpLgogICAgICAgICAgCiAgIC0taGVscAogICAgICAgICAgRGllIE9wdGlvbiBiZXdpcmt0LCBkYXNzIGVpbmUg3GJlcnNpY2h0IPxiZXIgZGllIHZlcmb8Z2JhcmVuCiAgICAgICAgICBPcHRpb25lbiBhdXNnZWdlYmVuIHdpcmQuCiAgICAgICAgICAKICAgLS12ZXJzaW9uCiAgICAgICAgICBEaWUgT3B0aW9uIGJld2lya3QsIGRhc3MgZGllIFZlcnNpb25zbnVtbWVyIHZvbiBXSU5FCiAgICAgICAgICBhbmdlemVpZ3Qgd2lyZC4KICAgICAgICAgIAogICAtLWRsbCBCaWJsaW90aGVrWyxCaWJsaW90aGVrIC4uLl09YnxuWzpCaWJsaW90aGVrWyxCaWJsaW90aGVrLC4uLl09YnxuXQogICAgICAgICAgTWl0IGRpZXNlciBPcHRpb24gbGFzc2VuIHNpY2ggZGllIEVpbnN0ZWxsdW5nZW4gYXVzIGRlbQogICAgICAgICAgQWJzY2huaXR0IFtEbGxPdmVycmlkZXNdIGF1cyBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICAgICAgICAg/GJlcnNjaHJlaWJlbiwgZXMga2FubiBhbHNvIGFuZ2VnZWJlbiB3ZXJkZW0sIHdlbGNoZQogICAgICAgICAgQmlibGlvdGhla2VuIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbgogICAgICAgICAgZ2VsYWRlbiB1bmQgd2VsY2hlIGRpcmVrdCB2b24gV0lORSB6dSBWZXJm/Gd1bmcgZ2VzdGVsbHQKICAgICAgICAgIHdlcmRlbiBzb2xsZW4uICBEZXIgT3B0aW9uIGlzdCBlaW4gQXVzZHJ1Y2sgenUg/GJlcmdlYmVuLAogICAgICAgICAgd2VsY2hlciBhdXMgZGVuIE5hbWVuIGRlciBiZXRyZWZmZW5kZW4gQmlibGlvdGhla2VuIGJlc3RlaHQsCiAgICAgICAgICBkaWUgZHVyY2ggS29tbWF0YSAob2huZSBMZWVyemVpY2hlbikgdm9uZWluYW5kZXIgZ2V0cmVubnQKICAgICAgICAgIHdlcmRlbi4gRGFuYWNoIGZvbGd0IGVpbiBHbGVpY2hoZWl0c3plaWNoZW4gdW5kIGRhcmF1ZmhpbgogICAgICAgICAgZW50d2VkZXIgZGVyIEJ1Y2hzdGFiZSBiLCB1bSB6dSBiZXN0aW1tZW4sIGRhc3MgZGllCiAgICAgICAgICBhbmdlZ2ViZW5lbiBCaWJsaW90aGVrZW4gdm9uIFdJTkUgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdAogICAgICAgICAgd2VyZGVuIHNvbGxlbiwgb2RlciBkZXIgQnVjaHN0YWJlIG4sIGRhbWl0IHZlcnN1Y2h0IHdpcmQsCiAgICAgICAgICBkaWUgQmlibGlvdGhla2VuIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24genUKICAgICAgICAgIGxhZGVuLiBTb2xjaGUgQXVzZHJ1Y2tlIGv2bm5lbiB3aWVkZXJob2x0IGFuZ2VnZWJlbiB3ZXJkZW4sCiAgICAgICAgICBzaWUgc2luZCBkYW5uIGR1cmNoIGVpbmVuIERvcHBlbHB1bmt0IChvaG5lIExlZXJ6ZWljaGVuKQogICAgICAgICAgdm9uZWluYW5kZXIgenUgdHJlbm5lbi4gU29sbGVuIGJlaXNwaWVsc3dlaXNlIGRpZQogICAgICAgICAgQmlibGlvdGhla2VuIHNoZWxsLCBjb21tZGxnIHVuZCBjb21tY3RybCBtaXQgaWhyZW4KICAgICAgICAgIHp1Z2Vo9nJpZ2VuIDMyYml0IEJpYmxpb3RoZWtlbiBhdXMgZWluZXIgYmVzdGVoZW5kZW4KICAgICAgICAgIEluc3RhbGxhdGlvbiBnZWxhZGVuIHdlcmRlbiB1bmQgZGllIEJpYmxpb3RoZWsgYWR2YXBpMzIgdm9uCiAgICAgICAgICBXSU5FIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQgd2VyZGVuLCBvYndvaGwgZGllcyBpbiBkZXIKICAgICAgICAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgYW5kZXJzIGFuZ2VnZWJlbiBpc3QsIHNvIGv2bm50ZSBtYW4gZGllCiAgICAgICAgICBPcHRpb24gc28gZWluc2V0emVuOgoKICAgICAgICAgIC0tZGxsIGNvbW1kbGcsY29tZGxnMzIsY29tbWN0cmwsY29tY3RsMzIsc2hlbGwsc2hlbGwzMj1uOmFkdmFwaTMyPWIuCiAgICAgICAgICAKICAgLS1kZWJ1Z21zZyArfC1mb28sK3wtYmFyCiAgICAgICAgICBEaWVzZSBPcHRpb24gZGllbnQgZGF6dSwgenUga29udHJvbGxpZXJlbiwgd2VsY2hlIEFydCB2b24KICAgICAgICAgIEluZm9ybWF0aW9uZW4gV0lORSB6dXIgRmVobGVyLSB1bmQgQWJsYXVmdmVyZm9sZ3VuZyBhdXNnZWJlbgogICAgICAgICAgc29sbC4gRXMgc3RlaGVuIGVpbmUgUmVpaGUgc28gZ2VuYW5udGVyIEthbuRsZSB6dXIgVmVyZvxndW5nLAogICAgICAgICAgZGVyZW4gTmFtZW4gYW5nZXplaWd0IHdlcmRlbiwgd2VubiBkaWUgT3B0aW9uIG9obmUgd2VpdGVyZSBBbmdhYmVuCiAgICAgICAgICBiZW51dHp0IHdpcmQuIERpZSBlaW56ZWxuZW4gS2Fu5GxlIGVudHNwcmVjaGVuIG5vcm1hbGVyd2Vpc2UKICAgICAgICAgIHVudGVyc2NoaWVkbGljaGVuIFRlaWxiZXJlaWNoZW4gdm9uIFdJTkUsIGRlcmVuIFZlcmhhbHRlbiBkdXJjaAogICAgICAgICAgZGllIEF1c2dhYmUgYmVzdGltbXRlciBJbmZvcm1hdGlvbmVuIPxiZXJwcvxmdCB3ZXJkZW4ga2Fubi4gVW0KICAgICAgICAgIGJlaXNwaWVsc3dlaXNlIGRpZSBNZWxkdW5nZW4gZvxyIGRlbiBLYW5hbCBmaWxlIGVpbnp1c2NoYWx0ZW4sCiAgICAgICAgICB35HJlIGRpZSBPcHRpb24gLS1kZWJ1Z21zZyArZmlsZSB6dSBiZW51dHplbi4gV2VubiBkaWUKICAgICAgICAgIE1lbGR1bmdlbiBkZXIgS2Fu5GxlIGZpbGUgdW5kIGRvc2ZzIGF1c2dlZ2ViZW4gd2VyZGVuIHNvbGxlbiwKICAgICAgICAgIHfkcmUgLS1kZWJ1Z21zZyArZmlsZSwrZG9zZnMgYW56dWdlYmVuLiBXZWl0ZXJlIEluZm9ybWF0aW9uZW4KICAgICAgICAgIGhpZXJ6dSBiZWZpbmRlbiBzaWNoIGluIGRlciBEYXRlaSBkZWJ1Zy1tc2cgaW0gVW50ZXJ2ZXJ6ZWljaG5pcwogICAgICAgICAgZG9jdW1lbnRhdGlvbiBkZXMgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3Nlcy4gWndlaSBiZXNvbmRlcnMKICAgICAgICAgIHdpY2h0aWdlIEthbuRsZSBzaW5kIHJlbGF5IHVuZCBzbm9vcC4gV2VubiBkZXIgS2FuYWwgcmVsYXkKICAgICAgICAgIGVpbmdlc2NoYWx0ZXQgaXN0LCB3aXJkIGF1c2dlZ2ViZW4sIHdlbGNoZSBGdW5rdGlvbmVuIGluIFdJTkUKICAgICAgICAgIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gbWl0IHdlbGNoZW4gUGFyYW1ldGVybiBhdWZnZXJ1ZmVuIHdlcmRlbgogICAgICAgICAgdW5kIHdlbGNoZSBS/GNra2VocndlcnRlIGRpZXNlIEZ1bmt0aW9uZW4gbGllZmVybi4gRGVyIEthbmFsCiAgICAgICAgICBzbm9vcCB6ZWlndCBhbiwgd2VsY2hlIEZ1bmt0aW9uZW4gYXVzIGVjaHRlbgogICAgICAgICAgV2luZG93cy1CaWJsaW90aGVrZW4gYXVmZ2VydWZlbiB3ZXJkZW4uIERpZSBBdXNnYWJlIGRlcyBLYW5hbHMKICAgICAgICAgIHJlbGF5IGRpZW50IFdJTkUtRW50d2lja2xlcm4gb2Z0IGRhenUsIGZlc3R6dXN0ZWxsZW4sIHdvIGVpbgogICAgICAgICAgRmVobGVyIGF1ZmdldHJldGVuIGlzdC4gRGVzd2VnZW4gaXN0IGVzIHJhdHNhbSwgYmVpCiAgICAgICAgICBGZWhsZXJiZXJpY2h0ZW4gaW4gZGllIFdJTkUtTmV3c2dyb3VwIGRpZSBsZXR6dGVuIDIwMCBaZWlsZW4KICAgICAgICAgIGRlciBBdXNnYWJlIHZvbiBXSU5FIG1pdHp1c2NoaWNrZW4sIGRpZSBiZWkgZGVtIEF1ZnJ1ZiBkZXMKICAgICAgICAgIFByb2dyYW1tcyBtaXQgZGVyIE9wdGlvbiAtLWRlYnVnbXNnICtyZWxheSB2b3IgQXVmdHJldGVuIGRlcwogICAgICAgICAgRmVobGVycyBlbnRzdGFuZGVuIHNpbmQuCiAgICAgICAgICAKOSBGZWhsZXJxdWVsbGVuCgogICBXSU5FIGJlZmluZGV0IHNpY2ggenVyIFplaXQgbm9jaCBtaXR0ZW4gaW4gZGVyIEVudHdpY2tsdW5nLCB3ZXN3ZWdlbgogICB2aWVsZSBXaW5kb3dzLVByb2dyYW1tZSBudXIgdGVpbHdlaXNlIG9kZXIg/GJlcmhhdXB0IG5pY2h0IGRhbWl0CiAgIGZ1bmt0aW9uaWVyZW4uIE1pdCBncm/fZXIgV2FocnNjaGVpbmxpY2hrZWl0IHdlcmRlbiBlaW5pZ2UgUHJvZ3JhbW1lCiAgIHNvZ2FyIG5pZSBtaXQgV0lORSBmdW5rdGlvbmllcmVuLCBiZWlzcGllbHN3ZWlzZSB3ZWlsIHNpZSBlaWdlbmUKICAgV2luZG93cy1UcmVpYmVyIGJyYXVjaGVuLCBkaWUgdW50ZXIgTGludXggbmljaHQgZ2VsYWRlbiB3ZXJkZW4ga/ZubmVuLgogICBUcm90emRlbSBmdW5rdGlvbmllcmVuIHZpZWxlIFdpbmRvd3MtUHJvZ3JhbW1lIGF1c2dlc3Byb2NoZW4gZ3V0IG1pdAogICBXSU5FIHVuZCBkaWUgQW56YWhsIGZ1bmt0aW9uaWVyZW5kZXIgUHJvZ3JhbW1lIGVyaPZodCBzaWNoIHJlbGF0aXYKICAgc2NobmVsbC4gV2VubiBlaW4gUHJvZ3JhbW0gbmljaHQgd2llIGdld/xuc2NodCBmdW5rdGlvbmllcnQsIGthbm4gZXMKICAgZGVzd2VnZW4gaGlsZnJlaWNoIHNlaW4sIGRpZSBmb2xnZW5kZW4gRnJhZ2VuIHp1IHVudGVyc3VjaGVuOgogICAKICAgV0lORSBmdW5rdGlvbmllcnQg/GJlcmhhdXB0IG5pY2h0CiAgICAgICAgICBJbiBiZXN0aW1tdGVuIFBha2V0dmVyc2lvbmVuIGRlciBDLUJpYmxpb3RoZWsgKFZlcnNpb24KICAgICAgICAgIDIuMS4zKSBsaWVndCBlaW4gRmVobGVyIHZvciwgZGVyIGRhenUgZvxocnQsIGRhc3MgV0lORQogICAgICAgICAgZGlyZWt0IG5hY2ggZGVtIFN0YXJ0IG1pdCBGZWhsZXJtZWxkdW5nZW4gYWJicmljaHQuIFNpZQogICAgICAgICAga/ZubmVuIGRhcyBQcm9ibGVtIGJlaGViZW4sIGluZGVtIFNpZSBlaW5lIG5ldWVyZSBWZXJzaW9uCiAgICAgICAgICBkZXIgQy1CaWJsaW90aGVrIGluc3RhbGxpZXJlbiBvZGVyIGRpZSBWYXJpYWJsZSBMQU5HIGF1ZgogICAgICAgICAgZWluZW4gV2VydCBzZXR6ZW4uIEJlaSBWZXJ3ZW5kdW5nIGRlciBCYXNoIGthbm4gZGllcwogICAgICAgICAgYmVpc3BpZWxzd2Vpc2UgZHVyY2ggRWluZ2FiZSBkZXMgZm9sZ2VuZGVuIEJlZmVobHMKICAgICAgICAgIGdlc2NoZWhlbjogZXhwb3J0IExBTkc9ZGVfREUuCiAgICAgICAgICAKICAgV0lORSBmdW5rdGlvbmllcnQgaW1tZXIgbm9jaCBuaWNodAogICAgICAgICAgV2VubiBTaWUgV0lORSBhdWYgZGllIGJlc2NocmllYmVuZSBBcnQgaW5zdGFsbGllcnQgaGFiZW4sCiAgICAgICAgICBzb2xsdGVuIFNpZSD8YmVycHL8ZmVuLCBkYXNzIHNpY2ggbmljaHQgZ2xlaWNoemVpdGlnIG5vY2gKICAgICAgICAgIGVpbmUgYW5kZXJlLCDkbHRlcmUgVmVyc2lvbiBkZXMgUHJvZ3JhbW1zIGF1ZiBkZW0gUmVjaG5lcgogICAgICAgICAgYmVmaW5kZXQsIHdlbGNoZXMgdS5VLiB2b24gSWhyZXIgRGlzdHJpYnV0aW9uIG1pdGluc3RhbGxpZXJ0CiAgICAgICAgICB3dXJkZS4gRGllcyBr9m5udGUgbuRtbGljaCBkYXp1IGb8aHJlbiwgZGFzcyB2ZXJzdWNodCB3aXJkLAogICAgICAgICAgaW5rb21wYXRpYmxlIEJpYmxpb3RoZWtlbiB6dSBsYWRlbi4KICAgICAgICAgIAogICBXaW5kb3dzLSB1bmQgV2luZG93cy9zeXN0ZW0tVmVyemVpY2huaXMgc2luZCBuaWNodCByaWNodGlnIGFuZ2VnZWJlbgogICAgICAgICAgRGllIE1lbGR1bmcgSW52YWxpZCBwYXRoICdjOlx3aW5kb3dzJyBmb3Igd2luZG93cyBkaXJlY3RvcnkKICAgICAgICAgIGJlc2FndCwgZGFzcyBpbSBBYnNjaG5pdHQgV0lORSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBtaXQKICAgICAgICAgIGRlciBWYXJpYWJsZW4gV2luZG93cyBlaW4gV2luZG93cy1WZXJ6ZWljaG5pcyBhbmdlZ2ViZW4KICAgICAgICAgIHd1cmRlLCB3ZWxjaGVzIG5pY2h0IGV4aXN0aWVydC4gRXMgaXN0IGRhbm4genUg/GJlcnBy/GZlbiwKICAgICAgICAgIG9iIGRhcyBXaW5kb3dzLVZlcnplaWNobmlzIHZvcmhhbmRlbiBpc3QgdW5kIG9iIGRhcwogICAgICAgICAgTGF1ZndlcmssIGF1ZiBkZW0gZXMgc2ljaCBiZWZpbmRldCwgZGVtIHJpY2h0aWdlbgogICAgICAgICAgVU5JWC1WZXJ6ZWljaG5pcyB6dWdlb3JkbmV0IGlzdC4KICAgICAgICAgIAogICBEaWUgWnVvcmRudW5nZW4gZGVyIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gc3RpbW1lbiBuaWNodAogICAgICAgICAgV2VubiBiZWltIFN0YXJ0IHZvbiBXSU5FIE1lbGR1bmdlbiB3aWUgV2FybmluZzoKICAgICAgICAgIC92YXIvd2lucm9vdC93aW5kb3dzL3NvbC5leGUgbm90IGFjY2Vzc2libGUgZnJvbSBhIERPUyBkcml2ZQogICAgICAgICAgYXVzZ2VnZWJlbiB3ZXJkZW4sIHRlaWx0IFdJTkUgbWl0LCBkYXNzIGRhcyBhdXN6dWb8aHJlbmRlCiAgICAgICAgICBQcm9ncmFtbSBzaWNoIGluIGVpbmVtIFZlcnplaWNobmlzIGJlZmluZGV0LCBkYXMgYXVmZ3J1bmQKICAgICAgICAgIGRlciBadW9yZG51bmdlbiBpbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBtaXQga2VpbmVtCiAgICAgICAgICBMYXVmd2VyayBhc3NvemlpZXJ0IGlzdC4gRXMgc29sbHRlbiBkYW5uIGRpZQogICAgICAgICAgTGF1ZndlcmtzenVvcmRudW5nZW4g/GJlcnBy/GZ0IHdlcmRlbi4KICAgICAgICAgIAogICBXaW5kb3dzLVByb2dyYW1tZSBmaW5kZW4gRWluc3RlbGx1bmdlbiB1bmQgQmlibGlvdGhla2VuIG5pY2h0CiAgICAgICAgICBXZW5uIFdJTkUgbWl0IGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQKICAgICAgICAgIHdpcmQsIGlzdCBlcyBlcmZvcmRlcmxpY2gsIGRhc3MgZGllIExhdWZ3ZXJrc2J1Y2hzdGFiZW4KICAgICAgICAgIHVudGVyIFdpbmRvd3MgdW5kIFdJTkUg/GJlcmVpbnN0aW1tZW4uIEZhbGxzIGVpbiBQcm9ncmFtbQogICAgICAgICAgbuRtbGljaCBiZWlzcGllbHN3ZWlzZSBpbiBkZXIgUmVnaXN0cmF0dXIgZ2VzcGVpY2hlcnQgaGF0LAogICAgICAgICAgZGFzcyBzaWNoIGVpbmUgYmVzdGltbXRlIEtvbXBvbmVudGUgaW0gVmVyemVpY2huaXMKICAgICAgICAgIEM6XFdpbmRvd3NcU3lzdGVtIGJlZmluZGV0LCBkYW5uIGlzdCBlcyBlcmZvcmRlcmxpY2gsIGRhc3MKICAgICAgICAgIGRpZXNlcyBQcm9ncmFtbSBkaWUgS29tcG9uZW50ZSBhdWNoIHVudGVyIFdJTkUgaW4gZGVtIHNlbGJlbgogICAgICAgICAgVmVyemVpY2huaXMgZmluZGV0LiBFcyBpc3QgamVkb2NoIG32Z2xpY2ggbWl0IFdJTkUKICAgICAgICAgIHp1c+R0emxpY2hlIExhdWZ3ZXJrZSB6dSB2ZXJ3ZW5kZW4gKGFsc28gei5CLiBkYXMgZWlnZW5lCiAgICAgICAgICBIZWltYXR2ZXJ6ZWljaG5pcyBlaW5lbSBMYXVmd2Vya3NidWNoc3RhYmVuIHp1enVvcmRuZW4pLCBkaWUKICAgICAgICAgIHVudGVyIFdpbmRvd3MgbmljaHQgdm9yaGFuZGVuIHNpbmQuCiAgICAgICAgICAKICAgU3BpZWxlIHdlcmRlbiBpbSBGZW5zdGVyIGRhcmdlc3RlbGx0LCBvYndvaGwgVm9sbGJpbGQgYXVzZ2V35GhsdCB3dXJkZQogICB1bmQgc2luZCB6dSBsYW5nc2FtCgogICAgICAgICAgRGllIG1laXN0ZW4gU3BpZWxlIGJlbnV0emVuIGVpbmVuIGJlc3RpbW10ZSBGYXJidGllZmUsIGluCiAgICAgICAgICBkaWUgV2luZG93cyB1bXNjaGFsdGV0LCB3ZW5uIGRhcyBiZXRyZWZmZW5kZSBTcGllbCBnZXN0YXJ0ZXQKICAgICAgICAgIHdpcmQuICBNaXQgZGVtIFggV2luZG93IFN5c3RlbSBpc3QgZXMgbGVpZGVyIG5pY2h0IG32Z2xpY2gKICAgICAgICAgIGRpZSBGYXJidGllZmUgd+RocmVuZCBkZXMgbGF1ZmVuZGVuIEJldHJpZWJzIHp1IORuZGVybiwKICAgICAgICAgIHdlc3dlZ2VuIFdJTkUgZGllIGdld/xuc2NodGUgRmFyYnRpZWZlIGluIGVpbmVtIEZlbnN0ZXIKICAgICAgICAgIGVtdWxpZXJlbiBtdXNzLCBmYWxscyBkZXIgWC1TZXJ2ZXIgbmljaHQgaW4gZGVyIHJpY2h0aWdlbgogICAgICAgICAgRmFyYnRpZWZlIGzkdWZ0LiAgRGFkdXJjaCB3aXJkIHNlaHIgdmllbCBSZWNoZW5sZWlzdHVuZwogICAgICAgICAgYmVu9nRpZ3QgdW5kIGF132VyZGVtIGthbm4gbmljaHQgaW4gZWluZW4gVm9sbGJpbGRtb2R1cwogICAgICAgICAgZ2VzY2hhbHRldCB3ZXJkZW4uIEFiaGlsZmUgc2NoYWZmdCBoaWVyIG51ciwgZGVuIFgtU2VydmVyIGluCiAgICAgICAgICBkZXIgcmljaHRpZ2VuIEZhcmJ0aWVmZSB6dSBzdGFydGVuLCBiZXZvciBXSU5FIGF1ZmdlcnVmZW4KICAgICAgICAgIHdpcmQuIEhpZXJ6dSBkaWVuZW4gZGllIE9wdGlvbmVuIC1icHAsIGJlaSBYLVNlcnZlcm4gZGVzCiAgICAgICAgICBYRnJlZTg2LVByb2pla3RzIGRlciBWZXJzaW9uc2ZhbWlsaWUgMy4zLnggYnp3LiAtZGVwdGggaW4KICAgICAgICAgIGRlciBWZXJzaW9uc2ZhbWlsaWUgNC4wKSBHZWxlZ2VudGxpY2ggZW1wZmllaGx0IGVzIHNpY2gKICAgICAgICAgIGF1Y2gsIGVpbmVuIHp3ZWl0ZW4gWC1TZXJ2ZXIgenUgc3RhcnRlbiwgd2FzIGFtIGVpbmZhY2hzdGVuCiAgICAgICAgICBtaXQgZGVtIEJlZmVobCB4aW5pdCgxKSBnZXNjaGVoZW4ga2Fubi4gVW0gYmVpc3BpZWxzd2Vpc2UKICAgICAgICAgIGRhcyBQcm9ncmFtbSBxMnRlc3QuZXhlIG1pdCBXSU5FIGF1ZiBlaW5lbSB6d2VpdGVuIFgtU2VydmVyCiAgICAgICAgICBtaXQgZWluZXIgRmFyYnRpZWZlIHZvbiA4IEJpdCBwcm8gUGl4ZWwgYXVzIGRlbSBha3R1ZWxsZW4KICAgICAgICAgIEFyYmVpdHN2ZXJ6ZWljaG5pcyB6dSBzdGFydGVuLCBr9m5udGUgZGVyIGZvbGdlbmRlIEJlZmVobAogICAgICAgICAgYmVudXR6dCB3ZXJkZW4gKEZJWE1FOiBuaWNodCBtZWhyIGtvcnJla3QgPyk6CiAgICAgICAgICAKICAgICAgICAgIHhpbml0IC91c3IvbG9jYWwvYmluL1dJTkUgcTJ0ZXN0LmV4ZSAtLWRpc3BsYXkgOjEgLS0gLWJwcCA4IDoxCiAgICAgICAgCiAgICAgICAgICBGYWxscyBzaWNoIFdJTkUgaW4gZWluZW0gYW5kZXJlbiBWZXJ6ZWljaG5pcyBhbHMKICAgICAgICAgIC91c3IvbG9jYWwvYmluIGJlZmluZGV0LCBpc3QgZGVyIEJlZmVobCBuYXT8cmxpY2gKICAgICAgICAgIGVudHNwcmVjaGVuZCBhbnp1cGFzc2VuLgogICAgICAgICAgCiAgIERlciBER0EtTW9kdXMgZnVua3Rpb25pZXJ0IG5pY2h0LCBvYndvaGwgWCBpbiBkZXIgcmljaHRpZ2VuCiAgIEZhcmJ0aWVmZSBhdXNnZWb8aHJ0IHdpcmQ7IFNwaWVsZSBzaW5kIGltbWVyIG5vY2ggbGFuZ3NhbQogICAgICAgICAgRGllIFZlcndlbmR1bmcgdm9uIERHQSBpc3Qgbm9ybWFsZXJ3ZWlzZSBudXIgZGVtCiAgICAgICAgICBTeXN0ZW1hZG1pbmlzdHJhdG9yIGdlc3RhdHRldCwgZGFzIGJldHJlZmZlbmRlIFByb2dyYW1tIG11c3MKICAgICAgICAgIGFsc28gbWl0IGRlc3NlbiBSZWNodGVuIGF1c2dlZvxocnQgd2VyZGVuLiBBbHRlcm5hdGl2IGRhenUKICAgICAgICAgIHJlaWNodCBlcyBhdWNoIGF1cywgQmVudXR6ZXJuIFNjaHJlaWItIHVuZCBMZXNlcmVjaHRlIGF1ZgogICAgICAgICAgZGllIEdlcuR0ZWRhdGVpIC9kZXYva21lbSB6dSBlcnRlaWxlbi4KICAgICAgICAgIAogICBFcyBpc3Qga2VpbiBTb3VuZCB6dSBo9nJlbgogICAgICAgICAgWnVu5GNoc3Qgc29sbHRlIPxiZXJwcvxmdCB3ZXJkZW4sIG9iIGRpZSBTb3VuZHVudGVyc3T8dHp1bmcKICAgICAgICAgIGRlcyBMaW51eC1LZXJuZWxzIHJpY2h0aWcgZnVua3Rpb25pZXJ0LCBhbHNvIG9iIGVzIG32Z2xpY2gKICAgICAgICAgIGlzdCwgbWl0IGFuZGVyZW4gTGludXgtUHJvZ3JhbW1lbiBkaWUgU291bmRrYXJ0ZSB6dQogICAgICAgICAgdmVyd2VuZGVuLiBJbSBu5GNoc3RlbiBTY2hyaXR0IGthbm4g/GJlcnBy/GZ0IHdlcmRlbiwgb2IgZGllCiAgICAgICAgICBTb3VuZC1IYXJkd2FyZSB2b24gZWluZW0gYW5kZXJlbiBQcm9ncmFtbSBiZW51dHp0IHdpcmQgdW5kCiAgICAgICAgICBXSU5FIGRlc3dlZ2VuIG5pY2h0IGRhcmF1ZiB6dWdyZWlmZW4ga2Fubi4KICAgICAgICAgIApXZWl0ZXJm/GhyZW5kZSBJbmZvcm1hdGlvbmVuCgogICBEaWUgemVudHJhbGUgV2ViLUFkcmVzc2UgZvxyIEluZm9ybWF0aW9uZW4genUgV0lORSBpc3QKICAgaHR0cDovL3d3dy53aW5laHEuY29tLiBEb3J0IGJlZmluZGVuIHNpY2ggTGlua3MgenUgdmllbGVuIHdlaXRlcmVuCiAgIERva3VtZW50ZW4sIHdpZSBlaW5lbSBXSU5FLUZBUSwgZWluZW0gV0lORS1IT1dUTywgZWluZXIgQW5sZWl0dW5nIHp1bQogICBFcnN0ZWxsZW4gdm9uIEZlaGxlcmJlcmljaHRlbiB1bmQgdmllbGVzIG1laHIuCg==