ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRlCmluZGV4IDJiOWMwMjkuLmYzYmQ4NmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUKKysrIGIvcnVudGltZS90dXRvci90dXRvci5kZQpAQCAtMSw5ODIgKzEsOTgyIEBACi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotPSAgICAgIFcgaSBsIGwgayBvIG0gbSBlIG4gICBpbSAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgVmVyc2lvbiAxLjcuZGUuMSAgPQ0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0NCi0gICBWaW0gaXN0IGVpbiBzZWhyIG3kY2h0aWdlciBFZGl0b3IsIGRlciB2aWVsZSBCZWZlaGxlIGJlcmVpdHN0ZWxsdDsgenUgdmllbGUsDQotICAgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zkcmVuLiAgRGllc2VyIFR1dG9yIGlzdCBzbw0KLSAgIGdlc3RhbHRldCwgdW0gZ2VudWcgQmVmZWhsZSB2b3J6dXN0ZWxsZW4sIGRhc3MgRHUgZGllIEbkaGlna2VpdCBlcmxhbmdzdCwNCi0gICBWaW0gbWl0IExlaWNodGlna2VpdCBhbHMgZWluZW4gQWxsendlY2stRWRpdG9yIHp1IHZlcndlbmRlbi4NCi0gICBEaWUgWmVpdCBm/HIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRy5Gd0IGNhLiAyNS0zMCBNaW51dGVuLA0KLSAgIGFiaORuZ2lnIGRhdm9uLCB3aWUgdmllbCBaZWl0IER1IG1pdCBFeHBlcmltZW50aWVyZW4gdmVyYnJpbmdzdC4NCi0NCi0gICBBQ0hUVU5HOg0KLSAgIERpZSBpbiBkZW4gTGVrdGlvbmVuIGFuZ2V3ZW5kZXRlbiBLb21tYW5kb3Mgd2VyZGVuIGRlbiBUZXh0IG1vZGlmaXppZXJlbi4NCi0gICBFcnN0ZWxsZSBlaW5lIEtvcGllIGRpZXNlciBEYXRlaSwgaW4gZGVyIER1IPxiZW4gd2lsbHN0IChmYWxscyBEdSAidmltdHV0b3IiDQotICAgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLg0KLQ0KLSAgIEVzIGlzdCB3aWNodGlnLCBzaWNoIHp1IHZlcmdlZ2Vud+RydGlnZW4sIGRhc3MgZGllc2VyIFR1dG9yIGb8ciBkYXMgQW53ZW5kZW4NCi0gICBrb256aXBpZXJ0IGlzdC4gRGFzIGJlZGV1dGV0LCBkYXNzIER1IGRpZSBCZWZlaGxlIGFud2VuZGVuIG11c3N0LCB1bSBzaWUNCi0gICByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZSBCZWZlaGxlIQ0KLQ0KLSAgIEpldHp0IHN0ZWxsZSBzaWNoZXIsIGRhc3MgZGVpbmUgVW1zdGVsbHRhc3RlIE5JQ0hUIGdlZHL8Y2t0IGlzdCB1bmQgYmV05HRpZ2UNCi0gICBkaWUgICBqICAgVGFzdGUgZ2Vu/GdlbmQgTWFsLCB1bSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genUgYmV3ZWdlbiwgc28gZGFzcw0KLSAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZvxsbHQuDQotfn5+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+DQotCQkJTGVrdGlvbiAxLjE6IEJFV0VHRU4gREVTIENVUlNPUlMNCi0NCi0gICoqIFVtIGRlbiBDdXJzb3IgenUgYmV3ZWdlbiwgZHL8Y2tlIGRpZSBoLGosayxsIFRhc3RlbiB3aWUgdW50ZW4gZ2V6ZWlndC4gKioNCi0JICAgICBeCQkgSGlsZmVzdGVsbHVuZzoNCi0JICAgICBrCQkgRGllIGggVGFzdGUgYmVmaW5kZXQgc2ljaCBsaW5rcyB1bmQgYmV3ZWd0IG5hY2ggbGlua3MuDQotICAgICAgIDwgaAkgbCA+CSBEaWUgbCBUYXN0ZSBsaWVndCByZWNodHMgdW5kIGJld2VndCBuYWNoIHJlY2h0cy4NCi0JICAgICBqCQkgRGllIGogVGFzdGUg5GhuZWx0IGVpbmVtIFBmZWlsIG5hY2ggdW50ZW4uDQotCSAgICAgdg0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgYXVmIGRlbSBCaWxkc2NoaXJtIHVtaGVyLCBiaXMgRHUgRGljaCBzaWNoZXIgZvxobHN0Lg0KLQ0KLSAgMi4gSGFsdGUgZGllIE5hY2gtVW50ZW4tVGFzdGUgKGopIGdlZHL8Y2t0LCBiaXMgc2llIHNpY2ggd2llZGVyaG9sdC4NCi0gICAgIEpldHp0IHdlad90IER1LCB3aWUgRHUgRGljaCB6dXIgbuRjaHN0ZW4gTGVrdGlvbiBiZXdlZ2VuIGthbm5zdC4NCi0NCi0gIDMuIEJlbnV0emUgZGllIE5hY2gtVW50ZW4tVGFzdGUsIHVtIERpY2ggenUgTGVrdGlvbiAxLjIgenUgYmV3ZWdlbi4NCi0NCi1Bbm1lcmt1bmc6IEltbWVyLCB3ZW5uIER1IERpciB1bnNpY2hlciBiaXN0IPxiZXIgZGFzLCB3YXMgRHUgZ2V0aXBwdCBoYXN0LA0KLQkgICBkcvxja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLg0KLQkgICBEYW5uIGdpYiBkYXMgZ2V3/G5zY2h0ZSBLb21tYW5kbyBub2NoIGVpbm1hbCBlaW4uDQotDQotQW5tZXJrdW5nOiBEaWUgQ3Vyc29yLVRhc3RlbiBzb2xsdGVuIGViZW5mYWxscyBmdW5rdGlvbmllcmVuLiAgQWJlciB3ZW5uIER1DQotCSAgIGhqa2wgYmVudXR6dCwgd2lyc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgRGljaCBzZWhyIHZpZWwgc2NobmVsbGVyDQotCSAgIHVtaGVyenViZXdlZ2VuLCB3ZW5uIER1IERpY2ggZWlubWFsIGRhcmFuIGdld/ZobnQgaGFzdC4gV2lya2xpY2ghDQotfn5+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+DQotCQkJICAgIExla3Rpb24gMS4yOiBWSU0gQkVFTkRFTg0KLQ0KLQ0KLSAgISEgSGlud2VpczogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZvxocnRlbiBTY2hyaXR0ZSBhdXNm/Ghyc3QsIGxpZXMNCi0gICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhDQotDQotICAxLiBEcvxja2UgZGllIDxFU0M+IFRhc3RlICh1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdCkuDQotDQotICAyLiBUaXBwZToJOnEhIDxFTlRFUj4uDQotICAgICBEaWVzIGJlZW5kZXQgZGVuIEVkaXRvciB1bmQgVkVSV0lSRlQgYWxsZSDEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0Lg0KLQ0KLSAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQ0KLSAgICAgZGllc2VtIFR1dG9yIGdlZvxocnQgaGF0LiBEaWVzIHfkcmU6CXZpbXR1dG9yIDxFTlRFUj4NCi0NCi0gIDQuIFdlbm4gRHUgRGlyIGRpZXNlIFNjaHJpdHRlIGVpbmdlcHLkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZvxobHN0LA0KLSAgICAgZvxocmUgU2Nocml0dGUgMSBiaXMgMyBhdXMsIHVtIGRlbiBFZGl0b3IgenUgdmVybGFzc2VuIHVuZCB3aWVkZXINCi0gICAgIGhpbmVpbnp1Z2VsYW5nZW4uDQotDQotQW5tZXJrdW5nOiAgOnEhIDxFTlRFUj4gIHZlcndpcmZ0IGFsbGUgxG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4gRWluaWdlDQotICAgICBMZWt0aW9uZW4gc3DkdGVyIGxlcm5zdCBEdSwgZGllIMRuZGVydW5nZW4gaW4gZWluZXIgRGF0ZWkgenUgc3BlaWNoZXJuLg0KLQ0KLSAgNS4gQmV3ZWdlIGRlbiBDdXJzb3IgYWJ35HJ0cyB6dSBMZWt0aW9uIDEuMy4NCi0gfn5+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+DQotCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzWU0NIRU4NCi0NCi0NCi0JICoqIERy/GNrZSAgeCAgLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGz2c2NoZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCi0NCi0gIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciD8YmVyIGRlbSBaZWljaGVuIHN0ZWh0LA0KLSAgICAgZGFzIGdlbPZzY2h0IHdlcmRlbiBzb2xsLg0KLQ0KLSAgMy4gRHL8Y2tlIGRpZSAgeCAgVGFzdGUsIHVtIGRhcyB1bmVyd/xuc2NodGUgWmVpY2hlbiB6dSBs9nNjaGVuLg0KLQ0KLSAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0Lg0KLQ0KLS0tLT4gRGllIEtrdWggc3ByYW5nZyD8YmJlcnIgZGVlbiBNb29uZC4NCi0NCi0gIDUuIE51biwgZGEgZGllIFplaWxlIGtvcnJla3QgaXN0LCBnZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAxLjQuDQotDQotQW5tZXJrdW5nOiBX5GhyZW5kIER1IGR1cmNoIGRpZXNlbiBUdXRvciBnZWhzdCwgdmVyc3VjaGUgbmljaHQsIGF1c3dlbmRpZyB6dQ0KLSAgICBsZXJuZW4sIGxlcm5lIHZpZWxtZWhyIGR1cmNoIEFud2VuZGVuLg0KLQ0KLQ0KLX5+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+fg0KLQkJICAgICBMZWt0aW9uIDEuNDogVEVYVCBFRElUSUVSRU4gLSBFSU5G3EdFTg0KLQ0KLQ0KLQkJICAgICoqICBEcvxja2UgIGkgICwgdW0gVGV4dCBlaW56dWb8Z2VuLiAqKg0KLQ0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCi0NCi0gIDIuIFVtIGRpZSBlcnN0ZSBaZWlsZSBtaXQgZGVyIHp3ZWl0ZW4gZ2xlaWNoenVtYWNoZW4sIGJld2VnZSBkZW4gQ3Vyc29yIGF1Zg0KLSAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCBhbiBkZXIgVGV4dCBlaW5nZWb8Z3Qgd2VyZGVuIHNvbGwuDQotDQotICAzLiBEcvxja2UgIGkgIHVuZCBnaWIgZGllIG72dGlnZW4gRXJn5G56dW5nZW4gZWluLg0KLQ0KLSAgNC4gV2VubiBqZXdlaWxzIGVpbiBGZWhsZXIgYmVzZWl0aWd0IGlzdCwgZHL8Y2tlIDxFU0M+ICwgdW0genVtIE5vcm1hbG1vZHVzDQotICAgICB6dXL8Y2t6dWtlaHJlbi4NCi0JCSBXaWVkZXJob2xlIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLg0KLQ0KLS0tLT4gSW4gZGllc2VyIGZ0IGV0d2FzIC4NCi0tLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0Lg0KLQ0KLSAgNS4gV2VubiBEdSBEaWNoIG1pdCBkZW0gRWluZvxnZW4gdm9uIFRleHQgc2ljaGVyIGb8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNS4NCi0NCi0NCi1+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+fn4NCi0JCSAgICAgTGVrdGlvbiAxLjU6IFRFWFQgRURJVElFUkVOIC0gQU5G3EdFTg0KLQ0KLQ0KLQkJICAgICAqKiBEcvxja2UgIEEgICwgdW0gVGV4dCBhbnp1ZvxnZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KLSAgICAgRGFiZWkgaXN0IGdsZWljaGf8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4NCi0NCi0gIDIuIERy/GNrZSAgQSAgdW5kIGdpYiBkaWUgZXJmb3JkZXJsaWNoZW4gRXJn5G56dW5nZW4gZWluLg0KLQ0KLSAgMy4gV2VubiBkYXMgQW5m/GdlbiBhYmdlc2NobG9zc2VuIGlzdCwgZHL8Y2tlIDxFU0M+LCB1bSBpbiBkZW4gTm9ybWFsbW9kdXMNCi0gICAgIHp1cvxja3p1a2VocmVuLg0KLQ0KLSAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bmQgd2llZGVyaG9sZQ0KLSAgICAgZGllIFNjaHJpdHRlIDIgdW5kIDMsIHVtIGRlbiBTYXR6IHp1IGF1c3p1YmVzc2Vybi4NCi0NCi0tLS0+IEluIGRpZXNlciBaZWlsZSBmZWgNCi0gICAgIEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0Lg0KLS0tLT4gQXVjaCBoaWVyIHN0ZWgNCi0gICAgIEF1Y2ggaGllciBzdGVodCBldHdhcyBVbnZvbGxzdORuZGlnZXMuDQotDQotICA1LiBXZW5uIER1IGRpY2ggbWl0IGRlbSBBbmb8Z2VuIHZvbiBUZXh0IHNpY2hlciBm/Ghsc3QsIGdlaGUgenUgTGVrdGlvbiAxLjYuDQotfn5+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+DQotCQkgICAgICAgTGVrdGlvbiAxLjY6IEVJTkUgREFURUkgRURJVElFUkVODQotDQotCQkgKiogQmVudXR6ZSAgOndxICAsIHVtIGVpbmUgRGF0ZWkgenUgc3BlaWNoZXJuIHVuZCBWaW0genUgdmVybGFzc2VuLiAqKg0KLQ0KLSAgISEgSGlud2VpczogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZvxocnRlbiBTY2hyaXR0ZSBhdXNm/Ghyc3QsIGxpZXMNCi0gICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhDQotDQotICAxLiBWZXJsYXNzZSBkZW4gRWRpdG9yIHNvIHdpZSBpbiBMZWt0aW9uIDEuMjogIDpxISAgICAgICANCi0JICAgT2RlciwgZmFsbHMgZHUgWnVncmlmZiB6dSBlaW5lbSBhbmRlcmVuIFRlcm1pbmFsIGhhc3QsIGb8aHJlIGRhcyANCi0JCSBGb2xnZW5kZSBkb3J0IGF1cy4NCi0NCi0gIDIuIEdpYiBkaWVzZXMgS29tbWFuZG8gaW4gZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgZWluOiAgdmltIHR1dG9yIDxFTlRFUj4NCi0gICAgICd2aW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuDQotICAgICBCZW51dHplIGVpbmUgRGF0ZWksIGRpZSBnZeRuZGVydCB3ZXJkZW4gZGFyZi4NCi0NCi0gIDMuIEb8Z2UgVGV4dCBlaW4gb2RlciBs9nNjaGUgaWhuLCB3aWUgRHUgaW4gZGVuIHZvcmFuZ2VoZW5kZW4gTGVrdGlvbmVuIA0KLSAgICAgZ2VsZXJudCBoYXN0Lg0KLQ0KLSAgNC4gU3BlaWNoZXJlIGRpZSBnZeRuZGVydGUgRGF0ZWkgdW5kIHZlcmxhc3NlIFZpbSBtaXQ6ICA6d3EgIDxFTlRFUj4NCi0NCi0gIDUuIEZhbGxzIER1IGluIFNjaHJpdHQgMSBkZW4gdmltdHV0b3IgYmVlbmRldCBoYXN0LCBzdGFydGUgdmltdHV0b3IgbmV1IHVuZA0KLQkgICBiZXdlZ2UgZGljaCBhYnfkcnRzIGJpcyB6dXIgZm9sZ2VuZGVuIFp1c2FtbWVuZmFzc3VuZy4NCi0NCi0gIDYuIE5hY2hkZW0gRHUgb2JpZ2UgU2Nocml0dGUgZ2VsZXNlbiB1bmQgdmVyc3RhbmRlbiBoYXN0OiBm/GhyZSBzaWUgZHVyY2guDQotfn5+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+DQotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAxDQotDQotDQotICAxLiBEZXIgQ3Vyc29yIHdpcmQgbWl0IGRlbiBQZmVpbHRhc3RlbiBvZGVyIGRlbiBUYXN0ZW4gaGprbCBiZXdlZ3QuDQotCSBoIChsaW5rcykgICAgIGogKHVudGVuKSAgICAgayAoYXVmd+RydHMpICAgIGwgKHJlY2h0cykNCi0NCi0gIDIuIFVtIFZpbSBhdXMgZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmcgenUgc3RhcnRlbiwgdGlwcGU6IHZpbSBEQVRFSSA8RU5URVI+DQotDQotICAzLiBVbSBWaW0genUgdmVybGFzc2VuIHVuZCBhbGxlIMRuZGVydW5nZW4genUgdmVyd2VyZmVuLCB0aXBwZToNCi0JCTxFU0M+ICA6cSEgIDxFTlRFUj4gLg0KLQ0KLSAgNC4gVW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBs9nNjaGVuLCB0aXBwZTogIHgNCi0NCi0gIDUuIFVtIFRleHQgZWluenVm/GdlbiBvZGVyIGFuenVm/GdlbiwgdGlwcGU6DQotCSBpICAgRWluenVm/GdlbmRlbiBUZXh0IGVpbmdlYmVuICAgPEVTQz4gICAgRWluZvxnZW4gdm9yIGRlbSBDdXJzb3INCi0JIEEgICBBbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgICA8RVNDPiAgICBBbmb8Z2VuIG5hY2ggZGVtIFplaWxlbmVuZGUNCi0NCi1Bbm1lcmt1bmc6IERy/GNrZW4gdm9uIDxFU0M+IGJyaW5ndCBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyBvZGVyIGJyaWNodCBlaW4NCi0gICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuDQotDQotICAgICBOdW4gZmFocmUgbWl0IExla3Rpb24gMiBmb3J0Lg0KLX5+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+fg0KLQkJCSAgTGVrdGlvbiAyLjE6IEzWU0NIS09NTUFORE9TDQotDQotDQotCQkgICAqKiBUaXBwZSAgZHcgICwgdW0gZWluIFdvcnQgenUgbPZzY2hlbi4gKioNCi0NCi0gIDEuIERy/GNrZSAgPEVTQz4gICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuDQotDQotICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCi0NCi0gIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZWluZXMgV29ydGVzLCBkYXMgZ2Vs9nNjaHQgd2VyZGVuIHNvbGwuDQotDQotICA0LiBUaXBwZSAgZHcgICwgdW0gZGFzIFdvcnQgenUgZW50ZmVybmVuLg0KLQ0KLSAgQW5tZXJrdW5nOiBEZXIgQnVjaHN0YWJlICBkICBlcnNjaGVpbnQgYXVmIGRlciB1bnRlcnN0ZW4gWmVpbGUgZGVzIFNjaGlybXMsDQotICAgICAgICB3ZW5uIER1IGlobiBlaW5naWJzdC4gVmltIHdhcnRldCBkYXJhdWYsIGRhc3MgRHUgIHcgIGVpbmdpYnN0LiBGYWxscyBEdQ0KLSAgICAgICAgZWluIGFuZGVyZXMgWmVpY2hlbiBhbHMgIGQgIHNpZWhzdCwgaGFzdCBEdSBldHdhcyBGYWxzY2hlcyBnZXRpcHB0Ow0KLSAgICAgICAgZHL8Y2tlIDxFU0M+IHVuZCBiZWdpbm5lIG5vY2ggZWlubWFsLg0KLQ0KLS0tLT4gRWluaWdlIFf2cnRlciBsdXN0aWcgZ2Vo9nJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouDQotDQotICA1LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAzIHVuZCA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QgdW5kIGdlaGUNCi0gICAgIHp1ciBMZWt0aW9uIDIuMi4NCi1+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+fn4NCi0JCSAgICAgIExla3Rpb24gMi4yOiBXRUlURVJFIEzWU0NIS09NTUFORE9TDQotDQotDQotCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBs9nNjaGVuLiAqKg0KLQ0KLSAgMS4gRHL8Y2tlIDxFU0M+ICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuDQotDQotICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCi0NCi0gIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBrb3JyZWt0ZW4gWmVpbGUgKE5BQ0ggZGVtIGVyc3RlbiAuICkuDQotDQotICA0LiBUaXBwZSAgICBkJCAgICAsIHVtIGJpcyB6dW0gWmVpbGVuZW5kZSB6dSBs9nNjaGVuLg0KLQ0KLS0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uDQotDQotDQotICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHZvcmdlaHQuDQotDQotDQotDQotDQotDQotfn5+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+DQotCQkgTGVrdGlvbiAyLjM6INxCRVIgT1BFUkFUT1JFTiBVTkQgQkVXRUdVTkdTWtxHRQ0KLQ0KLQ0KLSAgVmllbGUgS29tbWFuZG9zLCBkaWUgVGV4dCDkbmRlcm4sIHNldHplbiBzaWNoIGF1cyBlaW5lbSBPcGVyYXRvciB1bmQgZWluZXINCi0gIEJld2VndW5nIHp1c2FtbWVuLiBEYXMgRm9ybWF0IGb8ciBlaW4gTPZzY2hrb21tYW5kbyBtaXQgZGVtIEz2c2Nob3BlcmF0b3IgIGQNCi0gIGxhdXRldCB3aWUgZm9sZ3Q6DQotDQotICAgIGQgIEJld2VndW5nDQotDQotICB3b2JlaToNCi0gICAgZCAgICAgICAgLSBkZXIgTPZzY2hvcGVyYXRvcg0KLSAgICBCZXdlZ3VuZyAtIHdvcmF1ZiBkZXIgTPZzY2hvcGVyYXRvciBhbmdld2FuZHQgd2lyZCAodW50ZW4gYXVmZ2Vm/GhydCkuDQotDQotICBFaW5lIGtsZWluZSBBdWZsaXN0dW5nIHZvbiBCZXdlZ3VuZ2VuOg0KLSAgICB3IC0gYmlzIHp1bSBCZWdpbm4gZGVzIG7kY2hzdGVuIFdvcnRlcyBPSE5FIGRlc3NlbiBlcnN0ZXMgWmVpY2hlbi4NCi0gICAgZSAtIHp1bSBFbmRlIGRlcyBha3R1ZWxsZW4gV29ydGVzIE1JVCBkZXNzZW4gbGV0enRlbSBaZWljaGVuLg0KLSAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0enRlbiBaZWljaGVuLg0KLQ0KLSAgRGVtZW50c3ByZWNoZW5kIGz2c2NodCBkaWUgRWluZ2FiZSB2b24gIGRlICB2b20gQ3Vyc29yIGFuIGJpcyB6dW0gV29ydGVuZGUuDQotDQotQW5tZXJrdW5nOiAgRGllIEVpbmdhYmUgbGVkaWdsaWNoIGRlcyBCZXdlZ3VuZ3N0ZWlscyBpbSBOb3JtYWxtb2R1cyBiZXdlZ3QgZGVuDQotICBDdXJzb3IgZW50c3ByZWNoZW5kLg0KLX5+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+fg0KLQlMZWt0aW9uIDIuNDogQU5XRU5EVU5HIEVJTkVTIFrESExFUlMgRtxSIEVJTkVOIEJFV0VHVU5HU1NDSFJJVFQNCi0NCi0NCi0gICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIHZvciBlaW5lbSBCZXdlZ3VuZ3NzY2hyaXR0IHdpZWRlcmhvbHQgZGllc2VuLiAqKg0KLQ0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEJlZ2lubiBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCi0NCi0gIDIuIFRpcHBlICAydyAgLCB1bSBkZW4gQ3Vyc29yIHp3ZWkgV/ZydGVyIHZvcnfkcnRzIHp1IGJld2VnZW4uDQotDQotICAzLiBUaXBwZSAgM2UgICwgdW0gZGVuIEN1cnNvciB6dW0gRW5kZSBkZXMgZHJpdHRlbiBXb3J0ZXMgenUgYmV3ZWdlbi4NCi0NCi0gIDQuIFRpcHBlICAwICAoTnVsbCkgLCB1bSB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBnZWxhbmdlbi4NCi0NCi0gIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMyBtaXQgdmVyc2NoaWVkZW5lbiBOdW1tZXJuLg0KLQ0KLSAgLS0tPiBEaWVzIGlzdCBudXIgZWluZSBaZWlsZSBhdXMgV/ZydGVybiwgdW0gc2ljaCBkYXJpbiBoZXJ1bXp1YmV3ZWdlbi4NCi0NCi0gIDYuIEdlaGUgd2VpdGVyIHp1IExla3Rpb24gMi41Lg0KLQ0KLQ0KLQ0KLQ0KLX5+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+fg0KLQkgTGVrdGlvbiAyLjU6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBNRUhSRVJFIEzWU0NIVk9SR8ROR0UNCi0NCi0NCi0gICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIG1pdCBlaW5lbSBPcGVyYXRvciB3aWVkZXJob2x0IGRpZXNlbiBtZWhyZmFjaC4gKioNCi0NCi0gIEluIGRlciBLb21iaW5hdGlvbiBhdXMgTPZzY2hvcGVyYXRvciB1bmQgQmV3ZWd1bmdzc2Nocml0dCAoc2llaGUgb2JlbikgDQotICBzdGVsbHQgbWFuLCB1bSBtZWhyIHp1IGz2c2NoZW4gZGVtIFNjaHJpdHQgZWluZW4gWuRobGVyIHZvcmFuOg0KLQkgZCAgTnVtbWVyICBCZXdlZ3VuZ3NzY2hyaXR0DQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIFdvcnQgaW4gR1JPU1NCVUNIU1RBQkVOIGluIGRlciBtaXQgLS0tPg0KLSAgICAgbWFya2llcmVuIFplaWxlLg0KLQ0KLSAgMi4gVGlwcGUgIGQydyAgLCB1bSBkaWUgendlaSBX9nJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIHp1IGz2c2NoZW4uDQotDQotICAzLiBXaWVkZXJob2xlIFNjaHJpdHRlIDEgdW5kICAyIG1pdCBlaW5lbSBhbmRlcmVuIFrkaGxlciwgdW0gZGllIGRhcmF1ZmZvbC0NCi0gICAgIGdlbmRlbiBX9nJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIG1pdCBlaW5lbSBlaW56aWdlbiBLb21tYW5kbyB6dSBs9nNjaGVuLg0KLQ0KLS0tLT4gIERpZXNlIEFCQyBERSBaZWlsZSBGR0hJIEpLIExNTiBPUCBtaXQgV/ZydGVybiBpc3QgUSBSUyBUVVYgYmVyZWluaWd0Lg0KLQ0KLQ0KLQ0KLX5+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+fg0KLQkJCUxla3Rpb24gMi42OiBBUkJFSVRFTiBBVUYgWkVJTEVODQotDQotDQotCSAgICAgICAqKiBUaXBwZSAgZGQgICwgdW0gZWluZSBnYW56ZSBaZWlsZSB6dSBs9nNjaGVuLiAqKg0KLQ0KLSAgV2VnZW4gZGVyIEjkdWZpZ2tlaXQsIGRhc3MgbWFuIGdhbnplIFplaWxlbiBs9nNjaHQsIGthbWVuIGRpZSBFbnR3aWNrbGVyIHZvbg0KLSAgVmkgZGFyYXVmLCBkYXNzIGVzIGxlaWNodGVyIHfkcmUsIGVpbmZhY2ggendlaSBkJ3MgZWluenVnZWJlbiwgdW0gZWluZSBaZWlsZQ0KLSAgenUgbPZzY2hlbi4NCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIFplaWxlIGluIGRlciB1bnRlbiBzdGVoZW5kZW4gUmVkZXdlbmR1bmcuDQotICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4uDQotICAzLiBOdW4gYmV3ZWdlIERpY2ggenVyIHZpZXJ0ZW4gWmVpbGUuDQotICA0LiBUaXBwZSAgMmRkICAsIHVtIHp3ZWkgWmVpbGVuIHp1IGz2c2NoZW4uDQotDQotLS0tPiAgMSkgIFJvc2VuIHNpbmQgcm90LA0KLS0tLT4gIDIpICBNYXRzY2ggaXN0IGx1c3RpZywNCi0tLS0+ICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LA0KLS0tLT4gIDQpICBJY2ggaGFiZSBlaW4gQXV0bywNCi0tLS0+ICA1KSAgRGllIFVociBzYWd0IGRpZSBaZWl0LA0KLS0tLT4gIDYpICBadWNrZXIgaXN0IHP83ywNCi0tLS0+ICA3KSAgU28gd2llIER1IGF1Y2guDQotDQotfn5+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+DQotCQkgICAgIExla3Rpb24gMi43OiBS3ENLR8ROR0lHIE1BQ0hFTiAoVU5ETykNCi0NCi0NCi0JICoqIFRpcHBlIHUgLCB1bSBkaWUgbGV0enRlbiBLb21tYW5kb3Mgcvxja2fkbmdpZyB6dSBtYWNoZW4gKioNCi0JICAgICAgKiogb2RlciBVICwgdW0gZWluZSBnYW56ZSBaZWlsZSB3aWVkZXJoZXJ6dXN0ZWxsZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbg0KLSAgICAgdW5kIHNldHplIGlobiBhdWYgZGVuIGVyc3RlbiBGZWhsZXIuDQotICAyLiBUaXBwZSAgeCAgLCB1bSBkYXMgZXJzdGUgdW5lcnf8bnNjaHRlIFplaWNoZW4genUgbPZzY2hlbi4NCi0gIDMuIE51biB0aXBwZSAgdSAgLCB1bSBkYXMgc29lYmVuIGF1c2dlZvxocnRlIEtvbW1hbmRvIHL8Y2tn5G5naWcgenUgbWFjaGVuLg0KLSAgNC4gSmV0enQgYmVoZWJlIGFsbGUgRmVobGVyIGF1ZiBkZXIgWmVpbGUgbWl0IEhpbGZlIGRlcyB4ICBLb21tYW5kb3MuDQotICA1LiBOdW4gdGlwcGUgZWluIGdyb99lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kDQotICAgICB3aWVkZXJoZXJ6dXN0ZWxsZW4uDQotICA2LiBOdW4gdGlwcGUgIHUgIGVpbmlnZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcw0KLSAgICAgcvxja2fkbmdpZyB6dSBtYWNoZW4uDQotICA3LiBOdW4gdGlwcGUgQ1RSTC1SIChoYWx0ZSBDVFJMIGdlZHL8Y2t0IHVuZCBkcvxja2UgUikgbWVocmVyZSBNYWxlLCB1bSBkaWUNCi0gICAgIEtvbW1hbmRvcyB3aWVkZXJoZXJ6dXN0ZWxsZW4gKGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgbWFjaGVuKS4NCi0NCi0tLS0+IEJlZWhlYmUgZGllIEZlaGxsZXIgZGllc3NlciBaZWlsZSB1bmQgc3R0ZWxsZSBzaWUgbWl0dCAndW5kbycgd2llZGVyIGhlci4NCi0NCi0gIDguIERpZXMgc2luZCBzZWhyIG78dHpsaWNoZSBLb21tYW5kb3MuICBOdW4gZ2VoZSB3ZWl0ZXIgenVyIFp1c2FtbWVuZmFzc3VuZyANCi0gICAgIHZvbiBMZWt0aW9uIDIuDQotfn5+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+DQotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAyDQotDQotDQotICAxLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gbuRjaHN0ZW4gV29ydCB6dSBs9nNjaGVuLCB0aXBwZTogICAgZHcNCi0gIDIuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGVpbmVyIFplaWxlIHp1IGz2c2NoZW4sIHRpcHBlOiAgICAgZCQNCi0gIDMuIFVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbPZzY2hlbiwgdGlwcGU6ICAgIGRkDQotDQotICA0LiBVbSBlaW5lIEJld2VndW5nIHp1IHdpZWRlcmhvbGVuLCBzdGVsbGUgZWluZSBOdW1tZXIgdm9yYW46ICAgMncNCi0gIDUuIERhcyBGb3JtYXQgZvxyIGVpbiDEbmRlcnVuZ3Nrb21tYW5kbyBpc3Q6DQotICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQNCi0gICAgIHdvYmVpOg0KLSAgICAgICBPcGVyYXRvciAtIGdpYnQgYW4sIHdhcyBnZXRhbiB3ZXJkZW4gc29sbCwgenVtIEJlaXNwaWVsICBkICBm/HIgZGVsZXRlDQotICAgICAgIFtBbnphaGxdIC0gZWluIG9wdGlvbmFsZXIgWuRobGVyLCB1bSBkZW4gQmV3ZWd1bmdzc2Nocml0dCB6dSB3aWVkZXJob2xlbg0KLSAgICAgICBCZXdlZ3VuZ3NzY2hyaXR0IC0gQmV3ZWd1bmcg/GJlciBkZW4genUg5G5kZXJuZGVuIFRleHQsIHdpZQ0KLQkJICB3IChXb3J0KSwgJCAoenVtIEVuZGUgZGVyIFplaWxlKSwgZXRjLg0KLQ0KLSAgNi4gVW0gRGljaCB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBiZWdlYmVuLCBiZW51dHplIGRpZSBOdWxsOiAgMA0KLQ0KLSAgNy4gVW0gdm9yaGVyaWdlIEFrdGlvbmVuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkNCi0gICAgIFVtIGFsbGUgxG5kZXJ1bmdlbiBhdWYgZWluZXIgWmVpbGUgcvxja2fkbmdpZyB6dSBtYWNoZW46ICAgVSAoZ3Jv32VzIFUpDQotICAgICBVbSBkaWUgUvxja2fkbmdpZ21hY2h1bmdlbiBy/GNrZ+RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6ICAgIENUUkwtUg0KLQ0KLX5+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+fg0KLQkJCSAgIExla3Rpb24gMy4xOiBBTkbcR0VOIChQVVQpDQotDQotDQotICAgICAqKiBUaXBwZSAgcCAgLCB1bSB2b3JoZXIgZ2Vs9nNjaHRlbiBUZXh0IG5hY2ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KLQ0KLSAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBs9nNjaGVuIHVuZCBzaWUgaW4gZWluZW0gVmltLVJlZ2lzdGVyIHp1DQotICAgICBzcGVpY2hlcm4uDQotDQotICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksINxCRVIgZGVyamVuaWdlbiwgd28gZGllIGdlbPZzY2h0ZSBaZWlsZQ0KLSAgICAgcGxhdHppZXJ0IHdlcmRlbiBzb2xsLg0KLQ0KLSAgNC4gIFRpcHBlICAgcCAgICwgdW0gZGllIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSBwbGF0emllcmVuLg0KLQ0KLSAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gYWxsZSBaZWlsZW4gaW4gZGllIHJpY2h0aWdlDQotICAgICBSZWloZW5mb2xnZSB6dSBicmluZ2VuLg0KLQ0KLS0tLT4gZCkgS2FubnN0IER1IGRhcyBhdWNoPw0KLS0tLT4gYikgVmVpbGNoZW4gc2luZCBibGF1LA0KLS0tLT4gYykgSW50ZWxsaWdlbnogaXN0IGxlcm5iYXIsDQotLS0tPiBhKSBSb3NlbiBzaW5kIHJvdCwNCi1+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+fn4NCi0JCQlMZWt0aW9uIDMuMjogRVJTRVRaRU4gKFJFUExBQ0UpDQotDQotDQotICAgKiogVGlwcGUgIHJ4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgZHVyY2ggIHggenUgZXJzZXR6ZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KLQ0KLSAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBzaWNoIGF1ZiBkZW0gZXJzdGVuIEZlaGxlciBiZWZpbmRldC4NCi0NCi0gIDMuIFRpcHBlICByICB1bmQgYW5zY2hsaWXfZW5kIGRhcyBaZWljaGVuLCB3ZWxjaGVzIGRvcnQgc3RlaGVuIHNvbGx0ZS4NCi0NCi0gIDQuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMywgYmlzIGRpZSBlcnN0ZSBaZWlsZSBnbGVpY2ggZGVyIHp3ZWl0ZW4gaXN0Lg0KLQ0KLS0tLT4gIEFsZiBkaWVzZSBaZWl0ZSBlaW5nZWdvYmVuIHd1cmRlLCB3dXJkZW4gZWluaWtlIGZhbHNjaGUgVGFzdGVuIGdlbGlwcHQhDQotLS0tPiAgQWxzIGRpZXNlIFplaWxlIGVpbmdlZ2ViZW4gd3VyZGUsIHd1cmRlbiBlaW5pZ2UgZmFsc2NoZSBUYXN0ZW4gZ2V0aXBwdCENCi0NCi0gIDUuIE51biBmYWhyZSBmb3J0IG1pdCBMZWt0aW9uIDMuMi4NCi0NCi1Bbm1lcmt1bmc6IEVyaW5uZXJlIERpY2ggZGFyYW4sIGRhc3MgRHUgZHVyY2ggQW53ZW5kZW4gbGVybmVuIHNvbGx0ZXN0LCBuaWNodCANCi0gICAgIGR1cmNoIEF1c3dlbmRpZ2xlcm5lbi4NCi0NCi0NCi1+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+fn4NCi0JCQkgIExla3Rpb24gMy4zOiDETkRFUk4gKENIQU5HRSkNCi0NCi0NCi0gICAgICAqKiBVbSBlaW5lIMRuZGVydW5nIGJpcyB6dW0gV29ydGVuZGUgZHVyY2h6dWb8aHJlbiwgdGlwcGUgIGNlIC4gKioNCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQotDQotICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGFzICBzICB2b24gV3N0d3IuDQotDQotICAzLiBUaXBwZSAgY2UgIHVuZCBkaWUgV29ydGtvcnJla3R1ciBlaW4gKGluIGRpZXNlbSBGYWxsIHRpcHBlICD2cnRlciApLg0KLQ0KLSAgNC4gRHL8Y2tlIDxFU0M+IHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gbuRjaHN0ZW4genUg5G5kZXJuZGVuIFplaWNoZW4uDQotDQotICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDMgdW5kIDQgYmlzIGRlciBlcnN0ZSBTYXR6IGdsZWljaCBkZW0gendlaXRlbiBpc3QuDQotDQotLS0tPiBFaW5pZ2UgV3N0d3IgZGllc2VyIFpsYXd3IGxhc2RqbGFmIG1pdCBkZW0gxG5kZXJuLU9wZXJhdG9yIGdhYWF1dSB3ZXJkZW4uDQotLS0tPiBFaW5pZ2UgV/ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDEbmRlcm4tT3BlcmF0b3IgZ2XkbmRlcnQgd2VyZGVuLg0KLQ0KLUJlYWNodGUsIGRhc3MgIGNlICBkYXMgV29ydCBs9nNjaHQgdW5kIERpY2ggaW4gZGVuIEVpbmdhYmVtb2R1cyB2ZXJzZXR6dC4NCi0NCi0NCi0NCi1+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+fn4NCi0JCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgxE5ERVJVTkdFTiBNSVRURUxTIGMNCi0NCi0NCi0gICAgICoqIERhcyBjaGFuZ2UtS29tbWFuZG8gYXJiZWl0ZXQgbWl0IGRlbnNlbGJlbiBCZXdlZ3VuZ2VuIHdpZSBkZWxldGUuICAqKg0KLQ0KLSAgMS4gRGVyIGNoYW5nZSBPcGVyYXRvciBhcmJlaXRldCBpbiBnbGVpY2hlciBXZWlzZSB3aWUgZGVsZXRlLiBEYXMgRm9ybWF0IGlzdDoNCi0NCi0gICAgICAgICBjICAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0DQotDQotICAyLiBEaWUgQmV3ZWd1bmdzc2Nocml0dGUgc2luZCBkaWUgZ2xlaWNoZW4gLCBzbyB3aWUgIHcgIChXb3J0KSB1bmQgICQNCi0gICAgIChaZWlsZW5lbmRlKS4NCi0NCi0gIDMuIEJld2VnZSBEaWNoIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQotDQotICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIEZlaGxlci4NCi0NCi0gIDUuIFRpcHBlICBjJCAgLCBnaWIgZGVuIFJlc3QgZGVyIFplaWxlIHdpZSBpbiBkZXIgendlaXRlbiBlaW4sIGRy/GNrZSA8RVNDPiAuDQotDQotLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBhbiBkaWUgendlaXRlIFplaWxlIGFuZ2VnbGljaGVuIHdlcmRlbi4NCi0tLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIG1pdCBkZW0gIGMkICBLb21tYW5kbyBrb3JyaWdpZXJ0IHdlcmRlbi4NCi0NCi1Bbm1lcmt1bmc6IER1IGthbm5zdCBkaWUgUvxja3Rhc3RlIGJlbnV0emVuLCB1bSBUaXBwZmVobGVyIHp1IGtvcnJpZ2llcmVuLg0KLX5+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+fg0KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMw0KLQ0KLQ0KLSAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBhbnp1ZvxnZW4sIHRpcHBlICAgcCAuIERpZXMgZvxndCBkZW4NCi0gICAgIGdlbPZzY2h0ZW4gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW4gKHdlbm4gZWluZSBnYW56ZSBaZWlsZSBnZWz2c2NodCB3dXJkZSwNCi0gICAgIHdpcmQgZGllc2UgaW4gZGllIFplaWxlIHVudGVyIGRlbSBDdXJzb3IgZWluZ2Vm/Gd0KS4NCi0NCi0gIDIuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4sIHRpcHBlICAgciAgIHVuZCBkYW5hY2ggZGFzIA0KLSAgICAgYW4gZGllc2VyIFN0ZWxsZSBnZXdvbGx0ZSBaZWljaGVuLg0KLQ0KLSAgMy4gRGVyIMRuZGVydW5ncy0gKGNoYW5nZSkgT3BlcmF0b3IgZXJsYXVidCwgdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZGVzDQotICAgICBCZXdlZ3VuZ3NzY2hyaXR0ZXMgenUg5G5kZXJuLiBUaXBwZSAgY2UgICwgdW0gZWluZSDEbmRlcnVuZyB2b20gQ3Vyc29yIGJpcw0KLSAgICAgenVtIEVuZGUgZGVzIFdvcnRlcyB2b3J6dW5laG1lbjsgIGMkICBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUuDQotDQotICA0LiBEYXMgRm9ybWF0IGb8ciBjaGFuZ2UgaXN0Og0KLQ0KLQkgYyAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0DQotDQotICBOdW4gZmFocmUgbWl0IGRlciBu5GNoc3RlbiBMZWt0aW9uIGZvcnQuDQotDQotDQotDQotfn5+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+DQotCQkgIExla3Rpb24gNC4xOiBDVVJTT1JQT1NJVElPTiBVTkQgREFURUlTVEFUVVMNCi0NCi0gKiogVGlwcGUgQ1RSTC1HICwgdW0gZGVpbmUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMgYW56dXplaWdlbi4gKioNCi0gICAgICoqIFRpcHBlIEcgLCB1bSBEaWNoIHp1IGVpbmVyIFplaWxlIGluIGRlciBEYXRlaSB6dSBiZWdlYmVuLiAqKg0KLQ0KLUFubWVya3VuZzogTGllcyBkaWVzZSBnZXNhbXRlIExla3Rpb24sIGJldm9yIER1IGlyZ2VuZGVpbmVuIFNjaHJpdHQgYXVzZvxocnN0ISENCi0NCi0gIDEuIEhhbHRlIGRpZSBDdHJsIFRhc3RlIHVudGVuIHVuZCBkcvxja2UgIGcgLiBEaWVzIG5lbm5lbiB3aXIgQ1RSTC1HLg0KLSAgICAgRWluZSBTdGF0dXNtZWxkdW5nIGFtIEZ13yBkZXIgU2VpdGUgZXJzY2hlaW50IG1pdCBkZW0gRGF0ZWluYW1lbiB1bmQgZGVyDQotICAgICBQb3NpdGlvbiBpbm5lcmhhbGIgZGVyIERhdGVpLiBNZXJrZSBEaXIgZGllIFplaWxlbm51bW1lciBm/HIgU2Nocml0dCAzLg0KLQ0KLUFubWVya3VuZzogTfZnbGljaGVyd2Vpc2Ugc2llaHN0IER1IGRpZSBDdXJzb3Jwb3NpdGlvbiBpbiBkZXIgdW50ZXJlbiByZWNodGVuDQotICAgICAgQmlsZHNjaGlybWVja2UuIERpZXMgaXN0IEF1c3dpcmt1bmcgZGVyICdydWxlcicgT3B0aW9uIA0KLQkgIChzaWVoZSA6aGVscCAncnVsZXInKQ0KLQ0KLSAgMi4gRHL8Y2tlICBHICAsIHVtIERpY2ggenVtIEVuZGUgZGVyIERhdGVpIHp1IGJlZ2ViZW4uDQotICAgICBUaXBwZSAgZ2cgICwgdW0gRGljaCB6dW0gQW5mYW5nIGRlciBEYXRlaSB6dSBiZWdlYmVuLg0KLQ0KLSAgMy4gR2liIGRpZSBOdW1tZXIgZGVyIFplaWxlIGVpbiwgYXVmIGRlciBEdSB2b3JoZXIgd2Fyc3QsIGdlZm9sZ3Qgdm9uICBHIC4NCi0gICAgIERpZXMgYnJpbmd0IERpY2ggenVy/GNrIHp1IGRlciBaZWlsZSwgYXVmIGRlciBEdSBnZXN0YW5kZW4gaGFzdCwgYWxzIER1DQotICAgICBkYXMgZXJzdGUgTWFsIENUUkwtRyBnZWRy/GNrdCBoYXN0Lg0KLQ0KLSAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBm/Ghsc3QsIGb8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4NCi1+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+fn4NCi0JCSAgICAgICBMZWt0aW9uIDQuMjogREFTIFNVQ0hFTiAtIEtPTU1BTkRPDQotDQotDQotICAqKiBUaXBwZSAgLyAgZ2Vmb2xndCB2b24gZWluZW0gQXVzZHJ1Y2ssIHVtIG5hY2ggZGVtIEF1c2RydWNrIHp1IHN1Y2hlbi4gKioNCi0NCi0gIDEuIEltIE5vcm1hbG1vZHVzLCB0aXBwZSBkYXMgIC8gIFplaWNoZW4uICBCZWFjaHRlLCBkYXNzIGRhcyAgLyB1bmQgZGVyDQotICAgICBDdXJzb3IgYW0gRnXfIGRlcyBTY2hpcm1zIGVyc2NoZWluZW4sIHNvIHdpZSBiZWltIDoJS29tbWFuZG8uDQotDQotICAyLiBOdW4gdGlwcGUgJ0ZlaGhsZXInIDxFTlRFUj4uIERpZXMgaXN0IGRhcyBXb3J0LCBuYWNoIGRlbSBEdSBzdWNoZW4gd2lsbHN0Lg0KLQ0KLSAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGb8ciBuZXh0KS4NCi0gICAgIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIGluIGRlciBHZWdlbnJpY2h0dW5nIHp1IHN1Y2hlbiwgdGlwcGUgIE4gLg0KLQ0KLSAgNC4gVW0gbmFjaCBlaW5lbSBBdXNkcnVjayBy/GNrd+RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLg0KLQ0KLSAgNS4gVW0gZGFoaW4genVy/GNrenVrZWhyZW4sIHZvbiB3byBEdSBnZWtvbW1lbiBiaXN0LCBkcvxja2UgQ1RSTC1PIChIYWx0ZQ0KLSAgICAgQ3RybCB1bnRlbiB1bmQgZHL8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIG5vY2ggd2VpdGVyDQotICAgICB6dXL8Y2t6dWdlaGVuLiAgQ1RSTC1JIGdlaHQgdm9yd+RydHMuDQotDQotLS0tPiAgRmVobGVyIHNjaHJlaWJ0IHNpY2ggbmljaHQgIkZlaGhsZXIiOyBGZWhobGVyIGlzdCBlaW4gRmVobGVyDQotQW5tZXJrdW5nOiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nDQotICAgICAgICBmb3J0Z2VzZXR6dCwgZXMgc2VpIGRlbm4sIGRpZSAnd3JhcHNjYW4nIE9wdGlvbiB3dXJkZSBhYmdlc2NoYWx0ZXQuDQotfn5+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+DQotCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4NCi0NCi0NCi0gICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUgZ2VnZW78YmVybGllZ2VuZGVuIEtsYW1tZXIgKSxdLCBvZGVyIH0genUgZmluZGVuLiAqKg0KLQ0KLSAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGlyZ2VuZGVpbmVtIGRlciBaZWljaGVuICgsIFssIG9kZXIgeyBpbiBkZXIgdW50ZW4NCi0gICAgIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4NCi0NCi0gIDIuIE51biB0aXBwZSBkYXMgICUgIFplaWNoZW4uDQotDQotICAzLiBEZXIgQ3Vyc29yIGJld2VndCBzaWNoIHp1ciBwYXNzZW5kZW4gZ2VnZW78YmVybGllZ2VuZGVuIEtsYW1tZXIuDQotDQotICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVyIHBhc3NlbmRlbiBhbmRlcmVuIEtsYW1tZXIgenUgYmV3ZWdlbi4NCi0NCi0gIDUuIFNldHplIGRlbiBDdXJzb3IgYXVmIGVpbiBhbmRlcmVzICgsKSxbLF0seyBvZGVyIH0gdW5kIHByb2JpZXJlICAlICBhdXMuDQotDQotLS0tPiBEaWVzICggaXN0IGVpbmUgVGVzdHplaWxlICggbWl0IFsgdmVyc2NoaWVkZW5lbiBdIHsgS2xhbW1lcm4gfSAgZGFyaW4uICkpDQotDQotQW5tZXJrdW5nOiBEaWVzZSBGdW5rdGlvbmFsaXTkdCBpc3Qgc2VociBu/HR6bGljaCBiZWkgZGVyIEZlaGxlcnN1Y2hlIGluIGVpbmVtDQotICAgICBQcm9ncmFtbXRleHQsIGluIGRlbSBwYXNzZW5kZSBLbGFtbWVybiBmZWhsZW4hDQotDQotDQotfn5+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+DQotCQlMZWt0aW9uIDQuNDogREFTIEVSU0VUWlVOR1NLT01NQU5ETyAoU1VCU1RJVFVURSkNCi0NCi0NCi0JICoqIFRpcHBlIDpzL2FsdC9uZXUvZyAgLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioNCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCi0NCi0gIDIuIFRpcHBlICA6cy9kaWVlL2RpZSA8RU5URVI+IC4gIEJlYWNodGUsIGRhc3MgZGVyIEJlZmVobCBudXIgZGFzIGVyc3RlDQotICAgICBWb3Jrb21tZW4gdm9uICJkaWVlIiBlcnNldHp0Lg0KLQ0KLSAgMy4gTnVuIHRpcHBlICAgOnMvZGllZS9kaWUvZyAuIERhcyBadWb8Z2VuIGRlcyBGbGFncyAgZyAgIGJlZGV1dGV0LCBlaW5lDQotICAgICBnbG9iYWxlIEVyc2V0enVuZyD8YmVyIGRpZSBaZWlsZSBkdXJjaHp1ZvxocmVuLCBkaWVzIGVyc2V0enQgYWxsZSANCi0JIFZvcmtvbW1lbiB2b24gImRpZWUiIGF1ZiBkZXIgWmVpbGUuDQotDQotLS0tPiBkaWVlIHNjaPZuc3RlIFplaXQsIHVtIGRpZWUgQmx1bWVuIGFuenVzY2hhdWVuLCBpc3QgZGllZSBGcvxobGluZ3N6ZWl0Lg0KLQ0KLSAgNC4gVW0gYWxsZSBWb3Jrb21tZW4gZWluZXIgWmVpY2hlbmtldHRlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuIHp1IORuZGVybiwNCi0gICAgIHRpcHBlICA6Iywjcy9hbHQvbmV1L2cgIHdvYmVpICMsIyBkaWUgWmVpbGVubnVtbWVybiBkZXMgQmVyZWljaGVzIHNpbmQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBkZW0gZGllIEVyc2V0enVuZyBkdXJjaGdlZvxocnQgd2VyZGVuIHNvbGwuDQotICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZyAgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUg5G5kZXJuLg0KLSAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2djICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IGZpbmRlbg0KLSAgICAgICAgICAgICAgICAgICAgIG1pdCBlaW5lbSBGcmFnZWRpYWxvZywgb2IgZXJzZXR6dCB3ZXJkZW4gc29sbCBvZGVyIG5pY2h0Lg0KLX5+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+fg0KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNA0KLQ0KLSAgMS4gQ1RSTC1HICB6ZWlndCBkaWUgYWt0dWVsbGUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMuDQotICAgICAgICAgICAgIEcgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaS4NCi0gICAgIE51bW1lciAgRyAgYnJpbmd0IERpY2ggenVyIGVudHNwcmVjaGVuZGVuIFplaWxlbm51bW1lci4NCi0gICAgICAgICAgICBnZyAgYnJpbmd0IERpY2ggenVyIGVyc3RlbiBaZWlsZS4NCi0NCi0gIDIuIERpZSBFaW5nYWJlIHZvbiAgLyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBWT1JXxFJUUyBuYWNoIGRlbSBBdXNkcnVjay4NCi0gICAgIERpZSBFaW5nYWJlIHZvbiAgPyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBS3ENLV8RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suDQotICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBu5GNoc3RlIFZvcmtvbW1lbiBpbiBkZXIgZ2xlaWNoZW4NCi0gICAgIFJpY2h0dW5nIHp1IGZpbmRlbjsgb2RlciAgTiAgLCB1bSBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4uDQotICAgICBDVFJMLU8gYnJpbmd0IERpY2ggenVy/GNrIHp1IORsdGVyZW4gUG9zaXRpb25lbiwgQ1RSTC1JIHp1IG5ldWVyZW4uDQotDQotICAzLiBEaWUgRWluZ2FiZSB2b24gICUgICwgd2VubiBkZXIgQ3Vyc29yIHNpY2ggYXVmICgsKSxbLF0seywgb2RlciB9DQotICAgICBiZWZpbmRldCwgYnJpbmd0IERpY2ggenVyIEdlZ2Vua2xhbW1lci4NCi0NCi0gIDQuIFVtIGRhcyBlcnN0ZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGVpbmVyIFplaWxlIGR1cmNoICJuZXUiIHp1IGVyc2V0emVuLA0KLSAgICAgICAgICAgICB0aXBwZSAgICAgICA6cy9hbHQvbmV1DQotICAgICBVbSBhbGxlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZGVyIFplaWxlIGVyc2V0emVuLCB0aXBwZSAgOnMvYWx0L25ldS9nDQotICAgICBVbSBBdXNkcvxja2UgaW5uZXJoYWxiIHp3ZWllciBaZWlsZW4gIyB6dSBlcnNldHplbiAgICAgICAgOiMsI3MvYWx0L25ldS9nDQotICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZSAgOiVzL2FsdC9uZXUvZw0KLSAgICAgRvxyIGVpbmUgamVkZXNtYWxpZ2UgQmVzdOR0aWd1bmcsIGFkZGllcmUgJ2MnIChjb25maXJtKSAgIDolcy9hbHQvbmV1L2djDQotfn5+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+DQotCQlMZWt0aW9uIDUuMTogQVVTRtxIUkVOIEVJTkVTIEVYVEVSTkVOIEtPTU1BTkRPUw0KLQ0KLQ0KLSAgKiogR2liICA6ISAsIGdlZm9sZ3Qgdm9uIGVpbmVtIGV4dGVybmVuIEtvbW1hbmRvIGVpbiwgdW0gZXMgYXVzenVm/GhyZW4uICoqDQotDQotICAxLiBUaXBwZSBkYXMgdmVydHJhdXRlIEtvbW1hbmRvICA6ICAsIHVtIGRlbiBDdXJzb3IgYXVmIGRlbiBGdd8gZGVzIFNjaGlybXMNCi0gICAgIHp1IHNldHplbi4gRGllcyBlcmxhdWJ0IERpciwgZWluIEtvbW1hbmRvemVpbGVuLUtvbW1hbmRvIGVpbnp1Z2ViZW4uDQotDQotICAyLiBOdW4gdGlwcGUgZWluICAhICAoQXVzcnVmZXplaWNoZW4pLiAgRGllcyBlcm32Z2xpY2h0IERpciwgZWluIGJlbGllYmlnZXMsDQotICAgICBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZvxocmVuLg0KLQ0KLSAgMy4gQWxzIEJlaXNwaWVsIHRpcHBlICAgbHMgICBuYWNoIGRlbSAgISAgdW5kIGRy/GNrZSA8RU5URVI+LiBEaWVzIGxpZWZlcnQNCi0gICAgIGVpbmUgQXVmbGlzdHVuZyBkZWluZXMgVmVyemVpY2huaXNzZXM7IGdlbmF1c28sIGFscyB3ZW5uIER1IGluIGRlcg0KLSAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB35HJzdC4gIE9kZXIgdmVyd2VuZGUgIDohZGlyICAsIGZhbGxzIGxzIG5pY2h0IGdlaHQuDQotDQotQW5tZXJrdW5nOiAgTWl0IGRpZXNlciBNZXRob2RlIGthbm4gamVkZXMgYmVsaWViaWdlIGV4dGVybmUgS29tbWFuZG8NCi0gICAgIGF1c2dlZvxocnQgd2VyZGVuLCBhdWNoIG1pdCBBcmd1bWVudGVuLg0KLQ0KLUFubWVya3VuZzogIEFsbGUgIDogIEtvbW1hbmRvcyBt/HNzZW4gZHVyY2ggRWluZ2FiZSB2b24gPEVOVEVSPg0KLSAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uIFZvbiBqZXR6dCBhbiBlcnfkaG5lbiB3aXIgZGllcyBuaWNodCBqZWRlc21hbC4NCi0NCi0NCi1+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+fn4NCi0JCUxla3Rpb24gNS4yOiBNRUhSINxCRVIgREFTIFNDSFJFSUJFTiBWT04gREFURUlFTg0KLQ0KLQ0KLSoqIFVtIGFtIFRleHQgZHVyY2hnZWb8aHJ0ZSDEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiwgdGlwcGUgOncgREFURUlOQU1FLiAqKg0KLQ0KLSAgMS4gVGlwcGUgIDohZGlyICBvZGVyICA6IWxzICAsIHVtIGVpbmUgQXVmbGlzdHVuZyBkZWluZXMgVmVyemVpY2huaXNzZXMgenUNCi0gICAgIGVyaGFsdGVuLiAgRHUgd2Vp33QgbnVuIGJlcmVpdHMsIGRhc3MgRHUgZGFuYWNoIDxFTlRFUj4gZWluZ2ViZW4gbXVzc3QuDQotDQotICAyLiBX5GhsZSBlaW5lbiBEYXRlaW5hbWVuLCBkZXIgbm9jaCBuaWNodCBleGlzdGllcnQsIHouQi4gVEVTVC4NCi0NCi0gIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V35GhsdGUgRGF0ZWluYW1lIGlzdCkuDQotDQotICA0LiBEaWVzIHNwZWljaGVydCBkaWUgZ2FuemUgRGF0ZWkgKGRlbiBWaW0gVHV0b3IpIHVudGVyIGRlbSBOYW1lbiBURVNULg0KLSAgICAgVW0gZGllcyB6dSD8YmVycHL8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwgdW0gZGVpbmVuDQotICAgICBWZXJ6ZWljaG5pc2luaGFsdCB6dSBzZWhlbi4NCi0NCi1Bbm1lcmt1bmc6IFf8cmRlc3QgRHUgVmltIGpldHp0IGJlZW5kZW4gdW5kIGRhbmFjaCB3aWVkZXIgbWl0IHZpbSBURVNUDQotICAgIHN0YXJ0ZW4sIGRhbm4gd+RyZSBkaWVzZSBEYXRlaSBlaW5lIGV4YWt0ZSBLb3BpZSBkZXMgVHV0b3JzIHp1IGRlbQ0KLSAgICBaZWl0cHVua3QsIGFscyBEdSBpaG4gZ2VzcGVpY2hlcnQgaGFzdC4NCi0NCi0gIDUuIE51biBlbnRmZXJuZSBkaWUgRGF0ZWkgZHVyY2ggRWluZ2FiZSB2b24gKE1TLURPUyk6ICAgIDohZGVsIFRFU1QNCi0gICAgICAgICAgICAgICAgICAgICAgb2RlciAoVW5peCk6ICAgICAgICAgICAgICAgICAgICAgICAgIDohcm0gVEVTVA0KLX5+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+fg0KLQkJIExla3Rpb24gNS4zOiBBVVNXxEhMRU4gVk9OIFRFWFQgWlVNIFNDSFJFSUJFTg0KLQ0KLSoqIFVtIGVpbmVuIEFic2Nobml0dCBkZXIgRGF0ZWkgenUgc3BlaWNoZXJuLCAgdGlwcGUgIHYgIEJld2VndW5nICA6dyBEQVRFSSAqKg0KLQ0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGllc2VyIFplaWxlLg0KLQ0KLSAgMi4gVGlwcGUgIHYgIHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gZvxuZnRlbiBBdWZsaXN0dW5nc3B1bmt0IHVudGVuLg0KLSAgICAgQmVhY2h0ZSwgZGFzcyBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuDQotDQotICAzLiBEcvxja2UgZGFzIFplaWNoZW4gIDogLiBBbSBGdd8gZGVzIFNjaGlybXMgZXJzY2hlaW50ICA6JzwsJz4gLg0KLQ0KLSAgNC4gVGlwcGUgIHcgVEVTVCAgLCB3b2JlaSBURVNUIGVpbiBub2NoIG5pY2h0IHZvcmhhbmRlbmVyIERhdGVpbmFtZSBpc3QuDQotICAgICBWZXJnZXdpc3NlcmUgRGljaCwgZGFzcyBEdSAgOic8LCc+dyBURVNUICBzaWVoc3QsIGJldm9yIER1IDxFTlRFUj4gZHL8Y2tzdC4NCi0NCi0gIDUuIFZpbSBzY2hyZWlidCBkaWUgYXVzZ2V35GhsdGVuIFplaWxlbiBpbiBkaWUgRGF0ZWkgVEVTVC4gQmVudXR6ZSAgOiFkaXINCi0gICAgIG9kZXIgIDohbHMgLCB1bSBzaWUgenUgc2VoZW4uIEz2c2NoZSBzaWUgbm9jaCBuaWNodCEgV2lyIHdlcmRlbiBzaWUgaW4NCi0gICAgIGRlciBu5GNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLg0KLQ0KLUhpbndlaXM6IERy/GNrZW4gdm9uICB2ICBzdGFydGV0IGRpZSBWaXN1ZWxsZSBBdXN3YWhsLiBEdSBrYW5uc3QgZGVuIEN1cnNvcg0KLSAgIHVtaGVyYmV3ZWdlbiwgdW0gZGllIEF1c3dhaGwgenUgdmVyZ3L232VybiBvZGVyIHp1IHZlcmtsZWluZXJuLiBBbnNjaGxpZd9lbmQNCi0gICBs5HNzdCBzaWNoIGVpbiBPcGVyYXRvciBhbndlbmRlbiwgdW0gbWl0IGRlbSBUZXh0IGV0d2FzIHp1IHR1bi4gWnVtIEJlaXNwaWVsDQotICAgbPZzY2h0ICBkICBkZW4gVGV4dC4NCi0NCi1+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+fn4NCi0JICAgICAgTGVrdGlvbiA1LjQ6IEVJTkxFU0VOIFVORCBaVVNBTU1FTkbcSFJFTiBWT04gREFURUlFTg0KLQ0KLQ0KLSAgICAgICAqKiBVbSBkZW4gSW5oYWx0IGVpbmVyIERhdGVpIGVpbnp1bGVzZW4sIHRpcHBlICA6ciBEQVRFSU5BTUUgICoqDQotDQotICAxLiBQbGF0emllcmUgZGVuIEN1cnNvciBkaXJla3Qg/GJlciBkaWVzZXIgWmVpbGUuDQotDQotQkVBQ0hURTogIE5hY2hkZW0gRHUgU2Nocml0dCAyIGF1c2dlZvxocnQgaGFzdCwgd2lyc3QgRHUgVGV4dCBhdXMgTGVrdGlvbiA1LjMNCi0gICAgICAgc2VoZW4uIERhbm4gYmV3ZWdlIERpY2ggd2llZGVyIEFCV8RSVFMsIExla3Rpb24gNS40IHdpZWRlcnp1c2VoZW4uDQotDQotICAyLiBOdW4gbGllcyBkZWluZSBEYXRlaSBURVNUIGVpbiBpbmRlbSBEdSBkYXMgS29tbWFuZG8gIDpyIFRFU1QgIGF1c2b8aHJzdCwNCi0gICAgIHdvYmVpIFRFU1QgZGVyIHZvbiBEaXIgdmVyd2VuZGV0ZSBEYXRlaW5hbWUgaXN0Lg0KLSAgICAgRGllIGVpbmdlbGVzZW5lIERhdGVpIHdpcmQgdW50ZXJoYWxiIGRlciBDdXJzb3J6ZWlsZSBlaW5nZWb8Z3QuDQotDQotICAzLiBVbSB6dSD8YmVycHL8ZmVuLCBkYXNzIGRpZSBEYXRlaSBlaW5nZWxlc2VuIHd1cmRlLCBnZWhlIHp1cvxjayB1bmQgDQotICAgICBiZWFjaHRlLCBkYXNzIGVzIGpldHp0IHp3ZWkgS29waWVuIHZvbiBMZWt0aW9uIDUuMyBnaWJ0LCBkYXMgT3JpZ2luYWwgdW5kIA0KLQkgZGllIGVpbmdlZvxndGUgRGF0ZWl2ZXJzaW9uLg0KLQ0KLUFubWVya3VuZzogRHUga2FubnN0IGF1Y2ggZGllIEF1c2dhYmUgZWluZXMgZXh0ZXJuZW4gS29tbWFuZG9zIGVpbmxlc2VuLiBadW0NCi0gICAgIEJlaXNwaWVsIGxpZXN0ICA6ciAhbHMgIGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgbHMgZWluIHVuZCBwbGF0emllcnQNCi0gICAgIHNpZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMuDQotDQotfn5+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+DQotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA1DQotDQotDQotICAxLiA6IUtvbW1hbmRvICBm/GhydCBlaW4gZXh0ZXJuZXMgS29tbWFuZG8gYXVzLg0KLQ0KLSAgICAgIEVpbmlnZSBu/HR6bGljaGUgQmVpc3BpZWxlIHNpbmQNCi0JKE1TLURPUykJICAoVW5peCkNCi0JIDohZGlyCQkgICA6IWxzCQkgICAtICB6ZWlndCBlaW5lIFZlcnplaWNobmlzYXVmbGlzdHVuZy4NCi0JIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuDQotDQotICAyLiA6dyBEQVRFSU5BTUUgIHNwZWljaGVydCBkaWUgYWt0dWVsbGUgVmltLURhdGVpIHVudGVyIGRlbSBOYW1lbiAgREFURUlOQU1FLg0KLQ0KLSAgMy4gdiAgQmV3ZWd1bmcgIDp3IERBVEVJTkFNRSAgc2NocmVpYnQgZGllIFZpc3VlbGwgYXVzZ2V35GhsdGVuIFplaWxlbiBpbg0KLSAgICAgZGllIERhdGVpIERBVEVJTkFNRS4NCi0NCi0gIDQuIDpyIERBVEVJTkFNRSAgbORkdCBkaWUgRGF0ZWkgREFURUlOQU1FIHVuZCBm/Gd0IHNpZSB1bnRlcmhhbGIgZGVyDQotICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uDQotDQotICA1LiA6ciAhZGlyICBsaWVzdCBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGRpciB1bmQgZvxndCBzaWUgdW50ZXJoYWxiIGRlcg0KLSAgICAgQ3Vyc29ycG9zaXRpb24gZWluLg0KLQ0KLQ0KLX5+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+fg0KLQkJICAgICAgIExla3Rpb24gNi4xOiBaRUlMRU4g1kZGTkVOIChPUEVOKQ0KLQ0KLQ0KLSAgICoqIFRpcHBlICBvCSwgdW0gZWluZSBaZWlsZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMgenUg9mZmbmVuIHVuZCBEaWNoIGluICoqDQotICAgICAgICAgICAgICAgICAgICAgICoqIGRlbiBFaW5m/GdlbW9kdXMgenUgYmVnZWJlbi4gKioNCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBlcnN0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCi0NCi0gIDIuIFRpcHBlIG8gKGtsZWluIGdlc2NocmllYmVuKSwgdW0gZWluZSBaZWlsZSBVTlRFUkhBTEIgZGVzIEN1cnNvcnMgenUg9mZmbmVuDQotICAgICB1bmQgRGljaCBpbiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uDQotDQotICAzLiBOdW4gdGlwcGUgZXR3YXMgVGV4dCB1bmQgZHL8Y2tlIDxFU0M+ICwgdW0gZGVuIEVpbmb8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uDQotDQotLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIG9mZmVuZW4gWmVpbGUgaW0gRWluZvxnZW1vZHVzIHBsYXR6aWVydC4NCi0NCi0gIDQuIFVtIGVpbmUgWmVpbGUg3EJFUkhBTEIgZGVzIEN1cnNvcnMgYXVmenVtYWNoZW4sIGdpYiBlaW5mYWNoIGVpbiBncm/fZXMgIE8NCi0gICAgIHN0YXR0IGVpbmVtIGtsZWluZW4gIG8gIGVpbi4gVmVyc3VjaGUgZGllcyBhdWYgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZS4NCi0NCi0tLS0+INZmZm5lIGVpbmUgWmVpbGUg/GJlciBkaWVzZXIgbWl0IE8gLCB3ZW5uIGRlciBDdXJzb3IgYXVmIGRpZXNlciBaZWlsZSBpc3QuDQotDQotDQotDQotfn5+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+DQotCQkgICAgICAgTGVrdGlvbiA2LjI6IFRFWFQgQU5G3EdFTiAoQVBQRU5EKQ0KLQ0KLQ0KLQkgICAgICoqIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGVpbnp1ZvxnZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlciBlcnN0ZW4g3GJ1bmdzemVpbGUgbWl0IC0tLT4gdW50ZW4uDQotDQotICAyLiBEcvxja2UgIGUgICwgYmlzIGRlciBDdXJzb3IgYW0gRW5kZSB2b24gIFplaSAgc3RlaHQuDQotDQotICAzLiBUaXBwZSBlaW4ga2xlaW5lcyAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uDQotDQotICA0LiBWZXJ2b2xsc3TkbmRpZ2UgZGFzIFdvcnQgc28gd2llIGluIGRlciBaZWlsZSBkYXJ1bnRlci4gIERy/GNrZSA8RVNDPiAsDQotICAgICB1bSBkZW4gRWluZvxnZW1vZHVzIHp1IHZlcmxhc3Nlbi4NCi0NCi0gIDUuIEJld2VnZSBEaWNoIG1pdCAgZSAgenVtIG7kY2hzdGVuIHVudm9sbHN05G5kaWdlbiBXb3J0IHVuZCB3aWVkZXJob2xlDQotICAgICBTY2hyaXR0ZSAzIHVuZCA0Lg0KLQ0KLS0tLT4gRGllc2UgWmVpIGJpZXRldCBHZWxlZ2VuICwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZvwuDQotLS0tPiBEaWVzZSBaZWlsZSBiaWV0ZXQgR2VsZWdlbmhlaXQsIFRleHQgaW4gZWluZXIgWmVpbGUgYW56dWb8Z2VuLg0KLQ0KLUFubWVya3VuZzogIGEsIGkgdW5kIEEgZ2VoZW4gYWxsZSBnbGVpY2hlcm1h32VuIGluIGRlbiBFaW5m/GdlbW9kdXM7IGRlcg0KLSAgICAgICAgICAgIGVpbnppZ2UgVW50ZXJzY2hpZWQgaXN0LCB3byBkaWUgWmVpY2hlbiBlaW5nZWb8Z3Qgd2VyZGVuLg0KLX5+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+fg0KLQkgICAgICBMZWt0aW9uIDYuMzogRUlORSBBTkRFUkUgQVJUIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpDQotDQotDQotICAgICAgICoqIFRpcHBlIGVpbiBncm/fZXMgIFIgICwgdW0gbWVociBhbHMgZWluIFplaWNoZW4genUgZXJzZXR6ZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiwgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCi0gICAgIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVzIGVyc3RlbiAgeHh4IC4NCi0NCi0gIDIuIE51biBkcvxja2UgIFIgIHVuZCB0aXBwZSBkaWUgTnVtbWVyLCBkaWUgZGFydW50ZXIgaW4gZGVyIHp3ZWl0ZW4gWmVpbGUNCi0gICAgIHN0ZWh0LCBzbyBkYXNzIGRpZXNlIGRhcyB4eHggZXJzZXR6dC4NCi0NCi0gIDMuIERy/GNrZSA8RVNDPiAsIHVtIGRlbiBFcnNldHp1bmdzbW9kdXMgenUgdmVybGFzc2VuLiBCZWFjaHRlLCBkYXNzIGRlciBSZXN0DQotICAgICBkZXIgWmVpbGUgdW52ZXLkbmRlcnQgYmxlaWJ0Lg0KLQ0KLSAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUsIHVtIGRhcyB2ZXJibGllYmVuZSB4eHggenUgZXJzZXR6ZW4uDQotDQotLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4NCi0tLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IDQ1NiBlcmdpYnQgNTc5Lg0KLQ0KLUFubWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5m/GdlbW9kdXMsIGFiZXIgamVkZXMgZWluZ2V0aXBwdGUNCi0gICAgICAgICAgIFplaWNoZW4gbPZzY2h0IGVpbiB2b3JoYW5kZW5lcyBaZWljaGVuLg0KLQ0KLX5+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+fg0KLQkJICAgIExla3Rpb24gNi40OiBURVhUIEtPUElFUkVOIFVORCBFSU5G3EdFTg0KLQ0KLSAqKiBCZW51dHplIGRlbiAgeSAgT3BlcmF0b3IsIHVtIFRleHQgenUga29waWVyZW47ICBwICAsIHVtIGlobiBlaW56dWb8Z2VuICoqDQotDQotICAxLiBHZWhlIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuOyBzZXR6ZSBkZW4gQ3Vyc29yIGhpbnRlciAiYSkiLg0KLQ0KLSAgMi4gU3RhcnRlIGRlbiBWaXN1ZWxsZW4gTW9kdXMgbWl0ICB2ICAsIGJld2VnZSBkZW4gQ3Vyc29yIGdlbmF1IHZvciAiZXJzdGUiLg0KLQ0KLSAgMy4gVGlwcGUgIHkgICwgdW0gZGVuIGhlcnZvcmdlaG9iZW4gVGV4dCB6dSBrb3BpZXJlbi4NCi0NCi0gIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBu5GNoc3RlbiBaZWlsZTogIGokDQotDQotICA1LiBUaXBwZSAgcCAsIHVtIGRlbiBUZXh0IGVpbnp1ZvxnZW4gdW5kIGFuc2NobGll32VuZDogIGEgendlaXRlIDxFU0M+IC4NCi0NCi0gIDYuIEJlbnV0emUgZGVuIFZpc3VlbGxlbiBNb2R1cywgdW0gIiBFaW50cmFnLiIgYXVzenV35GhsZW4sIGtvcGllcmUgbWl0dGVscw0KLSAgICAgeSAsIGJld2VnZSBEaWNoIHp1bSBFbmRlIGRlciBu5GNoc3RlbiBaZWlsZSBtaXQgIGokICB1bmQgZvxnZSBkZW4gVGV4dA0KLSAgICAgZG9ydCBtaXQgIHAgIGFuLg0KLQ0KLS0tLT4gIGEpIGRpZXMgaXN0IGRlciBlcnN0ZSBFaW50cmFnLg0KLSAgICAgIGIpDQotDQotQW5tZXJrdW5nOiBEdSBrYW5uc3QgIHkgIGF1Y2ggYWxzIE9wZXJhdG9yIHZlcndlbmRlbjsgIHl3ICBrb3BpZXJ0IGVpbiBXb3J0Lg0KLX5+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+fg0KLQkJCSAgTGVrdGlvbiA2LjU6IE9QVElPTkVOIFNFVFpFTg0KLQ0KLSAgICAgICoqIFNldHplIGVpbmUgT3B0aW9uIHNvLCBkYXNzIGVpbmUgU3VjaGUgb2RlciBFcnNldHp1bmcgR3Jv3y0gKioNCi0JCSAgICAgICoqIHVuZCBLbGVpbnNjaHJlaWJ1bmcgaWdub3JpZXJ0ICoqDQotDQotICAxLiBTdWNoZSBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgICAvaWdub3JpZXJlICAgZWluZ2lic3QuDQotICAgICBXaWVkZXJob2xlIGRpZSBTdWNoZSBlaW5pZ2UgTWFsZSwgaW5kZW0gRHUgZGllIG4gLSBUYXN0ZSBkcvxja3N0Lg0KLQ0KLSAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuDQotDQotICAzLiBOdW4gc3VjaGUgd2llZGVyIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICBuICB0aXBwc3QuDQotICAgICBCZWFjaHRlLCBkYXNzIGpldHp0IElnbm9yaWVyZSB1bmQgYXVjaCBJR05PUklFUkUgZ2VmdW5kZW4gd2lyZC4NCi0NCi0gIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIHVuZCAnaW5jc2VhcmNoJyAtIE9wdGlvbmVuOiAgICAgOnNldCBobHMgaXMNCi0NCi0gIDUuIFdpZWRlcmhvbGUgZGllIFN1Y2hlIHVuZCBiZW9iYWNodGUsIHdhcyBwYXNzaWVydDogL2lnbm9yaWVyZSA8RU5URVI+DQotDQotICA2LiBVbSBkYXMgSWdub3JpZXJlbiB2b24gR3Jv3y9LbGVpbnNjaHJlaWJ1bmcgYWJ6dXNjaGFsdGVuLCB0aXBwZTogIDpzZXQgbm9pYw0KLQ0KLUFubWVya3VuZzogVW0gZGllIEhlcnZvcmhlYnVuZyBkZXIgVHJlZmZlciB6dSBlbnRmZXJuZW4sIGdpYiBlaW46ICA6bm9obHNlYXJjaA0KLUFubWVya3VuZzogVW0gZGllIFNjaHJlaWJ3ZWlzZSBm/HIgZWluZSBlaW56aWdlIFN1Y2hlIHp1IGlnbm9yaWVyZW4sIGJlbnV0emUgXGMNCi0gICAgICAgICAgIGltIFN1Y2hhdXNkcnVjazogIC9pZ25vcmllcmVcYyAgPEVOVEVSPg0KLX5+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+fg0KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNg0KLQ0KLSAxLiBUaXBwZSAgbyAgLCB1bSBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgenUg9mZmbmVuIHVuZCBkZW4gRWluZvxnZW1vZHVzDQotICAgICAgICAgICAgICAgIHp1IHN0YXJ0ZW4NCi0gICAgVGlwcGUgIE8gICwgdW0gZWluZSBaZWlsZSDcQkVSIGRlbSBDdXJzb3IgenUg9mZmbmVuLg0KLQ0KLSAyLiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uDQotICAgIFRpcHBlICBBICAsIHVtIFRleHQgbmFjaCBkZW0gWmVpbGVuZW5kZSBhbnp1ZvxnZW4uDQotDQotIDMuIERhcyBLb21tYW5kbyAgZSAgYnJpbmd0IERpY2ggenVtIEVuZGUgZWluZXMgV29ydGVzLg0KLQ0KLSA0LiBEZXIgT3BlcmF0b3IgIHkgICh5YW5rKSBrb3BpZXJ0IFRleHQsICBwICAocHV0KSBm/Gd0IGlobiBlaW4uDQotDQotIDUuIEVpbiBncm/fZXMgIFIgIGdlaHQgaW4gZGVuIEVyc2V0enVuZ3Ntb2R1cyBiaXMgenVtIERy/GNrZW4gdm9uICA8RVNDPiAuDQotDQotIDYuIERpZSBFaW5nYWJlIHZvbiAiOnNldCB4eHgiIHNldHp0IGRpZSBPcHRpb24gInh4eCIuIEVpbmlnZSBPcHRpb25lbiBzaW5kOg0KLQknaWMnICdpZ25vcmVjYXNlJyAgICBJZ25vcmllcmUgR3Jv3y9LbGVpbnNjaHJlaWJ1bmcgYmVpIGVpbmVyIFN1Y2hlDQotCSdpcycgJ2luY3NlYXJjaCcgICAgIFplaWdlIFRlaWz8YmVyZWluc3RpbW11bmdlbiBm/HIgZWluZW4gU3VjaGF1c2RydWNrDQotCSdobHMnICdobHNlYXJjaCcgICAgIEhlYmUgYWxsZSBwYXNzZW5kZW4gQXVzZHL8Y2tlIGhlcnZvcg0KLSAgICBEZXIgT3B0aW9uc25hbWUga2FubiBpbiBkZXIgS3Vyei0gb2RlciBkZXIgTGFuZ2Zvcm0gYW5nZWdlYmVuIHdlcmRlbi4NCi0NCi0gNy4gU3RlbGxlIGVpbmVyIE9wdGlvbiAibm8iIHZvcmFuLCB1bSBzaWUgYWJ6dXNjaGFsdGVuOiAgIDpzZXQgbm9pYw0KLX5+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+fg0KLQkJCUxla3Rpb24gNy4xIDogQVVGUlVGRU4gVk9OIEhJTEZFDQotDQotDQotCQkgICAgICoqIE51dHplIGRhcyBlaW5nZWJhdXRlIEhpbGZlc3lzdGVtICoqDQotDQotICBWaW0gYmVzaXR6dCBlaW4gdW1mYXNzZW5kZXMgZWluZ2ViYXV0ZXMgSGlsZmVzeXN0ZW0uICBG/HIgZGVuIEFuZmFuZyBwcm9iaWVyZQ0KLSAgZWlucyBkZXIgZHJlaSBmb2xnZW5kZW4gRGluZ2UgYXVzOg0KLQktIERy/GNrZSBkaWUgPEhpbGZlPiAtIFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpDQotCS0gRHL8Y2tlIGRpZSA8RjE+IFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpDQotCS0gVGlwcGUgICA6aGVscCA8RU5URVI+DQotDQotICBMaWVzIGRlbiBUZXh0IGltIEhpbGZlZmVuc3RlciwgdW0genUgdmVyc3RlaGVuIHdpZSBkaWUgSGlsZmUgZnVua3Rpb25pZXJ0Lg0KLSAgVGlwcGUgIENUUkwtVyBDVFJMLVcgICAsIHVtIHZvbiBlaW5lbSBGZW5zdGVyIHp1bSBhbmRlcmVuIHp1IHNwcmluZ2VuLg0KLSAgVGlwcGUgICA6cSA8RU5URVI+ICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGll32VuLg0KLQ0KLSAgRHUga2FubnN0IEhpbGZlIHp1IHByYWt0aXNjaCBqZWRlbSBUaGVtYSBmaW5kZW4sIGluZGVtIER1IGRlbSAiOmhlbHAiLQ0KLSAgS29tbWFuZG8gZWluIEFyZ3VtZW50IGdpYnN0LiAgUHJvYmllcmUgZm9sZ2VuZGVzICg8RU5URVI+IG5pY2h0IHZlcmdlc3Nlbik6DQotDQotCTpoZWxwIHcNCi0JOmhlbHAgY19DVFJMLUQNCi0JOmhlbHAgaW5zZXJ0LWluZGV4DQotCTpoZWxwIHVzZXItbWFudWFsDQotfn5+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+DQotCQkgICAgIExla3Rpb24gNy4yOiBFUlNURUxMRSBFSU4gU1RBUlQtU0tSSVBUDQotDQotDQotCSAgICAgICAgICAqKiAgQWt0aXZpZXJlIGRpZSBGZWF0dXJlcyB2b24gVmltICoqDQotDQotICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTkdGVuLCBkaWUg/GJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3Rlbg0KLSAgdm9uIGlobmVuIHNpbmQgc3RhbmRhcmRt5N9pZyBkZWFrdGl2aWVydC4gVW0gbWVociBGdW5rdGlvbmFsaXTkdGVuIHp1IG51dHplbiwNCi0gIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4NCi0NCi0gIDEuIFN0YXJ0ZSBkYXMgRWRpdGllcmVuIGRlciAidmltcmMiLURhdGVpLCBhYmjkbmdpZyB2b24gZGVpbmVtIFN5c3RlbToNCi0JOmUgfi8udmltcmMJCWb8ciBVbml4DQotCTplICRWSU0vX3ZpbXJjCQlm/HIgTVMtV2luZG93cw0KLQ0KLSAgMi4gTnVuIGxpZXMgZGVuIEluaGFsdCBkZXIgQmVpc3BpZWwtInZpbXJjIi1EYXRlaSBlaW46DQotCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltDQotDQotICAzLiBTcGVpY2hlcmUgZGllIERhdGVpIG1pdDoNCi0JOncNCi0NCi0gIEJlaW0gbuRjaHN0ZW4gU3RhcnQgdm9uIFZpbSB3aXJkIGRpZSBTeW50YXhoZXJ2b3JoZWJ1bmcgYWt0aXZpZXJ0IHNlaW4uDQotICBEdSBrYW5uc3QgYWxsIGRlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZvxnZW4uDQotICBG/HIgbWVociBJbmZvcm1hdGlvbmVuIHRpcHBlICA6aGVscCB2aW1yYy1pbnRybw0KLX5+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+fg0KLQkJCSBMZWt0aW9uIDcuMzogVkVSVk9MTFNUxE5ESUdFTg0KLQ0KLQ0KLQkgICAqKiBLb21tYW5kb3plaWxlbnZlcnZvbGxzdORuZGlndW5nIG1pdCBDVFJMLUQgdW5kIDxUQUI+ICoqDQotDQotICAxLiBTdGVsbGUgc2ljaGVyLCBkYXNzIFZpbSBuaWNodCBpbSBWaS1Lb21wYXRpYmlsaXTkdHNtb2R1cyBpc3Q6ICA6c2V0IG5vY3ANCi0NCi0gIDIuIFNpZWhlIG5hY2gsIHdlbGNoZSBEYXRlaWVuIGltIFZlcnplaWNobmlzIGV4aXN0aWVyZW46ICA6IWxzICBvZGVyICA6ZGlyDQotDQotICAzLiBUaXBwZSBkZW4gQmVnaW5uIGVpbmVzIEtvbW1hbmRvczogIDplDQotDQotICA0LiBEcvxja2UgIENUUkwtRCAgdW5kIFZpbSB6ZWlndCBlaW5lIExpc3RlIG1pdCAiZSIgYmVnaW5uZW5kZXIgS29tbWFuZG9zLg0KLQ0KLSAgNS4gRHL8Y2tlICA8VEFCPiAgdW5kIFZpbSB2ZXJ2b2xsc3TkbmRpZ3QgZGVuIEtvbW1hbmRvbmFtZW4genUgIjplZGl0Ii4NCi0NCi0gIDYuIE51biBm/GdlIGVpbiBMZWVyemVpY2hlbiB1bmQgZGVuIEFuZmFuZyBlaW5lciBleGlzdGllcmVuZGVuIERhdGVpIGFuOg0KLSAgICAgOmVkaXQgREFUDQotDQotICA3LiBEcvxja2UgPFRBQj4uIFZpbSB2ZXJ2b2xsc3TkbmRpZ3QgZGVuIE5hbWVuIChmYWxscyBlciBlaW5kZXV0aWcgaXN0KS4NCi0NCi1Bbm1lcmt1bmc6IFZlcnZvbGxzdORuZGlndW5nIGZ1bmt0aW9uaWVydCBm/HIgdmllbGUgS29tbWFuZG9zLiBQcm9iaWVyZQ0KLSAgICAgZWluZmFjaCBDVFJMLUQgdW5kIDxUQUI+LiAgRGllcyBpc3QgaW5zYmVzb25kZXJlIG78dHpsaWNoIGb8ciAgOmhlbHAgLg0KLX5+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+fg0KLQkJCQkgICAgIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA3DQotDQotDQotICAxLiBUaXBwZSAgOmhlbHAgIG9kZXIgZHL8Y2tlIDxGMT4gb2RlciA8SGVscD4sIHVtIGVpbiBIaWxmZWZlbnN0ZXIgenUg9mZmbmVuLg0KLQ0KLSAgMi4gVGlwcGUgIDpoZWxwIEtvbW1hbmRvICAsIHVtIEhpbGZlIPxiZXIgIEtvbW1hbmRvICB6dSBlcmhhbHRlbi4NCi0NCi0gIDMuIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAsIHVtIHp1bSBhbmRlcmVuIEZlbnN0ZXIgenUgc3ByaW5nZW4uDQotDQotICA0LiBUaXBwZSAgOnEgICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uDQotDQotICA1LiBFcnN0ZWxsZSBlaW4gdmltcmMgLSBTdGFydHNrcmlwdCBtaXQgZGVpbmVuIGJldm9yenVndGVyIEVpbnN0ZWxsdW5nZW4uDQotDQotICA2LiBEcvxja2UgQ1RSTC1EIG5hY2ggZGVtIFRpcHBlbiBlaW5lcyAgOiAgS29tbWFuZG9zLCB1bSBt9mdsaWNoZQ0KLSAgICAgVmVydm9sbHN05G5kaWd1bmdlbiBhbnp1c2VoZW4uDQotICAgICBEcvxja2UgPFRBQj4gLCB1bSBlaW5lIFZlcnZvbGxzdORuZGlndW5nIHp1IGFuenV3ZW5kZW4uDQotDQotDQotDQotDQotDQotDQotfn5+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+DQotDQotICBEYW1pdCBpc3QgZGVyIFZpbSBUdXRvciBiZWVuZGV0LiAgU2VpbmUgSW50ZW50aW9uIHdhciwgZWluZW4ga3VyemVuIHVuZA0KLSAgYvxuZGlnZW4g3GJlcmJsaWNrIPxiZXIgZGVuIFZpbSBFZGl0b3IgenUgZ2ViZW47IGdlcmFkZSBnZW51ZywgdW0gcmVsYXRpdg0KLSAgbGVpY2h0IG1pdCBpaG0gdW1nZWhlbiB6dSBr9m5uZW4uICBEZXIgVmltIFR1dG9yIGhhdCBuaWNodCBkZW4gZ2VyaW5nc3Rlbg0KLSAgQW5zcHJ1Y2ggYXVmIFZvbGxzdORuZGlna2VpdDsgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuIExpZXMgYWxzDQotICBu5GNoc3RlcyBkYXMgVXNlciBNYW51YWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuDQotDQotICBG/HIgd2VpdGVyZXMgTGVzZW4gdW5kIExlcm5lbiBpc3QgZm9sZ2VuZGVzIEJ1Y2ggZW1wZmVobGVuc3dlcnQgOg0KLQlWaW0gLSBWaSBJbXByb3ZlZCAtIHZvbiBTdGV2ZSBPdWFsbGluZQ0KLQlWZXJsYWc6IE5ldyBSaWRlcnMNCi0gIERhcyBlcnN0ZSBCdWNoLCB3ZWxjaGVzIGR1cmNoZ+RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbvx0emxpY2gNCi0gIGb8ciBBbmbkbmdlci4gIFZpZWxlIEJlaXNwaWVsZSB1bmQgQmlsZGVyIHNpbmQgZW50aGFsdGVuLg0KLSAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwNCi0NCi0gIEZvbGdlbmRlcyBCdWNoIGlzdCDkbHRlciB1bmQgbWVociD8YmVyIFZpIGFscyBWaW0sIGFiZXIgYXVjaCBlbXBmZWhsZW5zd2VydDoNCi0JVGV4dGJlYXJiZWl0dW5nIG1pdCBkZW0gVmktRWRpdG9yICAtICB2b24gTGluZGEgTGFtYiB1bmQgQXJub2xkIFJvYmJpbnMNCi0JVmVybGFnIE8nUmVpbGx5IC0gSVNCTjogMzg5NzIxMTI2Mg0KLSAgSW4gZGllc2VtIEJ1Y2gga2FubiBtYW4gZmFzdCBhbGxlcyBmaW5kZW4sIHdhcyBtYW4gbWl0IFZpIHR1biBt9mNodGUuDQotICBEaWUgc2VjaHN0ZSBBdXNnYWJlIGVudGjkbHQgYXVjaCBJbmZvcm1hdGlvbmVuIPxiZXIgVmltLg0KLQ0KLSAgQWxzIGFrdHVlbGxlIFJlZmVyZW56IGb8ciBWZXJzaW9uIDYuMiB1bmQga25hcHBlIEVpbmb8aHJ1bmcgZGllbnQgZGFzDQotICBmb2xnZW5kZSBCdWNoOg0KLQl2aW0gZ2UtcGFja3Qgdm9uIFJlaW5oYXJkIFdvYnN0DQotCW1pdHAtVmVybGFnLCBJU0JOIDMtODI2Ni0xNDI1LTkNCi0gIFRyb3R6IGRlciBrb21wYWt0ZW4gRGFyc3RlbGx1bmcgaXN0IGVzIGR1cmNoIHZpZWxlIG78dHpsaWNoZSBCZWlzcGllbGUgYXVjaA0KLSAgZvxyIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZA0KLSAgb25saW5lIGVyaORsdGxpY2guICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbA0KLQ0KLSAgRGllc2VzIFR1dG9yaWFsIHd1cmRlIGdlc2NocmllYmVuIHZvbiBNaWNoYWVsIEMuIFBpZXJjZSB1bmQgUm9iZXJ0IEsuIFdhcmUsDQotICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMuIEVzIGJlbnV0enQgSWRlZW4sIGRpZSBDaGFybGVzIFNtaXRoLCBDb2xvcmFkbyBTdGF0ZQ0KLSAgVW5pdmVyc2l0eSwgenVyIFZlcmb8Z3VuZyBzdGVsbHRlLiAgRS1NYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuDQotDQotICBCZWFyYmVpdGV0IGb8ciBWaW0gdm9uIEJyYW0gTW9vbGVuYWFyLg0KLSAgRGV1dHNjaGUg3GJlcnNldHp1bmcgdm9uIEpvYWNoaW0gSG9mbWFubiAyMDE1LiAgRS1NYWlsOiBKb2FjaGltLkhvZkBnbXguZGUNCi0NCi1+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+fn4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgICAgVyBpIGwgbCBrIG8gbSBtIGUgbiAgIGltICAgViBJIE0gICBUIHUgdCBvIHIgICAgLSAgICBWZXJzaW9uIDEuNy5kZS4xICA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgIFZpbSBpc3QgZWluIHNlaHIgbeRjaHRpZ2VyIEVkaXRvciwgZGVyIHZpZWxlIEJlZmVobGUgYmVyZWl0c3RlbGx0OyB6dSB2aWVsZSwKKyAgIHVtIGFsbGUgaW4gZWluZW0gVHV0b3Igd2llIGRpZXNlbSB6dSBlcmts5HJlbi4gIERpZXNlciBUdXRvciBpc3Qgc28KKyAgIGdlc3RhbHRldCwgdW0gZ2VudWcgQmVmZWhsZSB2b3J6dXN0ZWxsZW4sIGRhc3MgRHUgZGllIEbkaGlna2VpdCBlcmxhbmdzdCwKKyAgIFZpbSBtaXQgTGVpY2h0aWdrZWl0IGFscyBlaW5lbiBBbGx6d2Vjay1FZGl0b3IgenUgdmVyd2VuZGVuLgorICAgRGllIFplaXQgZvxyIGRhcyBEdXJjaGFyYmVpdGVuIGRpZXNlcyBUdXRvcnMgYmV0cuRndCBjYS4gMjUtMzAgTWludXRlbiwKKyAgIGFiaORuZ2lnIGRhdm9uLCB3aWUgdmllbCBaZWl0IER1IG1pdCBFeHBlcmltZW50aWVyZW4gdmVyYnJpbmdzdC4KKworICAgQUNIVFVORzoKKyAgIERpZSBpbiBkZW4gTGVrdGlvbmVuIGFuZ2V3ZW5kZXRlbiBLb21tYW5kb3Mgd2VyZGVuIGRlbiBUZXh0IG1vZGlmaXppZXJlbi4KKyAgIEVyc3RlbGxlIGVpbmUgS29waWUgZGllc2VyIERhdGVpLCBpbiBkZXIgRHUg/GJlbiB3aWxsc3QgKGZhbGxzIER1ICJ2aW10dXRvciIKKyAgIGF1ZmdlcnVmZW4gaGFzdCwgaXN0IGRpZXMgYmVyZWl0cyBlaW5lIEtvcGllKS4KKworICAgRXMgaXN0IHdpY2h0aWcsIHNpY2ggenUgdmVyZ2VnZW535HJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgZvxyIGRhcyBBbndlbmRlbgorICAga29uemlwaWVydCBpc3QuIERhcyBiZWRldXRldCwgZGFzcyBEdSBkaWUgQmVmZWhsZSBhbndlbmRlbiBtdXNzdCwgdW0gc2llCisgICByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZSBCZWZlaGxlIQorCisgICBKZXR6dCBzdGVsbGUgc2ljaGVyLCBkYXNzIGRlaW5lIFVtc3RlbGx0YXN0ZSBOSUNIVCBnZWRy/GNrdCBpc3QgdW5kIGJldOR0aWdlCisgICBkaWUgICBqICAgVGFzdGUgZ2Vu/GdlbmQgTWFsLCB1bSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genUgYmV3ZWdlbiwgc28gZGFzcworICAgTGVrdGlvbiAxLjEgZGVuIEJpbGRzY2hpcm0gdm9sbGtvbW1lbiBhdXNm/GxsdC4KK35+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+fgorCQkJTGVrdGlvbiAxLjE6IEJFV0VHRU4gREVTIENVUlNPUlMKKworICAqKiBVbSBkZW4gQ3Vyc29yIHp1IGJld2VnZW4sIGRy/GNrZSBkaWUgaCxqLGssbCBUYXN0ZW4gd2llIHVudGVuIGdlemVpZ3QuICoqCisJICAgICBeCQkgSGlsZmVzdGVsbHVuZzoKKwkgICAgIGsJCSBEaWUgaCBUYXN0ZSBiZWZpbmRldCBzaWNoIGxpbmtzIHVuZCBiZXdlZ3QgbmFjaCBsaW5rcy4KKyAgICAgICA8IGgJIGwgPgkgRGllIGwgVGFzdGUgbGllZ3QgcmVjaHRzIHVuZCBiZXdlZ3QgbmFjaCByZWNodHMuCisJICAgICBqCQkgRGllIGogVGFzdGUg5GhuZWx0IGVpbmVtIFBmZWlsIG5hY2ggdW50ZW4uCisJICAgICB2CisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIGF1ZiBkZW0gQmlsZHNjaGlybSB1bWhlciwgYmlzIER1IERpY2ggc2ljaGVyIGb8aGxzdC4KKworICAyLiBIYWx0ZSBkaWUgTmFjaC1VbnRlbi1UYXN0ZSAoaikgZ2Vkcvxja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0LgorICAgICBKZXR6dCB3ZWnfdCBEdSwgd2llIER1IERpY2ggenVyIG7kY2hzdGVuIExla3Rpb24gYmV3ZWdlbiBrYW5uc3QuCisKKyAgMy4gQmVudXR6ZSBkaWUgTmFjaC1VbnRlbi1UYXN0ZSwgdW0gRGljaCB6dSBMZWt0aW9uIDEuMiB6dSBiZXdlZ2VuLgorCitBbm1lcmt1bmc6IEltbWVyLCB3ZW5uIER1IERpciB1bnNpY2hlciBiaXN0IPxiZXIgZGFzLCB3YXMgRHUgZ2V0aXBwdCBoYXN0LAorCSAgIGRy/GNrZSA8RVNDPiAsIHVtIERpY2ggaW4gZGVuIE5vcm1hbG1vZHVzIHp1IGJlZ2ViZW4uCisJICAgRGFubiBnaWIgZGFzIGdld/xuc2NodGUgS29tbWFuZG8gbm9jaCBlaW5tYWwgZWluLgorCitBbm1lcmt1bmc6IERpZSBDdXJzb3ItVGFzdGVuIHNvbGx0ZW4gZWJlbmZhbGxzIGZ1bmt0aW9uaWVyZW4uICBBYmVyIHdlbm4gRHUKKwkgICBoamtsIGJlbnV0enQsIHdpcnN0IER1IGluIGRlciBMYWdlIHNlaW4sIERpY2ggc2VociB2aWVsIHNjaG5lbGxlcgorCSAgIHVtaGVyenViZXdlZ2VuLCB3ZW5uIER1IERpY2ggZWlubWFsIGRhcmFuIGdld/ZobnQgaGFzdC4gV2lya2xpY2ghCit+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+fn4KKwkJCSAgICBMZWt0aW9uIDEuMjogVklNIEJFRU5ERU4KKworCisgICEhIEhpbndlaXM6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWb8aHJ0ZW4gU2Nocml0dGUgYXVzZvxocnN0LCBsaWVzCisgICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhCisKKyAgMS4gRHL8Y2tlIGRpZSA8RVNDPiBUYXN0ZSAodW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QpLgorCisgIDIuIFRpcHBlOgk6cSEgPEVOVEVSPi4KKyAgICAgRGllcyBiZWVuZGV0IGRlbiBFZGl0b3IgdW5kIFZFUldJUkZUIGFsbGUgxG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4KKworICAzLiBXZW5uIER1IGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIHNpZWhzdCwgZ2liIGRhcyBLb21tYW5kbyBlaW4sIGRhcyBEaWNoIHp1CisgICAgIGRpZXNlbSBUdXRvciBnZWb8aHJ0IGhhdC4gRGllcyB35HJlOgl2aW10dXRvciA8RU5URVI+CisKKyAgNC4gV2VubiBEdSBEaXIgZGllc2UgU2Nocml0dGUgZWluZ2VwcuRndCBoYXN0IHVuZCBEdSBEaWNoIHNpY2hlciBm/Ghsc3QsCisgICAgIGb8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyCisgICAgIGhpbmVpbnp1Z2VsYW5nZW4uCisKK0FubWVya3VuZzogIDpxISA8RU5URVI+ICB2ZXJ3aXJmdCBhbGxlIMRuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuIEVpbmlnZQorICAgICBMZWt0aW9uZW4gc3DkdGVyIGxlcm5zdCBEdSwgZGllIMRuZGVydW5nZW4gaW4gZWluZXIgRGF0ZWkgenUgc3BlaWNoZXJuLgorCisgIDUuIEJld2VnZSBkZW4gQ3Vyc29yIGFid+RydHMgenUgTGVrdGlvbiAxLjMuCisgfn5+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+CisJCSAgICAgTGVrdGlvbiAxLjM6IFRFWFQgRURJVElFUkVOIC0gTNZTQ0hFTgorCisKKwkgKiogRHL8Y2tlICB4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KKworICAyLiBVbSBkaWUgRmVobGVyIHp1IGJlaGViZW4sIGJld2VnZSBkZW4gQ3Vyc29yLCBiaXMgZXIg/GJlciBkZW0gWmVpY2hlbiBzdGVodCwKKyAgICAgZGFzIGdlbPZzY2h0IHdlcmRlbiBzb2xsLgorCisgIDMuIERy/GNrZSBkaWUgIHggIFRhc3RlLCB1bSBkYXMgdW5lcnf8bnNjaHRlIFplaWNoZW4genUgbPZzY2hlbi4KKworICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QuCisKKy0tLT4gRGllIEtrdWggc3ByYW5nZyD8YmJlcnIgZGVlbiBNb29uZC4KKworICA1LiBOdW4sIGRhIGRpZSBaZWlsZSBrb3JyZWt0IGlzdCwgZ2VoZSB3ZWl0ZXIgenVyIExla3Rpb24gMS40LgorCitBbm1lcmt1bmc6IFfkaHJlbmQgRHUgZHVyY2ggZGllc2VuIFR1dG9yIGdlaHN0LCB2ZXJzdWNoZSBuaWNodCwgYXVzd2VuZGlnIHp1CisgICAgbGVybmVuLCBsZXJuZSB2aWVsbWVociBkdXJjaCBBbndlbmRlbi4KKworCit+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+fn4KKwkJICAgICBMZWt0aW9uIDEuNDogVEVYVCBFRElUSUVSRU4gLSBFSU5G3EdFTgorCisKKwkJICAgICoqICBEcvxja2UgIGkgICwgdW0gVGV4dCBlaW56dWb8Z2VuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gVW0gZGllIGVyc3RlIFplaWxlIG1pdCBkZXIgendlaXRlbiBnbGVpY2h6dW1hY2hlbiwgYmV3ZWdlIGRlbiBDdXJzb3IgYXVmCisgICAgIGRhcyBlcnN0ZSBaZWljaGVuIE5BQ0ggZGVyIFN0ZWxsZSwgYW4gZGVyIFRleHQgZWluZ2Vm/Gd0IHdlcmRlbiBzb2xsLgorCisgIDMuIERy/GNrZSAgaSAgdW5kIGdpYiBkaWUgbvZ0aWdlbiBFcmfkbnp1bmdlbiBlaW4uCisKKyAgNC4gV2VubiBqZXdlaWxzIGVpbiBGZWhsZXIgYmVzZWl0aWd0IGlzdCwgZHL8Y2tlIDxFU0M+ICwgdW0genVtIE5vcm1hbG1vZHVzCisgICAgIHp1cvxja3p1a2VocmVuLgorCQkgV2llZGVyaG9sZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBkZW4gU2F0eiB6dSBrb3JyaWdpZXJlbi4KKworLS0tPiBJbiBkaWVzZXIgZnQgZXR3YXMgLgorLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVobHQgZXR3YXMgVGV4dC4KKworICA1LiBXZW5uIER1IERpY2ggbWl0IGRlbSBFaW5m/GdlbiB2b24gVGV4dCBzaWNoZXIgZvxobHN0LCBnZWhlIHp1IExla3Rpb24gMS41LgorCisKK35+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+fgorCQkgICAgIExla3Rpb24gMS41OiBURVhUIEVESVRJRVJFTiAtIEFORtxHRU4KKworCisJCSAgICAgKiogRHL8Y2tlICBBICAsIHVtIFRleHQgYW56dWb8Z2VuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisgICAgIERhYmVpIGlzdCBnbGVpY2hn/Gx0aWcsIGF1ZiB3ZWxjaGVtIFplaWNoZW4gZGVyIFplaWxlIGRlciBDdXJzb3Igc3RlaHQuCisKKyAgMi4gRHL8Y2tlICBBICB1bmQgZ2liIGRpZSBlcmZvcmRlcmxpY2hlbiBFcmfkbnp1bmdlbiBlaW4uCisKKyAgMy4gV2VubiBkYXMgQW5m/GdlbiBhYmdlc2NobG9zc2VuIGlzdCwgZHL8Y2tlIDxFU0M+LCB1bSBpbiBkZW4gTm9ybWFsbW9kdXMKKyAgICAgenVy/GNrenVrZWhyZW4uCisKKyAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bmQgd2llZGVyaG9sZQorICAgICBkaWUgU2Nocml0dGUgMiB1bmQgMywgdW0gZGVuIFNhdHogenUgYXVzenViZXNzZXJuLgorCistLS0+IEluIGRpZXNlciBaZWlsZSBmZWgKKyAgICAgSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuCistLS0+IEF1Y2ggaGllciBzdGVoCisgICAgIEF1Y2ggaGllciBzdGVodCBldHdhcyBVbnZvbGxzdORuZGlnZXMuCisKKyAgNS4gV2VubiBEdSBkaWNoIG1pdCBkZW0gQW5m/GdlbiB2b24gVGV4dCBzaWNoZXIgZvxobHN0LCBnZWhlIHp1IExla3Rpb24gMS42Lgorfn5+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+CisJCSAgICAgICBMZWt0aW9uIDEuNjogRUlORSBEQVRFSSBFRElUSUVSRU4KKworCQkgKiogQmVudXR6ZSAgOndxICAsIHVtIGVpbmUgRGF0ZWkgenUgc3BlaWNoZXJuIHVuZCBWaW0genUgdmVybGFzc2VuLiAqKgorCisgICEhIEhpbndlaXM6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWb8aHJ0ZW4gU2Nocml0dGUgYXVzZvxocnN0LCBsaWVzCisgICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhCisKKyAgMS4gVmVybGFzc2UgZGVuIEVkaXRvciBzbyB3aWUgaW4gTGVrdGlvbiAxLjI6ICA6cSEgICAgICAgCisJICAgT2RlciwgZmFsbHMgZHUgWnVncmlmZiB6dSBlaW5lbSBhbmRlcmVuIFRlcm1pbmFsIGhhc3QsIGb8aHJlIGRhcyAKKwkJIEZvbGdlbmRlIGRvcnQgYXVzLgorCisgIDIuIEdpYiBkaWVzZXMgS29tbWFuZG8gaW4gZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgZWluOiAgdmltIHR1dG9yIDxFTlRFUj4KKyAgICAgJ3ZpbScgaXN0IGRlciBBdWZydWYgZGVzIEVkaXRvcnMsICd0dXRvcicgaXN0IGRpZSB6dSBlZGl0aWVyZW5kZSBEYXRlaS4KKyAgICAgQmVudXR6ZSBlaW5lIERhdGVpLCBkaWUgZ2XkbmRlcnQgd2VyZGVuIGRhcmYuCisKKyAgMy4gRvxnZSBUZXh0IGVpbiBvZGVyIGz2c2NoZSBpaG4sIHdpZSBEdSBpbiBkZW4gdm9yYW5nZWhlbmRlbiBMZWt0aW9uZW4gCisgICAgIGdlbGVybnQgaGFzdC4KKworICA0LiBTcGVpY2hlcmUgZGllIGdl5G5kZXJ0ZSBEYXRlaSB1bmQgdmVybGFzc2UgVmltIG1pdDogIDp3cSAgPEVOVEVSPgorCisgIDUuIEZhbGxzIER1IGluIFNjaHJpdHQgMSBkZW4gdmltdHV0b3IgYmVlbmRldCBoYXN0LCBzdGFydGUgdmltdHV0b3IgbmV1IHVuZAorCSAgIGJld2VnZSBkaWNoIGFid+RydHMgYmlzIHp1ciBmb2xnZW5kZW4gWnVzYW1tZW5mYXNzdW5nLgorCisgIDYuIE5hY2hkZW0gRHUgb2JpZ2UgU2Nocml0dGUgZ2VsZXNlbiB1bmQgdmVyc3RhbmRlbiBoYXN0OiBm/GhyZSBzaWUgZHVyY2guCit+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+fn4KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMQorCisKKyAgMS4gRGVyIEN1cnNvciB3aXJkIG1pdCBkZW4gUGZlaWx0YXN0ZW4gb2RlciBkZW4gVGFzdGVuIGhqa2wgYmV3ZWd0LgorCSBoIChsaW5rcykgICAgIGogKHVudGVuKSAgICAgayAoYXVmd+RydHMpICAgIGwgKHJlY2h0cykKKworICAyLiBVbSBWaW0gYXVzIGRlciBFaW5nYWJlYXVmZm9yZGVydW5nIHp1IHN0YXJ0ZW4sIHRpcHBlOiB2aW0gREFURUkgPEVOVEVSPgorCisgIDMuIFVtIFZpbSB6dSB2ZXJsYXNzZW4gdW5kIGFsbGUgxG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOgorCQk8RVNDPiAgOnEhICA8RU5URVI+IC4KKworICA0LiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGz2c2NoZW4sIHRpcHBlOiAgeAorCisgIDUuIFVtIFRleHQgZWluenVm/GdlbiBvZGVyIGFuenVm/GdlbiwgdGlwcGU6CisJIGkgICBFaW56dWb8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICA8RVNDPiAgICBFaW5m/GdlbiB2b3IgZGVtIEN1cnNvcgorCSBBICAgQW56dWb8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICAgPEVTQz4gICAgQW5m/GdlbiBuYWNoIGRlbSBaZWlsZW5lbmRlCisKK0FubWVya3VuZzogRHL8Y2tlbiB2b24gPEVTQz4gYnJpbmd0IERpY2ggaW4gZGVuIE5vcm1hbG1vZHVzIG9kZXIgYnJpY2h0IGVpbgorICAgICB1bmdld29sbHRlcywgZXJzdCB0ZWlsd2Vpc2UgZWluZ2VnZWJlbmVzIEtvbW1hbmRvIGFiLgorCisgICAgIE51biBmYWhyZSBtaXQgTGVrdGlvbiAyIGZvcnQuCit+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+fn4KKwkJCSAgTGVrdGlvbiAyLjE6IEzWU0NIS09NTUFORE9TCisKKworCQkgICAqKiBUaXBwZSAgZHcgICwgdW0gZWluIFdvcnQgenUgbPZzY2hlbi4gKioKKworICAxLiBEcvxja2UgIDxFU0M+ICAsIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0LgorCisgIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgorCisgIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZWluZXMgV29ydGVzLCBkYXMgZ2Vs9nNjaHQgd2VyZGVuIHNvbGwuCisKKyAgNC4gVGlwcGUgIGR3ICAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4KKworICBBbm1lcmt1bmc6IERlciBCdWNoc3RhYmUgIGQgIGVyc2NoZWludCBhdWYgZGVyIHVudGVyc3RlbiBaZWlsZSBkZXMgU2NoaXJtcywKKyAgICAgICAgd2VubiBEdSBpaG4gZWluZ2lic3QuIFZpbSB3YXJ0ZXQgZGFyYXVmLCBkYXNzIER1ICB3ICBlaW5naWJzdC4gRmFsbHMgRHUKKyAgICAgICAgZWluIGFuZGVyZXMgWmVpY2hlbiBhbHMgIGQgIHNpZWhzdCwgaGFzdCBEdSBldHdhcyBGYWxzY2hlcyBnZXRpcHB0OworICAgICAgICBkcvxja2UgPEVTQz4gdW5kIGJlZ2lubmUgbm9jaCBlaW5tYWwuCisKKy0tLT4gRWluaWdlIFf2cnRlciBsdXN0aWcgZ2Vo9nJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouCisKKyAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMyB1bmQgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0IHVuZCBnZWhlCisgICAgIHp1ciBMZWt0aW9uIDIuMi4KK35+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+fgorCQkgICAgICBMZWt0aW9uIDIuMjogV0VJVEVSRSBM1lNDSEtPTU1BTkRPUworCisKKwkgICAgKiogVGlwcGUgIGQkICAsIHVtIGJpcyB6dW0gRW5kZSBkZXIgWmVpbGUgenUgbPZzY2hlbi4gKioKKworICAxLiBEcvxja2UgPEVTQz4gLCB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdC4KKworICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KKworICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIga29ycmVrdGVuIFplaWxlIChOQUNIIGRlbSBlcnN0ZW4gLiApLgorCisgIDQuIFRpcHBlICAgIGQkICAgICwgdW0gYmlzIHp1bSBaZWlsZW5lbmRlIHp1IGz2c2NoZW4uCisKKy0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uCisKKworICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHZvcmdlaHQuCisKKworCisKKworfn5+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+CisJCSBMZWt0aW9uIDIuMzog3EJFUiBPUEVSQVRPUkVOIFVORCBCRVdFR1VOR1Na3EdFCisKKworICBWaWVsZSBLb21tYW5kb3MsIGRpZSBUZXh0IORuZGVybiwgc2V0emVuIHNpY2ggYXVzIGVpbmVtIE9wZXJhdG9yIHVuZCBlaW5lcgorICBCZXdlZ3VuZyB6dXNhbW1lbi4gRGFzIEZvcm1hdCBm/HIgZWluIEz2c2Noa29tbWFuZG8gbWl0IGRlbSBM9nNjaG9wZXJhdG9yICBkCisgIGxhdXRldCB3aWUgZm9sZ3Q6CisKKyAgICBkICBCZXdlZ3VuZworCisgIHdvYmVpOgorICAgIGQgICAgICAgIC0gZGVyIEz2c2Nob3BlcmF0b3IKKyAgICBCZXdlZ3VuZyAtIHdvcmF1ZiBkZXIgTPZzY2hvcGVyYXRvciBhbmdld2FuZHQgd2lyZCAodW50ZW4gYXVmZ2Vm/GhydCkuCisKKyAgRWluZSBrbGVpbmUgQXVmbGlzdHVuZyB2b24gQmV3ZWd1bmdlbjoKKyAgICB3IC0gYmlzIHp1bSBCZWdpbm4gZGVzIG7kY2hzdGVuIFdvcnRlcyBPSE5FIGRlc3NlbiBlcnN0ZXMgWmVpY2hlbi4KKyAgICBlIC0genVtIEVuZGUgZGVzIGFrdHVlbGxlbiBXb3J0ZXMgTUlUIGRlc3NlbiBsZXR6dGVtIFplaWNoZW4uCisgICAgJCAtIHp1bSBFbmRlIGRlciBaZWlsZSBNSVQgZGVtIGxldHp0ZW4gWmVpY2hlbi4KKworICBEZW1lbnRzcHJlY2hlbmQgbPZzY2h0IGRpZSBFaW5nYWJlIHZvbiAgZGUgIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBXb3J0ZW5kZS4KKworQW5tZXJrdW5nOiAgRGllIEVpbmdhYmUgbGVkaWdsaWNoIGRlcyBCZXdlZ3VuZ3N0ZWlscyBpbSBOb3JtYWxtb2R1cyBiZXdlZ3QgZGVuCisgIEN1cnNvciBlbnRzcHJlY2hlbmQuCit+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+fn4KKwlMZWt0aW9uIDIuNDogQU5XRU5EVU5HIEVJTkVTIFrESExFUlMgRtxSIEVJTkVOIEJFV0VHVU5HU1NDSFJJVFQKKworCisgICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIHZvciBlaW5lbSBCZXdlZ3VuZ3NzY2hyaXR0IHdpZWRlcmhvbHQgZGllc2VuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBCZWdpbm4gZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCisKKyAgMi4gVGlwcGUgIDJ3ICAsIHVtIGRlbiBDdXJzb3IgendlaSBX9nJ0ZXIgdm9yd+RydHMgenUgYmV3ZWdlbi4KKworICAzLiBUaXBwZSAgM2UgICwgdW0gZGVuIEN1cnNvciB6dW0gRW5kZSBkZXMgZHJpdHRlbiBXb3J0ZXMgenUgYmV3ZWdlbi4KKworICA0LiBUaXBwZSAgMCAgKE51bGwpICwgdW0genVtIEFuZmFuZyBkZXIgWmVpbGUgenUgZ2VsYW5nZW4uCisKKyAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzIG1pdCB2ZXJzY2hpZWRlbmVuIE51bW1lcm4uCisKKyAgLS0tPiBEaWVzIGlzdCBudXIgZWluZSBaZWlsZSBhdXMgV/ZydGVybiwgdW0gc2ljaCBkYXJpbiBoZXJ1bXp1YmV3ZWdlbi4KKworICA2LiBHZWhlIHdlaXRlciB6dSBMZWt0aW9uIDIuNS4KKworCisKKworfn5+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+CisJIExla3Rpb24gMi41OiBBTldFTkRVTkcgRUlORVMgWsRITEVSUyBG3FIgTUVIUkVSRSBM1lNDSFZPUkfETkdFCisKKworICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCBtaXQgZWluZW0gT3BlcmF0b3Igd2llZGVyaG9sdCBkaWVzZW4gbWVocmZhY2guICoqCisKKyAgSW4gZGVyIEtvbWJpbmF0aW9uIGF1cyBM9nNjaG9wZXJhdG9yIHVuZCBCZXdlZ3VuZ3NzY2hyaXR0IChzaWVoZSBvYmVuKSAKKyAgc3RlbGx0IG1hbiwgdW0gbWVociB6dSBs9nNjaGVuIGRlbSBTY2hyaXR0IGVpbmVuIFrkaGxlciB2b3JhbjoKKwkgZCAgTnVtbWVyICBCZXdlZ3VuZ3NzY2hyaXR0CisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBXb3J0IGluIEdST1NTQlVDSFNUQUJFTiBpbiBkZXIgbWl0IC0tLT4KKyAgICAgbWFya2llcmVuIFplaWxlLgorCisgIDIuIFRpcHBlICBkMncgICwgdW0gZGllIHp3ZWkgV/ZydGVyIGluIEdST1NTQlVDSFNUQUJFTiB6dSBs9nNjaGVuLgorCisgIDMuIFdpZWRlcmhvbGUgU2Nocml0dGUgMSB1bmQgIDIgbWl0IGVpbmVtIGFuZGVyZW4gWuRobGVyLCB1bSBkaWUgZGFyYXVmZm9sLQorICAgICBnZW5kZW4gV/ZydGVyIGluIEdST1NTQlVDSFNUQUJFTiBtaXQgZWluZW0gZWluemlnZW4gS29tbWFuZG8genUgbPZzY2hlbi4KKworLS0tPiAgRGllc2UgQUJDIERFIFplaWxlIEZHSEkgSksgTE1OIE9QIG1pdCBX9nJ0ZXJuIGlzdCBRIFJTIFRVViBiZXJlaW5pZ3QuCisKKworCit+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+fn4KKwkJCUxla3Rpb24gMi42OiBBUkJFSVRFTiBBVUYgWkVJTEVOCisKKworCSAgICAgICAqKiBUaXBwZSAgZGQgICwgdW0gZWluZSBnYW56ZSBaZWlsZSB6dSBs9nNjaGVuLiAqKgorCisgIFdlZ2VuIGRlciBI5HVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbPZzY2h0LCBrYW1lbiBkaWUgRW50d2lja2xlciB2b24KKyAgVmkgZGFyYXVmLCBkYXNzIGVzIGxlaWNodGVyIHfkcmUsIGVpbmZhY2ggendlaSBkJ3MgZWluenVnZWJlbiwgdW0gZWluZSBaZWlsZQorICB6dSBs9nNjaGVuLgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIFplaWxlIGluIGRlciB1bnRlbiBzdGVoZW5kZW4gUmVkZXdlbmR1bmcuCisgIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbPZzY2hlbi4KKyAgMy4gTnVuIGJld2VnZSBEaWNoIHp1ciB2aWVydGVuIFplaWxlLgorICA0LiBUaXBwZSAgMmRkICAsIHVtIHp3ZWkgWmVpbGVuIHp1IGz2c2NoZW4uCisKKy0tLT4gIDEpICBSb3NlbiBzaW5kIHJvdCwKKy0tLT4gIDIpICBNYXRzY2ggaXN0IGx1c3RpZywKKy0tLT4gIDMpICBWZWlsY2hlbiBzaW5kIGJsYXUsCistLS0+ICA0KSAgSWNoIGhhYmUgZWluIEF1dG8sCistLS0+ICA1KSAgRGllIFVociBzYWd0IGRpZSBaZWl0LAorLS0tPiAgNikgIFp1Y2tlciBpc3Qgc/zfLAorLS0tPiAgNykgIFNvIHdpZSBEdSBhdWNoLgorCit+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+fn4KKwkJICAgICBMZWt0aW9uIDIuNzogUtxDS0fETkdJRyBNQUNIRU4gKFVORE8pCisKKworCSAqKiBUaXBwZSB1ICwgdW0gZGllIGxldHp0ZW4gS29tbWFuZG9zIHL8Y2tn5G5naWcgenUgbWFjaGVuICoqCisJICAgICAgKiogb2RlciBVICwgdW0gZWluZSBnYW56ZSBaZWlsZSB3aWVkZXJoZXJ6dXN0ZWxsZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4KKyAgICAgdW5kIHNldHplIGlobiBhdWYgZGVuIGVyc3RlbiBGZWhsZXIuCisgIDIuIFRpcHBlICB4ICAsIHVtIGRhcyBlcnN0ZSB1bmVyd/xuc2NodGUgWmVpY2hlbiB6dSBs9nNjaGVuLgorICAzLiBOdW4gdGlwcGUgIHUgICwgdW0gZGFzIHNvZWJlbiBhdXNnZWb8aHJ0ZSBLb21tYW5kbyBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4KKyAgNC4gSmV0enQgYmVoZWJlIGFsbGUgRmVobGVyIGF1ZiBkZXIgWmVpbGUgbWl0IEhpbGZlIGRlcyB4ICBLb21tYW5kb3MuCisgIDUuIE51biB0aXBwZSBlaW4gZ3Jv32VzICBVICwgdW0gZGllIFplaWxlIGluIGlocmVuIFVyc3BydW5nc3p1c3RhbmQKKyAgICAgd2llZGVyaGVyenVzdGVsbGVuLgorICA2LiBOdW4gdGlwcGUgIHUgIGVpbmlnZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcworICAgICBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4KKyAgNy4gTnVuIHRpcHBlIENUUkwtUiAoaGFsdGUgQ1RSTCBnZWRy/GNrdCB1bmQgZHL8Y2tlIFIpIG1laHJlcmUgTWFsZSwgdW0gZGllCisgICAgIEtvbW1hbmRvcyB3aWVkZXJoZXJ6dXN0ZWxsZW4gKGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgbWFjaGVuKS4KKworLS0tPiBCZWVoZWJlIGRpZSBGZWhsbGVyIGRpZXNzZXIgWmVpbGUgdW5kIHN0dGVsbGUgc2llIG1pdHQgJ3VuZG8nIHdpZWRlciBoZXIuCisKKyAgOC4gRGllcyBzaW5kIHNlaHIgbvx0emxpY2hlIEtvbW1hbmRvcy4gIE51biBnZWhlIHdlaXRlciB6dXIgWnVzYW1tZW5mYXNzdW5nIAorICAgICB2b24gTGVrdGlvbiAyLgorfn5+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+CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDIKKworCisgIDEuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBu5GNoc3RlbiBXb3J0IHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkdworICAyLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZSB6dSBs9nNjaGVuLCB0aXBwZTogICAgIGQkCisgIDMuIFVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbPZzY2hlbiwgdGlwcGU6ICAgIGRkCisKKyAgNC4gVW0gZWluZSBCZXdlZ3VuZyB6dSB3aWVkZXJob2xlbiwgc3RlbGxlIGVpbmUgTnVtbWVyIHZvcmFuOiAgIDJ3CisgIDUuIERhcyBGb3JtYXQgZvxyIGVpbiDEbmRlcnVuZ3Nrb21tYW5kbyBpc3Q6CisgICAgICAgICAgICAgICBPcGVyYXRvciAgIFtBbnphaGxdICAgQmV3ZWd1bmdzc2Nocml0dAorICAgICB3b2JlaToKKyAgICAgICBPcGVyYXRvciAtIGdpYnQgYW4sIHdhcyBnZXRhbiB3ZXJkZW4gc29sbCwgenVtIEJlaXNwaWVsICBkICBm/HIgZGVsZXRlCisgICAgICAgW0FuemFobF0gLSBlaW4gb3B0aW9uYWxlciBa5GhsZXIsIHVtIGRlbiBCZXdlZ3VuZ3NzY2hyaXR0IHp1IHdpZWRlcmhvbGVuCisgICAgICAgQmV3ZWd1bmdzc2Nocml0dCAtIEJld2VndW5nIPxiZXIgZGVuIHp1IORuZGVybmRlbiBUZXh0LCB3aWUKKwkJICB3IChXb3J0KSwgJCAoenVtIEVuZGUgZGVyIFplaWxlKSwgZXRjLgorCisgIDYuIFVtIERpY2ggenVtIEFuZmFuZyBkZXIgWmVpbGUgenUgYmVnZWJlbiwgYmVudXR6ZSBkaWUgTnVsbDogIDAKKworICA3LiBVbSB2b3JoZXJpZ2UgQWt0aW9uZW4gcvxja2fkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOgkJdSAoa2xlaW5lcyB1KQorICAgICBVbSBhbGxlIMRuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHL8Y2tn5G5naWcgenUgbWFjaGVuOiAgIFUgKGdyb99lcyBVKQorICAgICBVbSBkaWUgUvxja2fkbmdpZ21hY2h1bmdlbiBy/GNrZ+RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6ICAgIENUUkwtUgorCit+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+fn4KKwkJCSAgIExla3Rpb24gMy4xOiBBTkbcR0VOIChQVVQpCisKKworICAgICAqKiBUaXBwZSAgcCAgLCB1bSB2b3JoZXIgZ2Vs9nNjaHRlbiBUZXh0IG5hY2ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKworICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4gdW5kIHNpZSBpbiBlaW5lbSBWaW0tUmVnaXN0ZXIgenUKKyAgICAgc3BlaWNoZXJuLgorCisgIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBaZWlsZSBjKSwg3EJFUiBkZXJqZW5pZ2VuLCB3byBkaWUgZ2Vs9nNjaHRlIFplaWxlCisgICAgIHBsYXR6aWVydCB3ZXJkZW4gc29sbC4KKworICA0LiAgVGlwcGUgICBwICAgLCB1bSBkaWUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IHBsYXR6aWVyZW4uCisKKyAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gYWxsZSBaZWlsZW4gaW4gZGllIHJpY2h0aWdlCisgICAgIFJlaWhlbmZvbGdlIHp1IGJyaW5nZW4uCisKKy0tLT4gZCkgS2FubnN0IER1IGRhcyBhdWNoPworLS0tPiBiKSBWZWlsY2hlbiBzaW5kIGJsYXUsCistLS0+IGMpIEludGVsbGlnZW56IGlzdCBsZXJuYmFyLAorLS0tPiBhKSBSb3NlbiBzaW5kIHJvdCwKK35+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+fgorCQkJTGVrdGlvbiAzLjI6IEVSU0VUWkVOIChSRVBMQUNFKQorCisKKyAgICoqIFRpcHBlICByeCAgLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIGR1cmNoICB4IHp1IGVyc2V0emVuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBzaWNoIGF1ZiBkZW0gZXJzdGVuIEZlaGxlciBiZWZpbmRldC4KKworICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGll32VuZCBkYXMgWmVpY2hlbiwgd2VsY2hlcyBkb3J0IHN0ZWhlbiBzb2xsdGUuCisKKyAgNC4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzLCBiaXMgZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiBpc3QuCisKKy0tLT4gIEFsZiBkaWVzZSBaZWl0ZSBlaW5nZWdvYmVuIHd1cmRlLCB3dXJkZW4gZWluaWtlIGZhbHNjaGUgVGFzdGVuIGdlbGlwcHQhCistLS0+ICBBbHMgZGllc2UgWmVpbGUgZWluZ2VnZWJlbiB3dXJkZSwgd3VyZGVuIGVpbmlnZSBmYWxzY2hlIFRhc3RlbiBnZXRpcHB0IQorCisgIDUuIE51biBmYWhyZSBmb3J0IG1pdCBMZWt0aW9uIDMuMi4KKworQW5tZXJrdW5nOiBFcmlubmVyZSBEaWNoIGRhcmFuLCBkYXNzIER1IGR1cmNoIEFud2VuZGVuIGxlcm5lbiBzb2xsdGVzdCwgbmljaHQgCisgICAgIGR1cmNoIEF1c3dlbmRpZ2xlcm5lbi4KKworCit+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+fn4KKwkJCSAgTGVrdGlvbiAzLjM6IMROREVSTiAoQ0hBTkdFKQorCisKKyAgICAgICoqIFVtIGVpbmUgxG5kZXJ1bmcgYmlzIHp1bSBXb3J0ZW5kZSBkdXJjaHp1ZvxocmVuLCB0aXBwZSAgY2UgLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGRhcyAgcyAgdm9uIFdzdHdyLgorCisgIDMuIFRpcHBlICBjZSAgdW5kIGRpZSBXb3J0a29ycmVrdHVyIGVpbiAoaW4gZGllc2VtIEZhbGwgdGlwcGUgIPZydGVyICkuCisKKyAgNC4gRHL8Y2tlIDxFU0M+IHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gbuRjaHN0ZW4genUg5G5kZXJuZGVuIFplaWNoZW4uCisKKyAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAzIHVuZCA0IGJpcyBkZXIgZXJzdGUgU2F0eiBnbGVpY2ggZGVtIHp3ZWl0ZW4gaXN0LgorCistLS0+IEVpbmlnZSBXc3R3ciBkaWVzZXIgWmxhd3cgbGFzZGpsYWYgbWl0IGRlbSDEbmRlcm4tT3BlcmF0b3IgZ2FhYXV1IHdlcmRlbi4KKy0tLT4gRWluaWdlIFf2cnRlciBkaWVzZXIgWmVpbGUgc29sbGVuIG1pdCBkZW0gxG5kZXJuLU9wZXJhdG9yIGdl5G5kZXJ0IHdlcmRlbi4KKworQmVhY2h0ZSwgZGFzcyAgY2UgIGRhcyBXb3J0IGz2c2NodCB1bmQgRGljaCBpbiBkZW4gRWluZ2FiZW1vZHVzIHZlcnNldHp0LgorCisKKworfn5+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+CisJCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgxE5ERVJVTkdFTiBNSVRURUxTIGMKKworCisgICAgICoqIERhcyBjaGFuZ2UtS29tbWFuZG8gYXJiZWl0ZXQgbWl0IGRlbnNlbGJlbiBCZXdlZ3VuZ2VuIHdpZSBkZWxldGUuICAqKgorCisgIDEuIERlciBjaGFuZ2UgT3BlcmF0b3IgYXJiZWl0ZXQgaW4gZ2xlaWNoZXIgV2Vpc2Ugd2llIGRlbGV0ZS4gRGFzIEZvcm1hdCBpc3Q6CisKKyAgICAgICAgIGMgICAgW0FuemFobF0gIEJld2VndW5nc3NjaHJpdHQKKworICAyLiBEaWUgQmV3ZWd1bmdzc2Nocml0dGUgc2luZCBkaWUgZ2xlaWNoZW4gLCBzbyB3aWUgIHcgIChXb3J0KSB1bmQgICQKKyAgICAgKFplaWxlbmVuZGUpLgorCisgIDMuIEJld2VnZSBEaWNoIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBGZWhsZXIuCisKKyAgNS4gVGlwcGUgIGMkICAsIGdpYiBkZW4gUmVzdCBkZXIgWmVpbGUgd2llIGluIGRlciB6d2VpdGVuIGVpbiwgZHL8Y2tlIDxFU0M+IC4KKworLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBhbiBkaWUgendlaXRlIFplaWxlIGFuZ2VnbGljaGVuIHdlcmRlbi4KKy0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgbWl0IGRlbSAgYyQgIEtvbW1hbmRvIGtvcnJpZ2llcnQgd2VyZGVuLgorCitBbm1lcmt1bmc6IER1IGthbm5zdCBkaWUgUvxja3Rhc3RlIGJlbnV0emVuLCB1bSBUaXBwZmVobGVyIHp1IGtvcnJpZ2llcmVuLgorfn5+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+CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDMKKworCisgIDEuIFVtIGVpbmVuIHZvcmhlciBnZWz2c2NodGVuIFRleHQgYW56dWb8Z2VuLCB0aXBwZSAgIHAgLiBEaWVzIGb8Z3QgZGVuCisgICAgIGdlbPZzY2h0ZW4gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW4gKHdlbm4gZWluZSBnYW56ZSBaZWlsZSBnZWz2c2NodCB3dXJkZSwKKyAgICAgd2lyZCBkaWVzZSBpbiBkaWUgWmVpbGUgdW50ZXIgZGVtIEN1cnNvciBlaW5nZWb8Z3QpLgorCisgIDIuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4sIHRpcHBlICAgciAgIHVuZCBkYW5hY2ggZGFzIAorICAgICBhbiBkaWVzZXIgU3RlbGxlIGdld29sbHRlIFplaWNoZW4uCisKKyAgMy4gRGVyIMRuZGVydW5ncy0gKGNoYW5nZSkgT3BlcmF0b3IgZXJsYXVidCwgdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZGVzCisgICAgIEJld2VndW5nc3NjaHJpdHRlcyB6dSDkbmRlcm4uIFRpcHBlICBjZSAgLCB1bSBlaW5lIMRuZGVydW5nIHZvbSBDdXJzb3IgYmlzCisgICAgIHp1bSBFbmRlIGRlcyBXb3J0ZXMgdm9yenVuZWhtZW47ICBjJCAgYmlzIHp1bSBFbmRlIGVpbmVyIFplaWxlLgorCisgIDQuIERhcyBGb3JtYXQgZvxyIGNoYW5nZSBpc3Q6CisKKwkgYyAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0CisKKyAgTnVuIGZhaHJlIG1pdCBkZXIgbuRjaHN0ZW4gTGVrdGlvbiBmb3J0LgorCisKKworfn5+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+CisJCSAgTGVrdGlvbiA0LjE6IENVUlNPUlBPU0lUSU9OIFVORCBEQVRFSVNUQVRVUworCisgKiogVGlwcGUgQ1RSTC1HICwgdW0gZGVpbmUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMgYW56dXplaWdlbi4gKioKKyAgICAgKiogVGlwcGUgRyAsIHVtIERpY2ggenUgZWluZXIgWmVpbGUgaW4gZGVyIERhdGVpIHp1IGJlZ2ViZW4uICoqCisKK0FubWVya3VuZzogTGllcyBkaWVzZSBnZXNhbXRlIExla3Rpb24sIGJldm9yIER1IGlyZ2VuZGVpbmVuIFNjaHJpdHQgYXVzZvxocnN0ISEKKworICAxLiBIYWx0ZSBkaWUgQ3RybCBUYXN0ZSB1bnRlbiB1bmQgZHL8Y2tlICBnIC4gRGllcyBuZW5uZW4gd2lyIENUUkwtRy4KKyAgICAgRWluZSBTdGF0dXNtZWxkdW5nIGFtIEZ13yBkZXIgU2VpdGUgZXJzY2hlaW50IG1pdCBkZW0gRGF0ZWluYW1lbiB1bmQgZGVyCisgICAgIFBvc2l0aW9uIGlubmVyaGFsYiBkZXIgRGF0ZWkuIE1lcmtlIERpciBkaWUgWmVpbGVubnVtbWVyIGb8ciBTY2hyaXR0IDMuCisKK0FubWVya3VuZzogTfZnbGljaGVyd2Vpc2Ugc2llaHN0IER1IGRpZSBDdXJzb3Jwb3NpdGlvbiBpbiBkZXIgdW50ZXJlbiByZWNodGVuCisgICAgICBCaWxkc2NoaXJtZWNrZS4gRGllcyBpc3QgQXVzd2lya3VuZyBkZXIgJ3J1bGVyJyBPcHRpb24gCisJICAoc2llaGUgOmhlbHAgJ3J1bGVyJykKKworICAyLiBEcvxja2UgIEcgICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KKyAgICAgVGlwcGUgIGdnICAsIHVtIERpY2ggenVtIEFuZmFuZyBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KKworICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gIEcgLgorICAgICBEaWVzIGJyaW5ndCBEaWNoIHp1cvxjayB6dSBkZXIgWmVpbGUsIGF1ZiBkZXIgRHUgZ2VzdGFuZGVuIGhhc3QsIGFscyBEdQorICAgICBkYXMgZXJzdGUgTWFsIENUUkwtRyBnZWRy/GNrdCBoYXN0LgorCisgIDQuIFdlbm4gRHUgRGljaCBzaWNoZXIgZ2VudWcgZvxobHN0LCBm/GhyZSBkaWUgU2Nocml0dGUgMSBiaXMgMyBhdXMuCit+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+fn4KKwkJICAgICAgIExla3Rpb24gNC4yOiBEQVMgU1VDSEVOIC0gS09NTUFORE8KKworCisgICoqIFRpcHBlICAvICBnZWZvbGd0IHZvbiBlaW5lbSBBdXNkcnVjaywgdW0gbmFjaCBkZW0gQXVzZHJ1Y2sgenUgc3VjaGVuLiAqKgorCisgIDEuIEltIE5vcm1hbG1vZHVzLCB0aXBwZSBkYXMgIC8gIFplaWNoZW4uICBCZWFjaHRlLCBkYXNzIGRhcyAgLyB1bmQgZGVyCisgICAgIEN1cnNvciBhbSBGdd8gZGVzIFNjaGlybXMgZXJzY2hlaW5lbiwgc28gd2llIGJlaW0gOglLb21tYW5kby4KKworICAyLiBOdW4gdGlwcGUgJ0ZlaGhsZXInIDxFTlRFUj4uIERpZXMgaXN0IGRhcyBXb3J0LCBuYWNoIGRlbSBEdSBzdWNoZW4gd2lsbHN0LgorCisgIDMuIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIHdlaXRlcnp1c3VjaGVuLCB0aXBwZSBlaW5mYWNoICBuIChm/HIgbmV4dCkuCisgICAgIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIGluIGRlciBHZWdlbnJpY2h0dW5nIHp1IHN1Y2hlbiwgdGlwcGUgIE4gLgorCisgIDQuIFVtIG5hY2ggZWluZW0gQXVzZHJ1Y2sgcvxja3fkcnRzIHp1IHN1Y2hlbiAsIGJlbnV0emUgID8gIHN0YXR0ICAvIC4KKworICA1LiBVbSBkYWhpbiB6dXL8Y2t6dWtlaHJlbiwgdm9uIHdvIER1IGdla29tbWVuIGJpc3QsIGRy/GNrZSBDVFJMLU8gKEhhbHRlCisgICAgIEN0cmwgdW50ZW4gdW5kIGRy/GNrZSBkZW4gQnVjaHN0YWJlbiBvKS4gV2llZGVyaG9sZSBkaWVzLCB1bSBub2NoIHdlaXRlcgorICAgICB6dXL8Y2t6dWdlaGVuLiAgQ1RSTC1JIGdlaHQgdm9yd+RydHMuCisKKy0tLT4gIEZlaGxlciBzY2hyZWlidCBzaWNoIG5pY2h0ICJGZWhobGVyIjsgRmVoaGxlciBpc3QgZWluIEZlaGxlcgorQW5tZXJrdW5nOiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nCisgICAgICAgIGZvcnRnZXNldHp0LCBlcyBzZWkgZGVubiwgZGllICd3cmFwc2NhbicgT3B0aW9uIHd1cmRlIGFiZ2VzY2hhbHRldC4KK35+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+fgorCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4KKworCisgICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUgZ2VnZW78YmVybGllZ2VuZGVuIEtsYW1tZXIgKSxdLCBvZGVyIH0genUgZmluZGVuLiAqKgorCisgIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBpcmdlbmRlaW5lbSBkZXIgWmVpY2hlbiAoLCBbLCBvZGVyIHsgaW4gZGVyIHVudGVuCisgICAgIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4KKworICAyLiBOdW4gdGlwcGUgZGFzICAlICBaZWljaGVuLgorCisgIDMuIERlciBDdXJzb3IgYmV3ZWd0IHNpY2ggenVyIHBhc3NlbmRlbiBnZWdlbvxiZXJsaWVnZW5kZW4gS2xhbW1lci4KKworICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVyIHBhc3NlbmRlbiBhbmRlcmVuIEtsYW1tZXIgenUgYmV3ZWdlbi4KKworICA1LiBTZXR6ZSBkZW4gQ3Vyc29yIGF1ZiBlaW4gYW5kZXJlcyAoLCksWyxdLHsgb2RlciB9IHVuZCBwcm9iaWVyZSAgJSAgYXVzLgorCistLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgKCBtaXQgWyB2ZXJzY2hpZWRlbmVuIF0geyBLbGFtbWVybiB9ICBkYXJpbi4gKSkKKworQW5tZXJrdW5nOiBEaWVzZSBGdW5rdGlvbmFsaXTkdCBpc3Qgc2VociBu/HR6bGljaCBiZWkgZGVyIEZlaGxlcnN1Y2hlIGluIGVpbmVtCisgICAgIFByb2dyYW1tdGV4dCwgaW4gZGVtIHBhc3NlbmRlIEtsYW1tZXJuIGZlaGxlbiEKKworCit+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+fn4KKwkJTGVrdGlvbiA0LjQ6IERBUyBFUlNFVFpVTkdTS09NTUFORE8gKFNVQlNUSVRVVEUpCisKKworCSAqKiBUaXBwZSA6cy9hbHQvbmV1L2cgICwgdW0gJ2FsdCcgZHVyY2ggJ25ldScgenUgZXJzZXR6ZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgorCisgIDIuIFRpcHBlICA6cy9kaWVlL2RpZSA8RU5URVI+IC4gIEJlYWNodGUsIGRhc3MgZGVyIEJlZmVobCBudXIgZGFzIGVyc3RlCisgICAgIFZvcmtvbW1lbiB2b24gImRpZWUiIGVyc2V0enQuCisKKyAgMy4gTnVuIHRpcHBlICAgOnMvZGllZS9kaWUvZyAuIERhcyBadWb8Z2VuIGRlcyBGbGFncyAgZyAgIGJlZGV1dGV0LCBlaW5lCisgICAgIGdsb2JhbGUgRXJzZXR6dW5nIPxiZXIgZGllIFplaWxlIGR1cmNoenVm/GhyZW4sIGRpZXMgZXJzZXR6dCBhbGxlIAorCSBWb3Jrb21tZW4gdm9uICJkaWVlIiBhdWYgZGVyIFplaWxlLgorCistLS0+IGRpZWUgc2No9m5zdGUgWmVpdCwgdW0gZGllZSBCbHVtZW4gYW56dXNjaGF1ZW4sIGlzdCBkaWVlIEZy/GhsaW5nc3plaXQuCisKKyAgNC4gVW0gYWxsZSBWb3Jrb21tZW4gZWluZXIgWmVpY2hlbmtldHRlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuIHp1IORuZGVybiwKKyAgICAgdGlwcGUgIDojLCNzL2FsdC9uZXUvZyAgd29iZWkgIywjIGRpZSBaZWlsZW5udW1tZXJuIGRlcyBCZXJlaWNoZXMgc2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZGVtIGRpZSBFcnNldHp1bmcgZHVyY2hnZWb8aHJ0IHdlcmRlbiBzb2xsLgorICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZyAgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUg5G5kZXJuLgorICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZ2MgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUgZmluZGVuCisgICAgICAgICAgICAgICAgICAgICBtaXQgZWluZW0gRnJhZ2VkaWFsb2csIG9iIGVyc2V0enQgd2VyZGVuIHNvbGwgb2RlciBuaWNodC4KK35+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+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA0CisKKyAgMS4gQ1RSTC1HICB6ZWlndCBkaWUgYWt0dWVsbGUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMuCisgICAgICAgICAgICAgRyAgYnJpbmd0IERpY2ggenVtIEVuZGUgZGVyIERhdGVpLgorICAgICBOdW1tZXIgIEcgIGJyaW5ndCBEaWNoIHp1ciBlbnRzcHJlY2hlbmRlbiBaZWlsZW5udW1tZXIuCisgICAgICAgICAgICBnZyAgYnJpbmd0IERpY2ggenVyIGVyc3RlbiBaZWlsZS4KKworICAyLiBEaWUgRWluZ2FiZSB2b24gIC8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgVk9SV8RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suCisgICAgIERpZSBFaW5nYWJlIHZvbiAgPyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBS3ENLV8RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suCisgICAgIFRpcHBlIG5hY2ggZWluZXIgU3VjaGUgIG4gICwgdW0gZGFzIG7kY2hzdGUgVm9ya29tbWVuIGluIGRlciBnbGVpY2hlbgorICAgICBSaWNodHVuZyB6dSBmaW5kZW47IG9kZXIgIE4gICwgdW0gaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLgorICAgICBDVFJMLU8gYnJpbmd0IERpY2ggenVy/GNrIHp1IORsdGVyZW4gUG9zaXRpb25lbiwgQ1RSTC1JIHp1IG5ldWVyZW4uCisKKyAgMy4gRGllIEVpbmdhYmUgdm9uICAlICAsIHdlbm4gZGVyIEN1cnNvciBzaWNoIGF1ZiAoLCksWyxdLHssIG9kZXIgfQorICAgICBiZWZpbmRldCwgYnJpbmd0IERpY2ggenVyIEdlZ2Vua2xhbW1lci4KKworICA0LiBVbSBkYXMgZXJzdGUgVm9ya29tbWVuIHZvbiAiYWx0IiBpbiBlaW5lciBaZWlsZSBkdXJjaCAibmV1IiB6dSBlcnNldHplbiwKKyAgICAgICAgICAgICB0aXBwZSAgICAgICA6cy9hbHQvbmV1CisgICAgIFVtIGFsbGUgVm9ya29tbWVuIHZvbiAiYWx0IiBpbiBkZXIgWmVpbGUgZXJzZXR6ZW4sIHRpcHBlICA6cy9hbHQvbmV1L2cKKyAgICAgVW0gQXVzZHL8Y2tlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuICMgenUgZXJzZXR6ZW4gICAgICAgIDojLCNzL2FsdC9uZXUvZworICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZSAgOiVzL2FsdC9uZXUvZworICAgICBG/HIgZWluZSBqZWRlc21hbGlnZSBCZXN05HRpZ3VuZywgYWRkaWVyZSAnYycgKGNvbmZpcm0pICAgOiVzL2FsdC9uZXUvZ2MKK35+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+fgorCQlMZWt0aW9uIDUuMTogQVVTRtxIUkVOIEVJTkVTIEVYVEVSTkVOIEtPTU1BTkRPUworCisKKyAgKiogR2liICA6ISAsIGdlZm9sZ3Qgdm9uIGVpbmVtIGV4dGVybmVuIEtvbW1hbmRvIGVpbiwgdW0gZXMgYXVzenVm/GhyZW4uICoqCisKKyAgMS4gVGlwcGUgZGFzIHZlcnRyYXV0ZSBLb21tYW5kbyAgOiAgLCB1bSBkZW4gQ3Vyc29yIGF1ZiBkZW4gRnXfIGRlcyBTY2hpcm1zCisgICAgIHp1IHNldHplbi4gRGllcyBlcmxhdWJ0IERpciwgZWluIEtvbW1hbmRvemVpbGVuLUtvbW1hbmRvIGVpbnp1Z2ViZW4uCisKKyAgMi4gTnVuIHRpcHBlIGVpbiAgISAgKEF1c3J1ZmV6ZWljaGVuKS4gIERpZXMgZXJt9mdsaWNodCBEaXIsIGVpbiBiZWxpZWJpZ2VzLAorICAgICBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZvxocmVuLgorCisgIDMuIEFscyBCZWlzcGllbCB0aXBwZSAgIGxzICAgbmFjaCBkZW0gICEgIHVuZCBkcvxja2UgPEVOVEVSPi4gRGllcyBsaWVmZXJ0CisgICAgIGVpbmUgQXVmbGlzdHVuZyBkZWluZXMgVmVyemVpY2huaXNzZXM7IGdlbmF1c28sIGFscyB3ZW5uIER1IGluIGRlcgorICAgICBFaW5nYWJlYXVmZm9yZGVydW5nIHfkcnN0LiAgT2RlciB2ZXJ3ZW5kZSAgOiFkaXIgICwgZmFsbHMgbHMgbmljaHQgZ2VodC4KKworQW5tZXJrdW5nOiAgTWl0IGRpZXNlciBNZXRob2RlIGthbm4gamVkZXMgYmVsaWViaWdlIGV4dGVybmUgS29tbWFuZG8KKyAgICAgYXVzZ2Vm/GhydCB3ZXJkZW4sIGF1Y2ggbWl0IEFyZ3VtZW50ZW4uCisKK0FubWVya3VuZzogIEFsbGUgIDogIEtvbW1hbmRvcyBt/HNzZW4gZHVyY2ggRWluZ2FiZSB2b24gPEVOVEVSPgorICAgICBhYmdlc2NobG9zc2VuIHdlcmRlbi4gVm9uIGpldHp0IGFuIGVyd+RobmVuIHdpciBkaWVzIG5pY2h0IGplZGVzbWFsLgorCisKK35+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+fgorCQlMZWt0aW9uIDUuMjogTUVIUiDcQkVSIERBUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4KKworCisqKiBVbSBhbSBUZXh0IGR1cmNoZ2Vm/GhydGUgxG5kZXJ1bmdlbiB6dSBzcGVpY2hlcm4sIHRpcHBlIDp3IERBVEVJTkFNRS4gKioKKworICAxLiBUaXBwZSAgOiFkaXIgIG9kZXIgIDohbHMgICwgdW0gZWluZSBBdWZsaXN0dW5nIGRlaW5lcyBWZXJ6ZWljaG5pc3NlcyB6dQorICAgICBlcmhhbHRlbi4gIER1IHdlad90IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0LgorCisgIDIuIFfkaGxlIGVpbmVuIERhdGVpbmFtZW4sIGRlciBub2NoIG5pY2h0IGV4aXN0aWVydCwgei5CLiBURVNULgorCisgIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V35GhsdGUgRGF0ZWluYW1lIGlzdCkuCisKKyAgNC4gRGllcyBzcGVpY2hlcnQgZGllIGdhbnplIERhdGVpIChkZW4gVmltIFR1dG9yKSB1bnRlciBkZW0gTmFtZW4gVEVTVC4KKyAgICAgVW0gZGllcyB6dSD8YmVycHL8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwgdW0gZGVpbmVuCisgICAgIFZlcnplaWNobmlzaW5oYWx0IHp1IHNlaGVuLgorCitBbm1lcmt1bmc6IFf8cmRlc3QgRHUgVmltIGpldHp0IGJlZW5kZW4gdW5kIGRhbmFjaCB3aWVkZXIgbWl0IHZpbSBURVNUCisgICAgc3RhcnRlbiwgZGFubiB35HJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtCisgICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuCisKKyAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAorICAgICAgICAgICAgICAgICAgICAgIG9kZXIgKFVuaXgpOiAgICAgICAgICAgICAgICAgICAgICAgICA6IXJtIFRFU1QKK35+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+fgorCQkgTGVrdGlvbiA1LjM6IEFVU1fESExFTiBWT04gVEVYVCBaVU0gU0NIUkVJQkVOCisKKyoqIFVtIGVpbmVuIEFic2Nobml0dCBkZXIgRGF0ZWkgenUgc3BlaWNoZXJuLCAgdGlwcGUgIHYgIEJld2VndW5nICA6dyBEQVRFSSAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRpZXNlciBaZWlsZS4KKworICAyLiBUaXBwZSAgdiAgdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBm/G5mdGVuIEF1Zmxpc3R1bmdzcHVua3QgdW50ZW4uCisgICAgIEJlYWNodGUsIGRhc3MgZGVyIFRleHQgaGVydm9yZ2Vob2JlbiB3aXJkLgorCisgIDMuIERy/GNrZSBkYXMgWmVpY2hlbiAgOiAuIEFtIEZ13yBkZXMgU2NoaXJtcyBlcnNjaGVpbnQgIDonPCwnPiAuCisKKyAgNC4gVGlwcGUgIHcgVEVTVCAgLCB3b2JlaSBURVNUIGVpbiBub2NoIG5pY2h0IHZvcmhhbmRlbmVyIERhdGVpbmFtZSBpc3QuCisgICAgIFZlcmdld2lzc2VyZSBEaWNoLCBkYXNzIER1ICA6JzwsJz53IFRFU1QgIHNpZWhzdCwgYmV2b3IgRHUgPEVOVEVSPiBkcvxja3N0LgorCisgIDUuIFZpbSBzY2hyZWlidCBkaWUgYXVzZ2V35GhsdGVuIFplaWxlbiBpbiBkaWUgRGF0ZWkgVEVTVC4gQmVudXR6ZSAgOiFkaXIKKyAgICAgb2RlciAgOiFscyAsIHVtIHNpZSB6dSBzZWhlbi4gTPZzY2hlIHNpZSBub2NoIG5pY2h0ISBXaXIgd2VyZGVuIHNpZSBpbgorICAgICBkZXIgbuRjaHN0ZW4gTGVrdGlvbiBiZW51dHplbi4KKworSGlud2VpczogRHL8Y2tlbiB2b24gIHYgIHN0YXJ0ZXQgZGllIFZpc3VlbGxlIEF1c3dhaGwuIER1IGthbm5zdCBkZW4gQ3Vyc29yCisgICB1bWhlcmJld2VnZW4sIHVtIGRpZSBBdXN3YWhsIHp1IHZlcmdy9t9lcm4gb2RlciB6dSB2ZXJrbGVpbmVybi4gQW5zY2hsaWXfZW5kCisgICBs5HNzdCBzaWNoIGVpbiBPcGVyYXRvciBhbndlbmRlbiwgdW0gbWl0IGRlbSBUZXh0IGV0d2FzIHp1IHR1bi4gWnVtIEJlaXNwaWVsCisgICBs9nNjaHQgIGQgIGRlbiBUZXh0LgorCit+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+fn4KKwkgICAgICBMZWt0aW9uIDUuNDogRUlOTEVTRU4gVU5EIFpVU0FNTUVORtxIUkVOIFZPTiBEQVRFSUVOCisKKworICAgICAgICoqIFVtIGRlbiBJbmhhbHQgZWluZXIgRGF0ZWkgZWluenVsZXNlbiwgdGlwcGUgIDpyIERBVEVJTkFNRSAgKioKKworICAxLiBQbGF0emllcmUgZGVuIEN1cnNvciBkaXJla3Qg/GJlciBkaWVzZXIgWmVpbGUuCisKK0JFQUNIVEU6ICBOYWNoZGVtIER1IFNjaHJpdHQgMiBhdXNnZWb8aHJ0IGhhc3QsIHdpcnN0IER1IFRleHQgYXVzIExla3Rpb24gNS4zCisgICAgICAgc2VoZW4uIERhbm4gYmV3ZWdlIERpY2ggd2llZGVyIEFCV8RSVFMsIExla3Rpb24gNS40IHdpZWRlcnp1c2VoZW4uCisKKyAgMi4gTnVuIGxpZXMgZGVpbmUgRGF0ZWkgVEVTVCBlaW4gaW5kZW0gRHUgZGFzIEtvbW1hbmRvICA6ciBURVNUICBhdXNm/Ghyc3QsCisgICAgIHdvYmVpIFRFU1QgZGVyIHZvbiBEaXIgdmVyd2VuZGV0ZSBEYXRlaW5hbWUgaXN0LgorICAgICBEaWUgZWluZ2VsZXNlbmUgRGF0ZWkgd2lyZCB1bnRlcmhhbGIgZGVyIEN1cnNvcnplaWxlIGVpbmdlZvxndC4KKworICAzLiBVbSB6dSD8YmVycHL8ZmVuLCBkYXNzIGRpZSBEYXRlaSBlaW5nZWxlc2VuIHd1cmRlLCBnZWhlIHp1cvxjayB1bmQgCisgICAgIGJlYWNodGUsIGRhc3MgZXMgamV0enQgendlaSBLb3BpZW4gdm9uIExla3Rpb24gNS4zIGdpYnQsIGRhcyBPcmlnaW5hbCB1bmQgCisJIGRpZSBlaW5nZWb8Z3RlIERhdGVpdmVyc2lvbi4KKworQW5tZXJrdW5nOiBEdSBrYW5uc3QgYXVjaCBkaWUgQXVzZ2FiZSBlaW5lcyBleHRlcm5lbiBLb21tYW5kb3MgZWlubGVzZW4uIFp1bQorICAgICBCZWlzcGllbCBsaWVzdCAgOnIgIWxzICBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGxzIGVpbiB1bmQgcGxhdHppZXJ0CisgICAgIHNpZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMuCisKK35+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+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA1CisKKworICAxLiA6IUtvbW1hbmRvICBm/GhydCBlaW4gZXh0ZXJuZXMgS29tbWFuZG8gYXVzLgorCisgICAgICBFaW5pZ2Ugbvx0emxpY2hlIEJlaXNwaWVsZSBzaW5kCisJKE1TLURPUykJICAoVW5peCkKKwkgOiFkaXIJCSAgIDohbHMJCSAgIC0gIHplaWd0IGVpbmUgVmVyemVpY2huaXNhdWZsaXN0dW5nLgorCSA6IWRlbCBEQVRFSU5BTUUgICA6IXJtIERBVEVJTkFNRSAgLSAgZW50ZmVybnQgRGF0ZWkgREFURUlOQU1FLgorCisgIDIuIDp3IERBVEVJTkFNRSAgc3BlaWNoZXJ0IGRpZSBha3R1ZWxsZSBWaW0tRGF0ZWkgdW50ZXIgZGVtIE5hbWVuICBEQVRFSU5BTUUuCisKKyAgMy4gdiAgQmV3ZWd1bmcgIDp3IERBVEVJTkFNRSAgc2NocmVpYnQgZGllIFZpc3VlbGwgYXVzZ2V35GhsdGVuIFplaWxlbiBpbgorICAgICBkaWUgRGF0ZWkgREFURUlOQU1FLgorCisgIDQuIDpyIERBVEVJTkFNRSAgbORkdCBkaWUgRGF0ZWkgREFURUlOQU1FIHVuZCBm/Gd0IHNpZSB1bnRlcmhhbGIgZGVyCisgICAgIEN1cnNvcnBvc2l0aW9uIGVpbi4KKworICA1LiA6ciAhZGlyICBsaWVzdCBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGRpciB1bmQgZvxndCBzaWUgdW50ZXJoYWxiIGRlcgorICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uCisKKworfn5+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+CisJCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOINZGRk5FTiAoT1BFTikKKworCisgICAqKiBUaXBwZSAgbwksIHVtIGVpbmUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IPZmZm5lbiB1bmQgRGljaCBpbiAqKgorICAgICAgICAgICAgICAgICAgICAgICoqIGRlbiBFaW5m/GdlbW9kdXMgenUgYmVnZWJlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgZXJzdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCisKKyAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSSEFMQiBkZXMgQ3Vyc29ycyB6dSD2ZmZuZW4KKyAgICAgdW5kIERpY2ggaW4gZGVuIEVpbmb8Z2Vtb2R1cyB6dSBiZWdlYmVuLgorCisgIDMuIE51biB0aXBwZSBldHdhcyBUZXh0IHVuZCBkcvxja2UgPEVTQz4gLCB1bSBkZW4gRWluZvxnZW1vZHVzIHp1IHZlcmxhc3Nlbi4KKworLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIG9mZmVuZW4gWmVpbGUgaW0gRWluZvxnZW1vZHVzIHBsYXR6aWVydC4KKworICA0LiBVbSBlaW5lIFplaWxlINxCRVJIQUxCIGRlcyBDdXJzb3JzIGF1Znp1bWFjaGVuLCBnaWIgZWluZmFjaCBlaW4gZ3Jv32VzICBPCisgICAgIHN0YXR0IGVpbmVtIGtsZWluZW4gIG8gIGVpbi4gVmVyc3VjaGUgZGllcyBhdWYgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZS4KKworLS0tPiDWZmZuZSBlaW5lIFplaWxlIPxiZXIgZGllc2VyIG1pdCBPICwgd2VubiBkZXIgQ3Vyc29yIGF1ZiBkaWVzZXIgWmVpbGUgaXN0LgorCisKKworfn5+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+CisJCSAgICAgICBMZWt0aW9uIDYuMjogVEVYVCBBTkbcR0VOIChBUFBFTkQpCisKKworCSAgICAgKiogVGlwcGUgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgZWluenVm/Gdlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlciBlcnN0ZW4g3GJ1bmdzemVpbGUgbWl0IC0tLT4gdW50ZW4uCisKKyAgMi4gRHL8Y2tlICBlICAsIGJpcyBkZXIgQ3Vyc29yIGFtIEVuZGUgdm9uICBaZWkgIHN0ZWh0LgorCisgIDMuIFRpcHBlIGVpbiBrbGVpbmVzICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuenVm/Gdlbi4KKworICA0LiBWZXJ2b2xsc3TkbmRpZ2UgZGFzIFdvcnQgc28gd2llIGluIGRlciBaZWlsZSBkYXJ1bnRlci4gIERy/GNrZSA8RVNDPiAsCisgICAgIHVtIGRlbiBFaW5m/GdlbW9kdXMgenUgdmVybGFzc2VuLgorCisgIDUuIEJld2VnZSBEaWNoIG1pdCAgZSAgenVtIG7kY2hzdGVuIHVudm9sbHN05G5kaWdlbiBXb3J0IHVuZCB3aWVkZXJob2xlCisgICAgIFNjaHJpdHRlIDMgdW5kIDQuCisKKy0tLT4gRGllc2UgWmVpIGJpZXRldCBHZWxlZ2VuICwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZvwuCistLS0+IERpZXNlIFplaWxlIGJpZXRldCBHZWxlZ2VuaGVpdCwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZvxnZW4uCisKK0FubWVya3VuZzogIGEsIGkgdW5kIEEgZ2VoZW4gYWxsZSBnbGVpY2hlcm1h32VuIGluIGRlbiBFaW5m/GdlbW9kdXM7IGRlcgorICAgICAgICAgICAgZWluemlnZSBVbnRlcnNjaGllZCBpc3QsIHdvIGRpZSBaZWljaGVuIGVpbmdlZvxndCB3ZXJkZW4uCit+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+fn4KKwkgICAgICBMZWt0aW9uIDYuMzogRUlORSBBTkRFUkUgQVJUIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpCisKKworICAgICAgICoqIFRpcHBlIGVpbiBncm/fZXMgIFIgICwgdW0gbWVociBhbHMgZWluIFplaWNoZW4genUgZXJzZXR6ZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4sIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisgICAgIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVzIGVyc3RlbiAgeHh4IC4KKworICAyLiBOdW4gZHL8Y2tlICBSICB1bmQgdGlwcGUgZGllIE51bW1lciwgZGllIGRhcnVudGVyIGluIGRlciB6d2VpdGVuIFplaWxlCisgICAgIHN0ZWh0LCBzbyBkYXNzIGRpZXNlIGRhcyB4eHggZXJzZXR6dC4KKworICAzLiBEcvxja2UgPEVTQz4gLCB1bSBkZW4gRXJzZXR6dW5nc21vZHVzIHp1IHZlcmxhc3Nlbi4gQmVhY2h0ZSwgZGFzcyBkZXIgUmVzdAorICAgICBkZXIgWmVpbGUgdW52ZXLkbmRlcnQgYmxlaWJ0LgorCisgIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlLCB1bSBkYXMgdmVyYmxpZWJlbmUgeHh4IHp1IGVyc2V0emVuLgorCistLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IHh4eCBlcmdpYnQgeHh4LgorLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSA0NTYgZXJnaWJ0IDU3OS4KKworQW5tZXJrdW5nOiBEZXIgRXJzZXR6dW5nc21vZHVzIGlzdCB3aWUgZGVyIEVpbmb8Z2Vtb2R1cywgYWJlciBqZWRlcyBlaW5nZXRpcHB0ZQorICAgICAgICAgICBaZWljaGVuIGz2c2NodCBlaW4gdm9yaGFuZGVuZXMgWmVpY2hlbi4KKworfn5+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+CisJCSAgICBMZWt0aW9uIDYuNDogVEVYVCBLT1BJRVJFTiBVTkQgRUlORtxHRU4KKworICoqIEJlbnV0emUgZGVuICB5ICBPcGVyYXRvciwgdW0gVGV4dCB6dSBrb3BpZXJlbjsgIHAgICwgdW0gaWhuIGVpbnp1ZvxnZW4gKioKKworICAxLiBHZWhlIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuOyBzZXR6ZSBkZW4gQ3Vyc29yIGhpbnRlciAiYSkiLgorCisgIDIuIFN0YXJ0ZSBkZW4gVmlzdWVsbGVuIE1vZHVzIG1pdCAgdiAgLCBiZXdlZ2UgZGVuIEN1cnNvciBnZW5hdSB2b3IgImVyc3RlIi4KKworICAzLiBUaXBwZSAgeSAgLCB1bSBkZW4gaGVydm9yZ2Vob2JlbiBUZXh0IHp1IGtvcGllcmVuLgorCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBu5GNoc3RlbiBaZWlsZTogIGokCisKKyAgNS4gVGlwcGUgIHAgLCB1bSBkZW4gVGV4dCBlaW56dWb8Z2VuIHVuZCBhbnNjaGxpZd9lbmQ6ICBhIHp3ZWl0ZSA8RVNDPiAuCisKKyAgNi4gQmVudXR6ZSBkZW4gVmlzdWVsbGVuIE1vZHVzLCB1bSAiIEVpbnRyYWcuIiBhdXN6dXfkaGxlbiwga29waWVyZSBtaXR0ZWxzCisgICAgIHkgLCBiZXdlZ2UgRGljaCB6dW0gRW5kZSBkZXIgbuRjaHN0ZW4gWmVpbGUgbWl0ICBqJCAgdW5kIGb8Z2UgZGVuIFRleHQKKyAgICAgZG9ydCBtaXQgIHAgIGFuLgorCistLS0+ICBhKSBkaWVzIGlzdCBkZXIgZXJzdGUgRWludHJhZy4KKyAgICAgIGIpCisKK0FubWVya3VuZzogRHUga2FubnN0ICB5ICBhdWNoIGFscyBPcGVyYXRvciB2ZXJ3ZW5kZW47ICB5dyAga29waWVydCBlaW4gV29ydC4KK35+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+fgorCQkJICBMZWt0aW9uIDYuNTogT1BUSU9ORU4gU0VUWkVOCisKKyAgICAgICoqIFNldHplIGVpbmUgT3B0aW9uIHNvLCBkYXNzIGVpbmUgU3VjaGUgb2RlciBFcnNldHp1bmcgR3Jv3y0gKioKKwkJICAgICAgKiogdW5kIEtsZWluc2NocmVpYnVuZyBpZ25vcmllcnQgKioKKworICAxLiBTdWNoZSBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgICAvaWdub3JpZXJlICAgZWluZ2lic3QuCisgICAgIFdpZWRlcmhvbGUgZGllIFN1Y2hlIGVpbmlnZSBNYWxlLCBpbmRlbSBEdSBkaWUgbiAtIFRhc3RlIGRy/GNrc3QuCisKKyAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuCisKKyAgMy4gTnVuIHN1Y2hlIHdpZWRlciBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgbiAgdGlwcHN0LgorICAgICBCZWFjaHRlLCBkYXNzIGpldHp0IElnbm9yaWVyZSB1bmQgYXVjaCBJR05PUklFUkUgZ2VmdW5kZW4gd2lyZC4KKworICA0LiBTZXR6ZSBkaWUgJ2hsc2VhcmNoJyB1bmQgJ2luY3NlYXJjaCcgLSBPcHRpb25lbjogICAgIDpzZXQgaGxzIGlzCisKKyAgNS4gV2llZGVyaG9sZSBkaWUgU3VjaGUgdW5kIGJlb2JhY2h0ZSwgd2FzIHBhc3NpZXJ0OiAvaWdub3JpZXJlIDxFTlRFUj4KKworICA2LiBVbSBkYXMgSWdub3JpZXJlbiB2b24gR3Jv3y9LbGVpbnNjaHJlaWJ1bmcgYWJ6dXNjaGFsdGVuLCB0aXBwZTogIDpzZXQgbm9pYworCitBbm1lcmt1bmc6IFVtIGRpZSBIZXJ2b3JoZWJ1bmcgZGVyIFRyZWZmZXIgenUgZW50ZmVybmVuLCBnaWIgZWluOiAgOm5vaGxzZWFyY2gKK0FubWVya3VuZzogVW0gZGllIFNjaHJlaWJ3ZWlzZSBm/HIgZWluZSBlaW56aWdlIFN1Y2hlIHp1IGlnbm9yaWVyZW4sIGJlbnV0emUgXGMKKyAgICAgICAgICAgaW0gU3VjaGF1c2RydWNrOiAgL2lnbm9yaWVyZVxjICA8RU5URVI+Cit+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+fn4KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNgorCisgMS4gVGlwcGUgIG8gICwgdW0gZWluZSBaZWlsZSBVTlRFUiBkZW0gQ3Vyc29yIHp1IPZmZm5lbiB1bmQgZGVuIEVpbmb8Z2Vtb2R1cworICAgICAgICAgICAgICAgIHp1IHN0YXJ0ZW4KKyAgICBUaXBwZSAgTyAgLCB1bSBlaW5lIFplaWxlINxCRVIgZGVtIEN1cnNvciB6dSD2ZmZuZW4uCisKKyAyLiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZvxnZW4uCisgICAgVGlwcGUgIEEgICwgdW0gVGV4dCBuYWNoIGRlbSBaZWlsZW5lbmRlIGFuenVm/Gdlbi4KKworIDMuIERhcyBLb21tYW5kbyAgZSAgYnJpbmd0IERpY2ggenVtIEVuZGUgZWluZXMgV29ydGVzLgorCisgNC4gRGVyIE9wZXJhdG9yICB5ICAoeWFuaykga29waWVydCBUZXh0LCAgcCAgKHB1dCkgZvxndCBpaG4gZWluLgorCisgNS4gRWluIGdyb99lcyAgUiAgZ2VodCBpbiBkZW4gRXJzZXR6dW5nc21vZHVzIGJpcyB6dW0gRHL8Y2tlbiB2b24gIDxFU0M+IC4KKworIDYuIERpZSBFaW5nYWJlIHZvbiAiOnNldCB4eHgiIHNldHp0IGRpZSBPcHRpb24gInh4eCIuIEVpbmlnZSBPcHRpb25lbiBzaW5kOgorCSdpYycgJ2lnbm9yZWNhc2UnICAgIElnbm9yaWVyZSBHcm/fL0tsZWluc2NocmVpYnVuZyBiZWkgZWluZXIgU3VjaGUKKwknaXMnICdpbmNzZWFyY2gnICAgICBaZWlnZSBUZWls/GJlcmVpbnN0aW1tdW5nZW4gZvxyIGVpbmVuIFN1Y2hhdXNkcnVjaworCSdobHMnICdobHNlYXJjaCcgICAgIEhlYmUgYWxsZSBwYXNzZW5kZW4gQXVzZHL8Y2tlIGhlcnZvcgorICAgIERlciBPcHRpb25zbmFtZSBrYW5uIGluIGRlciBLdXJ6LSBvZGVyIGRlciBMYW5nZm9ybSBhbmdlZ2ViZW4gd2VyZGVuLgorCisgNy4gU3RlbGxlIGVpbmVyIE9wdGlvbiAibm8iIHZvcmFuLCB1bSBzaWUgYWJ6dXNjaGFsdGVuOiAgIDpzZXQgbm9pYworfn5+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+CisJCQlMZWt0aW9uIDcuMSA6IEFVRlJVRkVOIFZPTiBISUxGRQorCisKKwkJICAgICAqKiBOdXR6ZSBkYXMgZWluZ2ViYXV0ZSBIaWxmZXN5c3RlbSAqKgorCisgIFZpbSBiZXNpdHp0IGVpbiB1bWZhc3NlbmRlcyBlaW5nZWJhdXRlcyBIaWxmZXN5c3RlbS4gIEb8ciBkZW4gQW5mYW5nIHByb2JpZXJlCisgIGVpbnMgZGVyIGRyZWkgZm9sZ2VuZGVuIERpbmdlIGF1czoKKwktIERy/GNrZSBkaWUgPEhpbGZlPiAtIFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpCisJLSBEcvxja2UgZGllIDxGMT4gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKKwktIFRpcHBlICAgOmhlbHAgPEVOVEVSPgorCisgIExpZXMgZGVuIFRleHQgaW0gSGlsZmVmZW5zdGVyLCB1bSB6dSB2ZXJzdGVoZW4gd2llIGRpZSBIaWxmZSBmdW5rdGlvbmllcnQuCisgIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAgLCB1bSB2b24gZWluZW0gRmVuc3RlciB6dW0gYW5kZXJlbiB6dSBzcHJpbmdlbi4KKyAgVGlwcGUgICA6cSA8RU5URVI+ICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGll32VuLgorCisgIER1IGthbm5zdCBIaWxmZSB6dSBwcmFrdGlzY2ggamVkZW0gVGhlbWEgZmluZGVuLCBpbmRlbSBEdSBkZW0gIjpoZWxwIi0KKyAgS29tbWFuZG8gZWluIEFyZ3VtZW50IGdpYnN0LiAgUHJvYmllcmUgZm9sZ2VuZGVzICg8RU5URVI+IG5pY2h0IHZlcmdlc3Nlbik6CisKKwk6aGVscCB3CisJOmhlbHAgY19DVFJMLUQKKwk6aGVscCBpbnNlcnQtaW5kZXgKKwk6aGVscCB1c2VyLW1hbnVhbAorfn5+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+CisJCSAgICAgTGVrdGlvbiA3LjI6IEVSU1RFTExFIEVJTiBTVEFSVC1TS1JJUFQKKworCisJICAgICAgICAgICoqICBBa3RpdmllcmUgZGllIEZlYXR1cmVzIHZvbiBWaW0gKioKKworICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTkdGVuLCBkaWUg/GJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3RlbgorICB2b24gaWhuZW4gc2luZCBzdGFuZGFyZG3k32lnIGRlYWt0aXZpZXJ0LiBVbSBtZWhyIEZ1bmt0aW9uYWxpdOR0ZW4genUgbnV0emVuLAorICBtdXNzdCBEdSBlaW5lICJ2aW1yYyIgLSBEYXRlaSBlcnN0ZWxsZW4uCisKKyAgMS4gU3RhcnRlIGRhcyBFZGl0aWVyZW4gZGVyICJ2aW1yYyItRGF0ZWksIGFiaORuZ2lnIHZvbiBkZWluZW0gU3lzdGVtOgorCTplIH4vLnZpbXJjCQlm/HIgVW5peAorCTplICRWSU0vX3ZpbXJjCQlm/HIgTVMtV2luZG93cworCisgIDIuIE51biBsaWVzIGRlbiBJbmhhbHQgZGVyIEJlaXNwaWVsLSJ2aW1yYyItRGF0ZWkgZWluOgorCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCisKKyAgMy4gU3BlaWNoZXJlIGRpZSBEYXRlaSBtaXQ6CisJOncKKworICBCZWltIG7kY2hzdGVuIFN0YXJ0IHZvbiBWaW0gd2lyZCBkaWUgU3ludGF4aGVydm9yaGVidW5nIGFrdGl2aWVydCBzZWluLgorICBEdSBrYW5uc3QgYWxsIGRlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZvxnZW4uCisgIEb8ciBtZWhyIEluZm9ybWF0aW9uZW4gdGlwcGUgIDpoZWxwIHZpbXJjLWludHJvCit+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+fn4KKwkJCSBMZWt0aW9uIDcuMzogVkVSVk9MTFNUxE5ESUdFTgorCisKKwkgICAqKiBLb21tYW5kb3plaWxlbnZlcnZvbGxzdORuZGlndW5nIG1pdCBDVFJMLUQgdW5kIDxUQUI+ICoqCisKKyAgMS4gU3RlbGxlIHNpY2hlciwgZGFzcyBWaW0gbmljaHQgaW0gVmktS29tcGF0aWJpbGl05HRzbW9kdXMgaXN0OiAgOnNldCBub2NwCisKKyAgMi4gU2llaGUgbmFjaCwgd2VsY2hlIERhdGVpZW4gaW0gVmVyemVpY2huaXMgZXhpc3RpZXJlbjogIDohbHMgIG9kZXIgIDpkaXIKKworICAzLiBUaXBwZSBkZW4gQmVnaW5uIGVpbmVzIEtvbW1hbmRvczogIDplCisKKyAgNC4gRHL8Y2tlICBDVFJMLUQgIHVuZCBWaW0gemVpZ3QgZWluZSBMaXN0ZSBtaXQgImUiIGJlZ2lubmVuZGVyIEtvbW1hbmRvcy4KKworICA1LiBEcvxja2UgIDxUQUI+ICB1bmQgVmltIHZlcnZvbGxzdORuZGlndCBkZW4gS29tbWFuZG9uYW1lbiB6dSAiOmVkaXQiLgorCisgIDYuIE51biBm/GdlIGVpbiBMZWVyemVpY2hlbiB1bmQgZGVuIEFuZmFuZyBlaW5lciBleGlzdGllcmVuZGVuIERhdGVpIGFuOgorICAgICA6ZWRpdCBEQVQKKworICA3LiBEcvxja2UgPFRBQj4uIFZpbSB2ZXJ2b2xsc3TkbmRpZ3QgZGVuIE5hbWVuIChmYWxscyBlciBlaW5kZXV0aWcgaXN0KS4KKworQW5tZXJrdW5nOiBWZXJ2b2xsc3TkbmRpZ3VuZyBmdW5rdGlvbmllcnQgZvxyIHZpZWxlIEtvbW1hbmRvcy4gUHJvYmllcmUKKyAgICAgZWluZmFjaCBDVFJMLUQgdW5kIDxUQUI+LiAgRGllcyBpc3QgaW5zYmVzb25kZXJlIG78dHpsaWNoIGb8ciAgOmhlbHAgLgorfn5+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+CisJCQkJICAgICBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNworCisKKyAgMS4gVGlwcGUgIDpoZWxwICBvZGVyIGRy/GNrZSA8RjE+IG9kZXIgPEhlbHA+LCB1bSBlaW4gSGlsZmVmZW5zdGVyIHp1IPZmZm5lbi4KKworICAyLiBUaXBwZSAgOmhlbHAgS29tbWFuZG8gICwgdW0gSGlsZmUg/GJlciAgS29tbWFuZG8gIHp1IGVyaGFsdGVuLgorCisgIDMuIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAsIHVtIHp1bSBhbmRlcmVuIEZlbnN0ZXIgenUgc3ByaW5nZW4uCisKKyAgNC4gVGlwcGUgIDpxICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGll32VuLgorCisgIDUuIEVyc3RlbGxlIGVpbiB2aW1yYyAtIFN0YXJ0c2tyaXB0IG1pdCBkZWluZW4gYmV2b3J6dWd0ZXIgRWluc3RlbGx1bmdlbi4KKworICA2LiBEcvxja2UgQ1RSTC1EIG5hY2ggZGVtIFRpcHBlbiBlaW5lcyAgOiAgS29tbWFuZG9zLCB1bSBt9mdsaWNoZQorICAgICBWZXJ2b2xsc3TkbmRpZ3VuZ2VuIGFuenVzZWhlbi4KKyAgICAgRHL8Y2tlIDxUQUI+ICwgdW0gZWluZSBWZXJ2b2xsc3TkbmRpZ3VuZyB6dSBhbnp1d2VuZGVuLgorCisKKworCisKKworfn5+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+CisKKyAgRGFtaXQgaXN0IGRlciBWaW0gVHV0b3IgYmVlbmRldC4gIFNlaW5lIEludGVudGlvbiB3YXIsIGVpbmVuIGt1cnplbiB1bmQKKyAgYvxuZGlnZW4g3GJlcmJsaWNrIPxiZXIgZGVuIFZpbSBFZGl0b3IgenUgZ2ViZW47IGdlcmFkZSBnZW51ZywgdW0gcmVsYXRpdgorICBsZWljaHQgbWl0IGlobSB1bWdlaGVuIHp1IGv2bm5lbi4gIERlciBWaW0gVHV0b3IgaGF0IG5pY2h0IGRlbiBnZXJpbmdzdGVuCisgIEFuc3BydWNoIGF1ZiBWb2xsc3TkbmRpZ2tlaXQ7IFZpbSBoYXQgbm9jaCB3ZWl0YXVzIG1laHIgS29tbWFuZG9zLiBMaWVzIGFscworICBu5GNoc3RlcyBkYXMgVXNlciBNYW51YWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgRvxyIHdlaXRlcmVzIExlc2VuIHVuZCBMZXJuZW4gaXN0IGZvbGdlbmRlcyBCdWNoIGVtcGZlaGxlbnN3ZXJ0IDoKKwlWaW0gLSBWaSBJbXByb3ZlZCAtIHZvbiBTdGV2ZSBPdWFsbGluZQorCVZlcmxhZzogTmV3IFJpZGVycworICBEYXMgZXJzdGUgQnVjaCwgd2VsY2hlcyBkdXJjaGfkbmdpZyBWaW0gZ2V3aWRtZXQgaXN0LiAgQmVzb25kZXJzIG78dHpsaWNoCisgIGb8ciBBbmbkbmdlci4gIFZpZWxlIEJlaXNwaWVsZSB1bmQgQmlsZGVyIHNpbmQgZW50aGFsdGVuLgorICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIEZvbGdlbmRlcyBCdWNoIGlzdCDkbHRlciB1bmQgbWVociD8YmVyIFZpIGFscyBWaW0sIGFiZXIgYXVjaCBlbXBmZWhsZW5zd2VydDoKKwlUZXh0YmVhcmJlaXR1bmcgbWl0IGRlbSBWaS1FZGl0b3IgIC0gIHZvbiBMaW5kYSBMYW1iIHVuZCBBcm5vbGQgUm9iYmlucworCVZlcmxhZyBPJ1JlaWxseSAtIElTQk46IDM4OTcyMTEyNjIKKyAgSW4gZGllc2VtIEJ1Y2gga2FubiBtYW4gZmFzdCBhbGxlcyBmaW5kZW4sIHdhcyBtYW4gbWl0IFZpIHR1biBt9mNodGUuCisgIERpZSBzZWNoc3RlIEF1c2dhYmUgZW50aORsdCBhdWNoIEluZm9ybWF0aW9uZW4g/GJlciBWaW0uCisKKyAgQWxzIGFrdHVlbGxlIFJlZmVyZW56IGb8ciBWZXJzaW9uIDYuMiB1bmQga25hcHBlIEVpbmb8aHJ1bmcgZGllbnQgZGFzCisgIGZvbGdlbmRlIEJ1Y2g6CisJdmltIGdlLXBhY2t0IHZvbiBSZWluaGFyZCBXb2JzdAorCW1pdHAtVmVybGFnLCBJU0JOIDMtODI2Ni0xNDI1LTkKKyAgVHJvdHogZGVyIGtvbXBha3RlbiBEYXJzdGVsbHVuZyBpc3QgZXMgZHVyY2ggdmllbGUgbvx0emxpY2hlIEJlaXNwaWVsZSBhdWNoCisgIGb8ciBFaW5zdGVpZ2VyIGVtcGZlaGxlbnN3ZXJ0LiAgUHJvYmVrYXBpdGVsIHVuZCBkaWUgQmVpc3BpZWxza3JpcHRlIHNpbmQKKyAgb25saW5lIGVyaORsdGxpY2guICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIERpZXNlcyBUdXRvcmlhbCB3dXJkZSBnZXNjaHJpZWJlbiB2b24gTWljaGFlbCBDLiBQaWVyY2UgdW5kIFJvYmVydCBLLiBXYXJlLAorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMuIEVzIGJlbnV0enQgSWRlZW4sIGRpZSBDaGFybGVzIFNtaXRoLCBDb2xvcmFkbyBTdGF0ZQorICBVbml2ZXJzaXR5LCB6dXIgVmVyZvxndW5nIHN0ZWxsdGUuICBFLU1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBCZWFyYmVpdGV0IGb8ciBWaW0gdm9uIEJyYW0gTW9vbGVuYWFyLgorICBEZXV0c2NoZSDcYmVyc2V0enVuZyB2b24gSm9hY2hpbSBIb2ZtYW5uIDIwMTUuICBFLU1haWw6IEpvYWNoaW0uSG9mQGdteC5kZQorCit+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+fn4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUudXRmLTggYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRlLnV0Zi04CmluZGV4IDA5YmQ1ZjguLjc5OTk2MmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUudXRmLTgKKysrIGIvcnVudGltZS90dXRvci90dXRvci5kZS51dGYtOApAQCAtMSw5ODIgKzEsOTgyIEBACi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotPSAgICAgIFcgaSBsIGwgayBvIG0gbSBlIG4gICBpbSAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgVmVyc2lvbiAxLjcuZGUuMSAgPQ0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0NCi0gICBWaW0gaXN0IGVpbiBzZWhyIG3DpGNodGlnZXIgRWRpdG9yLCBkZXIgdmllbGUgQmVmZWhsZSBiZXJlaXRzdGVsbHQ7IHp1IHZpZWxlLA0KLSAgIHVtIGFsbGUgaW4gZWluZW0gVHV0b3Igd2llIGRpZXNlbSB6dSBlcmtsw6RyZW4uICBEaWVzZXIgVHV0b3IgaXN0IHNvDQotICAgZ2VzdGFsdGV0LCB1bSBnZW51ZyBCZWZlaGxlIHZvcnp1c3RlbGxlbiwgZGFzcyBEdSBkaWUgRsOkaGlna2VpdCBlcmxhbmdzdCwNCi0gICBWaW0gbWl0IExlaWNodGlna2VpdCBhbHMgZWluZW4gQWxsendlY2stRWRpdG9yIHp1IHZlcndlbmRlbi4NCi0gICBEaWUgWmVpdCBmw7xyIGRhcyBEdXJjaGFyYmVpdGVuIGRpZXNlcyBUdXRvcnMgYmV0csOkZ3QgY2EuIDI1LTMwIE1pbnV0ZW4sDQotICAgYWJow6RuZ2lnIGRhdm9uLCB3aWUgdmllbCBaZWl0IER1IG1pdCBFeHBlcmltZW50aWVyZW4gdmVyYnJpbmdzdC4NCi0NCi0gICBBQ0hUVU5HOg0KLSAgIERpZSBpbiBkZW4gTGVrdGlvbmVuIGFuZ2V3ZW5kZXRlbiBLb21tYW5kb3Mgd2VyZGVuIGRlbiBUZXh0IG1vZGlmaXppZXJlbi4NCi0gICBFcnN0ZWxsZSBlaW5lIEtvcGllIGRpZXNlciBEYXRlaSwgaW4gZGVyIER1IMO8YmVuIHdpbGxzdCAoZmFsbHMgRHUgInZpbXR1dG9yIg0KLSAgIGF1ZmdlcnVmZW4gaGFzdCwgaXN0IGRpZXMgYmVyZWl0cyBlaW5lIEtvcGllKS4NCi0NCi0gICBFcyBpc3Qgd2ljaHRpZywgc2ljaCB6dSB2ZXJnZWdlbnfDpHJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgZsO8ciBkYXMgQW53ZW5kZW4NCi0gICBrb256aXBpZXJ0IGlzdC4gRGFzIGJlZGV1dGV0LCBkYXNzIER1IGRpZSBCZWZlaGxlIGFud2VuZGVuIG11c3N0LCB1bSBzaWUNCi0gICByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZSBCZWZlaGxlIQ0KLQ0KLSAgIEpldHp0IHN0ZWxsZSBzaWNoZXIsIGRhc3MgZGVpbmUgVW1zdGVsbHRhc3RlIE5JQ0hUIGdlZHLDvGNrdCBpc3QgdW5kIGJldMOkdGlnZQ0KLSAgIGRpZSAgIGogICBUYXN0ZSBnZW7DvGdlbmQgTWFsLCB1bSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genUgYmV3ZWdlbiwgc28gZGFzcw0KLSAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZsO8bGx0Lg0KLX5+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+fg0KLQkJCUxla3Rpb24gMS4xOiBCRVdFR0VOIERFUyBDVVJTT1JTDQotDQotICAqKiBVbSBkZW4gQ3Vyc29yIHp1IGJld2VnZW4sIGRyw7xja2UgZGllIGgsaixrLGwgVGFzdGVuIHdpZSB1bnRlbiBnZXplaWd0LiAqKg0KLQkgICAgIF4JCSBIaWxmZXN0ZWxsdW5nOg0KLQkgICAgIGsJCSBEaWUgaCBUYXN0ZSBiZWZpbmRldCBzaWNoIGxpbmtzIHVuZCBiZXdlZ3QgbmFjaCBsaW5rcy4NCi0gICAgICAgPCBoCSBsID4JIERpZSBsIFRhc3RlIGxpZWd0IHJlY2h0cyB1bmQgYmV3ZWd0IG5hY2ggcmVjaHRzLg0KLQkgICAgIGoJCSBEaWUgaiBUYXN0ZSDDpGhuZWx0IGVpbmVtIFBmZWlsIG5hY2ggdW50ZW4uDQotCSAgICAgdg0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgYXVmIGRlbSBCaWxkc2NoaXJtIHVtaGVyLCBiaXMgRHUgRGljaCBzaWNoZXIgZsO8aGxzdC4NCi0NCi0gIDIuIEhhbHRlIGRpZSBOYWNoLVVudGVuLVRhc3RlIChqKSBnZWRyw7xja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0Lg0KLSAgICAgSmV0enQgd2Vpw590IER1LCB3aWUgRHUgRGljaCB6dXIgbsOkY2hzdGVuIExla3Rpb24gYmV3ZWdlbiBrYW5uc3QuDQotDQotICAzLiBCZW51dHplIGRpZSBOYWNoLVVudGVuLVRhc3RlLCB1bSBEaWNoIHp1IExla3Rpb24gMS4yIHp1IGJld2VnZW4uDQotDQotQW5tZXJrdW5nOiBJbW1lciwgd2VubiBEdSBEaXIgdW5zaWNoZXIgYmlzdCDDvGJlciBkYXMsIHdhcyBEdSBnZXRpcHB0IGhhc3QsDQotCSAgIGRyw7xja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLg0KLQkgICBEYW5uIGdpYiBkYXMgZ2V3w7xuc2NodGUgS29tbWFuZG8gbm9jaCBlaW5tYWwgZWluLg0KLQ0KLUFubWVya3VuZzogRGllIEN1cnNvci1UYXN0ZW4gc29sbHRlbiBlYmVuZmFsbHMgZnVua3Rpb25pZXJlbi4gIEFiZXIgd2VubiBEdQ0KLQkgICBoamtsIGJlbnV0enQsIHdpcnN0IER1IGluIGRlciBMYWdlIHNlaW4sIERpY2ggc2VociB2aWVsIHNjaG5lbGxlcg0KLQkgICB1bWhlcnp1YmV3ZWdlbiwgd2VubiBEdSBEaWNoIGVpbm1hbCBkYXJhbiBnZXfDtmhudCBoYXN0LiBXaXJrbGljaCENCi1+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+fn4NCi0JCQkgICAgTGVrdGlvbiAxLjI6IFZJTSBCRUVOREVODQotDQotDQotICAhISBIaW53ZWlzOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vmw7xocnRlbiBTY2hyaXR0ZSBhdXNmw7xocnN0LCBsaWVzDQotICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQ0KLQ0KLSAgMS4gRHLDvGNrZSBkaWUgPEVTQz4gVGFzdGUgKHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0KS4NCi0NCi0gIDIuIFRpcHBlOgk6cSEgPEVOVEVSPi4NCi0gICAgIERpZXMgYmVlbmRldCBkZW4gRWRpdG9yIHVuZCBWRVJXSVJGVCBhbGxlIMOEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0Lg0KLQ0KLSAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQ0KLSAgICAgZGllc2VtIFR1dG9yIGdlZsO8aHJ0IGhhdC4gRGllcyB3w6RyZToJdmltdHV0b3IgPEVOVEVSPg0KLQ0KLSAgNC4gV2VubiBEdSBEaXIgZGllc2UgU2Nocml0dGUgZWluZ2VwcsOkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZsO8aGxzdCwNCi0gICAgIGbDvGhyZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cywgdW0gZGVuIEVkaXRvciB6dSB2ZXJsYXNzZW4gdW5kIHdpZWRlcg0KLSAgICAgaGluZWluenVnZWxhbmdlbi4NCi0NCi1Bbm1lcmt1bmc6ICA6cSEgPEVOVEVSPiAgdmVyd2lyZnQgYWxsZSDDhG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4gRWluaWdlDQotICAgICBMZWt0aW9uZW4gc3DDpHRlciBsZXJuc3QgRHUsIGRpZSDDhG5kZXJ1bmdlbiBpbiBlaW5lciBEYXRlaSB6dSBzcGVpY2hlcm4uDQotDQotICA1LiBCZXdlZ2UgZGVuIEN1cnNvciBhYnfDpHJ0cyB6dSBMZWt0aW9uIDEuMy4NCi0gfn5+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+DQotCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzDllNDSEVODQotDQotDQotCSAqKiBEcsO8Y2tlICB4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbMO2c2NoZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCi0NCi0gIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciDDvGJlciBkZW0gWmVpY2hlbiBzdGVodCwNCi0gICAgIGRhcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGwuDQotDQotICAzLiBEcsO8Y2tlIGRpZSAgeCAgVGFzdGUsIHVtIGRhcyB1bmVyd8O8bnNjaHRlIFplaWNoZW4genUgbMO2c2NoZW4uDQotDQotICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QuDQotDQotLS0tPiBEaWUgS2t1aCBzcHJhbmdnIMO8YmJlcnIgZGVlbiBNb29uZC4NCi0NCi0gIDUuIE51biwgZGEgZGllIFplaWxlIGtvcnJla3QgaXN0LCBnZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAxLjQuDQotDQotQW5tZXJrdW5nOiBXw6RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUNCi0gICAgbGVybmVuLCBsZXJuZSB2aWVsbWVociBkdXJjaCBBbndlbmRlbi4NCi0NCi0NCi1+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+fn4NCi0JCSAgICAgTGVrdGlvbiAxLjQ6IFRFWFQgRURJVElFUkVOIC0gRUlORsOcR0VODQotDQotDQotCQkgICAgKiogIERyw7xja2UgIGkgICwgdW0gVGV4dCBlaW56dWbDvGdlbi4gKioNCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQotDQotICAyLiBVbSBkaWUgZXJzdGUgWmVpbGUgbWl0IGRlciB6d2VpdGVuIGdsZWljaHp1bWFjaGVuLCBiZXdlZ2UgZGVuIEN1cnNvciBhdWYNCi0gICAgIGRhcyBlcnN0ZSBaZWljaGVuIE5BQ0ggZGVyIFN0ZWxsZSwgYW4gZGVyIFRleHQgZWluZ2Vmw7xndCB3ZXJkZW4gc29sbC4NCi0NCi0gIDMuIERyw7xja2UgIGkgIHVuZCBnaWIgZGllIG7DtnRpZ2VuIEVyZ8Okbnp1bmdlbiBlaW4uDQotDQotICA0LiBXZW5uIGpld2VpbHMgZWluIEZlaGxlciBiZXNlaXRpZ3QgaXN0LCBkcsO8Y2tlIDxFU0M+ICwgdW0genVtIE5vcm1hbG1vZHVzDQotICAgICB6dXLDvGNrenVrZWhyZW4uDQotCQkgV2llZGVyaG9sZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBkZW4gU2F0eiB6dSBrb3JyaWdpZXJlbi4NCi0NCi0tLS0+IEluIGRpZXNlciBmdCBldHdhcyAuDQotLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVobHQgZXR3YXMgVGV4dC4NCi0NCi0gIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmbDvGdlbiB2b24gVGV4dCBzaWNoZXIgZsO8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNS4NCi0NCi0NCi1+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+fn4NCi0JCSAgICAgTGVrdGlvbiAxLjU6IFRFWFQgRURJVElFUkVOIC0gQU5Gw5xHRU4NCi0NCi0NCi0JCSAgICAgKiogRHLDvGNrZSAgQSAgLCB1bSBUZXh0IGFuenVmw7xnZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KLSAgICAgRGFiZWkgaXN0IGdsZWljaGfDvGx0aWcsIGF1ZiB3ZWxjaGVtIFplaWNoZW4gZGVyIFplaWxlIGRlciBDdXJzb3Igc3RlaHQuDQotDQotICAyLiBEcsO8Y2tlICBBICB1bmQgZ2liIGRpZSBlcmZvcmRlcmxpY2hlbiBFcmfDpG56dW5nZW4gZWluLg0KLQ0KLSAgMy4gV2VubiBkYXMgQW5mw7xnZW4gYWJnZXNjaGxvc3NlbiBpc3QsIGRyw7xja2UgPEVTQz4sIHVtIGluIGRlbiBOb3JtYWxtb2R1cw0KLSAgICAgenVyw7xja3p1a2VocmVuLg0KLQ0KLSAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bmQgd2llZGVyaG9sZQ0KLSAgICAgZGllIFNjaHJpdHRlIDIgdW5kIDMsIHVtIGRlbiBTYXR6IHp1IGF1c3p1YmVzc2Vybi4NCi0NCi0tLS0+IEluIGRpZXNlciBaZWlsZSBmZWgNCi0gICAgIEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0Lg0KLS0tLT4gQXVjaCBoaWVyIHN0ZWgNCi0gICAgIEF1Y2ggaGllciBzdGVodCBldHdhcyBVbnZvbGxzdMOkbmRpZ2VzLg0KLQ0KLSAgNS4gV2VubiBEdSBkaWNoIG1pdCBkZW0gQW5mw7xnZW4gdm9uIFRleHQgc2ljaGVyIGbDvGhsc3QsIGdlaGUgenUgTGVrdGlvbiAxLjYuDQotfn5+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+DQotCQkgICAgICAgTGVrdGlvbiAxLjY6IEVJTkUgREFURUkgRURJVElFUkVODQotDQotCQkgKiogQmVudXR6ZSAgOndxICAsIHVtIGVpbmUgRGF0ZWkgenUgc3BlaWNoZXJuIHVuZCBWaW0genUgdmVybGFzc2VuLiAqKg0KLQ0KLSAgISEgSGlud2VpczogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZsO8aHJ0ZW4gU2Nocml0dGUgYXVzZsO8aHJzdCwgbGllcw0KLSAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISENCi0NCi0gIDEuIFZlcmxhc3NlIGRlbiBFZGl0b3Igc28gd2llIGluIExla3Rpb24gMS4yOiAgOnEhICAgICAgIA0KLQkgICBPZGVyLCBmYWxscyBkdSBadWdyaWZmIHp1IGVpbmVtIGFuZGVyZW4gVGVybWluYWwgaGFzdCwgZsO8aHJlIGRhcyANCi0JCSBGb2xnZW5kZSBkb3J0IGF1cy4NCi0NCi0gIDIuIEdpYiBkaWVzZXMgS29tbWFuZG8gaW4gZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgZWluOiAgdmltIHR1dG9yIDxFTlRFUj4NCi0gICAgICd2aW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuDQotICAgICBCZW51dHplIGVpbmUgRGF0ZWksIGRpZSBnZcOkbmRlcnQgd2VyZGVuIGRhcmYuDQotDQotICAzLiBGw7xnZSBUZXh0IGVpbiBvZGVyIGzDtnNjaGUgaWhuLCB3aWUgRHUgaW4gZGVuIHZvcmFuZ2VoZW5kZW4gTGVrdGlvbmVuIA0KLSAgICAgZ2VsZXJudCBoYXN0Lg0KLQ0KLSAgNC4gU3BlaWNoZXJlIGRpZSBnZcOkbmRlcnRlIERhdGVpIHVuZCB2ZXJsYXNzZSBWaW0gbWl0OiAgOndxICA8RU5URVI+DQotDQotICA1LiBGYWxscyBEdSBpbiBTY2hyaXR0IDEgZGVuIHZpbXR1dG9yIGJlZW5kZXQgaGFzdCwgc3RhcnRlIHZpbXR1dG9yIG5ldSB1bmQNCi0JICAgYmV3ZWdlIGRpY2ggYWJ3w6RydHMgYmlzIHp1ciBmb2xnZW5kZW4gWnVzYW1tZW5mYXNzdW5nLg0KLQ0KLSAgNi4gTmFjaGRlbSBEdSBvYmlnZSBTY2hyaXR0ZSBnZWxlc2VuIHVuZCB2ZXJzdGFuZGVuIGhhc3Q6IGbDvGhyZSBzaWUgZHVyY2guDQotfn5+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+DQotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAxDQotDQotDQotICAxLiBEZXIgQ3Vyc29yIHdpcmQgbWl0IGRlbiBQZmVpbHRhc3RlbiBvZGVyIGRlbiBUYXN0ZW4gaGprbCBiZXdlZ3QuDQotCSBoIChsaW5rcykgICAgIGogKHVudGVuKSAgICAgayAoYXVmd8OkcnRzKSAgICBsIChyZWNodHMpDQotDQotICAyLiBVbSBWaW0gYXVzIGRlciBFaW5nYWJlYXVmZm9yZGVydW5nIHp1IHN0YXJ0ZW4sIHRpcHBlOiB2aW0gREFURUkgPEVOVEVSPg0KLQ0KLSAgMy4gVW0gVmltIHp1IHZlcmxhc3NlbiB1bmQgYWxsZSDDhG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOg0KLQkJPEVTQz4gIDpxISAgPEVOVEVSPiAuDQotDQotICA0LiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGzDtnNjaGVuLCB0aXBwZTogIHgNCi0NCi0gIDUuIFVtIFRleHQgZWluenVmw7xnZW4gb2RlciBhbnp1ZsO8Z2VuLCB0aXBwZToNCi0JIGkgICBFaW56dWbDvGdlbmRlbiBUZXh0IGVpbmdlYmVuICAgPEVTQz4gICAgRWluZsO8Z2VuIHZvciBkZW0gQ3Vyc29yDQotCSBBICAgQW56dWbDvGdlbmRlbiBUZXh0IGVpbmdlYmVuICAgIDxFU0M+ICAgIEFuZsO8Z2VuIG5hY2ggZGVtIFplaWxlbmVuZGUNCi0NCi1Bbm1lcmt1bmc6IERyw7xja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgb2RlciBicmljaHQgZWluDQotICAgICB1bmdld29sbHRlcywgZXJzdCB0ZWlsd2Vpc2UgZWluZ2VnZWJlbmVzIEtvbW1hbmRvIGFiLg0KLQ0KLSAgICAgTnVuIGZhaHJlIG1pdCBMZWt0aW9uIDIgZm9ydC4NCi1+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+fn4NCi0JCQkgIExla3Rpb24gMi4xOiBMw5ZTQ0hLT01NQU5ET1MNCi0NCi0NCi0JCSAgICoqIFRpcHBlICBkdyAgLCB1bSBlaW4gV29ydCB6dSBsw7ZzY2hlbi4gKioNCi0NCi0gIDEuIERyw7xja2UgIDxFU0M+ICAsIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0Lg0KLQ0KLSAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQotDQotICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGVpbmVzIFdvcnRlcywgZGFzIGdlbMO2c2NodCB3ZXJkZW4gc29sbC4NCi0NCi0gIDQuIFRpcHBlICBkdyAgLCB1bSBkYXMgV29ydCB6dSBlbnRmZXJuZW4uDQotDQotICBBbm1lcmt1bmc6IERlciBCdWNoc3RhYmUgIGQgIGVyc2NoZWludCBhdWYgZGVyIHVudGVyc3RlbiBaZWlsZSBkZXMgU2NoaXJtcywNCi0gICAgICAgIHdlbm4gRHUgaWhuIGVpbmdpYnN0LiBWaW0gd2FydGV0IGRhcmF1ZiwgZGFzcyBEdSAgdyAgZWluZ2lic3QuIEZhbGxzIER1DQotICAgICAgICBlaW4gYW5kZXJlcyBaZWljaGVuIGFscyAgZCAgc2llaHN0LCBoYXN0IER1IGV0d2FzIEZhbHNjaGVzIGdldGlwcHQ7DQotICAgICAgICBkcsO8Y2tlIDxFU0M+IHVuZCBiZWdpbm5lIG5vY2ggZWlubWFsLg0KLQ0KLS0tLT4gRWluaWdlIFfDtnJ0ZXIgbHVzdGlnIGdlaMO2cmVuIG5pY2h0IFBhcGllciBpbiBkaWVzZW4gU2F0ei4NCi0NCi0gIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDMgdW5kIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdCB1bmQgZ2VoZQ0KLSAgICAgenVyIExla3Rpb24gMi4yLg0KLX5+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+fg0KLQkJICAgICAgTGVrdGlvbiAyLjI6IFdFSVRFUkUgTMOWU0NIS09NTUFORE9TDQotDQotDQotCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBsw7ZzY2hlbi4gKioNCi0NCi0gIDEuIERyw7xja2UgPEVTQz4gLCB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdC4NCi0NCi0gIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLg0KLQ0KLSAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIGtvcnJla3RlbiBaZWlsZSAoTkFDSCBkZW0gZXJzdGVuIC4gKS4NCi0NCi0gIDQuIFRpcHBlICAgIGQkICAgICwgdW0gYmlzIHp1bSBaZWlsZW5lbmRlIHp1IGzDtnNjaGVuLg0KLQ0KLS0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uDQotDQotDQotICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHZvcmdlaHQuDQotDQotDQotDQotDQotDQotfn5+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+DQotCQkgTGVrdGlvbiAyLjM6IMOcQkVSIE9QRVJBVE9SRU4gVU5EIEJFV0VHVU5HU1rDnEdFDQotDQotDQotICBWaWVsZSBLb21tYW5kb3MsIGRpZSBUZXh0IMOkbmRlcm4sIHNldHplbiBzaWNoIGF1cyBlaW5lbSBPcGVyYXRvciB1bmQgZWluZXINCi0gIEJld2VndW5nIHp1c2FtbWVuLiBEYXMgRm9ybWF0IGbDvHIgZWluIEzDtnNjaGtvbW1hbmRvIG1pdCBkZW0gTMO2c2Nob3BlcmF0b3IgIGQNCi0gIGxhdXRldCB3aWUgZm9sZ3Q6DQotDQotICAgIGQgIEJld2VndW5nDQotDQotICB3b2JlaToNCi0gICAgZCAgICAgICAgLSBkZXIgTMO2c2Nob3BlcmF0b3INCi0gICAgQmV3ZWd1bmcgLSB3b3JhdWYgZGVyIEzDtnNjaG9wZXJhdG9yIGFuZ2V3YW5kdCB3aXJkICh1bnRlbiBhdWZnZWbDvGhydCkuDQotDQotICBFaW5lIGtsZWluZSBBdWZsaXN0dW5nIHZvbiBCZXdlZ3VuZ2VuOg0KLSAgICB3IC0gYmlzIHp1bSBCZWdpbm4gZGVzIG7DpGNoc3RlbiBXb3J0ZXMgT0hORSBkZXNzZW4gZXJzdGVzIFplaWNoZW4uDQotICAgIGUgLSB6dW0gRW5kZSBkZXMgYWt0dWVsbGVuIFdvcnRlcyBNSVQgZGVzc2VuIGxldHp0ZW0gWmVpY2hlbi4NCi0gICAgJCAtIHp1bSBFbmRlIGRlciBaZWlsZSBNSVQgZGVtIGxldHp0ZW4gWmVpY2hlbi4NCi0NCi0gIERlbWVudHNwcmVjaGVuZCBsw7ZzY2h0IGRpZSBFaW5nYWJlIHZvbiAgZGUgIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBXb3J0ZW5kZS4NCi0NCi1Bbm1lcmt1bmc6ICBEaWUgRWluZ2FiZSBsZWRpZ2xpY2ggZGVzIEJld2VndW5nc3RlaWxzIGltIE5vcm1hbG1vZHVzIGJld2VndCBkZW4NCi0gIEN1cnNvciBlbnRzcHJlY2hlbmQuDQotfn5+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+DQotCUxla3Rpb24gMi40OiBBTldFTkRVTkcgRUlORVMgWsOESExFUlMgRsOcUiBFSU5FTiBCRVdFR1VOR1NTQ0hSSVRUDQotDQotDQotICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCB2b3IgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCB3aWVkZXJob2x0IGRpZXNlbi4gKioNCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBCZWdpbm4gZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQotDQotICAyLiBUaXBwZSAgMncgICwgdW0gZGVuIEN1cnNvciB6d2VpIFfDtnJ0ZXIgdm9yd8OkcnRzIHp1IGJld2VnZW4uDQotDQotICAzLiBUaXBwZSAgM2UgICwgdW0gZGVuIEN1cnNvciB6dW0gRW5kZSBkZXMgZHJpdHRlbiBXb3J0ZXMgenUgYmV3ZWdlbi4NCi0NCi0gIDQuIFRpcHBlICAwICAoTnVsbCkgLCB1bSB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBnZWxhbmdlbi4NCi0NCi0gIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMyBtaXQgdmVyc2NoaWVkZW5lbiBOdW1tZXJuLg0KLQ0KLSAgLS0tPiBEaWVzIGlzdCBudXIgZWluZSBaZWlsZSBhdXMgV8O2cnRlcm4sIHVtIHNpY2ggZGFyaW4gaGVydW16dWJld2VnZW4uDQotDQotICA2LiBHZWhlIHdlaXRlciB6dSBMZWt0aW9uIDIuNS4NCi0NCi0NCi0NCi0NCi1+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+fn4NCi0JIExla3Rpb24gMi41OiBBTldFTkRVTkcgRUlORVMgWsOESExFUlMgRsOcUiBNRUhSRVJFIEzDllNDSFZPUkfDhE5HRQ0KLQ0KLQ0KLSAgICoqIERpZSBFaW5nYWJlIGVpbmVyIFphaGwgbWl0IGVpbmVtIE9wZXJhdG9yIHdpZWRlcmhvbHQgZGllc2VuIG1laHJmYWNoLiAqKg0KLQ0KLSAgSW4gZGVyIEtvbWJpbmF0aW9uIGF1cyBMw7ZzY2hvcGVyYXRvciB1bmQgQmV3ZWd1bmdzc2Nocml0dCAoc2llaGUgb2JlbikgDQotICBzdGVsbHQgbWFuLCB1bSBtZWhyIHp1IGzDtnNjaGVuIGRlbSBTY2hyaXR0IGVpbmVuIFrDpGhsZXIgdm9yYW46DQotCSBkICBOdW1tZXIgIEJld2VndW5nc3NjaHJpdHQNCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gV29ydCBpbiBHUk9TU0JVQ0hTVEFCRU4gaW4gZGVyIG1pdCAtLS0+DQotICAgICBtYXJraWVyZW4gWmVpbGUuDQotDQotICAyLiBUaXBwZSAgZDJ3ICAsIHVtIGRpZSB6d2VpIFfDtnJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIHp1IGzDtnNjaGVuLg0KLQ0KLSAgMy4gV2llZGVyaG9sZSBTY2hyaXR0ZSAxIHVuZCAgMiBtaXQgZWluZW0gYW5kZXJlbiBaw6RobGVyLCB1bSBkaWUgZGFyYXVmZm9sLQ0KLSAgICAgZ2VuZGVuIFfDtnJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIG1pdCBlaW5lbSBlaW56aWdlbiBLb21tYW5kbyB6dSBsw7ZzY2hlbi4NCi0NCi0tLS0+ICBEaWVzZSBBQkMgREUgWmVpbGUgRkdISSBKSyBMTU4gT1AgbWl0IFfDtnJ0ZXJuIGlzdCBRIFJTIFRVViBiZXJlaW5pZ3QuDQotDQotDQotDQotfn5+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+DQotCQkJTGVrdGlvbiAyLjY6IEFSQkVJVEVOIEFVRiBaRUlMRU4NCi0NCi0NCi0JICAgICAgICoqIFRpcHBlICBkZCAgLCB1bSBlaW5lIGdhbnplIFplaWxlIHp1IGzDtnNjaGVuLiAqKg0KLQ0KLSAgV2VnZW4gZGVyIEjDpHVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbMO2c2NodCwga2FtZW4gZGllIEVudHdpY2tsZXIgdm9uDQotICBWaSBkYXJhdWYsIGRhc3MgZXMgbGVpY2h0ZXIgd8OkcmUsIGVpbmZhY2ggendlaSBkJ3MgZWluenVnZWJlbiwgdW0gZWluZSBaZWlsZQ0KLSAgenUgbMO2c2NoZW4uDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBaZWlsZSBpbiBkZXIgdW50ZW4gc3RlaGVuZGVuIFJlZGV3ZW5kdW5nLg0KLSAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBsw7ZzY2hlbi4NCi0gIDMuIE51biBiZXdlZ2UgRGljaCB6dXIgdmllcnRlbiBaZWlsZS4NCi0gIDQuIFRpcHBlICAyZGQgICwgdW0gendlaSBaZWlsZW4genUgbMO2c2NoZW4uDQotDQotLS0tPiAgMSkgIFJvc2VuIHNpbmQgcm90LA0KLS0tLT4gIDIpICBNYXRzY2ggaXN0IGx1c3RpZywNCi0tLS0+ICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LA0KLS0tLT4gIDQpICBJY2ggaGFiZSBlaW4gQXV0bywNCi0tLS0+ICA1KSAgRGllIFVociBzYWd0IGRpZSBaZWl0LA0KLS0tLT4gIDYpICBadWNrZXIgaXN0IHPDvMOfLA0KLS0tLT4gIDcpICBTbyB3aWUgRHUgYXVjaC4NCi0NCi1+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+fn4NCi0JCSAgICAgTGVrdGlvbiAyLjc6IFLDnENLR8OETkdJRyBNQUNIRU4gKFVORE8pDQotDQotDQotCSAqKiBUaXBwZSB1ICwgdW0gZGllIGxldHp0ZW4gS29tbWFuZG9zIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4gKioNCi0JICAgICAgKiogb2RlciBVICwgdW0gZWluZSBnYW56ZSBaZWlsZSB3aWVkZXJoZXJ6dXN0ZWxsZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbg0KLSAgICAgdW5kIHNldHplIGlobiBhdWYgZGVuIGVyc3RlbiBGZWhsZXIuDQotICAyLiBUaXBwZSAgeCAgLCB1bSBkYXMgZXJzdGUgdW5lcnfDvG5zY2h0ZSBaZWljaGVuIHp1IGzDtnNjaGVuLg0KLSAgMy4gTnVuIHRpcHBlICB1ICAsIHVtIGRhcyBzb2ViZW4gYXVzZ2Vmw7xocnRlIEtvbW1hbmRvIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4uDQotICA0LiBKZXR6dCBiZWhlYmUgYWxsZSBGZWhsZXIgYXVmIGRlciBaZWlsZSBtaXQgSGlsZmUgZGVzIHggIEtvbW1hbmRvcy4NCi0gIDUuIE51biB0aXBwZSBlaW4gZ3Jvw59lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kDQotICAgICB3aWVkZXJoZXJ6dXN0ZWxsZW4uDQotICA2LiBOdW4gdGlwcGUgIHUgIGVpbmlnZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcw0KLSAgICAgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbi4NCi0gIDcuIE51biB0aXBwZSBDVFJMLVIgKGhhbHRlIENUUkwgZ2VkcsO8Y2t0IHVuZCBkcsO8Y2tlIFIpIG1laHJlcmUgTWFsZSwgdW0gZGllDQotICAgICBLb21tYW5kb3Mgd2llZGVyaGVyenVzdGVsbGVuIChkaWUgUsO8Y2tnw6RuZ2lnbWFjaHVuZ2VuIHLDvGNrZ8OkbmdpZyBtYWNoZW4pLg0KLQ0KLS0tLT4gQmVlaGViZSBkaWUgRmVobGxlciBkaWVzc2VyIFplaWxlIHVuZCBzdHRlbGxlIHNpZSBtaXR0ICd1bmRvJyB3aWVkZXIgaGVyLg0KLQ0KLSAgOC4gRGllcyBzaW5kIHNlaHIgbsO8dHpsaWNoZSBLb21tYW5kb3MuICBOdW4gZ2VoZSB3ZWl0ZXIgenVyIFp1c2FtbWVuZmFzc3VuZyANCi0gICAgIHZvbiBMZWt0aW9uIDIuDQotfn5+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+DQotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAyDQotDQotDQotICAxLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gbsOkY2hzdGVuIFdvcnQgenUgbMO2c2NoZW4sIHRpcHBlOiAgICBkdw0KLSAgMi4gVW0gdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUgenUgbMO2c2NoZW4sIHRpcHBlOiAgICAgZCQNCi0gIDMuIFVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbMO2c2NoZW4sIHRpcHBlOiAgICBkZA0KLQ0KLSAgNC4gVW0gZWluZSBCZXdlZ3VuZyB6dSB3aWVkZXJob2xlbiwgc3RlbGxlIGVpbmUgTnVtbWVyIHZvcmFuOiAgIDJ3DQotICA1LiBEYXMgRm9ybWF0IGbDvHIgZWluIMOEbmRlcnVuZ3Nrb21tYW5kbyBpc3Q6DQotICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQNCi0gICAgIHdvYmVpOg0KLSAgICAgICBPcGVyYXRvciAtIGdpYnQgYW4sIHdhcyBnZXRhbiB3ZXJkZW4gc29sbCwgenVtIEJlaXNwaWVsICBkICBmw7xyIGRlbGV0ZQ0KLSAgICAgICBbQW56YWhsXSAtIGVpbiBvcHRpb25hbGVyIFrDpGhsZXIsIHVtIGRlbiBCZXdlZ3VuZ3NzY2hyaXR0IHp1IHdpZWRlcmhvbGVuDQotICAgICAgIEJld2VndW5nc3NjaHJpdHQgLSBCZXdlZ3VuZyDDvGJlciBkZW4genUgw6RuZGVybmRlbiBUZXh0LCB3aWUNCi0JCSAgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4NCi0NCi0gIDYuIFVtIERpY2ggenVtIEFuZmFuZyBkZXIgWmVpbGUgenUgYmVnZWJlbiwgYmVudXR6ZSBkaWUgTnVsbDogIDANCi0NCi0gIDcuIFVtIHZvcmhlcmlnZSBBa3Rpb25lbiByw7xja2fDpG5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkNCi0gICAgIFVtIGFsbGUgw4RuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW46ICAgVSAoZ3Jvw59lcyBVKQ0KLSAgICAgVW0gZGllIFLDvGNrZ8OkbmdpZ21hY2h1bmdlbiByw7xja2fDpG5naWcgenUgbWFjaGVuLCB0aXBwZTogICAgQ1RSTC1SDQotDQotfn5+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+DQotCQkJICAgTGVrdGlvbiAzLjE6IEFORsOcR0VOIChQVVQpDQotDQotDQotICAgICAqKiBUaXBwZSAgcCAgLCB1bSB2b3JoZXIgZ2Vsw7ZzY2h0ZW4gVGV4dCBuYWNoIGRlbSBDdXJzb3IgYW56dWbDvGdlbi4gKioNCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQotDQotICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGzDtnNjaGVuIHVuZCBzaWUgaW4gZWluZW0gVmltLVJlZ2lzdGVyIHp1DQotICAgICBzcGVpY2hlcm4uDQotDQotICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksIMOcQkVSIGRlcmplbmlnZW4sIHdvIGRpZSBnZWzDtnNjaHRlIFplaWxlDQotICAgICBwbGF0emllcnQgd2VyZGVuIHNvbGwuDQotDQotICA0LiAgVGlwcGUgICBwICAgLCB1bSBkaWUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IHBsYXR6aWVyZW4uDQotDQotICA1LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBhbGxlIFplaWxlbiBpbiBkaWUgcmljaHRpZ2UNCi0gICAgIFJlaWhlbmZvbGdlIHp1IGJyaW5nZW4uDQotDQotLS0tPiBkKSBLYW5uc3QgRHUgZGFzIGF1Y2g/DQotLS0tPiBiKSBWZWlsY2hlbiBzaW5kIGJsYXUsDQotLS0tPiBjKSBJbnRlbGxpZ2VueiBpc3QgbGVybmJhciwNCi0tLS0+IGEpIFJvc2VuIHNpbmQgcm90LA0KLX5+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+fg0KLQkJCUxla3Rpb24gMy4yOiBFUlNFVFpFTiAoUkVQTEFDRSkNCi0NCi0NCi0gICAqKiBUaXBwZSAgcnggICwgdW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciBkdXJjaCAgeCB6dSBlcnNldHplbi4gKioNCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQotDQotICAyLiBCZXdlZ2UgZGVuIEN1cnNvciwgYmlzIGVyIHNpY2ggYXVmIGRlbSBlcnN0ZW4gRmVobGVyIGJlZmluZGV0Lg0KLQ0KLSAgMy4gVGlwcGUgIHIgIHVuZCBhbnNjaGxpZcOfZW5kIGRhcyBaZWljaGVuLCB3ZWxjaGVzIGRvcnQgc3RlaGVuIHNvbGx0ZS4NCi0NCi0gIDQuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMywgYmlzIGRpZSBlcnN0ZSBaZWlsZSBnbGVpY2ggZGVyIHp3ZWl0ZW4gaXN0Lg0KLQ0KLS0tLT4gIEFsZiBkaWVzZSBaZWl0ZSBlaW5nZWdvYmVuIHd1cmRlLCB3dXJkZW4gZWluaWtlIGZhbHNjaGUgVGFzdGVuIGdlbGlwcHQhDQotLS0tPiAgQWxzIGRpZXNlIFplaWxlIGVpbmdlZ2ViZW4gd3VyZGUsIHd1cmRlbiBlaW5pZ2UgZmFsc2NoZSBUYXN0ZW4gZ2V0aXBwdCENCi0NCi0gIDUuIE51biBmYWhyZSBmb3J0IG1pdCBMZWt0aW9uIDMuMi4NCi0NCi1Bbm1lcmt1bmc6IEVyaW5uZXJlIERpY2ggZGFyYW4sIGRhc3MgRHUgZHVyY2ggQW53ZW5kZW4gbGVybmVuIHNvbGx0ZXN0LCBuaWNodCANCi0gICAgIGR1cmNoIEF1c3dlbmRpZ2xlcm5lbi4NCi0NCi0NCi1+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+fn4NCi0JCQkgIExla3Rpb24gMy4zOiDDhE5ERVJOIChDSEFOR0UpDQotDQotDQotICAgICAgKiogVW0gZWluZSDDhG5kZXJ1bmcgYmlzIHp1bSBXb3J0ZW5kZSBkdXJjaHp1ZsO8aHJlbiwgdGlwcGUgIGNlIC4gKioNCi0NCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQotDQotICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGFzICBzICB2b24gV3N0d3IuDQotDQotICAzLiBUaXBwZSAgY2UgIHVuZCBkaWUgV29ydGtvcnJla3R1ciBlaW4gKGluIGRpZXNlbSBGYWxsIHRpcHBlICDDtnJ0ZXIgKS4NCi0NCi0gIDQuIERyw7xja2UgPEVTQz4gdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBuw6RjaHN0ZW4genUgw6RuZGVybmRlbiBaZWljaGVuLg0KLQ0KLSAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAzIHVuZCA0IGJpcyBkZXIgZXJzdGUgU2F0eiBnbGVpY2ggZGVtIHp3ZWl0ZW4gaXN0Lg0KLQ0KLS0tLT4gRWluaWdlIFdzdHdyIGRpZXNlciBabGF3dyBsYXNkamxhZiBtaXQgZGVtIMOEbmRlcm4tT3BlcmF0b3IgZ2FhYXV1IHdlcmRlbi4NCi0tLS0+IEVpbmlnZSBXw7ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDDhG5kZXJuLU9wZXJhdG9yIGdlw6RuZGVydCB3ZXJkZW4uDQotDQotQmVhY2h0ZSwgZGFzcyAgY2UgIGRhcyBXb3J0IGzDtnNjaHQgdW5kIERpY2ggaW4gZGVuIEVpbmdhYmVtb2R1cyB2ZXJzZXR6dC4NCi0NCi0NCi0NCi1+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+fn4NCi0JCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgw4ROREVSVU5HRU4gTUlUVEVMUyBjDQotDQotDQotICAgICAqKiBEYXMgY2hhbmdlLUtvbW1hbmRvIGFyYmVpdGV0IG1pdCBkZW5zZWxiZW4gQmV3ZWd1bmdlbiB3aWUgZGVsZXRlLiAgKioNCi0NCi0gIDEuIERlciBjaGFuZ2UgT3BlcmF0b3IgYXJiZWl0ZXQgaW4gZ2xlaWNoZXIgV2Vpc2Ugd2llIGRlbGV0ZS4gRGFzIEZvcm1hdCBpc3Q6DQotDQotICAgICAgICAgYyAgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dA0KLQ0KLSAgMi4gRGllIEJld2VndW5nc3NjaHJpdHRlIHNpbmQgZGllIGdsZWljaGVuICwgc28gd2llICB3ICAoV29ydCkgdW5kICAkDQotICAgICAoWmVpbGVuZW5kZSkuDQotDQotICAzLiBCZXdlZ2UgRGljaCB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KLQ0KLSAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBGZWhsZXIuDQotDQotICA1LiBUaXBwZSAgYyQgICwgZ2liIGRlbiBSZXN0IGRlciBaZWlsZSB3aWUgaW4gZGVyIHp3ZWl0ZW4gZWluLCBkcsO8Y2tlIDxFU0M+IC4NCi0NCi0tLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIGFuIGRpZSB6d2VpdGUgWmVpbGUgYW5nZWdsaWNoZW4gd2VyZGVuLg0KLS0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgbWl0IGRlbSAgYyQgIEtvbW1hbmRvIGtvcnJpZ2llcnQgd2VyZGVuLg0KLQ0KLUFubWVya3VuZzogRHUga2FubnN0IGRpZSBSw7xja3Rhc3RlIGJlbnV0emVuLCB1bSBUaXBwZmVobGVyIHp1IGtvcnJpZ2llcmVuLg0KLX5+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+fg0KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMw0KLQ0KLQ0KLSAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbMO2c2NodGVuIFRleHQgYW56dWbDvGdlbiwgdGlwcGUgICBwIC4gRGllcyBmw7xndCBkZW4NCi0gICAgIGdlbMO2c2NodGVuIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuICh3ZW5uIGVpbmUgZ2FuemUgWmVpbGUgZ2Vsw7ZzY2h0IHd1cmRlLA0KLSAgICAgd2lyZCBkaWVzZSBpbiBkaWUgWmVpbGUgdW50ZXIgZGVtIEN1cnNvciBlaW5nZWbDvGd0KS4NCi0NCi0gIDIuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4sIHRpcHBlICAgciAgIHVuZCBkYW5hY2ggZGFzIA0KLSAgICAgYW4gZGllc2VyIFN0ZWxsZSBnZXdvbGx0ZSBaZWljaGVuLg0KLQ0KLSAgMy4gRGVyIMOEbmRlcnVuZ3MtIChjaGFuZ2UpIE9wZXJhdG9yIGVybGF1YnQsIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGRlcw0KLSAgICAgQmV3ZWd1bmdzc2Nocml0dGVzIHp1IMOkbmRlcm4uIFRpcHBlICBjZSAgLCB1bSBlaW5lIMOEbmRlcnVuZyB2b20gQ3Vyc29yIGJpcw0KLSAgICAgenVtIEVuZGUgZGVzIFdvcnRlcyB2b3J6dW5laG1lbjsgIGMkICBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUuDQotDQotICA0LiBEYXMgRm9ybWF0IGbDvHIgY2hhbmdlIGlzdDoNCi0NCi0JIGMgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dA0KLQ0KLSAgTnVuIGZhaHJlIG1pdCBkZXIgbsOkY2hzdGVuIExla3Rpb24gZm9ydC4NCi0NCi0NCi0NCi1+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+fn4NCi0JCSAgTGVrdGlvbiA0LjE6IENVUlNPUlBPU0lUSU9OIFVORCBEQVRFSVNUQVRVUw0KLQ0KLSAqKiBUaXBwZSBDVFJMLUcgLCB1bSBkZWluZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cyBhbnp1emVpZ2VuLiAqKg0KLSAgICAgKiogVGlwcGUgRyAsIHVtIERpY2ggenUgZWluZXIgWmVpbGUgaW4gZGVyIERhdGVpIHp1IGJlZ2ViZW4uICoqDQotDQotQW5tZXJrdW5nOiBMaWVzIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiwgYmV2b3IgRHUgaXJnZW5kZWluZW4gU2Nocml0dCBhdXNmw7xocnN0ISENCi0NCi0gIDEuIEhhbHRlIGRpZSBDdHJsIFRhc3RlIHVudGVuIHVuZCBkcsO8Y2tlICBnIC4gRGllcyBuZW5uZW4gd2lyIENUUkwtRy4NCi0gICAgIEVpbmUgU3RhdHVzbWVsZHVuZyBhbSBGdcOfIGRlciBTZWl0ZSBlcnNjaGVpbnQgbWl0IGRlbSBEYXRlaW5hbWVuIHVuZCBkZXINCi0gICAgIFBvc2l0aW9uIGlubmVyaGFsYiBkZXIgRGF0ZWkuIE1lcmtlIERpciBkaWUgWmVpbGVubnVtbWVyIGbDvHIgU2Nocml0dCAzLg0KLQ0KLUFubWVya3VuZzogTcO2Z2xpY2hlcndlaXNlIHNpZWhzdCBEdSBkaWUgQ3Vyc29ycG9zaXRpb24gaW4gZGVyIHVudGVyZW4gcmVjaHRlbg0KLSAgICAgIEJpbGRzY2hpcm1lY2tlLiBEaWVzIGlzdCBBdXN3aXJrdW5nIGRlciAncnVsZXInIE9wdGlvbiANCi0JICAoc2llaGUgOmhlbHAgJ3J1bGVyJykNCi0NCi0gIDIuIERyw7xja2UgIEcgICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4NCi0gICAgIFRpcHBlICBnZyAgLCB1bSBEaWNoIHp1bSBBbmZhbmcgZGVyIERhdGVpIHp1IGJlZ2ViZW4uDQotDQotICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gIEcgLg0KLSAgICAgRGllcyBicmluZ3QgRGljaCB6dXLDvGNrIHp1IGRlciBaZWlsZSwgYXVmIGRlciBEdSBnZXN0YW5kZW4gaGFzdCwgYWxzIER1DQotICAgICBkYXMgZXJzdGUgTWFsIENUUkwtRyBnZWRyw7xja3QgaGFzdC4NCi0NCi0gIDQuIFdlbm4gRHUgRGljaCBzaWNoZXIgZ2VudWcgZsO8aGxzdCwgZsO8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4NCi1+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+fn4NCi0JCSAgICAgICBMZWt0aW9uIDQuMjogREFTIFNVQ0hFTiAtIEtPTU1BTkRPDQotDQotDQotICAqKiBUaXBwZSAgLyAgZ2Vmb2xndCB2b24gZWluZW0gQXVzZHJ1Y2ssIHVtIG5hY2ggZGVtIEF1c2RydWNrIHp1IHN1Y2hlbi4gKioNCi0NCi0gIDEuIEltIE5vcm1hbG1vZHVzLCB0aXBwZSBkYXMgIC8gIFplaWNoZW4uICBCZWFjaHRlLCBkYXNzIGRhcyAgLyB1bmQgZGVyDQotICAgICBDdXJzb3IgYW0gRnXDnyBkZXMgU2NoaXJtcyBlcnNjaGVpbmVuLCBzbyB3aWUgYmVpbSA6CUtvbW1hbmRvLg0KLQ0KLSAgMi4gTnVuIHRpcHBlICdGZWhobGVyJyA8RU5URVI+LiBEaWVzIGlzdCBkYXMgV29ydCwgbmFjaCBkZW0gRHUgc3VjaGVuIHdpbGxzdC4NCi0NCi0gIDMuIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIHdlaXRlcnp1c3VjaGVuLCB0aXBwZSBlaW5mYWNoICBuIChmw7xyIG5leHQpLg0KLSAgICAgVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLCB0aXBwZSAgTiAuDQotDQotICA0LiBVbSBuYWNoIGVpbmVtIEF1c2RydWNrIHLDvGNrd8OkcnRzIHp1IHN1Y2hlbiAsIGJlbnV0emUgID8gIHN0YXR0ICAvIC4NCi0NCi0gIDUuIFVtIGRhaGluIHp1csO8Y2t6dWtlaHJlbiwgdm9uIHdvIER1IGdla29tbWVuIGJpc3QsIGRyw7xja2UgQ1RSTC1PIChIYWx0ZQ0KLSAgICAgQ3RybCB1bnRlbiB1bmQgZHLDvGNrZSBkZW4gQnVjaHN0YWJlbiBvKS4gV2llZGVyaG9sZSBkaWVzLCB1bSBub2NoIHdlaXRlcg0KLSAgICAgenVyw7xja3p1Z2VoZW4uICBDVFJMLUkgZ2VodCB2b3J3w6RydHMuDQotDQotLS0tPiAgRmVobGVyIHNjaHJlaWJ0IHNpY2ggbmljaHQgIkZlaGhsZXIiOyBGZWhobGVyIGlzdCBlaW4gRmVobGVyDQotQW5tZXJrdW5nOiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nDQotICAgICAgICBmb3J0Z2VzZXR6dCwgZXMgc2VpIGRlbm4sIGRpZSAnd3JhcHNjYW4nIE9wdGlvbiB3dXJkZSBhYmdlc2NoYWx0ZXQuDQotfn5+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+DQotCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4NCi0NCi0NCi0gICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUgZ2VnZW7DvGJlcmxpZWdlbmRlbiBLbGFtbWVyICksXSwgb2RlciB9IHp1IGZpbmRlbi4gKioNCi0NCi0gIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBpcmdlbmRlaW5lbSBkZXIgWmVpY2hlbiAoLCBbLCBvZGVyIHsgaW4gZGVyIHVudGVuDQotICAgICBzdGVoZW5kZW4gWmVpbGUsIGRpZSBtaXQgLS0tPiBtYXJraWVydCBpc3QuDQotDQotICAyLiBOdW4gdGlwcGUgZGFzICAlICBaZWljaGVuLg0KLQ0KLSAgMy4gRGVyIEN1cnNvciBiZXdlZ3Qgc2ljaCB6dXIgcGFzc2VuZGVuIGdlZ2Vuw7xiZXJsaWVnZW5kZW4gS2xhbW1lci4NCi0NCi0gIDQuIFRpcHBlICAlICwgdW0gZGVuIEN1cnNvciB6dXIgcGFzc2VuZGVuIGFuZGVyZW4gS2xhbW1lciB6dSBiZXdlZ2VuLg0KLQ0KLSAgNS4gU2V0emUgZGVuIEN1cnNvciBhdWYgZWluIGFuZGVyZXMgKCwpLFssXSx7IG9kZXIgfSB1bmQgcHJvYmllcmUgICUgIGF1cy4NCi0NCi0tLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgKCBtaXQgWyB2ZXJzY2hpZWRlbmVuIF0geyBLbGFtbWVybiB9ICBkYXJpbi4gKSkNCi0NCi1Bbm1lcmt1bmc6IERpZXNlIEZ1bmt0aW9uYWxpdMOkdCBpc3Qgc2VociBuw7x0emxpY2ggYmVpIGRlciBGZWhsZXJzdWNoZSBpbiBlaW5lbQ0KLSAgICAgUHJvZ3JhbW10ZXh0LCBpbiBkZW0gcGFzc2VuZGUgS2xhbW1lcm4gZmVobGVuIQ0KLQ0KLQ0KLX5+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+fg0KLQkJTGVrdGlvbiA0LjQ6IERBUyBFUlNFVFpVTkdTS09NTUFORE8gKFNVQlNUSVRVVEUpDQotDQotDQotCSAqKiBUaXBwZSA6cy9hbHQvbmV1L2cgICwgdW0gJ2FsdCcgZHVyY2ggJ25ldScgenUgZXJzZXR6ZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQotDQotICAyLiBUaXBwZSAgOnMvZGllZS9kaWUgPEVOVEVSPiAuICBCZWFjaHRlLCBkYXNzIGRlciBCZWZlaGwgbnVyIGRhcyBlcnN0ZQ0KLSAgICAgVm9ya29tbWVuIHZvbiAiZGllZSIgZXJzZXR6dC4NCi0NCi0gIDMuIE51biB0aXBwZSAgIDpzL2RpZWUvZGllL2cgLiBEYXMgWnVmw7xnZW4gZGVzIEZsYWdzICBnICAgYmVkZXV0ZXQsIGVpbmUNCi0gICAgIGdsb2JhbGUgRXJzZXR6dW5nIMO8YmVyIGRpZSBaZWlsZSBkdXJjaHp1ZsO8aHJlbiwgZGllcyBlcnNldHp0IGFsbGUgDQotCSBWb3Jrb21tZW4gdm9uICJkaWVlIiBhdWYgZGVyIFplaWxlLg0KLQ0KLS0tLT4gZGllZSBzY2jDtm5zdGUgWmVpdCwgdW0gZGllZSBCbHVtZW4gYW56dXNjaGF1ZW4sIGlzdCBkaWVlIEZyw7xobGluZ3N6ZWl0Lg0KLQ0KLSAgNC4gVW0gYWxsZSBWb3Jrb21tZW4gZWluZXIgWmVpY2hlbmtldHRlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuIHp1IMOkbmRlcm4sDQotICAgICB0aXBwZSAgOiMsI3MvYWx0L25ldS9nICB3b2JlaSAjLCMgZGllIFplaWxlbm51bW1lcm4gZGVzIEJlcmVpY2hlcyBzaW5kLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZGVtIGRpZSBFcnNldHp1bmcgZHVyY2hnZWbDvGhydCB3ZXJkZW4gc29sbC4NCi0gICAgIFRpcHBlICA6JXMvYWx0L25ldS9nICAgIHVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnZXNhbXRlbiBEYXRlaSB6dSDDpG5kZXJuLg0KLSAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2djICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IGZpbmRlbg0KLSAgICAgICAgICAgICAgICAgICAgIG1pdCBlaW5lbSBGcmFnZWRpYWxvZywgb2IgZXJzZXR6dCB3ZXJkZW4gc29sbCBvZGVyIG5pY2h0Lg0KLX5+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+fg0KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNA0KLQ0KLSAgMS4gQ1RSTC1HICB6ZWlndCBkaWUgYWt0dWVsbGUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMuDQotICAgICAgICAgICAgIEcgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaS4NCi0gICAgIE51bW1lciAgRyAgYnJpbmd0IERpY2ggenVyIGVudHNwcmVjaGVuZGVuIFplaWxlbm51bW1lci4NCi0gICAgICAgICAgICBnZyAgYnJpbmd0IERpY2ggenVyIGVyc3RlbiBaZWlsZS4NCi0NCi0gIDIuIERpZSBFaW5nYWJlIHZvbiAgLyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBWT1JXw4RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suDQotICAgICBEaWUgRWluZ2FiZSB2b24gID8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgUsOcQ0tXw4RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suDQotICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBuw6RjaHN0ZSBWb3Jrb21tZW4gaW4gZGVyIGdsZWljaGVuDQotICAgICBSaWNodHVuZyB6dSBmaW5kZW47IG9kZXIgIE4gICwgdW0gaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLg0KLSAgICAgQ1RSTC1PIGJyaW5ndCBEaWNoIHp1csO8Y2sgenUgw6RsdGVyZW4gUG9zaXRpb25lbiwgQ1RSTC1JIHp1IG5ldWVyZW4uDQotDQotICAzLiBEaWUgRWluZ2FiZSB2b24gICUgICwgd2VubiBkZXIgQ3Vyc29yIHNpY2ggYXVmICgsKSxbLF0seywgb2RlciB9DQotICAgICBiZWZpbmRldCwgYnJpbmd0IERpY2ggenVyIEdlZ2Vua2xhbW1lci4NCi0NCi0gIDQuIFVtIGRhcyBlcnN0ZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGVpbmVyIFplaWxlIGR1cmNoICJuZXUiIHp1IGVyc2V0emVuLA0KLSAgICAgICAgICAgICB0aXBwZSAgICAgICA6cy9hbHQvbmV1DQotICAgICBVbSBhbGxlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZGVyIFplaWxlIGVyc2V0emVuLCB0aXBwZSAgOnMvYWx0L25ldS9nDQotICAgICBVbSBBdXNkcsO8Y2tlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuICMgenUgZXJzZXR6ZW4gICAgICAgIDojLCNzL2FsdC9uZXUvZw0KLSAgICAgVW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdhbnplbiBEYXRlaSB6dSBlcnNldHplbiwgdGlwcGUgIDolcy9hbHQvbmV1L2cNCi0gICAgIEbDvHIgZWluZSBqZWRlc21hbGlnZSBCZXN0w6R0aWd1bmcsIGFkZGllcmUgJ2MnIChjb25maXJtKSAgIDolcy9hbHQvbmV1L2djDQotfn5+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+DQotCQlMZWt0aW9uIDUuMTogQVVTRsOcSFJFTiBFSU5FUyBFWFRFUk5FTiBLT01NQU5ET1MNCi0NCi0NCi0gICoqIEdpYiAgOiEgLCBnZWZvbGd0IHZvbiBlaW5lbSBleHRlcm5lbiBLb21tYW5kbyBlaW4sIHVtIGVzIGF1c3p1ZsO8aHJlbi4gKioNCi0NCi0gIDEuIFRpcHBlIGRhcyB2ZXJ0cmF1dGUgS29tbWFuZG8gIDogICwgdW0gZGVuIEN1cnNvciBhdWYgZGVuIEZ1w58gZGVzIFNjaGlybXMNCi0gICAgIHp1IHNldHplbi4gRGllcyBlcmxhdWJ0IERpciwgZWluIEtvbW1hbmRvemVpbGVuLUtvbW1hbmRvIGVpbnp1Z2ViZW4uDQotDQotICAyLiBOdW4gdGlwcGUgZWluICAhICAoQXVzcnVmZXplaWNoZW4pLiAgRGllcyBlcm3DtmdsaWNodCBEaXIsIGVpbiBiZWxpZWJpZ2VzLA0KLSAgICAgZXh0ZXJuZXMgU2hlbGxrb21tYW5kbyBhdXN6dWbDvGhyZW4uDQotDQotICAzLiBBbHMgQmVpc3BpZWwgdGlwcGUgICBscyAgIG5hY2ggZGVtICAhICB1bmQgZHLDvGNrZSA8RU5URVI+LiBEaWVzIGxpZWZlcnQNCi0gICAgIGVpbmUgQXVmbGlzdHVuZyBkZWluZXMgVmVyemVpY2huaXNzZXM7IGdlbmF1c28sIGFscyB3ZW5uIER1IGluIGRlcg0KLSAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB3w6Ryc3QuICBPZGVyIHZlcndlbmRlICA6IWRpciAgLCBmYWxscyBscyBuaWNodCBnZWh0Lg0KLQ0KLUFubWVya3VuZzogIE1pdCBkaWVzZXIgTWV0aG9kZSBrYW5uIGplZGVzIGJlbGllYmlnZSBleHRlcm5lIEtvbW1hbmRvDQotICAgICBhdXNnZWbDvGhydCB3ZXJkZW4sIGF1Y2ggbWl0IEFyZ3VtZW50ZW4uDQotDQotQW5tZXJrdW5nOiAgQWxsZSAgOiAgS29tbWFuZG9zIG3DvHNzZW4gZHVyY2ggRWluZ2FiZSB2b24gPEVOVEVSPg0KLSAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uIFZvbiBqZXR6dCBhbiBlcnfDpGhuZW4gd2lyIGRpZXMgbmljaHQgamVkZXNtYWwuDQotDQotDQotfn5+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+DQotCQlMZWt0aW9uIDUuMjogTUVIUiDDnEJFUiBEQVMgU0NIUkVJQkVOIFZPTiBEQVRFSUVODQotDQotDQotKiogVW0gYW0gVGV4dCBkdXJjaGdlZsO8aHJ0ZSDDhG5kZXJ1bmdlbiB6dSBzcGVpY2hlcm4sIHRpcHBlIDp3IERBVEVJTkFNRS4gKioNCi0NCi0gIDEuIFRpcHBlICA6IWRpciAgb2RlciAgOiFscyAgLCB1bSBlaW5lIEF1Zmxpc3R1bmcgZGVpbmVzIFZlcnplaWNobmlzc2VzIHp1DQotICAgICBlcmhhbHRlbi4gIER1IHdlacOfdCBudW4gYmVyZWl0cywgZGFzcyBEdSBkYW5hY2ggPEVOVEVSPiBlaW5nZWJlbiBtdXNzdC4NCi0NCi0gIDIuIFfDpGhsZSBlaW5lbiBEYXRlaW5hbWVuLCBkZXIgbm9jaCBuaWNodCBleGlzdGllcnQsIHouQi4gVEVTVC4NCi0NCi0gIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V3w6RobHRlIERhdGVpbmFtZSBpc3QpLg0KLQ0KLSAgNC4gRGllcyBzcGVpY2hlcnQgZGllIGdhbnplIERhdGVpIChkZW4gVmltIFR1dG9yKSB1bnRlciBkZW0gTmFtZW4gVEVTVC4NCi0gICAgIFVtIGRpZXMgenUgw7xiZXJwcsO8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwgdW0gZGVpbmVuDQotICAgICBWZXJ6ZWljaG5pc2luaGFsdCB6dSBzZWhlbi4NCi0NCi1Bbm1lcmt1bmc6IFfDvHJkZXN0IER1IFZpbSBqZXR6dCBiZWVuZGVuIHVuZCBkYW5hY2ggd2llZGVyIG1pdCB2aW0gVEVTVA0KLSAgICBzdGFydGVuLCBkYW5uIHfDpHJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtDQotICAgIFplaXRwdW5rdCwgYWxzIER1IGlobiBnZXNwZWljaGVydCBoYXN0Lg0KLQ0KLSAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVA0KLSAgICAgICAgICAgICAgICAgICAgICBvZGVyIChVbml4KTogICAgICAgICAgICAgICAgICAgICAgICAgOiFybSBURVNUDQotfn5+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+DQotCQkgTGVrdGlvbiA1LjM6IEFVU1fDhEhMRU4gVk9OIFRFWFQgWlVNIFNDSFJFSUJFTg0KLQ0KLSoqIFVtIGVpbmVuIEFic2Nobml0dCBkZXIgRGF0ZWkgenUgc3BlaWNoZXJuLCAgdGlwcGUgIHYgIEJld2VndW5nICA6dyBEQVRFSSAqKg0KLQ0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGllc2VyIFplaWxlLg0KLQ0KLSAgMi4gVGlwcGUgIHYgIHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gZsO8bmZ0ZW4gQXVmbGlzdHVuZ3NwdW5rdCB1bnRlbi4NCi0gICAgIEJlYWNodGUsIGRhc3MgZGVyIFRleHQgaGVydm9yZ2Vob2JlbiB3aXJkLg0KLQ0KLSAgMy4gRHLDvGNrZSBkYXMgWmVpY2hlbiAgOiAuIEFtIEZ1w58gZGVzIFNjaGlybXMgZXJzY2hlaW50ICA6JzwsJz4gLg0KLQ0KLSAgNC4gVGlwcGUgIHcgVEVTVCAgLCB3b2JlaSBURVNUIGVpbiBub2NoIG5pY2h0IHZvcmhhbmRlbmVyIERhdGVpbmFtZSBpc3QuDQotICAgICBWZXJnZXdpc3NlcmUgRGljaCwgZGFzcyBEdSAgOic8LCc+dyBURVNUICBzaWVoc3QsIGJldm9yIER1IDxFTlRFUj4gZHLDvGNrc3QuDQotDQotICA1LiBWaW0gc2NocmVpYnQgZGllIGF1c2dld8OkaGx0ZW4gWmVpbGVuIGluIGRpZSBEYXRlaSBURVNULiBCZW51dHplICA6IWRpcg0KLSAgICAgb2RlciAgOiFscyAsIHVtIHNpZSB6dSBzZWhlbi4gTMO2c2NoZSBzaWUgbm9jaCBuaWNodCEgV2lyIHdlcmRlbiBzaWUgaW4NCi0gICAgIGRlciBuw6RjaHN0ZW4gTGVrdGlvbiBiZW51dHplbi4NCi0NCi1IaW53ZWlzOiBEcsO8Y2tlbiB2b24gIHYgIHN0YXJ0ZXQgZGllIFZpc3VlbGxlIEF1c3dhaGwuIER1IGthbm5zdCBkZW4gQ3Vyc29yDQotICAgdW1oZXJiZXdlZ2VuLCB1bSBkaWUgQXVzd2FobCB6dSB2ZXJncsO2w59lcm4gb2RlciB6dSB2ZXJrbGVpbmVybi4gQW5zY2hsaWXDn2VuZA0KLSAgIGzDpHNzdCBzaWNoIGVpbiBPcGVyYXRvciBhbndlbmRlbiwgdW0gbWl0IGRlbSBUZXh0IGV0d2FzIHp1IHR1bi4gWnVtIEJlaXNwaWVsDQotICAgbMO2c2NodCAgZCAgZGVuIFRleHQuDQotDQotfn5+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+DQotCSAgICAgIExla3Rpb24gNS40OiBFSU5MRVNFTiBVTkQgWlVTQU1NRU5Gw5xIUkVOIFZPTiBEQVRFSUVODQotDQotDQotICAgICAgICoqIFVtIGRlbiBJbmhhbHQgZWluZXIgRGF0ZWkgZWluenVsZXNlbiwgdGlwcGUgIDpyIERBVEVJTkFNRSAgKioNCi0NCi0gIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGRpcmVrdCDDvGJlciBkaWVzZXIgWmVpbGUuDQotDQotQkVBQ0hURTogIE5hY2hkZW0gRHUgU2Nocml0dCAyIGF1c2dlZsO8aHJ0IGhhc3QsIHdpcnN0IER1IFRleHQgYXVzIExla3Rpb24gNS4zDQotICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfDhFJUUywgTGVrdGlvbiA1LjQgd2llZGVyenVzZWhlbi4NCi0NCi0gIDIuIE51biBsaWVzIGRlaW5lIERhdGVpIFRFU1QgZWluIGluZGVtIER1IGRhcyBLb21tYW5kbyAgOnIgVEVTVCAgYXVzZsO8aHJzdCwNCi0gICAgIHdvYmVpIFRFU1QgZGVyIHZvbiBEaXIgdmVyd2VuZGV0ZSBEYXRlaW5hbWUgaXN0Lg0KLSAgICAgRGllIGVpbmdlbGVzZW5lIERhdGVpIHdpcmQgdW50ZXJoYWxiIGRlciBDdXJzb3J6ZWlsZSBlaW5nZWbDvGd0Lg0KLQ0KLSAgMy4gVW0genUgw7xiZXJwcsO8ZmVuLCBkYXNzIGRpZSBEYXRlaSBlaW5nZWxlc2VuIHd1cmRlLCBnZWhlIHp1csO8Y2sgdW5kIA0KLSAgICAgYmVhY2h0ZSwgZGFzcyBlcyBqZXR6dCB6d2VpIEtvcGllbiB2b24gTGVrdGlvbiA1LjMgZ2lidCwgZGFzIE9yaWdpbmFsIHVuZCANCi0JIGRpZSBlaW5nZWbDvGd0ZSBEYXRlaXZlcnNpb24uDQotDQotQW5tZXJrdW5nOiBEdSBrYW5uc3QgYXVjaCBkaWUgQXVzZ2FiZSBlaW5lcyBleHRlcm5lbiBLb21tYW5kb3MgZWlubGVzZW4uIFp1bQ0KLSAgICAgQmVpc3BpZWwgbGllc3QgIDpyICFscyAgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBscyBlaW4gdW5kIHBsYXR6aWVydA0KLSAgICAgc2llIHVudGVyaGFsYiBkZXMgQ3Vyc29ycy4NCi0NCi1+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+fn4NCi0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDUNCi0NCi0NCi0gIDEuIDohS29tbWFuZG8gIGbDvGhydCBlaW4gZXh0ZXJuZXMgS29tbWFuZG8gYXVzLg0KLQ0KLSAgICAgIEVpbmlnZSBuw7x0emxpY2hlIEJlaXNwaWVsZSBzaW5kDQotCShNUy1ET1MpCSAgKFVuaXgpDQotCSA6IWRpcgkJICAgOiFscwkJICAgLSAgemVpZ3QgZWluZSBWZXJ6ZWljaG5pc2F1Zmxpc3R1bmcuDQotCSA6IWRlbCBEQVRFSU5BTUUgICA6IXJtIERBVEVJTkFNRSAgLSAgZW50ZmVybnQgRGF0ZWkgREFURUlOQU1FLg0KLQ0KLSAgMi4gOncgREFURUlOQU1FICBzcGVpY2hlcnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSB1bnRlciBkZW0gTmFtZW4gIERBVEVJTkFNRS4NCi0NCi0gIDMuIHYgIEJld2VndW5nICA6dyBEQVRFSU5BTUUgIHNjaHJlaWJ0IGRpZSBWaXN1ZWxsIGF1c2dld8OkaGx0ZW4gWmVpbGVuIGluDQotICAgICBkaWUgRGF0ZWkgREFURUlOQU1FLg0KLQ0KLSAgNC4gOnIgREFURUlOQU1FICBsw6RkdCBkaWUgRGF0ZWkgREFURUlOQU1FIHVuZCBmw7xndCBzaWUgdW50ZXJoYWxiIGRlcg0KLSAgICAgQ3Vyc29ycG9zaXRpb24gZWluLg0KLQ0KLSAgNS4gOnIgIWRpciAgbGllc3QgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBkaXIgdW5kIGbDvGd0IHNpZSB1bnRlcmhhbGIgZGVyDQotICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uDQotDQotDQotfn5+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+DQotCQkgICAgICAgTGVrdGlvbiA2LjE6IFpFSUxFTiDDlkZGTkVOIChPUEVOKQ0KLQ0KLQ0KLSAgICoqIFRpcHBlICBvCSwgdW0gZWluZSBaZWlsZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMgenUgw7ZmZm5lbiB1bmQgRGljaCBpbiAqKg0KLSAgICAgICAgICAgICAgICAgICAgICAqKiBkZW4gRWluZsO8Z2Vtb2R1cyB6dSBiZWdlYmVuLiAqKg0KLQ0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIGVyc3RlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLg0KLQ0KLSAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSSEFMQiBkZXMgQ3Vyc29ycyB6dSDDtmZmbmVuDQotICAgICB1bmQgRGljaCBpbiBkZW4gRWluZsO8Z2Vtb2R1cyB6dSBiZWdlYmVuLg0KLQ0KLSAgMy4gTnVuIHRpcHBlIGV0d2FzIFRleHQgdW5kIGRyw7xja2UgPEVTQz4gLCB1bSBkZW4gRWluZsO8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uDQotDQotLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIG9mZmVuZW4gWmVpbGUgaW0gRWluZsO8Z2Vtb2R1cyBwbGF0emllcnQuDQotDQotICA0LiBVbSBlaW5lIFplaWxlIMOcQkVSSEFMQiBkZXMgQ3Vyc29ycyBhdWZ6dW1hY2hlbiwgZ2liIGVpbmZhY2ggZWluIGdyb8OfZXMgIE8NCi0gICAgIHN0YXR0IGVpbmVtIGtsZWluZW4gIG8gIGVpbi4gVmVyc3VjaGUgZGllcyBhdWYgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZS4NCi0NCi0tLS0+IMOWZmZuZSBlaW5lIFplaWxlIMO8YmVyIGRpZXNlciBtaXQgTyAsIHdlbm4gZGVyIEN1cnNvciBhdWYgZGllc2VyIFplaWxlIGlzdC4NCi0NCi0NCi0NCi1+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+fn4NCi0JCSAgICAgICBMZWt0aW9uIDYuMjogVEVYVCBBTkbDnEdFTiAoQVBQRU5EKQ0KLQ0KLQ0KLQkgICAgICoqIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGVpbnp1ZsO8Z2VuLiAqKg0KLQ0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBkZXIgZXJzdGVuIMOcYnVuZ3N6ZWlsZSBtaXQgLS0tPiB1bnRlbi4NCi0NCi0gIDIuIERyw7xja2UgIGUgICwgYmlzIGRlciBDdXJzb3IgYW0gRW5kZSB2b24gIFplaSAgc3RlaHQuDQotDQotICAzLiBUaXBwZSBlaW4ga2xlaW5lcyAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLg0KLQ0KLSAgNC4gVmVydm9sbHN0w6RuZGlnZSBkYXMgV29ydCBzbyB3aWUgaW4gZGVyIFplaWxlIGRhcnVudGVyLiAgRHLDvGNrZSA8RVNDPiAsDQotICAgICB1bSBkZW4gRWluZsO8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uDQotDQotICA1LiBCZXdlZ2UgRGljaCBtaXQgIGUgIHp1bSBuw6RjaHN0ZW4gdW52b2xsc3TDpG5kaWdlbiBXb3J0IHVuZCB3aWVkZXJob2xlDQotICAgICBTY2hyaXR0ZSAzIHVuZCA0Lg0KLQ0KLS0tLT4gRGllc2UgWmVpIGJpZXRldCBHZWxlZ2VuICwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZsO8Lg0KLS0tLT4gRGllc2UgWmVpbGUgYmlldGV0IEdlbGVnZW5oZWl0LCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVmw7xnZW4uDQotDQotQW5tZXJrdW5nOiAgYSwgaSB1bmQgQSBnZWhlbiBhbGxlIGdsZWljaGVybWHDn2VuIGluIGRlbiBFaW5mw7xnZW1vZHVzOyBkZXINCi0gICAgICAgICAgICBlaW56aWdlIFVudGVyc2NoaWVkIGlzdCwgd28gZGllIFplaWNoZW4gZWluZ2Vmw7xndCB3ZXJkZW4uDQotfn5+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+DQotCSAgICAgIExla3Rpb24gNi4zOiBFSU5FIEFOREVSRSBBUlQgREVTIEVSU0VUWkVOUyAoUkVQTEFDRSkNCi0NCi0NCi0gICAgICAgKiogVGlwcGUgZWluIGdyb8OfZXMgIFIgICwgdW0gbWVociBhbHMgZWluIFplaWNoZW4genUgZXJzZXR6ZW4uICoqDQotDQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiwgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCi0gICAgIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVzIGVyc3RlbiAgeHh4IC4NCi0NCi0gIDIuIE51biBkcsO8Y2tlICBSICB1bmQgdGlwcGUgZGllIE51bW1lciwgZGllIGRhcnVudGVyIGluIGRlciB6d2VpdGVuIFplaWxlDQotICAgICBzdGVodCwgc28gZGFzcyBkaWVzZSBkYXMgeHh4IGVyc2V0enQuDQotDQotICAzLiBEcsO8Y2tlIDxFU0M+ICwgdW0gZGVuIEVyc2V0enVuZ3Ntb2R1cyB6dSB2ZXJsYXNzZW4uIEJlYWNodGUsIGRhc3MgZGVyIFJlc3QNCi0gICAgIGRlciBaZWlsZSB1bnZlcsOkbmRlcnQgYmxlaWJ0Lg0KLQ0KLSAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUsIHVtIGRhcyB2ZXJibGllYmVuZSB4eHggenUgZXJzZXR6ZW4uDQotDQotLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4NCi0tLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IDQ1NiBlcmdpYnQgNTc5Lg0KLQ0KLUFubWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5mw7xnZW1vZHVzLCBhYmVyIGplZGVzIGVpbmdldGlwcHRlDQotICAgICAgICAgICBaZWljaGVuIGzDtnNjaHQgZWluIHZvcmhhbmRlbmVzIFplaWNoZW4uDQotDQotfn5+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+DQotCQkgICAgTGVrdGlvbiA2LjQ6IFRFWFQgS09QSUVSRU4gVU5EIEVJTkbDnEdFTg0KLQ0KLSAqKiBCZW51dHplIGRlbiAgeSAgT3BlcmF0b3IsIHVtIFRleHQgenUga29waWVyZW47ICBwICAsIHVtIGlobiBlaW56dWbDvGdlbiAqKg0KLQ0KLSAgMS4gR2VoZSB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbjsgc2V0emUgZGVuIEN1cnNvciBoaW50ZXIgImEpIi4NCi0NCi0gIDIuIFN0YXJ0ZSBkZW4gVmlzdWVsbGVuIE1vZHVzIG1pdCAgdiAgLCBiZXdlZ2UgZGVuIEN1cnNvciBnZW5hdSB2b3IgImVyc3RlIi4NCi0NCi0gIDMuIFRpcHBlICB5ICAsIHVtIGRlbiBoZXJ2b3JnZWhvYmVuIFRleHQgenUga29waWVyZW4uDQotDQotICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIgbsOkY2hzdGVuIFplaWxlOiAgaiQNCi0NCi0gIDUuIFRpcHBlICBwICwgdW0gZGVuIFRleHQgZWluenVmw7xnZW4gdW5kIGFuc2NobGllw59lbmQ6ICBhIHp3ZWl0ZSA8RVNDPiAuDQotDQotICA2LiBCZW51dHplIGRlbiBWaXN1ZWxsZW4gTW9kdXMsIHVtICIgRWludHJhZy4iIGF1c3p1d8OkaGxlbiwga29waWVyZSBtaXR0ZWxzDQotICAgICB5ICwgYmV3ZWdlIERpY2ggenVtIEVuZGUgZGVyIG7DpGNoc3RlbiBaZWlsZSBtaXQgIGokICB1bmQgZsO8Z2UgZGVuIFRleHQNCi0gICAgIGRvcnQgbWl0ICBwICBhbi4NCi0NCi0tLS0+ICBhKSBkaWVzIGlzdCBkZXIgZXJzdGUgRWludHJhZy4NCi0gICAgICBiKQ0KLQ0KLUFubWVya3VuZzogRHUga2FubnN0ICB5ICBhdWNoIGFscyBPcGVyYXRvciB2ZXJ3ZW5kZW47ICB5dyAga29waWVydCBlaW4gV29ydC4NCi1+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+fn4NCi0JCQkgIExla3Rpb24gNi41OiBPUFRJT05FTiBTRVRaRU4NCi0NCi0gICAgICAqKiBTZXR6ZSBlaW5lIE9wdGlvbiBzbywgZGFzcyBlaW5lIFN1Y2hlIG9kZXIgRXJzZXR6dW5nIEdyb8OfLSAqKg0KLQkJICAgICAgKiogdW5kIEtsZWluc2NocmVpYnVuZyBpZ25vcmllcnQgKioNCi0NCi0gIDEuIFN1Y2hlIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICAgIC9pZ25vcmllcmUgICBlaW5naWJzdC4NCi0gICAgIFdpZWRlcmhvbGUgZGllIFN1Y2hlIGVpbmlnZSBNYWxlLCBpbmRlbSBEdSBkaWUgbiAtIFRhc3RlIGRyw7xja3N0Lg0KLQ0KLSAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuDQotDQotICAzLiBOdW4gc3VjaGUgd2llZGVyIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICBuICB0aXBwc3QuDQotICAgICBCZWFjaHRlLCBkYXNzIGpldHp0IElnbm9yaWVyZSB1bmQgYXVjaCBJR05PUklFUkUgZ2VmdW5kZW4gd2lyZC4NCi0NCi0gIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIHVuZCAnaW5jc2VhcmNoJyAtIE9wdGlvbmVuOiAgICAgOnNldCBobHMgaXMNCi0NCi0gIDUuIFdpZWRlcmhvbGUgZGllIFN1Y2hlIHVuZCBiZW9iYWNodGUsIHdhcyBwYXNzaWVydDogL2lnbm9yaWVyZSA8RU5URVI+DQotDQotICA2LiBVbSBkYXMgSWdub3JpZXJlbiB2b24gR3Jvw58vS2xlaW5zY2hyZWlidW5nIGFienVzY2hhbHRlbiwgdGlwcGU6ICA6c2V0IG5vaWMNCi0NCi1Bbm1lcmt1bmc6IFVtIGRpZSBIZXJ2b3JoZWJ1bmcgZGVyIFRyZWZmZXIgenUgZW50ZmVybmVuLCBnaWIgZWluOiAgOm5vaGxzZWFyY2gNCi1Bbm1lcmt1bmc6IFVtIGRpZSBTY2hyZWlid2Vpc2UgZsO8ciBlaW5lIGVpbnppZ2UgU3VjaGUgenUgaWdub3JpZXJlbiwgYmVudXR6ZSBcYw0KLSAgICAgICAgICAgaW0gU3VjaGF1c2RydWNrOiAgL2lnbm9yaWVyZVxjICA8RU5URVI+DQotfn5+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+DQotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA2DQotDQotIDEuIFRpcHBlICBvICAsIHVtIGVpbmUgWmVpbGUgVU5URVIgZGVtIEN1cnNvciB6dSDDtmZmbmVuIHVuZCBkZW4gRWluZsO8Z2Vtb2R1cw0KLSAgICAgICAgICAgICAgICB6dSBzdGFydGVuDQotICAgIFRpcHBlICBPICAsIHVtIGVpbmUgWmVpbGUgw5xCRVIgZGVtIEN1cnNvciB6dSDDtmZmbmVuLg0KLQ0KLSAyLiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLg0KLSAgICBUaXBwZSAgQSAgLCB1bSBUZXh0IG5hY2ggZGVtIFplaWxlbmVuZGUgYW56dWbDvGdlbi4NCi0NCi0gMy4gRGFzIEtvbW1hbmRvICBlICBicmluZ3QgRGljaCB6dW0gRW5kZSBlaW5lcyBXb3J0ZXMuDQotDQotIDQuIERlciBPcGVyYXRvciAgeSAgKHlhbmspIGtvcGllcnQgVGV4dCwgIHAgIChwdXQpIGbDvGd0IGlobiBlaW4uDQotDQotIDUuIEVpbiBncm/Dn2VzICBSICBnZWh0IGluIGRlbiBFcnNldHp1bmdzbW9kdXMgYmlzIHp1bSBEcsO8Y2tlbiB2b24gIDxFU0M+IC4NCi0NCi0gNi4gRGllIEVpbmdhYmUgdm9uICI6c2V0IHh4eCIgc2V0enQgZGllIE9wdGlvbiAieHh4Ii4gRWluaWdlIE9wdGlvbmVuIHNpbmQ6DQotCSdpYycgJ2lnbm9yZWNhc2UnICAgIElnbm9yaWVyZSBHcm/Dny9LbGVpbnNjaHJlaWJ1bmcgYmVpIGVpbmVyIFN1Y2hlDQotCSdpcycgJ2luY3NlYXJjaCcgICAgIFplaWdlIFRlaWzDvGJlcmVpbnN0aW1tdW5nZW4gZsO8ciBlaW5lbiBTdWNoYXVzZHJ1Y2sNCi0JJ2hscycgJ2hsc2VhcmNoJyAgICAgSGViZSBhbGxlIHBhc3NlbmRlbiBBdXNkcsO8Y2tlIGhlcnZvcg0KLSAgICBEZXIgT3B0aW9uc25hbWUga2FubiBpbiBkZXIgS3Vyei0gb2RlciBkZXIgTGFuZ2Zvcm0gYW5nZWdlYmVuIHdlcmRlbi4NCi0NCi0gNy4gU3RlbGxlIGVpbmVyIE9wdGlvbiAibm8iIHZvcmFuLCB1bSBzaWUgYWJ6dXNjaGFsdGVuOiAgIDpzZXQgbm9pYw0KLX5+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+fg0KLQkJCUxla3Rpb24gNy4xIDogQVVGUlVGRU4gVk9OIEhJTEZFDQotDQotDQotCQkgICAgICoqIE51dHplIGRhcyBlaW5nZWJhdXRlIEhpbGZlc3lzdGVtICoqDQotDQotICBWaW0gYmVzaXR6dCBlaW4gdW1mYXNzZW5kZXMgZWluZ2ViYXV0ZXMgSGlsZmVzeXN0ZW0uICBGw7xyIGRlbiBBbmZhbmcgcHJvYmllcmUNCi0gIGVpbnMgZGVyIGRyZWkgZm9sZ2VuZGVuIERpbmdlIGF1czoNCi0JLSBEcsO8Y2tlIGRpZSA8SGlsZmU+IC0gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkNCi0JLSBEcsO8Y2tlIGRpZSA8RjE+IFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpDQotCS0gVGlwcGUgICA6aGVscCA8RU5URVI+DQotDQotICBMaWVzIGRlbiBUZXh0IGltIEhpbGZlZmVuc3RlciwgdW0genUgdmVyc3RlaGVuIHdpZSBkaWUgSGlsZmUgZnVua3Rpb25pZXJ0Lg0KLSAgVGlwcGUgIENUUkwtVyBDVFJMLVcgICAsIHVtIHZvbiBlaW5lbSBGZW5zdGVyIHp1bSBhbmRlcmVuIHp1IHNwcmluZ2VuLg0KLSAgVGlwcGUgICA6cSA8RU5URVI+ICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGllw59lbi4NCi0NCi0gIER1IGthbm5zdCBIaWxmZSB6dSBwcmFrdGlzY2ggamVkZW0gVGhlbWEgZmluZGVuLCBpbmRlbSBEdSBkZW0gIjpoZWxwIi0NCi0gIEtvbW1hbmRvIGVpbiBBcmd1bWVudCBnaWJzdC4gIFByb2JpZXJlIGZvbGdlbmRlcyAoPEVOVEVSPiBuaWNodCB2ZXJnZXNzZW4pOg0KLQ0KLQk6aGVscCB3DQotCTpoZWxwIGNfQ1RSTC1EDQotCTpoZWxwIGluc2VydC1pbmRleA0KLQk6aGVscCB1c2VyLW1hbnVhbA0KLX5+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+fg0KLQkJICAgICBMZWt0aW9uIDcuMjogRVJTVEVMTEUgRUlOIFNUQVJULVNLUklQVA0KLQ0KLQ0KLQkgICAgICAgICAgKiogIEFrdGl2aWVyZSBkaWUgRmVhdHVyZXMgdm9uIFZpbSAqKg0KLQ0KLSAgVmltIGJlc2l0enQgdmllbGUgRnVua3Rpb25hbGl0w6R0ZW4sIGRpZSDDvGJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3Rlbg0KLSAgdm9uIGlobmVuIHNpbmQgc3RhbmRhcmRtw6TDn2lnIGRlYWt0aXZpZXJ0LiBVbSBtZWhyIEZ1bmt0aW9uYWxpdMOkdGVuIHp1IG51dHplbiwNCi0gIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4NCi0NCi0gIDEuIFN0YXJ0ZSBkYXMgRWRpdGllcmVuIGRlciAidmltcmMiLURhdGVpLCBhYmjDpG5naWcgdm9uIGRlaW5lbSBTeXN0ZW06DQotCTplIH4vLnZpbXJjCQlmw7xyIFVuaXgNCi0JOmUgJFZJTS9fdmltcmMJCWbDvHIgTVMtV2luZG93cw0KLQ0KLSAgMi4gTnVuIGxpZXMgZGVuIEluaGFsdCBkZXIgQmVpc3BpZWwtInZpbXJjIi1EYXRlaSBlaW46DQotCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltDQotDQotICAzLiBTcGVpY2hlcmUgZGllIERhdGVpIG1pdDoNCi0JOncNCi0NCi0gIEJlaW0gbsOkY2hzdGVuIFN0YXJ0IHZvbiBWaW0gd2lyZCBkaWUgU3ludGF4aGVydm9yaGVidW5nIGFrdGl2aWVydCBzZWluLg0KLSAgRHUga2FubnN0IGFsbCBkZWluZSBiZXZvcnp1Z3RlbiBPcHRpb25lbiB6dSBkaWVzZXIgInZpbXJjIi1EYXRlaSB6dWbDvGdlbi4NCi0gIEbDvHIgbWVociBJbmZvcm1hdGlvbmVuIHRpcHBlICA6aGVscCB2aW1yYy1pbnRybw0KLX5+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+fg0KLQkJCSBMZWt0aW9uIDcuMzogVkVSVk9MTFNUw4RORElHRU4NCi0NCi0NCi0JICAgKiogS29tbWFuZG96ZWlsZW52ZXJ2b2xsc3TDpG5kaWd1bmcgbWl0IENUUkwtRCB1bmQgPFRBQj4gKioNCi0NCi0gIDEuIFN0ZWxsZSBzaWNoZXIsIGRhc3MgVmltIG5pY2h0IGltIFZpLUtvbXBhdGliaWxpdMOkdHNtb2R1cyBpc3Q6ICA6c2V0IG5vY3ANCi0NCi0gIDIuIFNpZWhlIG5hY2gsIHdlbGNoZSBEYXRlaWVuIGltIFZlcnplaWNobmlzIGV4aXN0aWVyZW46ICA6IWxzICBvZGVyICA6ZGlyDQotDQotICAzLiBUaXBwZSBkZW4gQmVnaW5uIGVpbmVzIEtvbW1hbmRvczogIDplDQotDQotICA0LiBEcsO8Y2tlICBDVFJMLUQgIHVuZCBWaW0gemVpZ3QgZWluZSBMaXN0ZSBtaXQgImUiIGJlZ2lubmVuZGVyIEtvbW1hbmRvcy4NCi0NCi0gIDUuIERyw7xja2UgIDxUQUI+ICB1bmQgVmltIHZlcnZvbGxzdMOkbmRpZ3QgZGVuIEtvbW1hbmRvbmFtZW4genUgIjplZGl0Ii4NCi0NCi0gIDYuIE51biBmw7xnZSBlaW4gTGVlcnplaWNoZW4gdW5kIGRlbiBBbmZhbmcgZWluZXIgZXhpc3RpZXJlbmRlbiBEYXRlaSBhbjoNCi0gICAgIDplZGl0IERBVA0KLQ0KLSAgNy4gRHLDvGNrZSA8VEFCPi4gVmltIHZlcnZvbGxzdMOkbmRpZ3QgZGVuIE5hbWVuIChmYWxscyBlciBlaW5kZXV0aWcgaXN0KS4NCi0NCi1Bbm1lcmt1bmc6IFZlcnZvbGxzdMOkbmRpZ3VuZyBmdW5rdGlvbmllcnQgZsO8ciB2aWVsZSBLb21tYW5kb3MuIFByb2JpZXJlDQotICAgICBlaW5mYWNoIENUUkwtRCB1bmQgPFRBQj4uICBEaWVzIGlzdCBpbnNiZXNvbmRlcmUgbsO8dHpsaWNoIGbDvHIgIDpoZWxwIC4NCi1+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+fn4NCi0JCQkJICAgICBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNw0KLQ0KLQ0KLSAgMS4gVGlwcGUgIDpoZWxwICBvZGVyIGRyw7xja2UgPEYxPiBvZGVyIDxIZWxwPiwgdW0gZWluIEhpbGZlZmVuc3RlciB6dSDDtmZmbmVuLg0KLQ0KLSAgMi4gVGlwcGUgIDpoZWxwIEtvbW1hbmRvICAsIHVtIEhpbGZlIMO8YmVyICBLb21tYW5kbyAgenUgZXJoYWx0ZW4uDQotDQotICAzLiBUaXBwZSAgQ1RSTC1XIENUUkwtVyAgLCB1bSB6dW0gYW5kZXJlbiBGZW5zdGVyIHp1IHNwcmluZ2VuLg0KLQ0KLSAgNC4gVGlwcGUgIDpxICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGllw59lbi4NCi0NCi0gIDUuIEVyc3RlbGxlIGVpbiB2aW1yYyAtIFN0YXJ0c2tyaXB0IG1pdCBkZWluZW4gYmV2b3J6dWd0ZXIgRWluc3RlbGx1bmdlbi4NCi0NCi0gIDYuIERyw7xja2UgQ1RSTC1EIG5hY2ggZGVtIFRpcHBlbiBlaW5lcyAgOiAgS29tbWFuZG9zLCB1bSBtw7ZnbGljaGUNCi0gICAgIFZlcnZvbGxzdMOkbmRpZ3VuZ2VuIGFuenVzZWhlbi4NCi0gICAgIERyw7xja2UgPFRBQj4gLCB1bSBlaW5lIFZlcnZvbGxzdMOkbmRpZ3VuZyB6dSBhbnp1d2VuZGVuLg0KLQ0KLQ0KLQ0KLQ0KLQ0KLQ0KLX5+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+fg0KLQ0KLSAgRGFtaXQgaXN0IGRlciBWaW0gVHV0b3IgYmVlbmRldC4gIFNlaW5lIEludGVudGlvbiB3YXIsIGVpbmVuIGt1cnplbiB1bmQNCi0gIGLDvG5kaWdlbiDDnGJlcmJsaWNrIMO8YmVyIGRlbiBWaW0gRWRpdG9yIHp1IGdlYmVuOyBnZXJhZGUgZ2VudWcsIHVtIHJlbGF0aXYNCi0gIGxlaWNodCBtaXQgaWhtIHVtZ2VoZW4genUga8O2bm5lbi4gIERlciBWaW0gVHV0b3IgaGF0IG5pY2h0IGRlbiBnZXJpbmdzdGVuDQotICBBbnNwcnVjaCBhdWYgVm9sbHN0w6RuZGlna2VpdDsgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuIExpZXMgYWxzDQotICBuw6RjaHN0ZXMgZGFzIFVzZXIgTWFudWFsOiAiOmhlbHAgdXNlci1tYW51YWwiLg0KLQ0KLSAgRsO8ciB3ZWl0ZXJlcyBMZXNlbiB1bmQgTGVybmVuIGlzdCBmb2xnZW5kZXMgQnVjaCBlbXBmZWhsZW5zd2VydCA6DQotCVZpbSAtIFZpIEltcHJvdmVkIC0gdm9uIFN0ZXZlIE91YWxsaW5lDQotCVZlcmxhZzogTmV3IFJpZGVycw0KLSAgRGFzIGVyc3RlIEJ1Y2gsIHdlbGNoZXMgZHVyY2hnw6RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbsO8dHpsaWNoDQotICBmw7xyIEFuZsOkbmdlci4gIFZpZWxlIEJlaXNwaWVsZSB1bmQgQmlsZGVyIHNpbmQgZW50aGFsdGVuLg0KLSAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwNCi0NCi0gIEZvbGdlbmRlcyBCdWNoIGlzdCDDpGx0ZXIgdW5kIG1laHIgw7xiZXIgVmkgYWxzIFZpbSwgYWJlciBhdWNoIGVtcGZlaGxlbnN3ZXJ0Og0KLQlUZXh0YmVhcmJlaXR1bmcgbWl0IGRlbSBWaS1FZGl0b3IgIC0gIHZvbiBMaW5kYSBMYW1iIHVuZCBBcm5vbGQgUm9iYmlucw0KLQlWZXJsYWcgTydSZWlsbHkgLSBJU0JOOiAzODk3MjExMjYyDQotICBJbiBkaWVzZW0gQnVjaCBrYW5uIG1hbiBmYXN0IGFsbGVzIGZpbmRlbiwgd2FzIG1hbiBtaXQgVmkgdHVuIG3DtmNodGUuDQotICBEaWUgc2VjaHN0ZSBBdXNnYWJlIGVudGjDpGx0IGF1Y2ggSW5mb3JtYXRpb25lbiDDvGJlciBWaW0uDQotDQotICBBbHMgYWt0dWVsbGUgUmVmZXJlbnogZsO8ciBWZXJzaW9uIDYuMiB1bmQga25hcHBlIEVpbmbDvGhydW5nIGRpZW50IGRhcw0KLSAgZm9sZ2VuZGUgQnVjaDoNCi0JdmltIGdlLXBhY2t0IHZvbiBSZWluaGFyZCBXb2JzdA0KLQltaXRwLVZlcmxhZywgSVNCTiAzLTgyNjYtMTQyNS05DQotICBUcm90eiBkZXIga29tcGFrdGVuIERhcnN0ZWxsdW5nIGlzdCBlcyBkdXJjaCB2aWVsZSBuw7x0emxpY2hlIEJlaXNwaWVsZSBhdWNoDQotICBmw7xyIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZA0KLSAgb25saW5lIGVyaMOkbHRsaWNoLiAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwNCi0NCi0gIERpZXNlcyBUdXRvcmlhbCB3dXJkZSBnZXNjaHJpZWJlbiB2b24gTWljaGFlbCBDLiBQaWVyY2UgdW5kIFJvYmVydCBLLiBXYXJlLA0KLSAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzLiBFcyBiZW51dHp0IElkZWVuLCBkaWUgQ2hhcmxlcyBTbWl0aCwgQ29sb3JhZG8gU3RhdGUNCi0gIFVuaXZlcnNpdHksIHp1ciBWZXJmw7xndW5nIHN0ZWxsdGUuICBFLU1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4NCi0NCi0gIEJlYXJiZWl0ZXQgZsO8ciBWaW0gdm9uIEJyYW0gTW9vbGVuYWFyLg0KLSAgRGV1dHNjaGUgw5xiZXJzZXR6dW5nIHZvbiBKb2FjaGltIEhvZm1hbm4gMjAxNS4gIEUtTWFpbDogSm9hY2hpbS5Ib2ZAZ214LmRlDQotDQotfn5+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+DQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorPSAgICAgIFcgaSBsIGwgayBvIG0gbSBlIG4gICBpbSAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgVmVyc2lvbiAxLjcuZGUuMSAgPQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICBWaW0gaXN0IGVpbiBzZWhyIG3DpGNodGlnZXIgRWRpdG9yLCBkZXIgdmllbGUgQmVmZWhsZSBiZXJlaXRzdGVsbHQ7IHp1IHZpZWxlLAorICAgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zDpHJlbi4gIERpZXNlciBUdXRvciBpc3Qgc28KKyAgIGdlc3RhbHRldCwgdW0gZ2VudWcgQmVmZWhsZSB2b3J6dXN0ZWxsZW4sIGRhc3MgRHUgZGllIEbDpGhpZ2tlaXQgZXJsYW5nc3QsCisgICBWaW0gbWl0IExlaWNodGlna2VpdCBhbHMgZWluZW4gQWxsendlY2stRWRpdG9yIHp1IHZlcndlbmRlbi4KKyAgIERpZSBaZWl0IGbDvHIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRyw6RndCBjYS4gMjUtMzAgTWludXRlbiwKKyAgIGFiaMOkbmdpZyBkYXZvbiwgd2llIHZpZWwgWmVpdCBEdSBtaXQgRXhwZXJpbWVudGllcmVuIHZlcmJyaW5nc3QuCisKKyAgIEFDSFRVTkc6CisgICBEaWUgaW4gZGVuIExla3Rpb25lbiBhbmdld2VuZGV0ZW4gS29tbWFuZG9zIHdlcmRlbiBkZW4gVGV4dCBtb2RpZml6aWVyZW4uCisgICBFcnN0ZWxsZSBlaW5lIEtvcGllIGRpZXNlciBEYXRlaSwgaW4gZGVyIER1IMO8YmVuIHdpbGxzdCAoZmFsbHMgRHUgInZpbXR1dG9yIgorICAgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLgorCisgICBFcyBpc3Qgd2ljaHRpZywgc2ljaCB6dSB2ZXJnZWdlbnfDpHJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgZsO8ciBkYXMgQW53ZW5kZW4KKyAgIGtvbnppcGllcnQgaXN0LiBEYXMgYmVkZXV0ZXQsIGRhc3MgRHUgZGllIEJlZmVobGUgYW53ZW5kZW4gbXVzc3QsIHVtIHNpZQorICAgcmljaHRpZyB6dSBsZXJuZW4uIFdlbm4gRHUgbnVyIGRlbiBUZXh0IGxpZXN0LCB2ZXJnaXNzdCBEdSBkaWUgQmVmZWhsZSEKKworICAgSmV0enQgc3RlbGxlIHNpY2hlciwgZGFzcyBkZWluZSBVbXN0ZWxsdGFzdGUgTklDSFQgZ2VkcsO8Y2t0IGlzdCB1bmQgYmV0w6R0aWdlCisgICBkaWUgICBqICAgVGFzdGUgZ2Vuw7xnZW5kIE1hbCwgdW0gZGVuIEN1cnNvciBuYWNoIHVudGVuIHp1IGJld2VnZW4sIHNvIGRhc3MKKyAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZsO8bGx0Lgorfn5+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+CisJCQlMZWt0aW9uIDEuMTogQkVXRUdFTiBERVMgQ1VSU09SUworCisgICoqIFVtIGRlbiBDdXJzb3IgenUgYmV3ZWdlbiwgZHLDvGNrZSBkaWUgaCxqLGssbCBUYXN0ZW4gd2llIHVudGVuIGdlemVpZ3QuICoqCisJICAgICBeCQkgSGlsZmVzdGVsbHVuZzoKKwkgICAgIGsJCSBEaWUgaCBUYXN0ZSBiZWZpbmRldCBzaWNoIGxpbmtzIHVuZCBiZXdlZ3QgbmFjaCBsaW5rcy4KKyAgICAgICA8IGgJIGwgPgkgRGllIGwgVGFzdGUgbGllZ3QgcmVjaHRzIHVuZCBiZXdlZ3QgbmFjaCByZWNodHMuCisJICAgICBqCQkgRGllIGogVGFzdGUgw6RobmVsdCBlaW5lbSBQZmVpbCBuYWNoIHVudGVuLgorCSAgICAgdgorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciBhdWYgZGVtIEJpbGRzY2hpcm0gdW1oZXIsIGJpcyBEdSBEaWNoIHNpY2hlciBmw7xobHN0LgorCisgIDIuIEhhbHRlIGRpZSBOYWNoLVVudGVuLVRhc3RlIChqKSBnZWRyw7xja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0LgorICAgICBKZXR6dCB3ZWnDn3QgRHUsIHdpZSBEdSBEaWNoIHp1ciBuw6RjaHN0ZW4gTGVrdGlvbiBiZXdlZ2VuIGthbm5zdC4KKworICAzLiBCZW51dHplIGRpZSBOYWNoLVVudGVuLVRhc3RlLCB1bSBEaWNoIHp1IExla3Rpb24gMS4yIHp1IGJld2VnZW4uCisKK0FubWVya3VuZzogSW1tZXIsIHdlbm4gRHUgRGlyIHVuc2ljaGVyIGJpc3Qgw7xiZXIgZGFzLCB3YXMgRHUgZ2V0aXBwdCBoYXN0LAorCSAgIGRyw7xja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLgorCSAgIERhbm4gZ2liIGRhcyBnZXfDvG5zY2h0ZSBLb21tYW5kbyBub2NoIGVpbm1hbCBlaW4uCisKK0FubWVya3VuZzogRGllIEN1cnNvci1UYXN0ZW4gc29sbHRlbiBlYmVuZmFsbHMgZnVua3Rpb25pZXJlbi4gIEFiZXIgd2VubiBEdQorCSAgIGhqa2wgYmVudXR6dCwgd2lyc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgRGljaCBzZWhyIHZpZWwgc2NobmVsbGVyCisJICAgdW1oZXJ6dWJld2VnZW4sIHdlbm4gRHUgRGljaCBlaW5tYWwgZGFyYW4gZ2V3w7ZobnQgaGFzdC4gV2lya2xpY2ghCit+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+fn4KKwkJCSAgICBMZWt0aW9uIDEuMjogVklNIEJFRU5ERU4KKworCisgICEhIEhpbndlaXM6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWbDvGhydGVuIFNjaHJpdHRlIGF1c2bDvGhyc3QsIGxpZXMKKyAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISEKKworICAxLiBEcsO8Y2tlIGRpZSA8RVNDPiBUYXN0ZSAodW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QpLgorCisgIDIuIFRpcHBlOgk6cSEgPEVOVEVSPi4KKyAgICAgRGllcyBiZWVuZGV0IGRlbiBFZGl0b3IgdW5kIFZFUldJUkZUIGFsbGUgw4RuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuCisKKyAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQorICAgICBkaWVzZW0gVHV0b3IgZ2Vmw7xocnQgaGF0LiBEaWVzIHfDpHJlOgl2aW10dXRvciA8RU5URVI+CisKKyAgNC4gV2VubiBEdSBEaXIgZGllc2UgU2Nocml0dGUgZWluZ2VwcsOkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZsO8aGxzdCwKKyAgICAgZsO8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyCisgICAgIGhpbmVpbnp1Z2VsYW5nZW4uCisKK0FubWVya3VuZzogIDpxISA8RU5URVI+ICB2ZXJ3aXJmdCBhbGxlIMOEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LiBFaW5pZ2UKKyAgICAgTGVrdGlvbmVuIHNww6R0ZXIgbGVybnN0IER1LCBkaWUgw4RuZGVydW5nZW4gaW4gZWluZXIgRGF0ZWkgenUgc3BlaWNoZXJuLgorCisgIDUuIEJld2VnZSBkZW4gQ3Vyc29yIGFid8OkcnRzIHp1IExla3Rpb24gMS4zLgorIH5+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+fgorCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzDllNDSEVOCisKKworCSAqKiBEcsO8Y2tlICB4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbMO2c2NoZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCisKKyAgMi4gVW0gZGllIEZlaGxlciB6dSBiZWhlYmVuLCBiZXdlZ2UgZGVuIEN1cnNvciwgYmlzIGVyIMO8YmVyIGRlbSBaZWljaGVuIHN0ZWh0LAorICAgICBkYXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLgorCisgIDMuIERyw7xja2UgZGllICB4ICBUYXN0ZSwgdW0gZGFzIHVuZXJ3w7xuc2NodGUgWmVpY2hlbiB6dSBsw7ZzY2hlbi4KKworICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QuCisKKy0tLT4gRGllIEtrdWggc3ByYW5nZyDDvGJiZXJyIGRlZW4gTW9vbmQuCisKKyAgNS4gTnVuLCBkYSBkaWUgWmVpbGUga29ycmVrdCBpc3QsIGdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDEuNC4KKworQW5tZXJrdW5nOiBXw6RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUKKyAgICBsZXJuZW4sIGxlcm5lIHZpZWxtZWhyIGR1cmNoIEFud2VuZGVuLgorCisKK35+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+fgorCQkgICAgIExla3Rpb24gMS40OiBURVhUIEVESVRJRVJFTiAtIEVJTkbDnEdFTgorCisKKwkJICAgICoqICBEcsO8Y2tlICBpICAsIHVtIFRleHQgZWluenVmw7xnZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKworICAyLiBVbSBkaWUgZXJzdGUgWmVpbGUgbWl0IGRlciB6d2VpdGVuIGdsZWljaHp1bWFjaGVuLCBiZXdlZ2UgZGVuIEN1cnNvciBhdWYKKyAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCBhbiBkZXIgVGV4dCBlaW5nZWbDvGd0IHdlcmRlbiBzb2xsLgorCisgIDMuIERyw7xja2UgIGkgIHVuZCBnaWIgZGllIG7DtnRpZ2VuIEVyZ8Okbnp1bmdlbiBlaW4uCisKKyAgNC4gV2VubiBqZXdlaWxzIGVpbiBGZWhsZXIgYmVzZWl0aWd0IGlzdCwgZHLDvGNrZSA8RVNDPiAsIHVtIHp1bSBOb3JtYWxtb2R1cworICAgICB6dXLDvGNrenVrZWhyZW4uCisJCSBXaWVkZXJob2xlIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgorCistLS0+IEluIGRpZXNlciBmdCBldHdhcyAuCistLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgorCisgIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmbDvGdlbiB2b24gVGV4dCBzaWNoZXIgZsO8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNS4KKworCit+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+fn4KKwkJICAgICBMZWt0aW9uIDEuNTogVEVYVCBFRElUSUVSRU4gLSBBTkbDnEdFTgorCisKKwkJICAgICAqKiBEcsO8Y2tlICBBICAsIHVtIFRleHQgYW56dWbDvGdlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgorICAgICBEYWJlaSBpc3QgZ2xlaWNoZ8O8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4KKworICAyLiBEcsO8Y2tlICBBICB1bmQgZ2liIGRpZSBlcmZvcmRlcmxpY2hlbiBFcmfDpG56dW5nZW4gZWluLgorCisgIDMuIFdlbm4gZGFzIEFuZsO8Z2VuIGFiZ2VzY2hsb3NzZW4gaXN0LCBkcsO8Y2tlIDxFU0M+LCB1bSBpbiBkZW4gTm9ybWFsbW9kdXMKKyAgICAgenVyw7xja3p1a2VocmVuLgorCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW5kIHdpZWRlcmhvbGUKKyAgICAgZGllIFNjaHJpdHRlIDIgdW5kIDMsIHVtIGRlbiBTYXR6IHp1IGF1c3p1YmVzc2Vybi4KKworLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVoCisgICAgIEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgorLS0tPiBBdWNoIGhpZXIgc3RlaAorICAgICBBdWNoIGhpZXIgc3RlaHQgZXR3YXMgVW52b2xsc3TDpG5kaWdlcy4KKworICA1LiBXZW5uIER1IGRpY2ggbWl0IGRlbSBBbmbDvGdlbiB2b24gVGV4dCBzaWNoZXIgZsO8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNi4KK35+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+fgorCQkgICAgICAgTGVrdGlvbiAxLjY6IEVJTkUgREFURUkgRURJVElFUkVOCisKKwkJICoqIEJlbnV0emUgIDp3cSAgLCB1bSBlaW5lIERhdGVpIHp1IHNwZWljaGVybiB1bmQgVmltIHp1IHZlcmxhc3Nlbi4gKioKKworICAhISBIaW53ZWlzOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vmw7xocnRlbiBTY2hyaXR0ZSBhdXNmw7xocnN0LCBsaWVzCisgICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhCisKKyAgMS4gVmVybGFzc2UgZGVuIEVkaXRvciBzbyB3aWUgaW4gTGVrdGlvbiAxLjI6ICA6cSEgICAgICAgCisJICAgT2RlciwgZmFsbHMgZHUgWnVncmlmZiB6dSBlaW5lbSBhbmRlcmVuIFRlcm1pbmFsIGhhc3QsIGbDvGhyZSBkYXMgCisJCSBGb2xnZW5kZSBkb3J0IGF1cy4KKworICAyLiBHaWIgZGllc2VzIEtvbW1hbmRvIGluIGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIGVpbjogIHZpbSB0dXRvciA8RU5URVI+CisgICAgICd2aW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuCisgICAgIEJlbnV0emUgZWluZSBEYXRlaSwgZGllIGdlw6RuZGVydCB3ZXJkZW4gZGFyZi4KKworICAzLiBGw7xnZSBUZXh0IGVpbiBvZGVyIGzDtnNjaGUgaWhuLCB3aWUgRHUgaW4gZGVuIHZvcmFuZ2VoZW5kZW4gTGVrdGlvbmVuIAorICAgICBnZWxlcm50IGhhc3QuCisKKyAgNC4gU3BlaWNoZXJlIGRpZSBnZcOkbmRlcnRlIERhdGVpIHVuZCB2ZXJsYXNzZSBWaW0gbWl0OiAgOndxICA8RU5URVI+CisKKyAgNS4gRmFsbHMgRHUgaW4gU2Nocml0dCAxIGRlbiB2aW10dXRvciBiZWVuZGV0IGhhc3QsIHN0YXJ0ZSB2aW10dXRvciBuZXUgdW5kCisJICAgYmV3ZWdlIGRpY2ggYWJ3w6RydHMgYmlzIHp1ciBmb2xnZW5kZW4gWnVzYW1tZW5mYXNzdW5nLgorCisgIDYuIE5hY2hkZW0gRHUgb2JpZ2UgU2Nocml0dGUgZ2VsZXNlbiB1bmQgdmVyc3RhbmRlbiBoYXN0OiBmw7xocmUgc2llIGR1cmNoLgorfn5+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+CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDEKKworCisgIDEuIERlciBDdXJzb3Igd2lyZCBtaXQgZGVuIFBmZWlsdGFzdGVuIG9kZXIgZGVuIFRhc3RlbiBoamtsIGJld2VndC4KKwkgaCAobGlua3MpICAgICBqICh1bnRlbikgICAgIGsgKGF1ZnfDpHJ0cykgICAgbCAocmVjaHRzKQorCisgIDIuIFVtIFZpbSBhdXMgZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmcgenUgc3RhcnRlbiwgdGlwcGU6IHZpbSBEQVRFSSA8RU5URVI+CisKKyAgMy4gVW0gVmltIHp1IHZlcmxhc3NlbiB1bmQgYWxsZSDDhG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOgorCQk8RVNDPiAgOnEhICA8RU5URVI+IC4KKworICA0LiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGzDtnNjaGVuLCB0aXBwZTogIHgKKworICA1LiBVbSBUZXh0IGVpbnp1ZsO8Z2VuIG9kZXIgYW56dWbDvGdlbiwgdGlwcGU6CisJIGkgICBFaW56dWbDvGdlbmRlbiBUZXh0IGVpbmdlYmVuICAgPEVTQz4gICAgRWluZsO8Z2VuIHZvciBkZW0gQ3Vyc29yCisJIEEgICBBbnp1ZsO8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICAgPEVTQz4gICAgQW5mw7xnZW4gbmFjaCBkZW0gWmVpbGVuZW5kZQorCitBbm1lcmt1bmc6IERyw7xja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgb2RlciBicmljaHQgZWluCisgICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCisKKyAgICAgTnVuIGZhaHJlIG1pdCBMZWt0aW9uIDIgZm9ydC4KK35+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+fgorCQkJICBMZWt0aW9uIDIuMTogTMOWU0NIS09NTUFORE9TCisKKworCQkgICAqKiBUaXBwZSAgZHcgICwgdW0gZWluIFdvcnQgenUgbMO2c2NoZW4uICoqCisKKyAgMS4gRHLDvGNrZSAgPEVTQz4gICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuCisKKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCisKKyAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBlaW5lcyBXb3J0ZXMsIGRhcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGwuCisKKyAgNC4gVGlwcGUgIGR3ICAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4KKworICBBbm1lcmt1bmc6IERlciBCdWNoc3RhYmUgIGQgIGVyc2NoZWludCBhdWYgZGVyIHVudGVyc3RlbiBaZWlsZSBkZXMgU2NoaXJtcywKKyAgICAgICAgd2VubiBEdSBpaG4gZWluZ2lic3QuIFZpbSB3YXJ0ZXQgZGFyYXVmLCBkYXNzIER1ICB3ICBlaW5naWJzdC4gRmFsbHMgRHUKKyAgICAgICAgZWluIGFuZGVyZXMgWmVpY2hlbiBhbHMgIGQgIHNpZWhzdCwgaGFzdCBEdSBldHdhcyBGYWxzY2hlcyBnZXRpcHB0OworICAgICAgICBkcsO8Y2tlIDxFU0M+IHVuZCBiZWdpbm5lIG5vY2ggZWlubWFsLgorCistLS0+IEVpbmlnZSBXw7ZydGVyIGx1c3RpZyBnZWjDtnJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouCisKKyAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMyB1bmQgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0IHVuZCBnZWhlCisgICAgIHp1ciBMZWt0aW9uIDIuMi4KK35+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+fgorCQkgICAgICBMZWt0aW9uIDIuMjogV0VJVEVSRSBMw5ZTQ0hLT01NQU5ET1MKKworCisJICAgICoqIFRpcHBlICBkJCAgLCB1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGzDtnNjaGVuLiAqKgorCisgIDEuIERyw7xja2UgPEVTQz4gLCB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdC4KKworICAyLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KKworICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIga29ycmVrdGVuIFplaWxlIChOQUNIIGRlbSBlcnN0ZW4gLiApLgorCisgIDQuIFRpcHBlICAgIGQkICAgICwgdW0gYmlzIHp1bSBaZWlsZW5lbmRlIHp1IGzDtnNjaGVuLgorCistLS0+IEplbWFuZCBoYXQgZGFzIEVuZGUgZGVyIFplaWxlIGRvcHBlbHQgZWluZ2VnZWJlbi4gZG9wcGVsdCBlaW5nZWdlYmVuLgorCisKKyAgNS4gR2VoZSB3ZWl0ZXIgenVyIExla3Rpb24gMi4zICwgdW0genUgdmVyc3RlaGVuLCB3YXMgaGllcmJlaSB2b3JnZWh0LgorCisKKworCisKK35+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+fgorCQkgTGVrdGlvbiAyLjM6IMOcQkVSIE9QRVJBVE9SRU4gVU5EIEJFV0VHVU5HU1rDnEdFCisKKworICBWaWVsZSBLb21tYW5kb3MsIGRpZSBUZXh0IMOkbmRlcm4sIHNldHplbiBzaWNoIGF1cyBlaW5lbSBPcGVyYXRvciB1bmQgZWluZXIKKyAgQmV3ZWd1bmcgenVzYW1tZW4uIERhcyBGb3JtYXQgZsO8ciBlaW4gTMO2c2Noa29tbWFuZG8gbWl0IGRlbSBMw7ZzY2hvcGVyYXRvciAgZAorICBsYXV0ZXQgd2llIGZvbGd0OgorCisgICAgZCAgQmV3ZWd1bmcKKworICB3b2JlaToKKyAgICBkICAgICAgICAtIGRlciBMw7ZzY2hvcGVyYXRvcgorICAgIEJld2VndW5nIC0gd29yYXVmIGRlciBMw7ZzY2hvcGVyYXRvciBhbmdld2FuZHQgd2lyZCAodW50ZW4gYXVmZ2Vmw7xocnQpLgorCisgIEVpbmUga2xlaW5lIEF1Zmxpc3R1bmcgdm9uIEJld2VndW5nZW46CisgICAgdyAtIGJpcyB6dW0gQmVnaW5uIGRlcyBuw6RjaHN0ZW4gV29ydGVzIE9ITkUgZGVzc2VuIGVyc3RlcyBaZWljaGVuLgorICAgIGUgLSB6dW0gRW5kZSBkZXMgYWt0dWVsbGVuIFdvcnRlcyBNSVQgZGVzc2VuIGxldHp0ZW0gWmVpY2hlbi4KKyAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0enRlbiBaZWljaGVuLgorCisgIERlbWVudHNwcmVjaGVuZCBsw7ZzY2h0IGRpZSBFaW5nYWJlIHZvbiAgZGUgIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBXb3J0ZW5kZS4KKworQW5tZXJrdW5nOiAgRGllIEVpbmdhYmUgbGVkaWdsaWNoIGRlcyBCZXdlZ3VuZ3N0ZWlscyBpbSBOb3JtYWxtb2R1cyBiZXdlZ3QgZGVuCisgIEN1cnNvciBlbnRzcHJlY2hlbmQuCit+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+fn4KKwlMZWt0aW9uIDIuNDogQU5XRU5EVU5HIEVJTkVTIFrDhEhMRVJTIEbDnFIgRUlORU4gQkVXRUdVTkdTU0NIUklUVAorCisKKyAgICoqIERpZSBFaW5nYWJlIGVpbmVyIFphaGwgdm9yIGVpbmVtIEJld2VndW5nc3NjaHJpdHQgd2llZGVyaG9sdCBkaWVzZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEJlZ2lubiBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KKworICAyLiBUaXBwZSAgMncgICwgdW0gZGVuIEN1cnNvciB6d2VpIFfDtnJ0ZXIgdm9yd8OkcnRzIHp1IGJld2VnZW4uCisKKyAgMy4gVGlwcGUgIDNlICAsIHVtIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVzIGRyaXR0ZW4gV29ydGVzIHp1IGJld2VnZW4uCisKKyAgNC4gVGlwcGUgIDAgIChOdWxsKSAsIHVtIHp1bSBBbmZhbmcgZGVyIFplaWxlIHp1IGdlbGFuZ2VuLgorCisgIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMyBtaXQgdmVyc2NoaWVkZW5lbiBOdW1tZXJuLgorCisgIC0tLT4gRGllcyBpc3QgbnVyIGVpbmUgWmVpbGUgYXVzIFfDtnJ0ZXJuLCB1bSBzaWNoIGRhcmluIGhlcnVtenViZXdlZ2VuLgorCisgIDYuIEdlaGUgd2VpdGVyIHp1IExla3Rpb24gMi41LgorCisKKworCit+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+fn4KKwkgTGVrdGlvbiAyLjU6IEFOV0VORFVORyBFSU5FUyBaw4RITEVSUyBGw5xSIE1FSFJFUkUgTMOWU0NIVk9SR8OETkdFCisKKworICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCBtaXQgZWluZW0gT3BlcmF0b3Igd2llZGVyaG9sdCBkaWVzZW4gbWVocmZhY2guICoqCisKKyAgSW4gZGVyIEtvbWJpbmF0aW9uIGF1cyBMw7ZzY2hvcGVyYXRvciB1bmQgQmV3ZWd1bmdzc2Nocml0dCAoc2llaGUgb2JlbikgCisgIHN0ZWxsdCBtYW4sIHVtIG1laHIgenUgbMO2c2NoZW4gZGVtIFNjaHJpdHQgZWluZW4gWsOkaGxlciB2b3JhbjoKKwkgZCAgTnVtbWVyICBCZXdlZ3VuZ3NzY2hyaXR0CisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBXb3J0IGluIEdST1NTQlVDSFNUQUJFTiBpbiBkZXIgbWl0IC0tLT4KKyAgICAgbWFya2llcmVuIFplaWxlLgorCisgIDIuIFRpcHBlICBkMncgICwgdW0gZGllIHp3ZWkgV8O2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4genUgbMO2c2NoZW4uCisKKyAgMy4gV2llZGVyaG9sZSBTY2hyaXR0ZSAxIHVuZCAgMiBtaXQgZWluZW0gYW5kZXJlbiBaw6RobGVyLCB1bSBkaWUgZGFyYXVmZm9sLQorICAgICBnZW5kZW4gV8O2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4gbWl0IGVpbmVtIGVpbnppZ2VuIEtvbW1hbmRvIHp1IGzDtnNjaGVuLgorCistLS0+ICBEaWVzZSBBQkMgREUgWmVpbGUgRkdISSBKSyBMTU4gT1AgbWl0IFfDtnJ0ZXJuIGlzdCBRIFJTIFRVViBiZXJlaW5pZ3QuCisKKworCit+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+fn4KKwkJCUxla3Rpb24gMi42OiBBUkJFSVRFTiBBVUYgWkVJTEVOCisKKworCSAgICAgICAqKiBUaXBwZSAgZGQgICwgdW0gZWluZSBnYW56ZSBaZWlsZSB6dSBsw7ZzY2hlbi4gKioKKworICBXZWdlbiBkZXIgSMOkdWZpZ2tlaXQsIGRhc3MgbWFuIGdhbnplIFplaWxlbiBsw7ZzY2h0LCBrYW1lbiBkaWUgRW50d2lja2xlciB2b24KKyAgVmkgZGFyYXVmLCBkYXNzIGVzIGxlaWNodGVyIHfDpHJlLCBlaW5mYWNoIHp3ZWkgZCdzIGVpbnp1Z2ViZW4sIHVtIGVpbmUgWmVpbGUKKyAgenUgbMO2c2NoZW4uCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gWmVpbGUgaW4gZGVyIHVudGVuIHN0ZWhlbmRlbiBSZWRld2VuZHVuZy4KKyAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBsw7ZzY2hlbi4KKyAgMy4gTnVuIGJld2VnZSBEaWNoIHp1ciB2aWVydGVuIFplaWxlLgorICA0LiBUaXBwZSAgMmRkICAsIHVtIHp3ZWkgWmVpbGVuIHp1IGzDtnNjaGVuLgorCistLS0+ICAxKSAgUm9zZW4gc2luZCByb3QsCistLS0+ICAyKSAgTWF0c2NoIGlzdCBsdXN0aWcsCistLS0+ICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LAorLS0tPiAgNCkgIEljaCBoYWJlIGVpbiBBdXRvLAorLS0tPiAgNSkgIERpZSBVaHIgc2FndCBkaWUgWmVpdCwKKy0tLT4gIDYpICBadWNrZXIgaXN0IHPDvMOfLAorLS0tPiAgNykgIFNvIHdpZSBEdSBhdWNoLgorCit+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+fn4KKwkJICAgICBMZWt0aW9uIDIuNzogUsOcQ0tHw4ROR0lHIE1BQ0hFTiAoVU5ETykKKworCisJICoqIFRpcHBlIHUgLCB1bSBkaWUgbGV0enRlbiBLb21tYW5kb3MgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbiAqKgorCSAgICAgICoqIG9kZXIgVSAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgd2llZGVyaGVyenVzdGVsbGVuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuCisgICAgIHVuZCBzZXR6ZSBpaG4gYXVmIGRlbiBlcnN0ZW4gRmVobGVyLgorICAyLiBUaXBwZSAgeCAgLCB1bSBkYXMgZXJzdGUgdW5lcnfDvG5zY2h0ZSBaZWljaGVuIHp1IGzDtnNjaGVuLgorICAzLiBOdW4gdGlwcGUgIHUgICwgdW0gZGFzIHNvZWJlbiBhdXNnZWbDvGhydGUgS29tbWFuZG8gcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbi4KKyAgNC4gSmV0enQgYmVoZWJlIGFsbGUgRmVobGVyIGF1ZiBkZXIgWmVpbGUgbWl0IEhpbGZlIGRlcyB4ICBLb21tYW5kb3MuCisgIDUuIE51biB0aXBwZSBlaW4gZ3Jvw59lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kCisgICAgIHdpZWRlcmhlcnp1c3RlbGxlbi4KKyAgNi4gTnVuIHRpcHBlICB1ICBlaW5pZ2UgTWFsZSwgdW0gZGFzIFUgdW5kIGRpZSB2b3JoZXJnZWhlbmRlbiBLb21tYW5kb3MKKyAgICAgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbi4KKyAgNy4gTnVuIHRpcHBlIENUUkwtUiAoaGFsdGUgQ1RSTCBnZWRyw7xja3QgdW5kIGRyw7xja2UgUikgbWVocmVyZSBNYWxlLCB1bSBkaWUKKyAgICAgS29tbWFuZG9zIHdpZWRlcmhlcnp1c3RlbGxlbiAoZGllIFLDvGNrZ8OkbmdpZ21hY2h1bmdlbiByw7xja2fDpG5naWcgbWFjaGVuKS4KKworLS0tPiBCZWVoZWJlIGRpZSBGZWhsbGVyIGRpZXNzZXIgWmVpbGUgdW5kIHN0dGVsbGUgc2llIG1pdHQgJ3VuZG8nIHdpZWRlciBoZXIuCisKKyAgOC4gRGllcyBzaW5kIHNlaHIgbsO8dHpsaWNoZSBLb21tYW5kb3MuICBOdW4gZ2VoZSB3ZWl0ZXIgenVyIFp1c2FtbWVuZmFzc3VuZyAKKyAgICAgdm9uIExla3Rpb24gMi4KK35+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+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAyCisKKworICAxLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gbsOkY2hzdGVuIFdvcnQgenUgbMO2c2NoZW4sIHRpcHBlOiAgICBkdworICAyLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZSB6dSBsw7ZzY2hlbiwgdGlwcGU6ICAgICBkJAorICAzLiBVbSBlaW5lIGdhbnplIFplaWxlIHp1IGzDtnNjaGVuLCB0aXBwZTogICAgZGQKKworICA0LiBVbSBlaW5lIEJld2VndW5nIHp1IHdpZWRlcmhvbGVuLCBzdGVsbGUgZWluZSBOdW1tZXIgdm9yYW46ICAgMncKKyAgNS4gRGFzIEZvcm1hdCBmw7xyIGVpbiDDhG5kZXJ1bmdza29tbWFuZG8gaXN0OgorICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQKKyAgICAgd29iZWk6CisgICAgICAgT3BlcmF0b3IgLSBnaWJ0IGFuLCB3YXMgZ2V0YW4gd2VyZGVuIHNvbGwsIHp1bSBCZWlzcGllbCAgZCAgZsO8ciBkZWxldGUKKyAgICAgICBbQW56YWhsXSAtIGVpbiBvcHRpb25hbGVyIFrDpGhsZXIsIHVtIGRlbiBCZXdlZ3VuZ3NzY2hyaXR0IHp1IHdpZWRlcmhvbGVuCisgICAgICAgQmV3ZWd1bmdzc2Nocml0dCAtIEJld2VndW5nIMO8YmVyIGRlbiB6dSDDpG5kZXJuZGVuIFRleHQsIHdpZQorCQkgIHcgKFdvcnQpLCAkICh6dW0gRW5kZSBkZXIgWmVpbGUpLCBldGMuCisKKyAgNi4gVW0gRGljaCB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBiZWdlYmVuLCBiZW51dHplIGRpZSBOdWxsOiAgMAorCisgIDcuIFVtIHZvcmhlcmlnZSBBa3Rpb25lbiByw7xja2fDpG5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkKKyAgICAgVW0gYWxsZSDDhG5kZXJ1bmdlbiBhdWYgZWluZXIgWmVpbGUgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbjogICBVIChncm/Dn2VzIFUpCisgICAgIFVtIGRpZSBSw7xja2fDpG5naWdtYWNodW5nZW4gcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6ICAgIENUUkwtUgorCit+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+fn4KKwkJCSAgIExla3Rpb24gMy4xOiBBTkbDnEdFTiAoUFVUKQorCisKKyAgICAgKiogVGlwcGUgIHAgICwgdW0gdm9yaGVyIGdlbMO2c2NodGVuIFRleHQgbmFjaCBkZW0gQ3Vyc29yIGFuenVmw7xnZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKworICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGzDtnNjaGVuIHVuZCBzaWUgaW4gZWluZW0gVmltLVJlZ2lzdGVyIHp1CisgICAgIHNwZWljaGVybi4KKworICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksIMOcQkVSIGRlcmplbmlnZW4sIHdvIGRpZSBnZWzDtnNjaHRlIFplaWxlCisgICAgIHBsYXR6aWVydCB3ZXJkZW4gc29sbC4KKworICA0LiAgVGlwcGUgICBwICAgLCB1bSBkaWUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IHBsYXR6aWVyZW4uCisKKyAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMiBiaXMgNCwgdW0gYWxsZSBaZWlsZW4gaW4gZGllIHJpY2h0aWdlCisgICAgIFJlaWhlbmZvbGdlIHp1IGJyaW5nZW4uCisKKy0tLT4gZCkgS2FubnN0IER1IGRhcyBhdWNoPworLS0tPiBiKSBWZWlsY2hlbiBzaW5kIGJsYXUsCistLS0+IGMpIEludGVsbGlnZW56IGlzdCBsZXJuYmFyLAorLS0tPiBhKSBSb3NlbiBzaW5kIHJvdCwKK35+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+fgorCQkJTGVrdGlvbiAzLjI6IEVSU0VUWkVOIChSRVBMQUNFKQorCisKKyAgICoqIFRpcHBlICByeCAgLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIGR1cmNoICB4IHp1IGVyc2V0emVuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBzaWNoIGF1ZiBkZW0gZXJzdGVuIEZlaGxlciBiZWZpbmRldC4KKworICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGllw59lbmQgZGFzIFplaWNoZW4sIHdlbGNoZXMgZG9ydCBzdGVoZW4gc29sbHRlLgorCisgIDQuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMywgYmlzIGRpZSBlcnN0ZSBaZWlsZSBnbGVpY2ggZGVyIHp3ZWl0ZW4gaXN0LgorCistLS0+ICBBbGYgZGllc2UgWmVpdGUgZWluZ2Vnb2JlbiB3dXJkZSwgd3VyZGVuIGVpbmlrZSBmYWxzY2hlIFRhc3RlbiBnZWxpcHB0IQorLS0tPiAgQWxzIGRpZXNlIFplaWxlIGVpbmdlZ2ViZW4gd3VyZGUsIHd1cmRlbiBlaW5pZ2UgZmFsc2NoZSBUYXN0ZW4gZ2V0aXBwdCEKKworICA1LiBOdW4gZmFocmUgZm9ydCBtaXQgTGVrdGlvbiAzLjIuCisKK0FubWVya3VuZzogRXJpbm5lcmUgRGljaCBkYXJhbiwgZGFzcyBEdSBkdXJjaCBBbndlbmRlbiBsZXJuZW4gc29sbHRlc3QsIG5pY2h0IAorICAgICBkdXJjaCBBdXN3ZW5kaWdsZXJuZW4uCisKKworfn5+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+CisJCQkgIExla3Rpb24gMy4zOiDDhE5ERVJOIChDSEFOR0UpCisKKworICAgICAgKiogVW0gZWluZSDDhG5kZXJ1bmcgYmlzIHp1bSBXb3J0ZW5kZSBkdXJjaHp1ZsO8aHJlbiwgdGlwcGUgIGNlIC4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgorCisgIDIuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBkYXMgIHMgIHZvbiBXc3R3ci4KKworICAzLiBUaXBwZSAgY2UgIHVuZCBkaWUgV29ydGtvcnJla3R1ciBlaW4gKGluIGRpZXNlbSBGYWxsIHRpcHBlICDDtnJ0ZXIgKS4KKworICA0LiBEcsO8Y2tlIDxFU0M+IHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gbsOkY2hzdGVuIHp1IMOkbmRlcm5kZW4gWmVpY2hlbi4KKworICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDMgdW5kIDQgYmlzIGRlciBlcnN0ZSBTYXR6IGdsZWljaCBkZW0gendlaXRlbiBpc3QuCisKKy0tLT4gRWluaWdlIFdzdHdyIGRpZXNlciBabGF3dyBsYXNkamxhZiBtaXQgZGVtIMOEbmRlcm4tT3BlcmF0b3IgZ2FhYXV1IHdlcmRlbi4KKy0tLT4gRWluaWdlIFfDtnJ0ZXIgZGllc2VyIFplaWxlIHNvbGxlbiBtaXQgZGVtIMOEbmRlcm4tT3BlcmF0b3IgZ2XDpG5kZXJ0IHdlcmRlbi4KKworQmVhY2h0ZSwgZGFzcyAgY2UgIGRhcyBXb3J0IGzDtnNjaHQgdW5kIERpY2ggaW4gZGVuIEVpbmdhYmVtb2R1cyB2ZXJzZXR6dC4KKworCisKK35+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+fgorCQkgICAgIExla3Rpb24gMy40OiBNRUhSIMOETkRFUlVOR0VOIE1JVFRFTFMgYworCisKKyAgICAgKiogRGFzIGNoYW5nZS1Lb21tYW5kbyBhcmJlaXRldCBtaXQgZGVuc2VsYmVuIEJld2VndW5nZW4gd2llIGRlbGV0ZS4gICoqCisKKyAgMS4gRGVyIGNoYW5nZSBPcGVyYXRvciBhcmJlaXRldCBpbiBnbGVpY2hlciBXZWlzZSB3aWUgZGVsZXRlLiBEYXMgRm9ybWF0IGlzdDoKKworICAgICAgICAgYyAgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dAorCisgIDIuIERpZSBCZXdlZ3VuZ3NzY2hyaXR0ZSBzaW5kIGRpZSBnbGVpY2hlbiAsIHNvIHdpZSAgdyAgKFdvcnQpIHVuZCAgJAorICAgICAoWmVpbGVuZW5kZSkuCisKKyAgMy4gQmV3ZWdlIERpY2ggenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKworICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIEZlaGxlci4KKworICA1LiBUaXBwZSAgYyQgICwgZ2liIGRlbiBSZXN0IGRlciBaZWlsZSB3aWUgaW4gZGVyIHp3ZWl0ZW4gZWluLCBkcsO8Y2tlIDxFU0M+IC4KKworLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBhbiBkaWUgendlaXRlIFplaWxlIGFuZ2VnbGljaGVuIHdlcmRlbi4KKy0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgbWl0IGRlbSAgYyQgIEtvbW1hbmRvIGtvcnJpZ2llcnQgd2VyZGVuLgorCitBbm1lcmt1bmc6IER1IGthbm5zdCBkaWUgUsO8Y2t0YXN0ZSBiZW51dHplbiwgdW0gVGlwcGZlaGxlciB6dSBrb3JyaWdpZXJlbi4KK35+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+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAzCisKKworICAxLiBVbSBlaW5lbiB2b3JoZXIgZ2Vsw7ZzY2h0ZW4gVGV4dCBhbnp1ZsO8Z2VuLCB0aXBwZSAgIHAgLiBEaWVzIGbDvGd0IGRlbgorICAgICBnZWzDtnNjaHRlbiBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbiAod2VubiBlaW5lIGdhbnplIFplaWxlIGdlbMO2c2NodCB3dXJkZSwKKyAgICAgd2lyZCBkaWVzZSBpbiBkaWUgWmVpbGUgdW50ZXIgZGVtIEN1cnNvciBlaW5nZWbDvGd0KS4KKworICAyLiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGVyc2V0emVuLCB0aXBwZSAgIHIgICB1bmQgZGFuYWNoIGRhcyAKKyAgICAgYW4gZGllc2VyIFN0ZWxsZSBnZXdvbGx0ZSBaZWljaGVuLgorCisgIDMuIERlciDDhG5kZXJ1bmdzLSAoY2hhbmdlKSBPcGVyYXRvciBlcmxhdWJ0LCB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBkZXMKKyAgICAgQmV3ZWd1bmdzc2Nocml0dGVzIHp1IMOkbmRlcm4uIFRpcHBlICBjZSAgLCB1bSBlaW5lIMOEbmRlcnVuZyB2b20gQ3Vyc29yIGJpcworICAgICB6dW0gRW5kZSBkZXMgV29ydGVzIHZvcnp1bmVobWVuOyAgYyQgIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZS4KKworICA0LiBEYXMgRm9ybWF0IGbDvHIgY2hhbmdlIGlzdDoKKworCSBjICAgW0FuemFobF0gIEJld2VndW5nc3NjaHJpdHQKKworICBOdW4gZmFocmUgbWl0IGRlciBuw6RjaHN0ZW4gTGVrdGlvbiBmb3J0LgorCisKKworfn5+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+CisJCSAgTGVrdGlvbiA0LjE6IENVUlNPUlBPU0lUSU9OIFVORCBEQVRFSVNUQVRVUworCisgKiogVGlwcGUgQ1RSTC1HICwgdW0gZGVpbmUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMgYW56dXplaWdlbi4gKioKKyAgICAgKiogVGlwcGUgRyAsIHVtIERpY2ggenUgZWluZXIgWmVpbGUgaW4gZGVyIERhdGVpIHp1IGJlZ2ViZW4uICoqCisKK0FubWVya3VuZzogTGllcyBkaWVzZSBnZXNhbXRlIExla3Rpb24sIGJldm9yIER1IGlyZ2VuZGVpbmVuIFNjaHJpdHQgYXVzZsO8aHJzdCEhCisKKyAgMS4gSGFsdGUgZGllIEN0cmwgVGFzdGUgdW50ZW4gdW5kIGRyw7xja2UgIGcgLiBEaWVzIG5lbm5lbiB3aXIgQ1RSTC1HLgorICAgICBFaW5lIFN0YXR1c21lbGR1bmcgYW0gRnXDnyBkZXIgU2VpdGUgZXJzY2hlaW50IG1pdCBkZW0gRGF0ZWluYW1lbiB1bmQgZGVyCisgICAgIFBvc2l0aW9uIGlubmVyaGFsYiBkZXIgRGF0ZWkuIE1lcmtlIERpciBkaWUgWmVpbGVubnVtbWVyIGbDvHIgU2Nocml0dCAzLgorCitBbm1lcmt1bmc6IE3DtmdsaWNoZXJ3ZWlzZSBzaWVoc3QgRHUgZGllIEN1cnNvcnBvc2l0aW9uIGluIGRlciB1bnRlcmVuIHJlY2h0ZW4KKyAgICAgIEJpbGRzY2hpcm1lY2tlLiBEaWVzIGlzdCBBdXN3aXJrdW5nIGRlciAncnVsZXInIE9wdGlvbiAKKwkgIChzaWVoZSA6aGVscCAncnVsZXInKQorCisgIDIuIERyw7xja2UgIEcgICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KKyAgICAgVGlwcGUgIGdnICAsIHVtIERpY2ggenVtIEFuZmFuZyBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KKworICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gIEcgLgorICAgICBEaWVzIGJyaW5ndCBEaWNoIHp1csO8Y2sgenUgZGVyIFplaWxlLCBhdWYgZGVyIER1IGdlc3RhbmRlbiBoYXN0LCBhbHMgRHUKKyAgICAgZGFzIGVyc3RlIE1hbCBDVFJMLUcgZ2VkcsO8Y2t0IGhhc3QuCisKKyAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBmw7xobHN0LCBmw7xocmUgZGllIFNjaHJpdHRlIDEgYmlzIDMgYXVzLgorfn5+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+CisJCSAgICAgICBMZWt0aW9uIDQuMjogREFTIFNVQ0hFTiAtIEtPTU1BTkRPCisKKworICAqKiBUaXBwZSAgLyAgZ2Vmb2xndCB2b24gZWluZW0gQXVzZHJ1Y2ssIHVtIG5hY2ggZGVtIEF1c2RydWNrIHp1IHN1Y2hlbi4gKioKKworICAxLiBJbSBOb3JtYWxtb2R1cywgdGlwcGUgZGFzICAvICBaZWljaGVuLiAgQmVhY2h0ZSwgZGFzcyBkYXMgIC8gdW5kIGRlcgorICAgICBDdXJzb3IgYW0gRnXDnyBkZXMgU2NoaXJtcyBlcnNjaGVpbmVuLCBzbyB3aWUgYmVpbSA6CUtvbW1hbmRvLgorCisgIDIuIE51biB0aXBwZSAnRmVoaGxlcicgPEVOVEVSPi4gRGllcyBpc3QgZGFzIFdvcnQsIG5hY2ggZGVtIER1IHN1Y2hlbiB3aWxsc3QuCisKKyAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGbDvHIgbmV4dCkuCisgICAgIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIGluIGRlciBHZWdlbnJpY2h0dW5nIHp1IHN1Y2hlbiwgdGlwcGUgIE4gLgorCisgIDQuIFVtIG5hY2ggZWluZW0gQXVzZHJ1Y2sgcsO8Y2t3w6RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLgorCisgIDUuIFVtIGRhaGluIHp1csO8Y2t6dWtlaHJlbiwgdm9uIHdvIER1IGdla29tbWVuIGJpc3QsIGRyw7xja2UgQ1RSTC1PIChIYWx0ZQorICAgICBDdHJsIHVudGVuIHVuZCBkcsO8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIG5vY2ggd2VpdGVyCisgICAgIHp1csO8Y2t6dWdlaGVuLiAgQ1RSTC1JIGdlaHQgdm9yd8OkcnRzLgorCistLS0+ICBGZWhsZXIgc2NocmVpYnQgc2ljaCBuaWNodCAiRmVoaGxlciI7IEZlaGhsZXIgaXN0IGVpbiBGZWhsZXIKK0FubWVya3VuZzogV2VubiBkaWUgU3VjaGUgZGFzIERhdGVpZW5kZSBlcnJlaWNodCBoYXQsIHdpcmQgc2llIGFtIEFuZmFuZworICAgICAgICBmb3J0Z2VzZXR6dCwgZXMgc2VpIGRlbm4sIGRpZSAnd3JhcHNjYW4nIE9wdGlvbiB3dXJkZSBhYmdlc2NoYWx0ZXQuCit+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+fn4KKwkJICAgICBMZWt0aW9uIDQuMzogUEFTU0VOREUgS0xBTU1FUk4gRklOREVOCisKKworICAgKiogVGlwcGUgICUgLCB1bSBlaW5lIGdlZ2Vuw7xiZXJsaWVnZW5kZW4gS2xhbW1lciApLF0sIG9kZXIgfSB6dSBmaW5kZW4uICoqCisKKyAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGlyZ2VuZGVpbmVtIGRlciBaZWljaGVuICgsIFssIG9kZXIgeyBpbiBkZXIgdW50ZW4KKyAgICAgc3RlaGVuZGVuIFplaWxlLCBkaWUgbWl0IC0tLT4gbWFya2llcnQgaXN0LgorCisgIDIuIE51biB0aXBwZSBkYXMgICUgIFplaWNoZW4uCisKKyAgMy4gRGVyIEN1cnNvciBiZXdlZ3Qgc2ljaCB6dXIgcGFzc2VuZGVuIGdlZ2Vuw7xiZXJsaWVnZW5kZW4gS2xhbW1lci4KKworICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVyIHBhc3NlbmRlbiBhbmRlcmVuIEtsYW1tZXIgenUgYmV3ZWdlbi4KKworICA1LiBTZXR6ZSBkZW4gQ3Vyc29yIGF1ZiBlaW4gYW5kZXJlcyAoLCksWyxdLHsgb2RlciB9IHVuZCBwcm9iaWVyZSAgJSAgYXVzLgorCistLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgKCBtaXQgWyB2ZXJzY2hpZWRlbmVuIF0geyBLbGFtbWVybiB9ICBkYXJpbi4gKSkKKworQW5tZXJrdW5nOiBEaWVzZSBGdW5rdGlvbmFsaXTDpHQgaXN0IHNlaHIgbsO8dHpsaWNoIGJlaSBkZXIgRmVobGVyc3VjaGUgaW4gZWluZW0KKyAgICAgUHJvZ3JhbW10ZXh0LCBpbiBkZW0gcGFzc2VuZGUgS2xhbW1lcm4gZmVobGVuIQorCisKK35+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+fgorCQlMZWt0aW9uIDQuNDogREFTIEVSU0VUWlVOR1NLT01NQU5ETyAoU1VCU1RJVFVURSkKKworCisJICoqIFRpcHBlIDpzL2FsdC9uZXUvZyAgLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gVGlwcGUgIDpzL2RpZWUvZGllIDxFTlRFUj4gLiAgQmVhY2h0ZSwgZGFzcyBkZXIgQmVmZWhsIG51ciBkYXMgZXJzdGUKKyAgICAgVm9ya29tbWVuIHZvbiAiZGllZSIgZXJzZXR6dC4KKworICAzLiBOdW4gdGlwcGUgICA6cy9kaWVlL2RpZS9nIC4gRGFzIFp1ZsO8Z2VuIGRlcyBGbGFncyAgZyAgIGJlZGV1dGV0LCBlaW5lCisgICAgIGdsb2JhbGUgRXJzZXR6dW5nIMO8YmVyIGRpZSBaZWlsZSBkdXJjaHp1ZsO8aHJlbiwgZGllcyBlcnNldHp0IGFsbGUgCisJIFZvcmtvbW1lbiB2b24gImRpZWUiIGF1ZiBkZXIgWmVpbGUuCisKKy0tLT4gZGllZSBzY2jDtm5zdGUgWmVpdCwgdW0gZGllZSBCbHVtZW4gYW56dXNjaGF1ZW4sIGlzdCBkaWVlIEZyw7xobGluZ3N6ZWl0LgorCisgIDQuIFVtIGFsbGUgVm9ya29tbWVuIGVpbmVyIFplaWNoZW5rZXR0ZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbiB6dSDDpG5kZXJuLAorICAgICB0aXBwZSAgOiMsI3MvYWx0L25ldS9nICB3b2JlaSAjLCMgZGllIFplaWxlbm51bW1lcm4gZGVzIEJlcmVpY2hlcyBzaW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBkZW0gZGllIEVyc2V0enVuZyBkdXJjaGdlZsO8aHJ0IHdlcmRlbiBzb2xsLgorICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZyAgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUgw6RuZGVybi4KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2djICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IGZpbmRlbgorICAgICAgICAgICAgICAgICAgICAgbWl0IGVpbmVtIEZyYWdlZGlhbG9nLCBvYiBlcnNldHp0IHdlcmRlbiBzb2xsIG9kZXIgbmljaHQuCit+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+fn4KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNAorCisgIDEuIENUUkwtRyAgemVpZ3QgZGllIGFrdHVlbGxlIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzLgorICAgICAgICAgICAgIEcgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaS4KKyAgICAgTnVtbWVyICBHICBicmluZ3QgRGljaCB6dXIgZW50c3ByZWNoZW5kZW4gWmVpbGVubnVtbWVyLgorICAgICAgICAgICAgZ2cgIGJyaW5ndCBEaWNoIHp1ciBlcnN0ZW4gWmVpbGUuCisKKyAgMi4gRGllIEVpbmdhYmUgdm9uICAvICBwbHVzIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFZPUlfDhFJUUyBuYWNoIGRlbSBBdXNkcnVjay4KKyAgICAgRGllIEVpbmdhYmUgdm9uICA/ICBwbHVzIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFLDnENLV8OEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgorICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBuw6RjaHN0ZSBWb3Jrb21tZW4gaW4gZGVyIGdsZWljaGVuCisgICAgIFJpY2h0dW5nIHp1IGZpbmRlbjsgb2RlciAgTiAgLCB1bSBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4uCisgICAgIENUUkwtTyBicmluZ3QgRGljaCB6dXLDvGNrIHp1IMOkbHRlcmVuIFBvc2l0aW9uZW4sIENUUkwtSSB6dSBuZXVlcmVuLgorCisgIDMuIERpZSBFaW5nYWJlIHZvbiAgJSAgLCB3ZW5uIGRlciBDdXJzb3Igc2ljaCBhdWYgKCwpLFssXSx7LCBvZGVyIH0KKyAgICAgYmVmaW5kZXQsIGJyaW5ndCBEaWNoIHp1ciBHZWdlbmtsYW1tZXIuCisKKyAgNC4gVW0gZGFzIGVyc3RlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZWluZXIgWmVpbGUgZHVyY2ggIm5ldSIgenUgZXJzZXR6ZW4sCisgICAgICAgICAgICAgdGlwcGUgICAgICAgOnMvYWx0L25ldQorICAgICBVbSBhbGxlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZGVyIFplaWxlIGVyc2V0emVuLCB0aXBwZSAgOnMvYWx0L25ldS9nCisgICAgIFVtIEF1c2Ryw7xja2UgaW5uZXJoYWxiIHp3ZWllciBaZWlsZW4gIyB6dSBlcnNldHplbiAgICAgICAgOiMsI3MvYWx0L25ldS9nCisgICAgIFVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnYW56ZW4gRGF0ZWkgenUgZXJzZXR6ZW4sIHRpcHBlICA6JXMvYWx0L25ldS9nCisgICAgIEbDvHIgZWluZSBqZWRlc21hbGlnZSBCZXN0w6R0aWd1bmcsIGFkZGllcmUgJ2MnIChjb25maXJtKSAgIDolcy9hbHQvbmV1L2djCit+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+fn4KKwkJTGVrdGlvbiA1LjE6IEFVU0bDnEhSRU4gRUlORVMgRVhURVJORU4gS09NTUFORE9TCisKKworICAqKiBHaWIgIDohICwgZ2Vmb2xndCB2b24gZWluZW0gZXh0ZXJuZW4gS29tbWFuZG8gZWluLCB1bSBlcyBhdXN6dWbDvGhyZW4uICoqCisKKyAgMS4gVGlwcGUgZGFzIHZlcnRyYXV0ZSBLb21tYW5kbyAgOiAgLCB1bSBkZW4gQ3Vyc29yIGF1ZiBkZW4gRnXDnyBkZXMgU2NoaXJtcworICAgICB6dSBzZXR6ZW4uIERpZXMgZXJsYXVidCBEaXIsIGVpbiBLb21tYW5kb3plaWxlbi1Lb21tYW5kbyBlaW56dWdlYmVuLgorCisgIDIuIE51biB0aXBwZSBlaW4gICEgIChBdXNydWZlemVpY2hlbikuICBEaWVzIGVybcO2Z2xpY2h0IERpciwgZWluIGJlbGllYmlnZXMsCisgICAgIGV4dGVybmVzIFNoZWxsa29tbWFuZG8gYXVzenVmw7xocmVuLgorCisgIDMuIEFscyBCZWlzcGllbCB0aXBwZSAgIGxzICAgbmFjaCBkZW0gICEgIHVuZCBkcsO8Y2tlIDxFTlRFUj4uIERpZXMgbGllZmVydAorICAgICBlaW5lIEF1Zmxpc3R1bmcgZGVpbmVzIFZlcnplaWNobmlzc2VzOyBnZW5hdXNvLCBhbHMgd2VubiBEdSBpbiBkZXIKKyAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB3w6Ryc3QuICBPZGVyIHZlcndlbmRlICA6IWRpciAgLCBmYWxscyBscyBuaWNodCBnZWh0LgorCitBbm1lcmt1bmc6ICBNaXQgZGllc2VyIE1ldGhvZGUga2FubiBqZWRlcyBiZWxpZWJpZ2UgZXh0ZXJuZSBLb21tYW5kbworICAgICBhdXNnZWbDvGhydCB3ZXJkZW4sIGF1Y2ggbWl0IEFyZ3VtZW50ZW4uCisKK0FubWVya3VuZzogIEFsbGUgIDogIEtvbW1hbmRvcyBtw7xzc2VuIGR1cmNoIEVpbmdhYmUgdm9uIDxFTlRFUj4KKyAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uIFZvbiBqZXR6dCBhbiBlcnfDpGhuZW4gd2lyIGRpZXMgbmljaHQgamVkZXNtYWwuCisKKworfn5+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+CisJCUxla3Rpb24gNS4yOiBNRUhSIMOcQkVSIERBUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4KKworCisqKiBVbSBhbSBUZXh0IGR1cmNoZ2Vmw7xocnRlIMOEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiwgdGlwcGUgOncgREFURUlOQU1FLiAqKgorCisgIDEuIFRpcHBlICA6IWRpciAgb2RlciAgOiFscyAgLCB1bSBlaW5lIEF1Zmxpc3R1bmcgZGVpbmVzIFZlcnplaWNobmlzc2VzIHp1CisgICAgIGVyaGFsdGVuLiAgRHUgd2Vpw590IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0LgorCisgIDIuIFfDpGhsZSBlaW5lbiBEYXRlaW5hbWVuLCBkZXIgbm9jaCBuaWNodCBleGlzdGllcnQsIHouQi4gVEVTVC4KKworICAzLiBOdW4gdGlwcGU6ICA6dyBURVNUICAgKHdvYmVpIFRFU1QgZGVyIGdld8OkaGx0ZSBEYXRlaW5hbWUgaXN0KS4KKworICA0LiBEaWVzIHNwZWljaGVydCBkaWUgZ2FuemUgRGF0ZWkgKGRlbiBWaW0gVHV0b3IpIHVudGVyIGRlbSBOYW1lbiBURVNULgorICAgICBVbSBkaWVzIHp1IMO8YmVycHLDvGZlbiwgdGlwcGUgbm9jaG1hbHMgIDohbHMgIGJ6dy4gICFkaXIsIHVtIGRlaW5lbgorICAgICBWZXJ6ZWljaG5pc2luaGFsdCB6dSBzZWhlbi4KKworQW5tZXJrdW5nOiBXw7xyZGVzdCBEdSBWaW0gamV0enQgYmVlbmRlbiB1bmQgZGFuYWNoIHdpZWRlciBtaXQgdmltIFRFU1QKKyAgICBzdGFydGVuLCBkYW5uIHfDpHJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtCisgICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuCisKKyAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAorICAgICAgICAgICAgICAgICAgICAgIG9kZXIgKFVuaXgpOiAgICAgICAgICAgICAgICAgICAgICAgICA6IXJtIFRFU1QKK35+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+fgorCQkgTGVrdGlvbiA1LjM6IEFVU1fDhEhMRU4gVk9OIFRFWFQgWlVNIFNDSFJFSUJFTgorCisqKiBVbSBlaW5lbiBBYnNjaG5pdHQgZGVyIERhdGVpIHp1IHNwZWljaGVybiwgIHRpcHBlICB2ICBCZXdlZ3VuZyAgOncgREFURUkgKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkaWVzZXIgWmVpbGUuCisKKyAgMi4gVGlwcGUgIHYgIHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gZsO8bmZ0ZW4gQXVmbGlzdHVuZ3NwdW5rdCB1bnRlbi4KKyAgICAgQmVhY2h0ZSwgZGFzcyBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuCisKKyAgMy4gRHLDvGNrZSBkYXMgWmVpY2hlbiAgOiAuIEFtIEZ1w58gZGVzIFNjaGlybXMgZXJzY2hlaW50ICA6JzwsJz4gLgorCisgIDQuIFRpcHBlICB3IFRFU1QgICwgd29iZWkgVEVTVCBlaW4gbm9jaCBuaWNodCB2b3JoYW5kZW5lciBEYXRlaW5hbWUgaXN0LgorICAgICBWZXJnZXdpc3NlcmUgRGljaCwgZGFzcyBEdSAgOic8LCc+dyBURVNUICBzaWVoc3QsIGJldm9yIER1IDxFTlRFUj4gZHLDvGNrc3QuCisKKyAgNS4gVmltIHNjaHJlaWJ0IGRpZSBhdXNnZXfDpGhsdGVuIFplaWxlbiBpbiBkaWUgRGF0ZWkgVEVTVC4gQmVudXR6ZSAgOiFkaXIKKyAgICAgb2RlciAgOiFscyAsIHVtIHNpZSB6dSBzZWhlbi4gTMO2c2NoZSBzaWUgbm9jaCBuaWNodCEgV2lyIHdlcmRlbiBzaWUgaW4KKyAgICAgZGVyIG7DpGNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLgorCitIaW53ZWlzOiBEcsO8Y2tlbiB2b24gIHYgIHN0YXJ0ZXQgZGllIFZpc3VlbGxlIEF1c3dhaGwuIER1IGthbm5zdCBkZW4gQ3Vyc29yCisgICB1bWhlcmJld2VnZW4sIHVtIGRpZSBBdXN3YWhsIHp1IHZlcmdyw7bDn2VybiBvZGVyIHp1IHZlcmtsZWluZXJuLiBBbnNjaGxpZcOfZW5kCisgICBsw6Rzc3Qgc2ljaCBlaW4gT3BlcmF0b3IgYW53ZW5kZW4sIHVtIG1pdCBkZW0gVGV4dCBldHdhcyB6dSB0dW4uIFp1bSBCZWlzcGllbAorICAgbMO2c2NodCAgZCAgZGVuIFRleHQuCisKK35+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+fgorCSAgICAgIExla3Rpb24gNS40OiBFSU5MRVNFTiBVTkQgWlVTQU1NRU5Gw5xIUkVOIFZPTiBEQVRFSUVOCisKKworICAgICAgICoqIFVtIGRlbiBJbmhhbHQgZWluZXIgRGF0ZWkgZWluenVsZXNlbiwgdGlwcGUgIDpyIERBVEVJTkFNRSAgKioKKworICAxLiBQbGF0emllcmUgZGVuIEN1cnNvciBkaXJla3Qgw7xiZXIgZGllc2VyIFplaWxlLgorCitCRUFDSFRFOiAgTmFjaGRlbSBEdSBTY2hyaXR0IDIgYXVzZ2Vmw7xocnQgaGFzdCwgd2lyc3QgRHUgVGV4dCBhdXMgTGVrdGlvbiA1LjMKKyAgICAgICBzZWhlbi4gRGFubiBiZXdlZ2UgRGljaCB3aWVkZXIgQUJXw4RSVFMsIExla3Rpb24gNS40IHdpZWRlcnp1c2VoZW4uCisKKyAgMi4gTnVuIGxpZXMgZGVpbmUgRGF0ZWkgVEVTVCBlaW4gaW5kZW0gRHUgZGFzIEtvbW1hbmRvICA6ciBURVNUICBhdXNmw7xocnN0LAorICAgICB3b2JlaSBURVNUIGRlciB2b24gRGlyIHZlcndlbmRldGUgRGF0ZWluYW1lIGlzdC4KKyAgICAgRGllIGVpbmdlbGVzZW5lIERhdGVpIHdpcmQgdW50ZXJoYWxiIGRlciBDdXJzb3J6ZWlsZSBlaW5nZWbDvGd0LgorCisgIDMuIFVtIHp1IMO8YmVycHLDvGZlbiwgZGFzcyBkaWUgRGF0ZWkgZWluZ2VsZXNlbiB3dXJkZSwgZ2VoZSB6dXLDvGNrIHVuZCAKKyAgICAgYmVhY2h0ZSwgZGFzcyBlcyBqZXR6dCB6d2VpIEtvcGllbiB2b24gTGVrdGlvbiA1LjMgZ2lidCwgZGFzIE9yaWdpbmFsIHVuZCAKKwkgZGllIGVpbmdlZsO8Z3RlIERhdGVpdmVyc2lvbi4KKworQW5tZXJrdW5nOiBEdSBrYW5uc3QgYXVjaCBkaWUgQXVzZ2FiZSBlaW5lcyBleHRlcm5lbiBLb21tYW5kb3MgZWlubGVzZW4uIFp1bQorICAgICBCZWlzcGllbCBsaWVzdCAgOnIgIWxzICBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGxzIGVpbiB1bmQgcGxhdHppZXJ0CisgICAgIHNpZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMuCisKK35+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+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA1CisKKworICAxLiA6IUtvbW1hbmRvICBmw7xocnQgZWluIGV4dGVybmVzIEtvbW1hbmRvIGF1cy4KKworICAgICAgRWluaWdlIG7DvHR6bGljaGUgQmVpc3BpZWxlIHNpbmQKKwkoTVMtRE9TKQkgIChVbml4KQorCSA6IWRpcgkJICAgOiFscwkJICAgLSAgemVpZ3QgZWluZSBWZXJ6ZWljaG5pc2F1Zmxpc3R1bmcuCisJIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuCisKKyAgMi4gOncgREFURUlOQU1FICBzcGVpY2hlcnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSB1bnRlciBkZW0gTmFtZW4gIERBVEVJTkFNRS4KKworICAzLiB2ICBCZXdlZ3VuZyAgOncgREFURUlOQU1FICBzY2hyZWlidCBkaWUgVmlzdWVsbCBhdXNnZXfDpGhsdGVuIFplaWxlbiBpbgorICAgICBkaWUgRGF0ZWkgREFURUlOQU1FLgorCisgIDQuIDpyIERBVEVJTkFNRSAgbMOkZHQgZGllIERhdGVpIERBVEVJTkFNRSB1bmQgZsO8Z3Qgc2llIHVudGVyaGFsYiBkZXIKKyAgICAgQ3Vyc29ycG9zaXRpb24gZWluLgorCisgIDUuIDpyICFkaXIgIGxpZXN0IGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgZGlyIHVuZCBmw7xndCBzaWUgdW50ZXJoYWxiIGRlcgorICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uCisKKworfn5+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+CisJCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOIMOWRkZORU4gKE9QRU4pCisKKworICAgKiogVGlwcGUgIG8JLCB1bSBlaW5lIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSDDtmZmbmVuIHVuZCBEaWNoIGluICoqCisgICAgICAgICAgICAgICAgICAgICAgKiogZGVuIEVpbmbDvGdlbW9kdXMgenUgYmVnZWJlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgZXJzdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCisKKyAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSSEFMQiBkZXMgQ3Vyc29ycyB6dSDDtmZmbmVuCisgICAgIHVuZCBEaWNoIGluIGRlbiBFaW5mw7xnZW1vZHVzIHp1IGJlZ2ViZW4uCisKKyAgMy4gTnVuIHRpcHBlIGV0d2FzIFRleHQgdW5kIGRyw7xja2UgPEVTQz4gLCB1bSBkZW4gRWluZsO8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uCisKKy0tLT4gTWl0ICBvICB3aXJkIGRlciBDdXJzb3IgYXVmIGRlciBvZmZlbmVuIFplaWxlIGltIEVpbmbDvGdlbW9kdXMgcGxhdHppZXJ0LgorCisgIDQuIFVtIGVpbmUgWmVpbGUgw5xCRVJIQUxCIGRlcyBDdXJzb3JzIGF1Znp1bWFjaGVuLCBnaWIgZWluZmFjaCBlaW4gZ3Jvw59lcyAgTworICAgICBzdGF0dCBlaW5lbSBrbGVpbmVuICBvICBlaW4uIFZlcnN1Y2hlIGRpZXMgYXVmIGRlciB1bnRlbiBzdGVoZW5kZW4gWmVpbGUuCisKKy0tLT4gw5ZmZm5lIGVpbmUgWmVpbGUgw7xiZXIgZGllc2VyIG1pdCBPICwgd2VubiBkZXIgQ3Vyc29yIGF1ZiBkaWVzZXIgWmVpbGUgaXN0LgorCisKKworfn5+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+CisJCSAgICAgICBMZWt0aW9uIDYuMjogVEVYVCBBTkbDnEdFTiAoQVBQRU5EKQorCisKKwkgICAgICoqIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGVpbnp1ZsO8Z2VuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVyIGVyc3RlbiDDnGJ1bmdzemVpbGUgbWl0IC0tLT4gdW50ZW4uCisKKyAgMi4gRHLDvGNrZSAgZSAgLCBiaXMgZGVyIEN1cnNvciBhbSBFbmRlIHZvbiAgWmVpICBzdGVodC4KKworICAzLiBUaXBwZSBlaW4ga2xlaW5lcyAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLgorCisgIDQuIFZlcnZvbGxzdMOkbmRpZ2UgZGFzIFdvcnQgc28gd2llIGluIGRlciBaZWlsZSBkYXJ1bnRlci4gIERyw7xja2UgPEVTQz4gLAorICAgICB1bSBkZW4gRWluZsO8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uCisKKyAgNS4gQmV3ZWdlIERpY2ggbWl0ICBlICB6dW0gbsOkY2hzdGVuIHVudm9sbHN0w6RuZGlnZW4gV29ydCB1bmQgd2llZGVyaG9sZQorICAgICBTY2hyaXR0ZSAzIHVuZCA0LgorCistLS0+IERpZXNlIFplaSBiaWV0ZXQgR2VsZWdlbiAsIFRleHQgaW4gZWluZXIgWmVpbGUgYW56dWbDvC4KKy0tLT4gRGllc2UgWmVpbGUgYmlldGV0IEdlbGVnZW5oZWl0LCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVmw7xnZW4uCisKK0FubWVya3VuZzogIGEsIGkgdW5kIEEgZ2VoZW4gYWxsZSBnbGVpY2hlcm1hw59lbiBpbiBkZW4gRWluZsO8Z2Vtb2R1czsgZGVyCisgICAgICAgICAgICBlaW56aWdlIFVudGVyc2NoaWVkIGlzdCwgd28gZGllIFplaWNoZW4gZWluZ2Vmw7xndCB3ZXJkZW4uCit+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+fn4KKwkgICAgICBMZWt0aW9uIDYuMzogRUlORSBBTkRFUkUgQVJUIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpCisKKworICAgICAgICoqIFRpcHBlIGVpbiBncm/Dn2VzICBSICAsIHVtIG1laHIgYWxzIGVpbiBaZWljaGVuIHp1IGVyc2V0emVuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuLCBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgorICAgICBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlcyBlcnN0ZW4gIHh4eCAuCisKKyAgMi4gTnVuIGRyw7xja2UgIFIgIHVuZCB0aXBwZSBkaWUgTnVtbWVyLCBkaWUgZGFydW50ZXIgaW4gZGVyIHp3ZWl0ZW4gWmVpbGUKKyAgICAgc3RlaHQsIHNvIGRhc3MgZGllc2UgZGFzIHh4eCBlcnNldHp0LgorCisgIDMuIERyw7xja2UgPEVTQz4gLCB1bSBkZW4gRXJzZXR6dW5nc21vZHVzIHp1IHZlcmxhc3Nlbi4gQmVhY2h0ZSwgZGFzcyBkZXIgUmVzdAorICAgICBkZXIgWmVpbGUgdW52ZXLDpG5kZXJ0IGJsZWlidC4KKworICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSwgdW0gZGFzIHZlcmJsaWViZW5lIHh4eCB6dSBlcnNldHplbi4KKworLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4KKy0tLT4gRGFzIEFkZGllcmVuIHZvbiAxMjMgenUgNDU2IGVyZ2lidCA1NzkuCisKK0FubWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5mw7xnZW1vZHVzLCBhYmVyIGplZGVzIGVpbmdldGlwcHRlCisgICAgICAgICAgIFplaWNoZW4gbMO2c2NodCBlaW4gdm9yaGFuZGVuZXMgWmVpY2hlbi4KKworfn5+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+CisJCSAgICBMZWt0aW9uIDYuNDogVEVYVCBLT1BJRVJFTiBVTkQgRUlORsOcR0VOCisKKyAqKiBCZW51dHplIGRlbiAgeSAgT3BlcmF0b3IsIHVtIFRleHQgenUga29waWVyZW47ICBwICAsIHVtIGlobiBlaW56dWbDvGdlbiAqKgorCisgIDEuIEdlaGUgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW47IHNldHplIGRlbiBDdXJzb3IgaGludGVyICJhKSIuCisKKyAgMi4gU3RhcnRlIGRlbiBWaXN1ZWxsZW4gTW9kdXMgbWl0ICB2ICAsIGJld2VnZSBkZW4gQ3Vyc29yIGdlbmF1IHZvciAiZXJzdGUiLgorCisgIDMuIFRpcHBlICB5ICAsIHVtIGRlbiBoZXJ2b3JnZWhvYmVuIFRleHQgenUga29waWVyZW4uCisKKyAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIG7DpGNoc3RlbiBaZWlsZTogIGokCisKKyAgNS4gVGlwcGUgIHAgLCB1bSBkZW4gVGV4dCBlaW56dWbDvGdlbiB1bmQgYW5zY2hsaWXDn2VuZDogIGEgendlaXRlIDxFU0M+IC4KKworICA2LiBCZW51dHplIGRlbiBWaXN1ZWxsZW4gTW9kdXMsIHVtICIgRWludHJhZy4iIGF1c3p1d8OkaGxlbiwga29waWVyZSBtaXR0ZWxzCisgICAgIHkgLCBiZXdlZ2UgRGljaCB6dW0gRW5kZSBkZXIgbsOkY2hzdGVuIFplaWxlIG1pdCAgaiQgIHVuZCBmw7xnZSBkZW4gVGV4dAorICAgICBkb3J0IG1pdCAgcCAgYW4uCisKKy0tLT4gIGEpIGRpZXMgaXN0IGRlciBlcnN0ZSBFaW50cmFnLgorICAgICAgYikKKworQW5tZXJrdW5nOiBEdSBrYW5uc3QgIHkgIGF1Y2ggYWxzIE9wZXJhdG9yIHZlcndlbmRlbjsgIHl3ICBrb3BpZXJ0IGVpbiBXb3J0Lgorfn5+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+CisJCQkgIExla3Rpb24gNi41OiBPUFRJT05FTiBTRVRaRU4KKworICAgICAgKiogU2V0emUgZWluZSBPcHRpb24gc28sIGRhc3MgZWluZSBTdWNoZSBvZGVyIEVyc2V0enVuZyBHcm/Dny0gKioKKwkJICAgICAgKiogdW5kIEtsZWluc2NocmVpYnVuZyBpZ25vcmllcnQgKioKKworICAxLiBTdWNoZSBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgICAvaWdub3JpZXJlICAgZWluZ2lic3QuCisgICAgIFdpZWRlcmhvbGUgZGllIFN1Y2hlIGVpbmlnZSBNYWxlLCBpbmRlbSBEdSBkaWUgbiAtIFRhc3RlIGRyw7xja3N0LgorCisgIDIuIFNldHplIGRpZSAnaWMnIChJZ25vcmUgY2FzZSkgLSBPcHRpb24sIGluZGVtIER1ICAgOnNldCBpYyAgIGVpbmdpYnN0LgorCisgIDMuIE51biBzdWNoZSB3aWVkZXIgbmFjaCAnaWdub3JpZXJlJywgaW5kZW0gRHUgIG4gIHRpcHBzdC4KKyAgICAgQmVhY2h0ZSwgZGFzcyBqZXR6dCBJZ25vcmllcmUgdW5kIGF1Y2ggSUdOT1JJRVJFIGdlZnVuZGVuIHdpcmQuCisKKyAgNC4gU2V0emUgZGllICdobHNlYXJjaCcgdW5kICdpbmNzZWFyY2gnIC0gT3B0aW9uZW46ICAgICA6c2V0IGhscyBpcworCisgIDUuIFdpZWRlcmhvbGUgZGllIFN1Y2hlIHVuZCBiZW9iYWNodGUsIHdhcyBwYXNzaWVydDogL2lnbm9yaWVyZSA8RU5URVI+CisKKyAgNi4gVW0gZGFzIElnbm9yaWVyZW4gdm9uIEdyb8OfL0tsZWluc2NocmVpYnVuZyBhYnp1c2NoYWx0ZW4sIHRpcHBlOiAgOnNldCBub2ljCisKK0FubWVya3VuZzogVW0gZGllIEhlcnZvcmhlYnVuZyBkZXIgVHJlZmZlciB6dSBlbnRmZXJuZW4sIGdpYiBlaW46ICA6bm9obHNlYXJjaAorQW5tZXJrdW5nOiBVbSBkaWUgU2NocmVpYndlaXNlIGbDvHIgZWluZSBlaW56aWdlIFN1Y2hlIHp1IGlnbm9yaWVyZW4sIGJlbnV0emUgXGMKKyAgICAgICAgICAgaW0gU3VjaGF1c2RydWNrOiAgL2lnbm9yaWVyZVxjICA8RU5URVI+Cit+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+fn4KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNgorCisgMS4gVGlwcGUgIG8gICwgdW0gZWluZSBaZWlsZSBVTlRFUiBkZW0gQ3Vyc29yIHp1IMO2ZmZuZW4gdW5kIGRlbiBFaW5mw7xnZW1vZHVzCisgICAgICAgICAgICAgICAgenUgc3RhcnRlbgorICAgIFRpcHBlICBPICAsIHVtIGVpbmUgWmVpbGUgw5xCRVIgZGVtIEN1cnNvciB6dSDDtmZmbmVuLgorCisgMi4gVGlwcGUgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWbDvGdlbi4KKyAgICBUaXBwZSAgQSAgLCB1bSBUZXh0IG5hY2ggZGVtIFplaWxlbmVuZGUgYW56dWbDvGdlbi4KKworIDMuIERhcyBLb21tYW5kbyAgZSAgYnJpbmd0IERpY2ggenVtIEVuZGUgZWluZXMgV29ydGVzLgorCisgNC4gRGVyIE9wZXJhdG9yICB5ICAoeWFuaykga29waWVydCBUZXh0LCAgcCAgKHB1dCkgZsO8Z3QgaWhuIGVpbi4KKworIDUuIEVpbiBncm/Dn2VzICBSICBnZWh0IGluIGRlbiBFcnNldHp1bmdzbW9kdXMgYmlzIHp1bSBEcsO8Y2tlbiB2b24gIDxFU0M+IC4KKworIDYuIERpZSBFaW5nYWJlIHZvbiAiOnNldCB4eHgiIHNldHp0IGRpZSBPcHRpb24gInh4eCIuIEVpbmlnZSBPcHRpb25lbiBzaW5kOgorCSdpYycgJ2lnbm9yZWNhc2UnICAgIElnbm9yaWVyZSBHcm/Dny9LbGVpbnNjaHJlaWJ1bmcgYmVpIGVpbmVyIFN1Y2hlCisJJ2lzJyAnaW5jc2VhcmNoJyAgICAgWmVpZ2UgVGVpbMO8YmVyZWluc3RpbW11bmdlbiBmw7xyIGVpbmVuIFN1Y2hhdXNkcnVjaworCSdobHMnICdobHNlYXJjaCcgICAgIEhlYmUgYWxsZSBwYXNzZW5kZW4gQXVzZHLDvGNrZSBoZXJ2b3IKKyAgICBEZXIgT3B0aW9uc25hbWUga2FubiBpbiBkZXIgS3Vyei0gb2RlciBkZXIgTGFuZ2Zvcm0gYW5nZWdlYmVuIHdlcmRlbi4KKworIDcuIFN0ZWxsZSBlaW5lciBPcHRpb24gIm5vIiB2b3JhbiwgdW0gc2llIGFienVzY2hhbHRlbjogICA6c2V0IG5vaWMKK35+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+fgorCQkJTGVrdGlvbiA3LjEgOiBBVUZSVUZFTiBWT04gSElMRkUKKworCisJCSAgICAgKiogTnV0emUgZGFzIGVpbmdlYmF1dGUgSGlsZmVzeXN0ZW0gKioKKworICBWaW0gYmVzaXR6dCBlaW4gdW1mYXNzZW5kZXMgZWluZ2ViYXV0ZXMgSGlsZmVzeXN0ZW0uICBGw7xyIGRlbiBBbmZhbmcgcHJvYmllcmUKKyAgZWlucyBkZXIgZHJlaSBmb2xnZW5kZW4gRGluZ2UgYXVzOgorCS0gRHLDvGNrZSBkaWUgPEhpbGZlPiAtIFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpCisJLSBEcsO8Y2tlIGRpZSA8RjE+IFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpCisJLSBUaXBwZSAgIDpoZWxwIDxFTlRFUj4KKworICBMaWVzIGRlbiBUZXh0IGltIEhpbGZlZmVuc3RlciwgdW0genUgdmVyc3RlaGVuIHdpZSBkaWUgSGlsZmUgZnVua3Rpb25pZXJ0LgorICBUaXBwZSAgQ1RSTC1XIENUUkwtVyAgICwgdW0gdm9uIGVpbmVtIEZlbnN0ZXIgenVtIGFuZGVyZW4genUgc3ByaW5nZW4uCisgIFRpcHBlICAgOnEgPEVOVEVSPiAgLCB1bSBkYXMgSGlsZmVmZW5zdGVyIHp1IHNjaGxpZcOfZW4uCisKKyAgRHUga2FubnN0IEhpbGZlIHp1IHByYWt0aXNjaCBqZWRlbSBUaGVtYSBmaW5kZW4sIGluZGVtIER1IGRlbSAiOmhlbHAiLQorICBLb21tYW5kbyBlaW4gQXJndW1lbnQgZ2lic3QuICBQcm9iaWVyZSBmb2xnZW5kZXMgKDxFTlRFUj4gbmljaHQgdmVyZ2Vzc2VuKToKKworCTpoZWxwIHcKKwk6aGVscCBjX0NUUkwtRAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCit+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+fn4KKwkJICAgICBMZWt0aW9uIDcuMjogRVJTVEVMTEUgRUlOIFNUQVJULVNLUklQVAorCisKKwkgICAgICAgICAgKiogIEFrdGl2aWVyZSBkaWUgRmVhdHVyZXMgdm9uIFZpbSAqKgorCisgIFZpbSBiZXNpdHp0IHZpZWxlIEZ1bmt0aW9uYWxpdMOkdGVuLCBkaWUgw7xiZXIgVmkgaGluYXVzZ2VoZW4sIGFiZXIgZGllIG1laXN0ZW4KKyAgdm9uIGlobmVuIHNpbmQgc3RhbmRhcmRtw6TDn2lnIGRlYWt0aXZpZXJ0LiBVbSBtZWhyIEZ1bmt0aW9uYWxpdMOkdGVuIHp1IG51dHplbiwKKyAgbXVzc3QgRHUgZWluZSAidmltcmMiIC0gRGF0ZWkgZXJzdGVsbGVuLgorCisgIDEuIFN0YXJ0ZSBkYXMgRWRpdGllcmVuIGRlciAidmltcmMiLURhdGVpLCBhYmjDpG5naWcgdm9uIGRlaW5lbSBTeXN0ZW06CisJOmUgfi8udmltcmMJCWbDvHIgVW5peAorCTplICRWSU0vX3ZpbXJjCQlmw7xyIE1TLVdpbmRvd3MKKworICAyLiBOdW4gbGllcyBkZW4gSW5oYWx0IGRlciBCZWlzcGllbC0idmltcmMiLURhdGVpIGVpbjoKKwk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIFNwZWljaGVyZSBkaWUgRGF0ZWkgbWl0OgorCTp3CisKKyAgQmVpbSBuw6RjaHN0ZW4gU3RhcnQgdm9uIFZpbSB3aXJkIGRpZSBTeW50YXhoZXJ2b3JoZWJ1bmcgYWt0aXZpZXJ0IHNlaW4uCisgIER1IGthbm5zdCBhbGwgZGVpbmUgYmV2b3J6dWd0ZW4gT3B0aW9uZW4genUgZGllc2VyICJ2aW1yYyItRGF0ZWkgenVmw7xnZW4uCisgIEbDvHIgbWVociBJbmZvcm1hdGlvbmVuIHRpcHBlICA6aGVscCB2aW1yYy1pbnRybworfn5+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+CisJCQkgTGVrdGlvbiA3LjM6IFZFUlZPTExTVMOETkRJR0VOCisKKworCSAgICoqIEtvbW1hbmRvemVpbGVudmVydm9sbHN0w6RuZGlndW5nIG1pdCBDVFJMLUQgdW5kIDxUQUI+ICoqCisKKyAgMS4gU3RlbGxlIHNpY2hlciwgZGFzcyBWaW0gbmljaHQgaW0gVmktS29tcGF0aWJpbGl0w6R0c21vZHVzIGlzdDogIDpzZXQgbm9jcAorCisgIDIuIFNpZWhlIG5hY2gsIHdlbGNoZSBEYXRlaWVuIGltIFZlcnplaWNobmlzIGV4aXN0aWVyZW46ICA6IWxzICBvZGVyICA6ZGlyCisKKyAgMy4gVGlwcGUgZGVuIEJlZ2lubiBlaW5lcyBLb21tYW5kb3M6ICA6ZQorCisgIDQuIERyw7xja2UgIENUUkwtRCAgdW5kIFZpbSB6ZWlndCBlaW5lIExpc3RlIG1pdCAiZSIgYmVnaW5uZW5kZXIgS29tbWFuZG9zLgorCisgIDUuIERyw7xja2UgIDxUQUI+ICB1bmQgVmltIHZlcnZvbGxzdMOkbmRpZ3QgZGVuIEtvbW1hbmRvbmFtZW4genUgIjplZGl0Ii4KKworICA2LiBOdW4gZsO8Z2UgZWluIExlZXJ6ZWljaGVuIHVuZCBkZW4gQW5mYW5nIGVpbmVyIGV4aXN0aWVyZW5kZW4gRGF0ZWkgYW46CisgICAgIDplZGl0IERBVAorCisgIDcuIERyw7xja2UgPFRBQj4uIFZpbSB2ZXJ2b2xsc3TDpG5kaWd0IGRlbiBOYW1lbiAoZmFsbHMgZXIgZWluZGV1dGlnIGlzdCkuCisKK0FubWVya3VuZzogVmVydm9sbHN0w6RuZGlndW5nIGZ1bmt0aW9uaWVydCBmw7xyIHZpZWxlIEtvbW1hbmRvcy4gUHJvYmllcmUKKyAgICAgZWluZmFjaCBDVFJMLUQgdW5kIDxUQUI+LiAgRGllcyBpc3QgaW5zYmVzb25kZXJlIG7DvHR6bGljaCBmw7xyICA6aGVscCAuCit+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+fn4KKwkJCQkgICAgIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA3CisKKworICAxLiBUaXBwZSAgOmhlbHAgIG9kZXIgZHLDvGNrZSA8RjE+IG9kZXIgPEhlbHA+LCB1bSBlaW4gSGlsZmVmZW5zdGVyIHp1IMO2ZmZuZW4uCisKKyAgMi4gVGlwcGUgIDpoZWxwIEtvbW1hbmRvICAsIHVtIEhpbGZlIMO8YmVyICBLb21tYW5kbyAgenUgZXJoYWx0ZW4uCisKKyAgMy4gVGlwcGUgIENUUkwtVyBDVFJMLVcgICwgdW0genVtIGFuZGVyZW4gRmVuc3RlciB6dSBzcHJpbmdlbi4KKworICA0LiBUaXBwZSAgOnEgICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXDn2VuLgorCisgIDUuIEVyc3RlbGxlIGVpbiB2aW1yYyAtIFN0YXJ0c2tyaXB0IG1pdCBkZWluZW4gYmV2b3J6dWd0ZXIgRWluc3RlbGx1bmdlbi4KKworICA2LiBEcsO8Y2tlIENUUkwtRCBuYWNoIGRlbSBUaXBwZW4gZWluZXMgIDogIEtvbW1hbmRvcywgdW0gbcO2Z2xpY2hlCisgICAgIFZlcnZvbGxzdMOkbmRpZ3VuZ2VuIGFuenVzZWhlbi4KKyAgICAgRHLDvGNrZSA8VEFCPiAsIHVtIGVpbmUgVmVydm9sbHN0w6RuZGlndW5nIHp1IGFuenV3ZW5kZW4uCisKKworCisKKworCit+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+fn4KKworICBEYW1pdCBpc3QgZGVyIFZpbSBUdXRvciBiZWVuZGV0LiAgU2VpbmUgSW50ZW50aW9uIHdhciwgZWluZW4ga3VyemVuIHVuZAorICBiw7xuZGlnZW4gw5xiZXJibGljayDDvGJlciBkZW4gVmltIEVkaXRvciB6dSBnZWJlbjsgZ2VyYWRlIGdlbnVnLCB1bSByZWxhdGl2CisgIGxlaWNodCBtaXQgaWhtIHVtZ2VoZW4genUga8O2bm5lbi4gIERlciBWaW0gVHV0b3IgaGF0IG5pY2h0IGRlbiBnZXJpbmdzdGVuCisgIEFuc3BydWNoIGF1ZiBWb2xsc3TDpG5kaWdrZWl0OyBWaW0gaGF0IG5vY2ggd2VpdGF1cyBtZWhyIEtvbW1hbmRvcy4gTGllcyBhbHMKKyAgbsOkY2hzdGVzIGRhcyBVc2VyIE1hbnVhbDogIjpoZWxwIHVzZXItbWFudWFsIi4KKworICBGw7xyIHdlaXRlcmVzIExlc2VuIHVuZCBMZXJuZW4gaXN0IGZvbGdlbmRlcyBCdWNoIGVtcGZlaGxlbnN3ZXJ0IDoKKwlWaW0gLSBWaSBJbXByb3ZlZCAtIHZvbiBTdGV2ZSBPdWFsbGluZQorCVZlcmxhZzogTmV3IFJpZGVycworICBEYXMgZXJzdGUgQnVjaCwgd2VsY2hlcyBkdXJjaGfDpG5naWcgVmltIGdld2lkbWV0IGlzdC4gIEJlc29uZGVycyBuw7x0emxpY2gKKyAgZsO8ciBBbmbDpG5nZXIuICBWaWVsZSBCZWlzcGllbGUgdW5kIEJpbGRlciBzaW5kIGVudGhhbHRlbi4KKyAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKKworICBGb2xnZW5kZXMgQnVjaCBpc3Qgw6RsdGVyIHVuZCBtZWhyIMO8YmVyIFZpIGFscyBWaW0sIGFiZXIgYXVjaCBlbXBmZWhsZW5zd2VydDoKKwlUZXh0YmVhcmJlaXR1bmcgbWl0IGRlbSBWaS1FZGl0b3IgIC0gIHZvbiBMaW5kYSBMYW1iIHVuZCBBcm5vbGQgUm9iYmlucworCVZlcmxhZyBPJ1JlaWxseSAtIElTQk46IDM4OTcyMTEyNjIKKyAgSW4gZGllc2VtIEJ1Y2gga2FubiBtYW4gZmFzdCBhbGxlcyBmaW5kZW4sIHdhcyBtYW4gbWl0IFZpIHR1biBtw7ZjaHRlLgorICBEaWUgc2VjaHN0ZSBBdXNnYWJlIGVudGjDpGx0IGF1Y2ggSW5mb3JtYXRpb25lbiDDvGJlciBWaW0uCisKKyAgQWxzIGFrdHVlbGxlIFJlZmVyZW56IGbDvHIgVmVyc2lvbiA2LjIgdW5kIGtuYXBwZSBFaW5mw7xocnVuZyBkaWVudCBkYXMKKyAgZm9sZ2VuZGUgQnVjaDoKKwl2aW0gZ2UtcGFja3Qgdm9uIFJlaW5oYXJkIFdvYnN0CisJbWl0cC1WZXJsYWcsIElTQk4gMy04MjY2LTE0MjUtOQorICBUcm90eiBkZXIga29tcGFrdGVuIERhcnN0ZWxsdW5nIGlzdCBlcyBkdXJjaCB2aWVsZSBuw7x0emxpY2hlIEJlaXNwaWVsZSBhdWNoCisgIGbDvHIgRWluc3RlaWdlciBlbXBmZWhsZW5zd2VydC4gIFByb2Jla2FwaXRlbCB1bmQgZGllIEJlaXNwaWVsc2tyaXB0ZSBzaW5kCisgIG9ubGluZSBlcmjDpGx0bGljaC4gIFNpZWhlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgRGllc2VzIFR1dG9yaWFsIHd1cmRlIGdlc2NocmllYmVuIHZvbiBNaWNoYWVsIEMuIFBpZXJjZSB1bmQgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcy4gRXMgYmVudXR6dCBJZGVlbiwgZGllIENoYXJsZXMgU21pdGgsIENvbG9yYWRvIFN0YXRlCisgIFVuaXZlcnNpdHksIHp1ciBWZXJmw7xndW5nIHN0ZWxsdGUuICBFLU1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBCZWFyYmVpdGV0IGbDvHIgVmltIHZvbiBCcmFtIE1vb2xlbmFhci4KKyAgRGV1dHNjaGUgw5xiZXJzZXR6dW5nIHZvbiBKb2FjaGltIEhvZm1hbm4gMjAxNS4gIEUtTWFpbDogSm9hY2hpbS5Ib2ZAZ214LmRlCisKK35+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+fgo=