PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo9ICAgIFcgaSBsIGwgayBvIG0gbSBlIG4gICB6IHUgbSAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgVmVyc2lvbiAxLjVEICAgICA9Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgIFZpbSBpc3QgZWluIHNlaHIgbeRjaHRpZ2VyIEVkaXRvciwgZGVyIHZpZWxlIEJlZmVobGUgYmVyZWl0c3RlbGx0OwogICB6dSB2aWVsZSwgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zkcmVuLgogICBEaWVzZXIgVHV0b3IgaXN0IHNvIGdlc3RhbHRldCwgdW0gZ2VudWcgQmVmZWhsZSB2b3J6dXN0ZWxsZW4sIHNvIGRhc3MgRHUKICAgZGllIEbkaGlna2VpdCBlcmxhbmdzdCwgVmltIG1pdCBMZWljaHRpZ2tlaXQgYWxzIGVpbmVuIEFsbHp3ZWNrLUVkaXRvcgogICB6dSBiZW51dHplbi4KCiAgIERpZSBaZWl0IGb8ciBkYXMgRHVyY2hhcmJlaXRlbiBkaWVzZXMgVHV0b3JzIGJldHLkZ3QgY2EuIDI1LTMwIE1pbnV0ZW4sCiAgIGFiaORuZ2lnIGRhdm9uLCB3aWUgdmllbCBaZWl0IER1IG1pdCBFeHBlcmltZW50aWVyZW4gdmVyYnJpbmdzdC4KCiAgIERpZSBpbiBkZW4gTGVrdGlvbmVuIGFuZ2V3ZW5kZXRlbiBLb21tYW5kb3Mgd2VyZGVuIGRlbiBUZXh0IG1vZGlmaXppZXJlbi4KICAgRXJzdGVsbGUgZWluZSBLb3BpZSBkaWVzZXIgRGF0ZWksIGluIGRlciBEdSD8YmVuIHdpbGxzdAogICAoZmFsbHMgRHUgInZpbXR1dG9yLmJhdCIgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLgoKICAgRXMgaXN0IHdpY2h0aWcsIHNpY2ggenUgdmVyZ2VnZW535HJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgYW5nZWxlZ3QgaXN0LAogICB1bSD8YmVyIGRhcyBBbndlbmRlbiB6dSBsZWhyZW4uIERhcyBiZWRldXRldCwgZGFzcyBEdSBkaWUgQmVmZWhsZSBhdXNm/GhyZW4KICAgbXVzc3QsIHVtIHNpZSByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZQogICBCZWZlaGxlIQoKICAgSmV0enQgc3RlbGxlIHNpY2hlciwgZGFzcyBEZWluZSBVbXN0ZWxsdGFzdGUgTklDSFQgZ2Vkcvxja3QgaXN0LCB1bmQKICAgYmV05HRpZ2UgZGllICAgaiAgIFRhc3RlIGdlbvxnZW5kIE1hbGUsIHVtIGRlbiBDdXJzb3IgbmFjaCB1bnRlbgogICB6dSBiZXdlZ2VuLCBzbyBkYXNzIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZvxsbHQuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCUxla3Rpb24gMS4xOiBCRVdFR0VOIERFUyBDVVJTT1JTCgoKICAqKiBVbSBkZW4gQ3Vyc29yIHp1IGJld2VnZW4sIGRy/GNrZSBkaWUgaCxqLGssbCBUYXN0ZW4gd2llIHVudGVuIGdlemVpZ3QuICoqCgoJICAgICBeCQkgSGlsZmVzdGVsbHVuZzoKCSAgICAgawkJIERpZSBoIFRhc3RlIGJlZmluZGV0IHNpY2ggbGlua3MgdW5kIGJld2VndCBuYWNoIGxpbmtzLgogICAgICAgPCBoCSBsID4JIERpZSBsIFRhc3RlIGxpZWd0IHJlY2h0cyB1bmQgYmV3ZWd0IG5hY2ggcmVjaHRzLgoJICAgICBqCQkgRGllIGogVGFzdGUg5GhuZWx0IGVpbmVtIFBmZWlsIG5hY2ggdW50ZW4uCgkgICAgIHYKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciBhdWYgZGVtIEJpbGRzY2hpcm0gaGVydW0sIGJpcyBEdSBEaWNoIHNpY2hlciBm/Ghsc3QuCgogIDIuIEhhbHRlIGRpZSBOYWNoLVVudGVuLVRhc3RlIChqKSBnZWRy/GNrdCwgYmlzIHNpZSBzaWNoIHdpZWRlcmhvbHQuCi0tLT4gSmV0enQgd2Vp33QgRHUsIHdpZSBEdSBEaWNoIHp1ciBu5GNoc3RlbiBMZWt0aW9uIGJld2VnZW4ga2FubnN0LgoKICAzLiBCZW51dHplIGRpZSBOYWNoLVVudGVuLVRhc3RlLCB1bSBEaWNoIHp1IExla3Rpb24gMS4yIHp1IGJld2VnZW4uCgpCZW1lcmt1bmc6IEltbWVyLCB3ZW5uIER1IERpciB1bnNpY2hlciBiaXN0IPxiZXIgZGFzLCB3YXMgRHUgZ2V0aXBwdCBoYXN0LAoJICAgZHL8Y2tlIDxFU0M+ICwgdW0gRGljaCBpbiBkZW4gTm9ybWFsLU1vZHVzIHp1IGJlZ2ViZW4uCgkgICBEYW5uIGdpYiBkYXMgZ2V3/G5zY2h0ZSBLb21tYW5kbyBub2NoIGVpbm1hbCBlaW4uCgpCZW1lcmt1bmc6IERpZSBDdXJzb3ItVGFzdGVuIHNvbGx0ZW4gZWJlbmZhbGxzIGZ1bmt0aW9uaWVyZW4uICBBYmVyIHdlbm4gRHUKCSAgIGhqa2wgYmVudXR6dCwgd2lyc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgRGljaCBzZWhyIHZpZWwgc2NobmVsbGVyCgkgICB1bWhlcnp1YmV3ZWdlbiwgd2VubiBEdSBEaWNoIGVyc3QgZWlubWFsIGRhcmFuIGdld/ZobnQgaGFzdC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICBMZWt0aW9uIDEuMjogU1RBUlRFTiBVTkQgVkVSTEFTU0VOIFZPTiBWSU0KCgogICEhIEFDSFRVTkc6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWb8aHJ0ZW4gU2Nocml0dGUgYXVzZvxocnN0LCBsaWVzCiAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISEKCiAgMS4gRHL8Y2tlIGRpZSA8RVNDPiBUYXN0ZSAodW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbC1Nb2R1cyBiaXN0KS4KCiAgMi4gVGlwcGU6CQkJOnEhIDxFTlRFUj4uCgotLS0+IERpZXMgYmVlbmRldCBkZW4gRWRpdG9yIE9ITkUgamVkd2VsY2hlIMRuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuCiAgICAgV2VubiBEdSBkaWUgxG5kZXJ1bmdlbiBzcGVpY2hlcm4gdW5kIGJlZW5kZW4gd2lsbHN0LCB0aXBwZToKCQkJCTp3cSAgPEVOVEVSPgoKICAzLiBXZW5uIER1IGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIHNpZWhzdCwgdGlwcGUgZGFzIEtvbW1hbmRvLCBkYXNzIERpY2ggenUKICAgICBkaWVzZW0gVHV0b3IgZ2Vm/GhydCBoYXQuIERhcyBr9m5udGUgc2VpbjogdmltdHV0b3IgPEVOVEVSPgogICAgIEltIE5vcm1hbGZhbGwgd/xyZGVzdCBEdSBlaW5nZWJlbgkJCVZpbSB0dXRvciA8RU5URVI+CgotLS0+ICdWaW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuCgogIDQuIFdlbm4gRHUgRGlyIGRpZXNlIFNjaHJpdHRlIGVpbmdlcHLkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZ2VudWcgZvxobHN0LAogICAgIGb8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyCiAgICAgaGluZWluenVnZWxhbmdlbi4gRGFubiBiZXdlZ2UgZGVuIEN1cnNvciBuYWNoIHVudGVuIHp1ciBMZWt0aW9uIDEuMy4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzWU0NIRU4KCgogKiogSW0gTm9ybWFsLU1vZHVzLCBkcvxja2UgIHggIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCgogIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBhdWYgZGVtIFplaWNoZW4gc3RlaHQsCiAgICAgZGFzIGdlbPZzY2h0IHdlcmRlbiBzb2xsLgoKICAzLiBEcvxja2UgZGllICB4ICBUYXN0ZSwgdW0gZGFzIPxiZXJmbPxzc2lnZSBaZWljaGVuIHp1IGz2c2NoZW4uCgogIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdC4KCi0tLT4gRGllIEtrdWggc3ByYW5nZyD8YmJlciBkZWVuIE1vb25kLgoKICA1LiBXZW5uIG51biBkaWUgWmVpbGUga29ycmVrdCBpc3QsIGdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDEuNC4KCkFubWVya3VuZzogV+RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUKICAgIGxlcm5lbiwgbGVybmUgdmllbG1laHIgZHVyY2ggQW53ZW5kZW4uCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICBMZWt0aW9uIDEuNDogVEVYVCBFRElUSUVSRU4gLSBFSU5G3EdFTgoKCiAgICAgKiogV+RocmVuZCBEdSBpbSBOb3JtYWwtTW9kdXMgYmlzdCwgZHL8Y2tlICBpICAsIHVtIFRleHQgZWluenVm/Gdlbi4gKioKCiAgMS5CZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KCiAgMi4gVW0gZGllIGVyc3RlIFplaWxlIG1pdCBkZXIgendlaXRlbiBnbGVpY2h6dW1hY2hlbiwgYmV3ZWdlIGRlbiBDdXJzb3IgYXVmCiAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCB3byBkZXIgVGV4dCBlaW5nZWb8Z3Qgd2VyZGVuIHNvbGwuCgogIDMuIERy/GNrZSAgaSAgdW5kIGdpYiBkaWUgbm90d2VuZGlnZSBFcmfkbnp1bmcgZWluLgoKICA0LiBXZW5uIGpld2VpbHMgZWluIEZlaGxlciBiZXNlaXRpZ3QgaXN0LCBkcvxja2UgPEVTQz4gLCB1bSB6dW0gTm9ybWFsLU1vZHVzCiAgICAgenVy/GNrenVrZWhyZW4uCiAgICAgV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gZGVuIFNhdHogenUga29ycmlnaWVyZW4uCgotLS0+IEluIGRpZXNlciBmdCBldHdhcyAuCi0tLT4gSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuCgogIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmb8Z2VuIHZvbiBUZXh0IHNpY2hlciBm/Ghsc3QsIGJld2VnZSBkZW4gQ3Vyc29yIHp1cgogICAgIHVudGVuc3RlaGVuZGVuIFp1c2FtbWVuZmFzc3VuZy4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICAgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDEKCgogIDEuIERlciBDdXJzb3Igd2lyZCBiZXdlZ3QsIGluZGVtIG1hbiBlbnR3ZWRlciBkaWUgUGZlaWx0YXN0ZW4gb2RlciBkaWUKICAgICBoamtsIFRhc3RlbiBiZW51dHp0LgoJIGggKGxpbmtzKSAgICAgaiAodW50ZW4pICAgICBrIChhdWZ35HJ0cykgICAgbCAocmVjaHRzKQoKICAyLiBVbSBWaW0gYXVmenVydWZlbiAodm9tICUgcHJvbXB0KSB0aXBwZTogIHZpbSBEQVRFSU5BTUUgPEVOVEVSPgoKICAzLiBVbSBWaW0genUgdmVybGFzc2VuLCB0aXBwZToJPEVTQz4gIDpxISAgPEVOVEVSPiAsCgkgdW0gYWxsZSDEbmRlcnVuZ2VuIHp1IHZlcndlcmZlbi4KICAgICBPREVSIHRpcHBlOgkJCTxFU0M+ICA6d3EgIDxFTlRFUj4gLAoJIHVtIGRpZSDEbmRlcnVuZ2VuIHp1IHNwZWljaGVybi4KCiAgNC4gVW0gZWluIFplaWNoZW4gaW0gTm9ybWFsLU1vZHVzIHp1IGz2c2NoZW4sIHRpcHBlOgl4CgogIDUuIFVtIFRleHQgYmVpbSBDdXJzb3IgZWluenVnZWJlbiwgd+RocmVuZCBEdSBpbSBOb3JtYWwtTW9kdXMgYmlzdCwgdGlwcGU6CgkgaSAgICAgVGV4dCBlaW5nZWJlbgk8RVNDPgoKQmVtZXJrdW5nOiBEcvxja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsLU1vZHVzIG9kZXIgYnJpY2h0IGVpbgogICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCgpOdW4gZmFocmUgbWl0IExla3Rpb24gMiBmb3J0LgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgIExla3Rpb24gMi4xOiBM1lNDSEtPTU1BTkRPUwoKCgkgICAgKiogVGlwcGUgIGR3ICAsIHVtIGJpcyB6dW0gRW5kZSBkZXMgV29ydGVzIHp1IGz2c2NoZW4gKioKCiAgMS4gRHL8Y2tlICA8RVNDPiAgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbC1Nb2R1cyBiaXN0LgoKICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KCiAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBlaW5lcyBXb3J0ZXMsIGRhcyBnZWz2c2NodCB3ZXJkZW4gc29sbC4KCiAgNC4gVGlwcGUgICBkdyAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4KCiAgQmVtZXJrdW5nOiBEaWUgQnVjaHN0YWJlbiAgZHcgIGVyc2NoZWluZW4gYXVmIGRlciBsZXR6dGVuIFplaWxlIGRlcwogICAgIEJpbGRzY2hpcm1zLCB3ZW5uIER1IHNpZSBlaW5naWJzdC4gV2VubiBEdSBldHdhcyBmYWxzY2ggZWluZ2V0aXBwdCBoYXN0LAogICAgIGRy/GNrZSA8RVNDPiB1bmQgZmFocmUgZm9ydC4KCi0tLT4gRWluaWdlIFf2cnRlciBsdXN0aWcgZ2Vo9nJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouCgogIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDMgdW5kIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdCB1bmQgZ2VoZQogICAgIGRhbmFjaCB6dXIgTGVrdGlvbiAyLjIuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgTGVrdGlvbiAyLjI6IFdFSVRFUkUgTNZTQ0hLT01NQU5ET1MKCgoJICAgICoqIFRpcHBlICBkJCAgLCB1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGz2c2NoZW4uICoqCgogIDEuIERy/GNrZSA8RVNDPiAsdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbC1Nb2R1cyBiaXN0LgoKICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KCiAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIGtvcnJla3RlbiBaZWlsZSAoTkFDSCBkZW0gZXJzdGVuIC4gKS4KCiAgNC4gVGlwcGUgICAgZCQgICx1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGz2c2NoZW4uCgotLS0+IEplbWFuZCBoYXQgZGFzIEVuZGUgZGVyIFplaWxlIGRvcHBlbHQgZWluZ2VnZWJlbi4gZG9wcGVsdCBlaW5nZWdlYmVuLgoKCiAgNS4gR2VoZSB3ZWl0ZXIgenVyIExla3Rpb24gMi4zICwgdW0genUgdmVyc3RlaGVuLCB3YXMgaGllcmJlaSBwYXNzaWVydC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgTGVrdGlvbiAyLjM6INxCRVIgS09NTUFORE9TIFVORCBPQkpFS1RFCgoKICBEYXMgRm9ybWF0IGb8ciBkYXMgTPZzY2hrb21tYW5kbyAgZCAgaXN0IGZvbGdlbmRlcm1h32VuOgoKCSBbTnVtbWVyXSAgIGQJT2JqZWt0CSAgICAgT0RFUglkICAgW051bW1lcl0gICBPYmpla3QKCiAgV29iZWk6CiAgIE51bW1lciAtIGdpYnQgYW4sIHdpZSB2aWVsZSBNYWxlIGRhcyBLb21tYW5kbyBhdXNnZWb8aHJ0IHdlcmRlbiBzb2xsCgkJCQkgICAgICAgKG9wdGlvbmFsLCBzdGFuZGFyZG3k32lnIDEpLgogICBkIC0gaXN0IGRhcyBM9nNjaGtvbW1hbmRvLgogICBPYmpla3QgLSBiZWRldXRldCwgd29yYXVmIGRhcyBLb21tYW5kbyBhbmdld2VuZGV0IHdpcmQgKHVudGVuIGF1ZmdlZvxocnQpLgoKICBFaW5lIGt1cnplIExpc3RlIHZvbiBPYmpla3RlbjoKICAgIHcgLSB2b20gQ3Vyc29yIGFuIGJpcyB6dW0gRW5kZSBkZXMgV29ydGVzLCBpbmtsdXNpdmUgZGVtIExlZXJ6ZWljaGVuLgogICAgZSAtIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBFbmRlIGRlcyBXb3J0ZXMsIE9ITkUgZGFzIExlZXJ6ZWljaGVuLgogICAgJCAtIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBFbmRlIGRlciBaZWlsZS4KCkJlbWVya3VuZzogIEb8ciBkaWUgV2FnZW11dGlnZW46IGRpZSBFaW5nYWJlIGxlZGlnbGljaCBkZXMgT2JqZWt0LVRlaWxzIGltCiAgICBOb3JtYWwtTW9kdXMgb2huZSBlaW4gS29tbWFuZG8gYmV3ZWd0IGRlbiBDdXJzb3Igc28sCiAgICB3aWUgaW4gZGVyIE9iamVrdGxpc3RlIGFuZ2VnZWJlbiBpc3QuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJTGVrdGlvbiAyLjQ6IEVJTkUgQVVTTkFITUUgWlUgJ0tPTU1BTkRPLU9CSkVLVCcKCgoJICAgICAgICoqIFRpcHBlICBkZCAgLCB1bSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4uICoqCgogIFdlZ2VuIGRlciBI5HVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbPZzY2h0LCBrYW1lbiBkaWUKICBFbnR3aWNrbGVyIHZvbiBWaW0gZGFyYXVmLCBkYXNzIGVzIGxlaWNodGVyIHfkcmUsIHp3ZWkgZCdzIGhpbnRlcmVpbmFuZGVyCiAgZWluenVnZWJlbiwgdW0gZWluZSBaZWlsZSB6dSBs9nNjaGVuLgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBaZWlsZSBpbiBkZXIgdW50ZW4gc3RlaGVuZGVuIFJlZGV3ZW5kdW5nLgogIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbPZzY2hlbi4KICAzLiBOdW4gYmV3ZWdlIERpY2ggenVyIHZpZXJ0ZW4gWmVpbGUuCiAgNC4gVGlwcGUgICAyZGQgICAoZXJpbm5lcmUgRGljaCBhbiAgTnVtbWVyLUtvbW1hbmRvLU9iamVrdCksCiAgICAgdW0gZGllIPxiZXJmbPxzc2lnZW4gWmVpbGVuIHp1IGz2c2NoZW4uCgogICAgICAxKSAgUm9zZW4gc2luZCByb3QsCiAgICAgIDIpICBNYXRzY2ggaXN0IGx1c3RpZywKICAgICAgMykgIFZlaWxjaGVuIHNpbmQgYmxhdSwKICAgICAgNCkgIEljaCBoYWJlIGVpbiBBdXRvLAogICAgICA1KSAgRGllIFVociBzYWd0IGRpZSBaZWl0LAogICAgICA2KSAgWnVja2VyIGlzdCBz/N8sCiAgICAgIDcpICBTbyB3aWUgRHUgYXVjaC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJIExla3Rpb24gMi41OiBS3ENLR8ROR0lHIE1BQ0hFTiAoVU5ETykKCgoJICoqIFRpcHBlIHUgLCB1bSBkaWUgbGV0enRlbiBLb21tYW5kb3Mgcvxja2fkbmdpZyB6dSBtYWNoZW4gKioKCSAgICAgICoqIG9kZXIgVSB1bSBlaW5lIGdhbnplIFplaWxlIHdpZWRlcmhlcnp1c3RlbGxlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4KICAgICB1bmQgc2V0emUgaWhuIGF1ZiBkZW4gZXJzdGVuIEZlaGxlci4KICAyLiBUaXBwZSAgeCAgLCB1bSBkYXMgZXJzdGUg/GJlcmZs/HNzaWdlIFplaWNoZW4genUgbPZzY2hlbi4KICAzLiBOdW4gdGlwcGUgIHUgIHVtIGRhcyBzb2ViZW4gYXVzZ2Vm/GhydGUgS29tbWFuZG8gcvxja2fkbmdpZyB6dSBtYWNoZW4uCiAgNC4gRGllc2VzIE1hbCBiZWhlYmUgYWxsZSBGZWhsZXIgYXVmIGRlciBaZWlsZSwgaW5kZW0gRHUgZGFzICB4ICBLb21tYW5kbwogICAgIGFud2VuZGVzdC4KICA1LiBOdW4gdGlwcGUgZWluIGdyb99lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kCiAgICAgd2llZGVyaGVyenVzdGVsbGVuLgogIDYuIE51biB0aXBwZSAgdSAgbWVocmVyZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcwogICAgIHL8Y2tn5G5naWcgenUgbWFjaGVuLgogIDcuIE51biB0aXBwZSBDVFJMLVIgKGhhbHRlIGRpZSBDVFJMLVRhc3RlIGdlZHL8Y2t0IHVuZCBkcvxja2UgUiApCiAgICAgbWVocmVyZSBNYWxlLCB1bSBkaWUgS29tbWFuZG9zIHL8Y2tn5G5naWcgenUgbWFjaGVuCiAgICAgKGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgbWFjaGVuKS4KCi0tLT4gQmVlaGViZSBkaWUgRmVobGxlciBkaWVzc2VyIFplaWxlIHVuZCBzdHRlbGxlIHNpZSBtaXR0ICd1bmRvJyB3aWVkZXIgaGVyLgoKICA4LiBEaWVzZXMgc2luZCBzZWhyIG78dHpsaWNoZSBLb21tYW5kb3MuCiAgICAgTnVuIGdlaGUgd2VpdGVyIHp1ciBadXNhbW1lbmZhc3N1bmcgdm9uIExla3Rpb24gMi4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICAgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDIKCgogIDEuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGVpbmVzIFdvcnRlcyB6dSBs9nNjaGVuLCB0aXBwZTogICAgZHcKCiAgMi4gVW0gdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUgenUgbPZzY2hlbiwgdGlwcGU6ICAgICBkJAoKICAzLiBVbSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkZAoKICA0LiBEYXMgRm9ybWF0IGb8ciBlaW4gS29tbWFuZG9zIGltIE5vcm1hbC1Nb2R1cyBpc3Q6CgogICAgICAgW051bW1lcl0gICBLb21tYW5kbyAgIE9iamVrdCAgICAgT0RFUiAgICAgS29tbWFuZG8gICBbTnVtbWVyXSAgIE9iamVrdAoJIHdvYmVpOgogICAgICAgTnVtbWVyIC0gZ2lidCBhbiwgd2llIG9mdCBkYXMgS29tbWFuZG8gd2llZGVyaG9sdCB3aXJkCiAgICAgICBLb21tYW5kbyAtIGdpYnQgYW4sIHdhcyBnZXRhbiB3ZXJkZW4gc29sbCwgenVtIEJlaXNwaWVsCWQgIGb8ciBkZWxldGUKICAgICAgIE9iamVrdCAtIGdpYnQgYW4sIHdvcmF1ZiBkYXMgS29tbWFuZG8gYW5nZXdlbmRldCB3ZXJkZW4gc29sbCwKCSB6dW0gQmVpc3BpZWwgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4KCiAgNS4gVW0gdm9yaGVyaWdlIEFrdGlvbmVuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkKICAgICBVbSBhbGxlIMRuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHL8Y2tn5G5naWcgenUgbWFjaGVuOiAgIFUgKGdyb99lcyBVKQogICAgIFVtIGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZTogICAgQ1RSTC1SCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgIExla3Rpb24gMy4xOiBBTkbcR0VOIChQVVQpCgoKICAgICAgICoqIFRpcHBlIHAgLHVtIGRhcyB6dWxldHp0IEdlbPZzY2h0ZSBuYWNoIGRlbSBDdXJzb3IgYW56dWb8Z2VuLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIFplaWxlIGRlcyB1bnRlbiBzdGVoZW5kZW4gU2lubnNwcnVjaHMuCgogIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbPZzY2hlbiB1bmQgc2llIGltIFZpbXMgUHVmZmVyIHp1IHNwZWljaGVybi4KCiAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIFplaWxlINxCRVIgZGVyamVuaWdlbiwKICAgICB3byBkaWUgZ2Vs9nNjaHRlIFplaWxlIHBsYXR6aWVydCB3ZXJkZW4gc29sbC4KCiAgNC4gSW0gTm9ybWFsLU1vZHVzLCB0aXBwZSAgICBwICAgICwgIHVtIGRpZSBaZWlsZSB6dSBwbGF0emllcmVuLgoKICA1LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBhbGxlIFplaWxlbiBpbiBkaWUgcmljaHRpZ2UgUmVpaGVuZm9sZ2UKICAgICB6dSBicmluZ2VuLgoKICAgICBkKSBLYW5uc3QgRHUgZGFzIGF1Y2g/CiAgICAgYikgVmVpbGNoZW4gc2luZCBibGF1LAogICAgIGMpIEludGVsbGlnZW56IGlzdCBlcmxlcm5iYXIsCiAgICAgYSkgUm9zZW4gc2luZCByb3QsCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCUxla3Rpb24gMy4yOiBFUlNFVFpFTiAoUkVQTEFDRSkKCgogKiogVGlwcGUgIHIgIHVuZCBlaW4gWmVpY2hlbiwgdW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBlcnNldHplbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4sIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCgogIDIuIEJld2VnZSBkZW4gQ3Vyc29yLCBiaXMgZXIgc2ljaCBhdWYgZGVtIGVyc3RlbiBGZWhsZXIgYmVmaW5kZXQuCgogIDMuIFRpcHBlICByICB1bmQgYW5zY2hsaWXfZW5kIGRhcyBaZWljaGVuLCB3ZWxjaGVzIGRlbiBGZWhsZXIgYmVoZWJlbiBzb2xsdGUuCgogIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgdW5kIDMsIGJpcyBkaWUgZXJzdGUgWmVpbGUga29ycmVrdCBpc3QuCgotLS0+ICBBbHMgZGllc2UgWmVpdGUgZWluZ2Vnb2JlbiB3dXJkZSwgd3VyZGVuIGVpbmlrZSBmYWxzY2hlIFRhc3RlbiBnZWxpcHB0LgotLS0+ICBBbHMgZGllc2UgWmVpbGUgZWluZ2VnZWJlbiB3dXJkZSwgd3VyZGVuIGVpbmlnZSBmYWxzY2hlIFRhc3RlbiBnZXRpcHB0LgoKICA1LiBOdW4gZmFocmUgZm9ydCBtaXQgTGVrdGlvbiAzLjIuCgpCZW1lcmt1bmc6IEVyaW5uZXJlIERpY2gsIGRhc3MgRHUgZHVyY2ggQW53ZW5kZW4gbGVybmVuIHNvbGx0ZXN0LCBuaWNodCBkdXJjaAogICAgIEF1c3dlbmRpZ2xlcm5lbi4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICBMZWt0aW9uIDMuMzogxE5ERVJOIChDSEFOR0UpCgoKICAgICAgICoqIFVtIGVpbiBXb3J0dGVpbCBvZGVyIGVpbiBnYW56ZXMgV29ydCB6dSDkbmRlcm4sIHRpcHBlICBjdyAuICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICAyLiBQbGF6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkYXMgcyB2b24gV3N0d3IuCgogIDMuIFRpcHBlICBjdyAgdW5kIGRpZSBXb3J0a29ycmVrdHVyIGVpbiAoaW4gZGllc2VtIEZhbGwsIHRpcHBlICAn9nJ0ZXInLikKCiAgNC4gRHL8Y2tlIDxFU0M+IHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gbuRjaHN0ZW4gRmVobGVyCiAgICAoRGFzIGVyc3RlIHp1IORuZGVybmRlIFplaWNoZW4uKQoKICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDMgdW5kIDQgYmlzIGRlciBlcnN0ZSBTYXR6IGdsZWljaCBkZW0gendlaXRlbiBpc3QuCgotLS0+IEVpbmlnZSBXc3R3ciBkaWVzZXIgWmxhd3cgbGFzZGpsYWYgbWl0IGRlbSDEbmRlcm4tS29tbWFuZG8gZ2FhYXV1IHdlcmRlbi4KLS0tPiBFaW5pZ2UgV/ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDEbmRlcm4tS29tbWFuZG8gZ2XkbmRlcnQgd2VyZGVuLgoKQmVtZXJrZSwgZGFzcyAgY3cgIG5pY2h0IG51ciBkYXMgV29ydCBlcnNldHp0LCBzb25kZXJuIERpY2ggYXXfZXJkZW0gaW4gZGVuCiAgICAgRWluZ2FiZW1vZHVzIHZlcnNldHp0LgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgxE5ERVJVTkdFTiBNSVRURUxTIGMKCgogICAgICoqIERhcyBjaGFuZ2UtS29tbWFuZG8gYXJiZWl0ZXQgbWl0IGRlbnNlbGJlbiBPYmpla3RlbiB3aWUgZGVsZXRlICAqKgoKICAxLiBEYXMgY2hhbmdlIEtvbW1hbmRvIGFyYmVpdGV0IGdsZWljaGVyIFdlaXNlIHdpZSBkZWxldGUuIERhcyBGb3JtYXQgaXN0OgoKICAgICAgIFtOdW1tZXJdICAgYyAgIE9iamVrdCAgICAgICBPREVSICAgICAgIGMgICBbTnVtbWVyXSAgIE9iamVrdAoKICAyLiBBdWNoIHNpbmQgZGllIE9iamVrdGUgZ2xlaWNoLCBzbyB3aWUgIHcgIChXb3J0KSwgJCAoRW5kZSBkZXIgWmVpbGUpLCBldGMuCgogIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIFVudGVyc2NoaWVkIHp1ciBhbmRlcmVuIFplaWxlLgoKICA1LiBUaXBwZSAgYyQgICwgdW0gZGVuIFJlc3QgZGVyIFplaWxlIGFuIGRpZSB6d2VpdGUgYW56dWdsZWljaGVuCiAgICAgdW5kIGRy/GNrZSBhYnNjaGxpZd9lbmQgPEVTQz4gLgoKLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbHRlIGFuIGRpZSB6d2VpdGUgWmVpbGUgYW5nZWdsaWNoZW4gd2VyZGVuLgotLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsdGUgbWl0IGRlbSAnYyQnIEtvbW1hbmRvIGtvcnJpZ2llcnQgd2VyZGVuLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgICBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMwoKCiAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBhbnp1ZvxnZW4sIHRpcHBlICBwICAuIERpZXNlIGb8Z3QgZGVuCiAgICAgZ2Vs9nNjaHRlbiBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbiAod2VubiBlcyBzaWNoIHVtIGVpbmUgZ2FuemUgWmVpbGUKICAgICBoYW5kZWx0LCB3aXJkIGFiIGRlciBaZWlsZSB1bnRlciBkZW0gQ3Vyc29yIGVpbmdlZvxndCkuCgogIDIuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4sIHRpcHBlICAgciAgOyBkYXMgZGFuYWNoCiAgICAgZWluZ2VnZWJlbmUgWmVpY2hlbiBlcnNldHp0IGRhcyBPcmlnaW5hbC4KCiAgMy4gRGFzIMRuZGVydW5ncy0gKGNoYW5nZSkgS29tbWFuZG8gZXJsYXVidCwgZGFzIGFuZ2VnZWJlbmUgT2JqZWt0IHZvbSBDdXJzb3IKICAgICBiaXMgenVtIEVuZGUgZGVzIE9iamVrdGVzIHp1IORuZGVybi4gVGlwcGUgei5CLiBjdyAsIHVtIGVpbmUgxG5kZXJ1bmcgdm9tCiAgICAgQ3Vyc29yIGJpcyB6dW0gRW5kZSBkZXMgV29ydGVzIHZvcnp1bmVobWVuOyBjJCBiaXMgenVtIEVuZGUgZGVyIFplaWxlLgoKICA0LiBEYXMgRm9ybWF0IGb8ciBjaGFuZ2UgaXN0OgoKCSBbTnVtbWVyXSAgIGMJT2JqZWt0CSAgICAgT0RFUgljICAgW051bW1lcl0gICBPYmpla3QKCk51biBmYWhyZSBtaXQgZGVyIG7kY2hzdGVuIExla3Rpb24gZm9ydC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICBMZWt0aW9uIDQuMTogREFURUlQT1NJVElPTiBVTkQgREFURUlTVEFUVVMKCgogKiogVGlwcGUgQ1RSTC1nICwgdW0gRGVpbmUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMgYW56dXplaWdlbi4gKioKICAgICAqKiBUaXBwZSBTSElGVC1HICwgdW0gRGljaCB6dSBlaW5lciBaZWlsZSBpbiBkZXIgRGF0ZWkgenUgYmV3ZWdlbi4gKioKCiBCZW1lcmt1bmc6IExpZXMgZGllc2UgZ2VzYW10ZSBMZWt0aW9uLCBiZXZvciBEdSBpcmdlbmRlaW5lbiBTY2hyaXR0IGF1c2b8aHJzdCEhCgogIDEuIEhhbHRlIGRpZSBDdHJsIFRhc3RlIHVudGVuIHVuZCBkcvxja2UgIGcgLiAgRWluZSBTdGF0dXN6ZWlsZSBlcnNjaGVpbnQgaW4KICAgICBkZXIgdW50ZXJzdGVuIFplaWxlIGRlcyBGZW5zdGVycyBtaXQgZGVtIERhdGVpbmFtZW4gdW5kIGRlciBaZWlsZSwKICAgICBhdWYgZGVyIER1IERpY2ggYmVmaW5kZXN0LiBQcuRnZSBEaXIgZGllIFplaWxlbm51bW1lciBm/HIgU2Nocml0dCAzIGVpbi4KCiAgMi4gRHL8Y2tlIFNoaWZ0LUcgLCB1bSBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaSB6dSBiZWdlYmVuLgoKICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gU2hpZnQtRy4KICAgICBEaWVzZXMgYnJpbmd0IERpY2ggenVy/GNrIHp1IGRlciBaZWlsZSwgYXVmIGRlciBEdSBnZXN0YW5kZW4gaGFzdCwgYWxzIER1CiAgICAgZGFzIGVyc3RlIE1hbCBDdHJsLWcgZ2Vkcvxja3QgaGFzdC4KICAgICAoV2VubiBEdSBkaWUgWmlmZmVybiBlaW5naWJzdCwgd2VyZGVuIHNpZSBOSUNIVCBhdWYgZGVtIFNjaGlybSBhbmdlemVpZ3QuKQoKICA0LiBXZW5uIER1IHNpY2hlciBnZW51ZyBm/Ghsc3QsIGb8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgICAgTGVrdGlvbiA0LjI6IERBUyBTVUNIRU4gLSBLT01NQU5ETwoKCiAgKiogVGlwcGUgIC8gIGdlZm9sZ3Qgdm9uIGVpbmVtIEF1c2RydWNrLCB1bSBuYWNoIGRlbSBBdXNkcnVjayB6dSBzdWNoZW4uICoqCgogIDEuIFdlbm4gRHUgaW0gTm9ybWFsLU1vZHVzIGJpc3QsIHRpcHBlIGRhcyAgLyAgWmVpY2hlbi4gIEJlYWNodGUsIGRhc3MgZGFzICAvCiAgICAgdW5kIGRlciBDdXJzb3IgYXVmIGRlciB1bnRlcnN0ZW4gWmVpbGUgZGVzIFNjaGlybXMgZXJzY2hlaW5lbiwKICAgICBzbyB3aWUgYmVpbSAgOiAgS29tbWFuZG8uCgogIDIuIE51biB0aXBwZSAnRmVoaGxlcicgPEVOVEVSPi4gIERpZXMgaXN0IGRhcyBXb3J0LCBuYWNoIGRlbSBEdSBzdWNoZW4gd2lsbHN0LgoKICAzLiBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayB3ZWl0ZXJ6dXN1Y2hlbiwgdGlwcGUgZWluZmFjaCAgbiAoZvxyICpuKmV4dCkuCiAgICAgVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgaW4gZGVyIGFuZGVyZW4gUmljaHR1bmcgenUgc3VjaGVuLCBTaGlmdC1OIC4KCiAgNC4gV2VubiBEdSBuYWNoIGVpbmVtIEF1c2RydWNrIHL8Y2t35HJ0cyBpbiBkZXIgRGF0ZWkgc3VjaGVuIHdpbGxzdCwKICAgICBiZW51dHplIGRhcyBLb21tYW5kbyAgPyAgc3RhdHQgIC8gLgoKLS0tPiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nIGZvcnRnZXNldHp0LgoKICBGZWhsZXIgc2NocmVpYnQgc2ljaCBuaWNodCAiRmVoaGxlciI7ICJGZWhobGVyIiBpc3QgZWluIEZlaGxlcgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgTGVrdGlvbiA0LjM6IFBBU1NFTkRFIEtMQU1NRVJOIEZJTkRFTgoKCiAgICoqIFRpcHBlICAlICwgdW0gZWluZSBrb3JyZXNwb25kaWVyZW5kZSBLbGFtbWVyICksXSwgb2RlciB9IHp1IGZpbmRlbi4gKioKCiAgMS4gUGxhemllcmUgZGVuIEN1cnNvciBhdWYgaXJnZW5kZWluZW0gZGVyIFplaWNoZW4gKCwgWywgb2RlciB7CiAgICAgaW4gZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4KCiAgMi4gTnVuIHRpcHBlIGRhcyAgJSAgWmVpY2hlbi4KCiAgMy4gRGVyIEN1cnNvciBzb2xsdGUgc2ljaCBudW4gYXVmIGRlciBnZWdlbvxiZXJsaWVnZW5kZW4gS2xhbW1lciBiZWZpbmRlbi4KCiAgNC4gVGlwcGUgICUgLCB1bSBkZW4gQ3Vyc29yIHp1cvxjayBhdWYgZGllIGVyc3RlIEdlZ2Vua2xhbW1lciB6dXL8Y2t6dWJld2VnZW4uCgotLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgbWl0ICggdmVyc2NoaWVkZW5lbiBbIEtsYW1tZXJuIF0geyB4eCB9IGRhcmluLiApKQoKQmVtZXJrdW5nOiBEaWVzZSBGdW5rdGlvbmFsaXTkdCBpc3Qgc2VociBu/HR6bGljaCBiZWkgZGVyIEZlaGxlcnN1Y2hlIGluIGVpbmVtCiAgICAgUHJvZ3JhbW10ZXh0LCBpbiBkZW0gZWluZSBwYXNzZW5kZSBLbGFtbWVyIGZlaGx0IQoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgIExla3Rpb24gNC40OiBXRUdFLCBVTSBGRUhMRVIgWlUgQkVIRUJFTgoKCgkgKiogVGlwcGUgOnMvYWx0L25ldS9nCSwgdW0gJ2FsdCcgZHVyY2ggJ25ldScgenUgZXJzZXR6ZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KCiAgMi4gVGlwcGUgIDpzL2RpZWUvZGllIDxFTlRFUj4gLiAgQmVtZXJrZSwgZGFzcyBkZXIgQmVmZWhsIG51ciBkYXMgZXJzdGUKICAgICBWb3Jrb21tZW4gYXVmIGRlciBaZWlsZSBlcnNldHp0LgoKICAzLiBOdW4gdGlwcGUgICA6cy9kaWVlL2RpZS9nICAgICwgd2VsY2hlcyBiZWRldXRldCwgZWluZSB6ZWlsZW53ZWl0ZQogICAgICgqZypsb2JhbGUpIEVyc2V0enVuZyB2b3J6dW5laG1lbi4KICAgICBEaWVzIGVyc2V0enQgYWxsZSBWb3Jrb21tZW4gYXVmIGRlciBaZWlsZS4KCi0tLT4gZGllZSBzY2j2bnN0ZSBaZWl0LCB1bSBkaWVlIEJsdW1lbiBhbnp1c2NoYXVlbiwgaXN0IGRpZWUgRnL8aGxpbmdzemVpdC4KCiAgNC4gVW0gYWxsZSBWb3Jrb21tZW4gZWluZXIgWmVpY2hlbmtldHRlIHp3aXNjaGVuIHp3ZWkgWmVpbGVuIHp1IORuZGVybiwKICAgICB0aXBwZSAgOiMsI3MvYWx0L25ldS9nICAsIHdvYmVpICMsIyBkaWUgendlaSBOdW1tZXJuIGRlciBaZWlsZW4gc2luZC4KICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZyAsIHVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnZXNhbXRlbiBEYXRlaSB6dSDkbmRlcm4uCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA0CgoKICAxLiBDdHJsLWcgIHplaWd0IGRpZSBha3R1ZWxsZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cy4KICAgICBTaGlmdC1HIGJyaW5ndCBEaWNoIGJpcyB6dW0gRW5kZSBkZXIgRGF0ZWkuICBFaW5lIFplaWxlbm51bW1lcgogICAgIGdlZm9sZ3Qgdm9uIFNoaWZ0LUcgYmV3ZWd0IGRlbiBDdXJzb3IgenUgZGVyIFplaWxlbm51bW1lci4KCiAgMi4gRGllIEVpbmdhYmUgdm9uICAvIGdlZm9sZ3Qgdm9uIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFZPUlfEUlRTIG5hY2ggZGVtCiAgICAgQXVzZHJ1Y2suCiAgICAgRGllIEVpbmdhYmUgdm9uICA/ICAgICBnZWZvbGd0IHZvbiBlaW5lbSBBdXNkcnVjayBzdWNodCBS3ENLV8RSVFMgbmFjaCBkZW0KICAgICBBdXNkcnVjay4KICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBu5GNoc3RlIFZvcmtvbW1lbiBpbiBkZXIgZ2xlaWNoZW4KICAgICBSaWNodHVuZyB6dSBmaW5kZW47IG9kZXIgU2hpZnQtTiAsIHVtIGluIGRlciBlbnRnZWdlbmdlc2V0enRlbiBSaWNodHVuZwogICAgIHp1IHN1Y2hlbi4KCiAgMy4gRGllIEVpbmdhYmUgdm9uICAlICAsIHdlbm4gZGVyIEN1cnNvciBzaWNoIGF1ZiAgKCwpLFssXSx7LCBvZGVyIH0KICAgICBiZWZpbmRldCwgZmluZGV0IGRpZSBrb3JyZXNwb25kaWVyZW5kZSBHZWdlbmtsYW1tZXIuCgogIDQuIFVtIGRhcyBFUlNURSBWb3Jrb21tZW4gdm9uIGFsdCBpbiBlaW5lIFplaWxlIGR1cmNoIG5ldSB6dSBlcnNldHplbiwgdGlwcGUKCQk6cy9hbHQvbmV1CiAgICAgVW0gQUxMRSBWb3Jrb21tZW4gdm9uIGFsdCBpbiBlaW5lIFplaWxlIGR1cmNoIG5ldSB6dSBlcnNldHplbiwgdGlwcGUKCQk6cy9hbHQvbmV1L2cKICAgICBVbSBBdXNkcvxja2UgaW5uZXJoYWxiIHZvbiB6d2VpIFplaWxlbiB6dSBlcnNldHplbiwgdGlwcGUKCQk6Iywjcy9hbHQvbmV1L2cKICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZQoJCTolcy9hbHQvbmV1L2cKICAgICBVbSBqZWRlcyBNYWwgbmFjaCBlaW5lciBCZXN05HRpZ3VuZyBnZWZyYWd0IHp1IHdlcmRlbiwgZvxnZSAnYycgaGluenUuCgkJOiVzL2FsdC9uZXUvZ2MJCSgqYypvbmZpcm0pCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJTGVrdGlvbiA1LjE6IEFVU0bcSFJFTiBFSU5FUyBFWFRFUk5FTiBLT01NQU5ET1MKCgogICoqIEdpYiAgOiEgLCBnZWZvbGd0IHZvbiBlaW5lbSBleHRlcm5lbiBLb21tYW5kbyBlaW4sIHVtIGVzIGF1c3p1ZvxocmVuLiAqKgoKICAxLiBUaXBwZSBkYXMgdmVydHJhdXRlIEtvbW1hbmRvICA6ICAsIHVtIGRlbiBDdXJzb3IgYXVmIGRpZSB1bnRlcnN0ZSBaZWlsZQogICAgIGRlcyBGZW5zdGVycyB6dSBzZXR6ZW4uIERpZXMgZXJsYXVidCBEaXIsIGVpbiBLb21tYW5kbyBlaW56dWdlYmVuLgoKICAyLiBOdW4gdGlwcGUgZWluICAhICAoQXVzcnVmZXplaWNoZW4pLiAgRGllc2VzIGVybfZnbGljaHQgRGlyLCBlaW4KICAgICBiZWxpZWJpZ2VzLCBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZvxocmVuLgoKICAzLiBBbHMgQmVpc3BpZWwgdGlwcGUgICBscyAgIG5hY2ggZGVtICAhICB1bmQgZHL8Y2tlIDxFTlRFUj4uIERpZXMgemVpZ3QKICAgICBlaW5lIEF1Zmxpc3R1bmcgRGVpbmVzIFZlcnplaWNobmlzc2VzOyBnZW5hdXNvLCBhbHMgd2VubiBEdSBhdWYgZGVyCiAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB35HJzdC4KICAgICBWZXJ3ZW5kZSAgOiFkaXIgICwgZmFsbHMgbHMgbmljaHQgZnVua3Rpb25pZXJ0LgoKLS0tPiBCZW1lcmt1bmc6ICBNaXQgZGllc2VyIE1ldGhvZGUga2FubiBqZWRlcyBiZWxpZWJpZ2UgZXh0ZXJuZSBLb21tYW5kbwogICAgIGF1c2dlZvxocnQgd2VyZGVuLgoKLS0tPiBCZW1lcmt1bmc6ICBBbGxlICA6ICBLb21tYW5kb3Mgbfxzc2VuIGR1cmNoIEVpbmdhYmUgdm9uIDxFTlRFUj4KICAgICBhYmdlc2NobG9zc2VuIHdlcmRlbi4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQlMZWt0aW9uIDUuMjogTUVIUiDcQkVSIERBUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4KCgoqKiBVbSBhbiBkZXIgRGF0ZWkgZHVyY2hnZWb8aHJ0ZSDEbmRlcnVuZ2VuICB6dSBzaWNoZXJuICwgdGlwcGUgOncgREFURUlOQU1FLiAqKgoKICAxLiBUaXBwZSAgOiFscyAgb2RlciA6IWRpciAgLCB1bSBlaW5lIEF1Zmxpc3R1bmcgRGVpbmVzIFZlcnplaWNobmlzc2VzCiAgICAgenUgZXJoYWx0ZW4uCiAgICAgRHUgd2Vp33QgbnVuIGJlcmVpdHMsIGRhc3MgRHUgZGFuYWNoIDxFTlRFUj4gZWluZ2ViZW4gbXVzc3QuCgogIDIuIFfkaGxlIGVpbmVuIERhdGVpbmFtZW4sIGRlciBkb3J0IG5vY2ggbmljaHQgZXhpc3RpZXJ0LCB6LkIuIFRFU1QuCgogIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V35GhsdGUgRGF0ZWluYW1lIGlzdC4pCgogIDQuIERpZXNlcyBzcGVpY2hlcnQgZGllc2UgZ2FuemUgRGF0ZWkgIChWaW0gVHV0b3IpICB1bnRlciBkZW0gTmFtZW4gVEVTVC4KICAgICBVbSBkaWVzZXMgenUg/GJlcnBy/GZlbiwgdGlwcGUgbm9jaG1hbHMgIDohbHMgIGJ6dy4gICFkaXIsCiAgICAgdW0gRGVpbmVuIFZlcnplaWNobmlzaW5oYWx0IHp1IHNlaGVuLgoKLS0tPiBCZWFjaHRlOiB3/HJkZXN0IER1IFZpbSBqZXR6dCBiZWVuZGVuIHVuZCBkYW5hY2ggd2llZGVyIG1pdCBkZW0gRGF0ZWluYW1lbgogICAgIFRFU1Qg9mZmbmVuLCBkYW5uIHfkcmUgZGllc2UgRGF0ZWkgZWluZSBleGFrdGUgS29waWUgZGVzIFR1dG9ycyB6dSBkZW0KICAgICBaZWl0cHVua3QsIGFscyBEdSBpaG4gZ2VzcGVpY2hlcnQgaGFzdC4KCiAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAgIDohcm0gVEVTVCAgIGJ6dy4gICA6IWRlbCBURVNULgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSBMZWt0aW9uIDUuMzogU0VMRUtUSVZFUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4KCgogICAgKiogVW0gZWluZW4gQWJzY2huaXR0IGRlciBEYXRlaSB6dSBzcGVpY2hlcm4gdGlwcGUgICA6IywjIHcgREFURUlOQU1FICoqCgogIDEuIEdpYiBub2NobWFscyAgOiFscyAgYnp3ICA6IWRpciAgZWluLCB1bSBlaW5lIEF1Zmxpc3R1bmcgRGVpbmVzCiAgICAgVmVyemVpY2huaXNzZXMgenUgZXJoYWx0ZW4gdW5kIHfkaGxlIGVpbmVuIGdlZWlnbmV0ZW4gRGF0ZWluYW1lbiB3aWUgVEVTVC4KCiAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBkaWVzZXMgS2FwaXRlbHMgdW5kIHRpcHBlICBDdHJsLWcgICwgdW0gZGllCiAgICAgTnVtbWVyIGRpZXNlciBaZWlsZSB6dSBlcmhhbHRlbi4gUFLER0UgRElSIERJRVNFIE5VTU1FUiBFSU4hCgogIDMuIE51biBiZXdlZ2UgRGljaCB6dW0gRW5kZSBkaWVzZXMgS2FwaXRlbHMgdW5kIHRpcHBlIHdpZWRlciBDdHJsLWcgLgogICAgIFBSxEdFIERJUiBBVUNIIERJRVNFIFpFSUxFTk5VTU1FUiBFSU4hCgogIDQuIFVtIE5VUiBlaW5lbiBBYnNjaG5pdHQgZWluZXIgRGF0ZWkgenUgc3BlaWNoZXJuLCB0aXBwZSAgIDojLCMgdyBURVNUCiAgICAgd29iZWkgIywjIGRpZSB6d2VpIE51bW1lcm4gc2luZCwgZGllIER1IGltIEdlZORjaHRuaXMgaGFzdCAob2JlbiwgdW50ZW4pOwogICAgIHVuZCBURVNUIERlaW4gRGF0ZWluYW1lIGlzdC4KCiAgNS4g3GJlcnBy/GZlIHdpZWRlcnVtIG1pdCAgOiFscyAgIG9kZXIgIDohZGlyICAgbmFjaCwgZGFzcyBkaWUgRGF0ZWkKICAgICBleGlzdGllcnQsIGFiZXIgbPZzY2hlIHNpZSBOSUNIVC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgICAgIExla3Rpb24gNS40OiBFSU5MRVNFTiBVTkQgWlVTQU1NRU5G3EhSRU4gVk9OIERBVEVJRU4KCgoJICoqIFVtIGRlbiBJbmhhbHQgZWluZXIgRGF0ZWkgZWluenVsZXNlbiwgdGlwcGUgOnIgREFURUlOQU1FICoqCgogIDEuIFRpcHBlICAgOiFscyAgIGJ6dy4gICAhZGlyICwgIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEZWluZSBEYXRlaSBURVNUCiAgICAgdm9uIHZvcmhpbiB2b3JoYW5kZW4gaXN0LgoKICAyLiBQbGF6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkZXIgZXJzdGVuIFplaWxlIGRpZXNlcyBLYXBpdGVscy4KCkJFQUNIVEU6ICBOYWNoZGVtIER1IFNjaHJpdHQgMyBhdXNnZWb8aHJ0IGhhc3QsIHdpcnN0IER1IExla3Rpb24gNS4zICBzZWhlbi4KCSAgQW4gZGllc2VtIFB1bmt0IGJld2VnZSBEaWNoIHdpZWRlciBBQlfEUlRTIHp1IGRpZXNlciBMZWt0aW9uLgoKICAzLiBOdW4gbGllcyBEZWluZSBEYXRlaSBURVNUIGVpbiBpbmRlbSBEdSBkYXMgS29tbWFuZG8gOnIgVEVTVCAgYXVzZvxocnN0LAogICAgIHdvYmVpIFRFU1QgZGVyIE5hbWUgZGVyIERhdGVpIGlzdC4KCkJFTUVSS1VORzogIERpZSBEYXRlaSwgZGllIER1IGVpbmxpZXN0LCB3aXJkIGFuIGRlciBTdGVsbGUgZWluZ2Vm/Gd0LCBhbiBkZXIKICAgIHNpY2ggZGVyIEN1cnNvciBiZWZpbmRldC4KCiAgNC4gVW0genUg/GJlcnBy/GZlbiwgZGFzcyBlaW5lIERhdGVpIGVpbmdlbGVzZW4gd3VyZGUsIGdlaGUgenVy/GNrIHVuZAogICAgIHNlaGUsIGRhc3MgZXMgamV0enQgendlaSBLb3BpZW4gdm9uIExla3Rpb24gNS4zIGdpYnQsIGRhcyBPcmlnaW5hbCB1bmQgZGllCiAgICAgZWluZ2Vm/Gd0ZSBWZXJzaW9uLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMZWt0aW9uIDUKCgogIDEuICA6IUtvbW1hbmRvICBm/GhydCBlaW4gZXh0ZXJuZXMgKFNoZWxsLSlLb21tYW5kbyBhdXMuCgogICAgICBFaW5pZ2Ugbvx0emxpY2hlIEJlaXNwaWVsZSBzaW5kCiAgICAgIFVOSVg6CgkgIDohbHMJCSAgLSAgICBBdWZsaXN0dW5nIGRlcyBha3R1ZWxsZW4gVmVyemVpY2huaXNzZXMKCSAgOiFybSBEQVRFSU5BTUUgIC0gICAgZW50ZmVybnQgRGF0ZWkgREFURUlOQU1FCiAgICAgIE1TLURPUy9XaW5kb3dzOgoJICA6IWRpcgkJICAtICAgIEF1Zmxpc3R1bmcgZGVzIGFrdHVlbGxlbiBWZXJ6ZWljaG5pc3NlcwoJICA6IWRlbCBEQVRFSU5BTUUgLSAgICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUKCiAgMi4gIDp3IERBVEVJTkFNRSAgc2NocmVpYnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSBhbHMgREFURUlOQU1FIGF1ZiBkaWUKICAgICAgIFBsYXR0ZS4KCiAgMy4gIDojLCN3IERBVEVJTkFNRSAgc3BlaWNoZXJ0IGRpZSBaZWlsZW4gIyBiaXMgIyBpbiBkZXIgRGF0ZWkgREFURUlOQU1FLgoKICA0LiAgOnIgREFURUlOQU1FICBs5GR0IGRpZSBEYXRlaSBEQVRFSU5BTUUgdm9uIGRlciBQbGF0dGUgdW5kIGb8Z3Qgc2llIGluCiAgICAgICBkaWUgYWt0dWVsbGUgRGF0ZWkgbmFjaCBkZXIgQ3Vyc29ycG9zaXRpb24gZWluLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOINZGRk5FTiAoT1BFTikKCgogICAqKiBUaXBwZSAgbwksIHVtIGVpbmUgWmVpbGUgdW50ZXIgZGVtIEN1cnNvciB6dSD2ZmZuZW4gdW5kIERpY2ggaW4gZGVuICoqCgkJCSAqKiBFaW5m/GdlbW9kdXMgenUgYmVnZWJlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4KCiAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgYXVmenVtYWNoZW4KICAgICB1bmQgRGljaCBpbiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uCgogIDMuIE51biB0aXBwZSBkZW4gVGV4dCBkZXIgbWl0IC0tLT4gbWFya2llcnRlIFplaWxlIGFiIHVuZCBkcvxja2UgPEVTQz4gLCB1bQogICAgIGRlbiBFaW5m/GdlbW9kdXMgenUgdmVybGFzc2VuLgoKLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIGdl9mZmbmV0ZW4gWmVpbGUgaW0gRWluZ2FiZW1vZHVzIHBsYXR6aWVydC4KCiAgNC4gVW0gZWluZSBaZWlsZSDcQkVSIGRlbSBDdXJzb3IgYXVmenVtYWNoZW4sIGdpYiBlaW5mYWNoIGVpbiBncm/fZXMgIE8KICAgICBhbnN0ZWxsZSBlaW5lcyBrbGVpbmVuICBvICBlaW4uIFZlcnN1Y2hlIGRpZXMgYXVmIGRlciB1bnRlbiBzdGVoZW5kZW4KICAgICBaZWlsZS4K1mZmbmUgZWluZSBaZWlsZSD8YmVyIGRpZXNlciBtaXQgU2hpZnQtTyAsIHdlbm4gZGVyIEN1cnNvciBhdWYgZGllc2VyIFplaWxlIGlzdC4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgICAgTGVrdGlvbiA2LjI6IFRFWFQgQU5G3EdFTiAoQVBQRU5EKQoKCgkgICAgICAqKiBUaXBwZSBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGVpbnp1ZvxnZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciB1bnRlbiBzdGVoZW5kZW4gWmVpbGUsIGRpZSBtaXQgLS0tPgogICAgIG1hcmtpZXJ0IGlzdCwgaW5kZW0gRHUgaW0gTm9ybWFsLU1vZHVzICAkICAgZWluZ2lic3QuCgogIDIuIFRpcHBlIGVpbiAgYSAgKGtsZWluIGdlc2NocmllYmVuKSwgdW0gVGV4dCBOQUNIIGRlbSBaZWljaGVuIHVudGVyIGRlbQogICAgIEN1cnNvciBlaW56dWdlYmVuLiAgKEVpbiBncm/fZXMgQSBm/Gd0IG5hY2ggZGVtIEVuZGUgZGVyIFplaWxlIGFuLikKCkJlbWVya3VuZzogRGllcyBtYWNodCBlcyD8YmVyZmz8c3NpZywgZXJzdCBpIHp1IHRpcHBlbiwgZGFubiBkYXMgbGV0enRlCgkgICBaZWljaGVuLCBkZW4gYW56dWjkbmdlbmRlbiBUZXh0LCA8RVNDPiwgQ3Vyc29yLVJlY2h0cywKCSAgIHVuZCBzY2hsaWXfbGljaCwgeCwgbnVyIHVtIFRleHQgYW4gZWluZSBaZWlsZSBhbnp1aORuZ2VuIQoKICAzLiBOdW4gdmVydm9sbHN05G5kaWdlIGRpZSBlcnN0ZSBaZWlsZS4gIEJlYWNodGUgYXXfZXJkZW0gLCBkYXNzIEFuZvxnZW4KICAgICAoQXBwZW5kKSBnZW5hdSBkYXMgZ2xlaWNoZSBpc3QsIHdpZSBkZXIgRWluZvxnZS0gKEluc2VydC0pIE1vZHVzLAogICAgIGFiZ2VzZWhlbiB2b24gZGVyIFN0ZWxsZSwgYW4gZGVtIGRlciBUZXh0IGVpbmdlZvxndCB3aXJkLgoKLS0tPiBEaWVzZSBaZWlsZSBiaWV0ZXQgR2VsZWdlbmhlaXQKLS0tPiBEaWVzZSBaZWlsZSBiaWV0ZXQgR2VsZWdlbmhlaXQsIFRleHQgYW4gaWhyIEVuZGUgYW56dWb8Z2VuLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICAgIExla3Rpb24gNi4zOiBFSU5FIEFOREVSRSBWRVJTSU9OIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpCgoKICAgICAgICoqIFRpcHBlIGVpbiBncm/fZXMgIFIgICwgdW0gbWVociBhbHMgZWluIFplaWNoZW4genUgZXJzZXR6ZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICAyLiBQbGF6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkZW4gQW5mYW5nIGRlcyBlcnN0ZW4gV29ydGVzLCB3ZWxjaGVzIHNpY2ggdm9uCiAgICAgZGVyIHp3ZWl0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlcnNjaGVpZGV0IChkYXMgV29ydCAnYmVudXR6ZScpLgoKICAzLiBOdW4gZ2liIGVpbiBSICBlaW4sIHVuZCBlcnNldHplIGRlbiBSZXN0IGRlcyBUZXh0ZXMgYXVmIGRlciBlcnN0ZW4KICAgICBaZWlsZSwgdW0gZGllc2UgZ2xlaWNoIGRlciB6d2VpdGVuIHp1IG1hY2hlbiwgaW5kZW0gRHUgZGVuIGFsdGVuIFRleHQKICAgICD8YmVyc2NocmVpYnN0LgoKLS0tPiBVbSBkaWUgZXJzdGUgWmVpbGUgZ2xlaWNoIGRlciB6d2VpdGVuIHp1IG1hY2hlbiwgYmVudXR6ZSBkaWUgVGFzdGF0dXIuCi0tLT4gVW0gZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiB6dSBtYWNoZW4sIHRpcHBlIFIgdW5kIG5ldWVuIFRleHQuCgogIDQuIEJlYWNodGUsIGRhc3MsIHdlbm4gRHUgenVtIFZlcmxhc3NlbiA8RVNDPiBkcvxja3N0LCBz5G10bGljaGVyCiAgICAgdW5nZeRuZGVydGUgVGV4dCBiZXN0ZWhlbiBibGVpYnQuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgTGVrdGlvbiA2LjQ6IE9QVElPTkVOIFNFVFpFTgoKCiAgICAgICoqIFNldHplIGVpbmUgT3B0aW9uIHNvLCBkYXNzIGVpbmUgU3VjaGUgb2RlciBlaW5lIEVyc2V0enVuZyBHcm/fLSAqKgoJCSAgICAgICoqIHVuZCBLbGVpbnNjaHJlaWJ1bmcgaWdub3JpZXJ0ICoqCgoKICAxLiBTdWNoZSBuYWNoICdpZ25vJywgaW5kZW0gRHUgICAgL2lnbm8gICBlaW5naWJzdC4KICAgICBXaWVkZXJob2xlIGRpZSBTdWNoZSBlaW5pZ2UgTWFsZSwgaW5kZW0gRHUgZGllIG4gLSBUYXN0ZSBkcvxja3N0LgoKICAyLiBTZXR6ZSBkaWUgJ2ljJyAoaWdub3JlY2FzZTsgSWdub3JpZXJlIEdyb98tL0tsZWluc2NocmVpYnVuZykgLSBPcHRpb24sCiAgICAgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuCgogIDMuIE51biBzdWNoZSB3aWVkZXIgbmFjaCAnaWdubycsIGluZGVtIER1IG4gdGlwcHN0LgogICAgIFdpZWRlcmhvbGUgZGllc2VzIG5vY2ggZWluaWdlIE1hbGUsIGluZGVtIER1IGRpZSBuIFRhc3RlIGRy/GNrc3QuCgogIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIChTdWNoZSBoZXJ2b3JoZWJlbikgdW5kICdpbmNzZWFyY2gnIChJbmtyZW1lbnRlbGxlCiAgICAgU3VjaGUpIC0gT3B0aW9uZW46CiAgICAgOnNldCBobHMgaXMKCiAgNS4gSmV0enQgZ2liIGRlbiBTdWNoZW4tQmVmZWhsIG5vY2ggZWlubWFsIGVpbiB1bmQgYmVvYmFjaHRlLCB3YXMgcGFzc2llcnQ6CiAgICAgL2lnbm8KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTGVrdGlvbiA2CgoKICAxLiBEaWUgRWluZ2FiZSB2b24gIG8gIG1hY2h0IGVpbmUgWmVpbGUgVU5URVIgZGVtIEN1cnNvciBhdWYgdW5kCiAgICAgcGxhdHppZXJ0IGRlbiBDdXJzb3IgYXVmIGRlciBnZfZmZm5ldGVuIFplaWxlIGltIEVpbmb8Z2Vtb2R1cy4KICAgICBEaWUgRWluZ2FiZSBlaW5lcyBncm/fZW4gIE8gIPZmZm5ldCBlaW5lIFplaWxlINxCRVIgZGVyamVuaWdlbiwKICAgICBhdWYgZGVyIHNpY2ggZGVyIEN1cnNvciBiZWZpbmRldC4KCiAgMi4gR2liIGVpbiAgYSAgZWluLCB1bSBUZXh0IE5BQ0ggZGVtIFplaWNoZW4sIGF1ZiBkZW0gc2ljaCBkZXIgQ3Vyc29yCiAgICAgYmVmaW5kZXQsIGVpbnp1ZvxnZW4uCiAgICAgRGllIEVpbmdhYmUgZWluZXMgZ3Jv32VuICBBICBlcmxhdWJ0IGRhcyBBbmb8Z2VuIHZvbiBUZXh0IG5hY2ggZGVtCiAgICAgRW5kZSBkZXIgWmVpbGUuCgogIDMuIERpZSBFaW5nYWJlIGVpbmVzIGdyb99lbiAgUiAgd2VjaHNlbHQgaW4gZGVuIEVyc2V0enVuZ3MtKFJlcGxhY2UpLU1vZHVzLAogICAgIGJpcyB6dW0gVmVybGFzc2VuIDxFU0M+IGVpbmdlZ2ViZW4gd2lyZC4KCiAgNC4gRGllIEVpbmdhYmUgdm9uICI6c2V0IHh4eCIgc2V0enQgZGllIE9wdGlvbiAieHh4IgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgIExla3Rpb24gNyA6IERJRSBPTkxJTkUtSElMRkUKCgkJICAgICAqKiBOdXR6ZSBkYXMgZWluZ2ViYXV0ZSBIaWxmZXN5c3RlbSAqKgoKICBWaW0gYmVzaXR6dCBlaW4gdW1mYXNzZW5kZXMgZWluZ2ViYXV0ZXMgSGlsZmVzeXN0ZW0uICBG/HIgZGVuIEFuZmFuZyBwcm9iaWVyZQogIGVpbnMgZGVyIGRyZWkgZm9sZ2VuZGVuIERpbmdlIGF1czoKCS0gRHL8Y2tlIGRpZSA8SGlsZmU+IC0gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKCS0gRHL8Y2tlIGRpZSA8RjE+IFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpCgktIFRpcHBlICAgOmhlbHAgPEVOVEVSPgoKICBUaXBwZSAgIDpxIDxFTlRFUj4gICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uCgogIER1IGthbm5zdCBIaWxmZSD8YmVyIHByYWt0aXNjaCBqZWRlcyBUaGVtYSBmaW5kZW4sIGluZGVtIER1IGRlbSAiOmhlbHAiCiAgS29tbWFuZG8gZWluIEFyZ3VtZW50IGdpYnN0LiAgUHJvYmllcmUgZm9sZ2VuZGVzICg8RU5URVI+IG5pY2h0IHZlcmdlc3Nlbik6CgogIDpoZWxwIHcKICA6aGVscCBjXzxUCiAgOmhlbHAgaW5zZXJ0LWluZGV4CiAgOmhlbHAgdXNlci1tYW51YWwKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgICBMZWt0aW9uIDg6IEVSU1RFTExFIEVJTiBTVEFSVC1TS1JJUFQKCgkJICoqICBBa3RpdmllcmUgZGllIEZ1bmt0aW9uYWxpdOR0ZW4gdm9uIFZpbSAqKgoKICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTkdGVuLCBkaWUg/GJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3RlbgogIHZvbiBpaG5lbiBzaW5kIHN0YW5kYXJkbeTfaWcgZGVha3RpdmllcnQuCiAgVW0gZGllc2UgenUgYWt0aXZpZXJlbiwgbXVzc3QgRHUgZWluZSAidmltcmMiIC0gRGF0ZWkgZXJzdGVsbGVuLgoKMS4gU3RhcnRlIGRhcyBFZGl0aWVyZW4gZGVyICJ2aW1yYyItRGF0ZWksIGRpZXMgaXN0IHZvbiBEZWluZW0gU3lzdGVtIGFiaORuZ2lnOgoJOmVkaXQgfi8udmltcmMJCQlm/HIgVW5peAoJOmVkaXQgJFZJTS9fdmltcmMJCWb8ciBNUy1XaW5kb3dzCgoyLiBOdW4gbGllcyBkaWUgQmVpc3BpZWwgLSAidmltcmMiIGVpbjoKCgk6cmVhZCAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQoKMy4gU3BlaWNoZXJlIGRpZSBEYXRlaSBtaXQ6CgoJOndyaXRlCgpEYXMgbuRjaHN0ZSBNYWwsIHdlbm4gRHUgVmltIHN0YXJ0ZXN0LCB3aXJkIGRpZSBTeW50YXgtSGVydm9yaGVidW5nCmFrdGl2aWVydCBzZWluLgpEdSBrYW5uc3QgYWxsIERlaW5lIExpZWJsaW5nc29wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiIC0gRGF0ZWkgenVm/Gdlbi4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCiAgRGFtaXQgaXN0IGRlciBWaW0gVHV0b3IgYmVlbmRldC4gIERpZSBJbnRlbnRpb24gd2FyLCBlaW5lbiBrdXJ6ZW4gdW5kCiAgYvxuZGlnZW4g3GJlcmJsaWNrIPxiZXIgZGVuIFZpbSBFZGl0b3IgenUgbGllZmVybjsgZ2VyYWRlIGdlbnVnLCB1bSByZWxhdGl2CiAgbGVpY2h0IG1pdCBpaG0gdW1nZWhlbiB6dSBr9m5uZW4uCiAgRGVyIFZpbSBUdXRvciBoYXQgbmljaHQgZGVuIGdlcmluZ3N0ZW4gQW5zcHJ1Y2ggYXVmIFZvbGxzdORuZGlna2VpdDsKICBWaW0gaGF0IG5vY2ggd2VpdGF1cyBtZWhyIEtvbW1hbmRvcy4KICBXYWdlIERpY2ggYWxzIG7kY2hzdGVzIGFuIGRhcyBVc2VyIE1hbnVhbDogIjpoZWxwIHVzZXItbWFudWFsIi4KCiAgRvxyIHdlaXRlcmVzIExlc2VuIHVuZCBMZXJuZW4ga2FubiBmb2xnZW5kZXMgQnVjaCBlbXBmb2hsZW4gd2VyZGVuOgoJVmltIC0gVmkgSW1wcm92ZWQgLSB2b24gU3RldmUgT3VhbGxpbmUKCVZlcmxhZzogTmV3IFJpZGVycwogIERhcyBlcnN0ZSBCdWNoLCBkYXNzIGR1cmNoZ+RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbvx0emxpY2gKICBm/HIgQW5m5G5nZXIuCiAgVmllbGUgQmVpc3BpZWxlIHVuZCBCaWxkZXIgc2luZCBlbnRoYWx0ZW4uCiAgU2llaGUgaHR0cDovL3d3dy5pY2NmLm5sL2NsaWNrNS5odG1sCgogIEZvbGdlbmRlcyBCdWNoIGlzdCDkbHRlciB1bmQgbWVociD8YmVyIFZpIGFscyBWaW0sIGFiZXIgYXVjaCBlbXBmZWhsZW5zd2VydDoKCUxpbmRhIExhbWIgdW5kIEFybm9sZCBSb2JiaW5zCglUZXh0YmVhcmJlaXR1bmcgbWl0IGRlbSB2aS1FZGl0b3IKCVZlcmxhZyBPJ1JlaWxseSAtIElTQk46IDM4OTcyMTEyNjIKICBJbiBkaWVzZW0gQnVjaCBrYW5uIG1hbiBmYXN0IGFsbGVzIGZpbmRlbiwgd2FzIG1hbiBtaXQgVmkgdHVuIG32Y2h0ZS4KICBEaWUgc2VjaHN0ZSBBdXNnYWJlIGVudGjkbHQgYXVjaCBJbmZvcm1hdGlvbmVuIPxiZXIgVmltLgoKICBEaWVzZXMgVHV0b3JpYWwgd3VyZGUgZ2VzY2hyaWViZW4gdm9uIE1pY2hhZWwgQy4gUGllcmNlIGFuZCBSb2JlcnQgSy4gV2FyZSwKICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMuIEVzIGJlbnV0enQgSWRlZW4sIGRpZSBDaGFybGVzIFNtaXRoLAogIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHksIHp1ciBWZXJm/Gd1bmcgc3RlbGx0ZS4KICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KCiAgQmVhcmJlaXRldCBm/HIgVmltIHZvbiBCcmFtIE1vb2xlbmFhci4KCiAgRGV1dHNjaGUg3GJlcnNldHp1bmcgdm9uIEpvYWNoaW0gSG9mbWFubiwgU2VwdGVtYmVyIDIwMDIuCiAgRS1tYWlsOiBKb2FjaGltLkhvZkBnbXguZGUKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cg==