ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0MzhjOTYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRlCkBAIC0wLDAgKzEsOTgwIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgICAgVyBpIGwgbCBrIG8gbSBtIGUgbiAgIGltICAgViBJIE0gICBUIHUgdCBvIHIgICAgLSAgICBWZXJzaW9uIDEuN0QgICAgICA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgIFZpbSBpc3QgZWluIHNlaHIgbeRjaHRpZ2VyIEVkaXRvciwgZGVyIHZpZWxlIEJlZmVobGUgYmVyZWl0c3RlbGx0OyB6dSB2aWVsZSwKKyAgIHVtIGFsbGUgaW4gZWluZW0gVHV0b3Igd2llIGRpZXNlbSB6dSBlcmts5HJlbi4gIERpZXNlciBUdXRvciBpc3Qgc28KKyAgIGdlc3RhbHRldCwgdW0gZ2VudWcgQmVmZWhsZSB2b3J6dXN0ZWxsZW4sIGRhc3MgRHUgZGllIEbkaGlna2VpdCBlcmxhbmdzdCwKKyAgIFZpbSBtaXQgTGVpY2h0aWdrZWl0IGFscyBlaW5lbiBBbGx6d2Vjay1FZGl0b3IgenUgYmVudXR6ZW4uCisgICBEaWUgWmVpdCBm/HIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRy5Gd0IGNhLiAyNS0zMCBNaW51dGVuLAorICAgYWJo5G5naWcgZGF2b24sIHdpZSB2aWVsIFplaXQgRHUgbWl0IEV4cGVyaW1lbnRpZXJlbiB2ZXJicmluZ3N0LgorCisgICBBQ0hUVU5HOgorICAgRGllIGluIGRlbiBMZWt0aW9uZW4gYW5nZXdlbmRldGVuIEtvbW1hbmRvcyB3ZXJkZW4gZGVuIFRleHQgbW9kaWZpemllcmVuLgorICAgRXJzdGVsbGUgZWluZSBLb3BpZSBkaWVzZXIgRGF0ZWksIGluIGRlciBEdSD8YmVuIHdpbGxzdCAoZmFsbHMgRHUgInZpbXR1dG9yIgorICAgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLgorCisgICBFcyBpc3Qgd2ljaHRpZywgc2ljaCB6dSB2ZXJnZWdlbnfkcnRpZ2VuLCBkYXNzIGRpZXNlciBUdXRvciBm/HIgZGFzIEFud2VuZGVuCisgICBrb256aXBpZXJ0IGlzdC4gRGFzIGJlZGV1dGV0LCBkYXNzIER1IGRpZSBCZWZlaGxlIGF1c2b8aHJlbiBtdXNzdCwgdW0gc2llCisgICByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZSBCZWZlaGxlIQorCisgICBKZXR6dCBzdGVsbGUgc2ljaGVyLCBkYXNzIERlaW5lIFVtc3RlbGx0YXN0ZSBOSUNIVCBnZWRy/GNrdCBpc3QgdW5kIGJldOR0aWdlCisgICBkaWUgICBqICAgVGFzdGUgZ2Vu/GdlbmQgTWFsZSwgdW0gZGVuIEN1cnNvciBuYWNoIHVudGVuIHp1IGJld2VnZW4sIHNvIGRhc3MKKyAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZvxsbHQuCit+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+fn4KKwkJCUxla3Rpb24gMS4xOiBCRVdFR0VOIERFUyBDVVJTT1JTCisKKyAgKiogVW0gZGVuIEN1cnNvciB6dSBiZXdlZ2VuLCBkcvxja2UgZGllIGgsaixrLGwgVGFzdGVuIHdpZSB1bnRlbiBnZXplaWd0LiAqKgorCSAgICAgXgkJIEhpbGZlc3RlbGx1bmc6CisJICAgICBrCQkgRGllIGggVGFzdGUgYmVmaW5kZXQgc2ljaCBsaW5rcyB1bmQgYmV3ZWd0IG5hY2ggbGlua3MuCisgICAgICAgPCBoCSBsID4JIERpZSBsIFRhc3RlIGxpZWd0IHJlY2h0cyB1bmQgYmV3ZWd0IG5hY2ggcmVjaHRzLgorCSAgICAgagkJIERpZSBqIFRhc3RlIORobmVsdCBlaW5lbSBQZmVpbCBuYWNoIHVudGVuLgorCSAgICAgdgorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciBhdWYgZGVtIEJpbGRzY2hpcm0gdW1oZXIsIGJpcyBEdSBEaWNoIHNpY2hlciBm/Ghsc3QuCisKKyAgMi4gSGFsdGUgZGllIE5hY2gtVW50ZW4tVGFzdGUgKGopIGdlZHL8Y2t0LCBiaXMgc2llIHNpY2ggd2llZGVyaG9sdC4KKyAgICAgSmV0enQgd2Vp33QgRHUsIHdpZSBEdSBEaWNoIHp1ciBu5GNoc3RlbiBMZWt0aW9uIGJld2VnZW4ga2FubnN0LgorCisgIDMuIEJlbnV0emUgZGllIE5hY2gtVW50ZW4tVGFzdGUsIHVtIERpY2ggenUgTGVrdGlvbiAxLjIgenUgYmV3ZWdlbi4KKworQmVtZXJrdW5nOiBJbW1lciwgd2VubiBEdSBEaXIgdW5zaWNoZXIgYmlzdCD8YmVyIGRhcywgd2FzIER1IGdldGlwcHQgaGFzdCwKKwkgICBkcvxja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLgorCSAgIERhbm4gZ2liIGRhcyBnZXf8bnNjaHRlIEtvbW1hbmRvIG5vY2ggZWlubWFsIGVpbi4KKworQmVtZXJrdW5nOiBEaWUgQ3Vyc29yLVRhc3RlbiBzb2xsdGVuIGViZW5mYWxscyBmdW5rdGlvbmllcmVuLiAgQWJlciB3ZW5uIER1CisJICAgaGprbCBiZW51dHp0LCB3aXJzdCBEdSBpbiBkZXIgTGFnZSBzZWluLCBEaWNoIHNlaHIgdmllbCBzY2huZWxsZXIKKwkgICB1bWhlcnp1YmV3ZWdlbiwgd2VubiBEdSBEaWNoIGVpbm1hbCBkYXJhbiBnZXf2aG50IGhhc3QuIFdpcmtsaWNoIQorfn5+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+CisJCQkgICAgTGVrdGlvbiAxLjI6IFZJTSBCRUVOREVOCisKKworICAhISBBQ0hUVU5HOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vm/GhydGVuIFNjaHJpdHRlIGF1c2b8aHJzdCwgbGllcworICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQorCisgIDEuIERy/GNrZSBkaWUgPEVTQz4gVGFzdGUgKHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0KS4KKworICAyLiBUaXBwZToJOnEhIDxFTlRFUj4uCisgICAgIERpZXMgYmVlbmRldCBkZW4gRWRpdG9yIHVuZCBWRVJXSVJGVCBhbGxlIMRuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuCisKKyAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQorICAgICBkaWVzZW0gVHV0b3IgZ2Vm/GhydCBoYXQuIERpZXMgd+RyZToJdmltdHV0b3IgPEVOVEVSPgorCisgIDQuIFdlbm4gRHUgRGlyIGRpZXNlIFNjaHJpdHRlIGVpbmdlcHLkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZvxobHN0LAorICAgICBm/GhyZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cywgdW0gZGVuIEVkaXRvciB6dSB2ZXJsYXNzZW4gdW5kIHdpZWRlcgorICAgICBoaW5laW56dWdlbGFuZ2VuLgorCitCZW1lcmt1bmc6ICA6cSEgPEVOVEVSPiAgdmVyd2lyZnQgYWxsZSDEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LiBJbgorICAgICBlaW5pZ2VuIExla3Rpb25lbiBsZXJuc3QgRHUgLCBkaWUgxG5kZXJ1bmdlbiBpbiBlaW5lciBEYXRlaSB6dSBzcGVpY2hlcm4uCisKKyAgNS4gQmV3ZWdlIGRlbiBDdXJzb3IgYWJ35HJ0cyB6dSBMZWt0aW9uIDEuMy4KKyB+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+fn4KKwkJICAgICBMZWt0aW9uIDEuMzogVEVYVCBFRElUSUVSRU4gLSBM1lNDSEVOCisKKworCSAqKiBEcvxja2UgIHggIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KKworICAyLiBVbSBkaWUgRmVobGVyIHp1IGJlaGViZW4sIGJld2VnZSBkZW4gQ3Vyc29yLCBiaXMgZXIgYXVmIGRlbSBaZWljaGVuIHN0ZWh0LAorICAgICBkYXMgZ2Vs9nNjaHQgd2VyZGVuIHNvbGwuCisKKyAgMy4gRHL8Y2tlIGRpZSAgeCAgVGFzdGUsIHVtIGRhcyD8YmVyZmz8c3NpZ2UgWmVpY2hlbiB6dSBs9nNjaGVuLgorCisgIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdC4KKworLS0tPiBEaWUgS2t1aCBzcHJhbmdnIPxiYmVyIGRlZW4gTW9vbmQuCisKKyAgNS4gV2VubiBudW4gZGllIFplaWxlIGtvcnJla3QgaXN0LCBnZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAxLjQuCisKK0FubWVya3VuZzogV+RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUKKyAgICBsZXJuZW4sIGxlcm5lIHZpZWxtZWhyIGR1cmNoIEFud2VuZGVuLgorCisKK35+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+fgorCQkgICAgIExla3Rpb24gMS40OiBURVhUIEVESVRJRVJFTiAtIEVJTkbcR0VOCisKKworCQkgICAgKiogIERy/GNrZSAgaSAgLCB1bSBUZXh0IGVpbnp1ZvxnZW4uICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKworICAyLiBVbSBkaWUgZXJzdGUgWmVpbGUgbWl0IGRlciB6d2VpdGVuIGdsZWljaHp1bWFjaGVuLCBiZXdlZ2UgZGVuIEN1cnNvciBhdWYKKyAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCB3byBkZXIgVGV4dCBlaW5nZWb8Z3Qgd2VyZGVuIHNvbGwuCisKKyAgMy4gRHL8Y2tlICBpICB1bmQgZ2liIGRpZSBub3R3ZW5kaWdlbiBFcmfkbnp1bmdlbiBlaW4uCisKKyAgNC4gV2VubiBqZXdlaWxzIGVpbiBGZWhsZXIgYmVzZWl0aWd0IGlzdCwgZHL8Y2tlIDxFU0M+ICwgdW0genVtIE5vcm1hbG1vZHVzCisgICAgIHp1cvxja3p1a2VocmVuLgorICAgICBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBkZW4gU2F0eiB6dSBrb3JyaWdpZXJlbi4KKworLS0tPiBJbiBkaWVzZXIgZnQgZXR3YXMgLgorLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVobHQgZXR3YXMgVGV4dC4KKworICA1LiBXZW5uIER1IERpY2ggbWl0IGRlbSBFaW5m/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+IG1hcmtpZXJ0ZW4gWmVpbGUuCisgICAgIEVzIGlzdCBnbGVpY2hn/Gx0aWcsIGF1ZiB3ZWxjaGVtIFplaWNoZW4gZGVyIFplaWxlIGRlciBDdXJzb3Igc3RlaHQuCisKKyAgMi4gRHL8Y2tlICBBICB1bmQgZ2liIGRpZSBu9nRpZ2VuIEVyZ+RuenVuZ2VuIGVpbi4KKworICAzLiBXZW5uIGRhcyBBbmb8Z2VuIGFiZ2VzY2hsb3NzZW4gaXN0LCBkcvxja2UgPEVTQz4sIHVtIGluIGRlbiBOb3JtYWxtb2R1cworICAgICB6dXL8Y2t6dWtlaHJlbi4KKworICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVuZCB3aWVkZXJob2xlCisgICAgIGRpZSBTY2hyaXR0ZSAyIHVuZCAzLCB1bSBkZW4gU2F0eiB6dSBrb3JyaWdpZXJlbi4KKworLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVoCisgICAgIEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgorLS0tPiBBdWNoIGhpZXIgc3RlaAorICAgICBBdWNoIGhpZXIgc3RlaHQgZXR3YXMgVW52b2xsc3TkbmRpZ2VzLgorCisgIDUuIFdlbm4gRHUgZGljaCBtaXQgZGVtIEFuZvxnZW4gdm9uIFRleHQgc2ljaGVyIGb8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNi4KK35+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+fgorCQkgICAgICAgTGVrdGlvbiAxLjY6IEVJTkUgREFURUkgRURJVElFUkVOCisKKworICAgICAqKiBCZW51dHplICA6d3EgICwgdW0gZWluZSBEYXRlaSB6dSBzcGVpY2hlcm4gdW5kIFZpbSB6dSB2ZXJsYXNzZW4uICoqCisKKyAgISEgQUNIVFVORzogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZvxocnRlbiBTY2hyaXR0ZSBhdXNm/Ghyc3QsIGxpZXMKKyAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISEKKworICAxLiBWZXJsYXNzZSBkZW4gRWRpdG9yIHNvIHdpZSBpbiBMZWt0aW9uIDEuMjogIDpxIQorCisgIDIuIEdpYiBkaWVzZXMgS29tbWFuZG8gaW4gZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgZWluOiAgdmltIHR1dG9yIDxFTlRFUj4KKyAgICAgJ3ZpbScgaXN0IGRlciBBdWZydWYgZGVzIEVkaXRvcnMsICd0dXRvcicgaXN0IGRpZSB6dSBlZGl0aWVyZW5kZSBEYXRlaS4KKyAgICAgQmVudXR6ZSBlaW5lIERhdGVpLCBkaWUgZ2XkbmRlcnQgd2VyZGVuIGthbm4uCisKKyAgMy4gRvxnZSBUZXh0IGVpbiBvZGVyIGz2c2NoZSBpaG4sIHdpZSBEdSBpbiBkZW4gdm9yaWdlbiBMZWt0aW9uZW4gZ2VsZXJudAorICAgICBoYXN0LgorCisgIDQuIFNwZWljaGVyZSBkaWUgZ2XkbmRlcnRlIERhdGVpIHVuZCB2ZXJsYXNzZSBWaW0gbWl0OiAgOndxIDxFTlRFUj4KKworICA1LiBTdGFydGUgZGVuIHZpbXR1dG9yIG5ldSB1bmQgYmV3ZWdlIERpY2ggenUgZGVyIGZvbGdlbmRlbiBadXNhbW1lbmZhc3N1bmcuCisKKyAgNi4gTmFjaGRlbSBEdSBvYmlnZSBTY2hyaXR0ZSBnZWxlc2VuIHVuZCB2ZXJzdGFuZGVuIGhhc3QsIGb8aHJlIHNpZSBkdXJjaC4KK35+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+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAxCisKKworICAxLiBEZXIgQ3Vyc29yIHdpcmQgbWl0IGRlbiBQZmVpbHRhc3RlbiBvZGVyIGRlbiBUYXN0ZW4gaGprbCBiZXdlZ3QuCisJIGggKGxpbmtzKSAgICAgaiAodW50ZW4pICAgICBrIChhdWZ35HJ0cykgICAgbCAocmVjaHRzKQorCisgIDIuIFVtIFZpbSB2b24gZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmcgYXVzenVm/GhyZW4sIHRpcHBlOiB2aW0gREFURUkgPEVOVEVSPgorCisgIDMuIFVtIFZpbSB6dSB2ZXJsYXNzZW4gdW5kIGFsbGUgxG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOgorCQk8RVNDPiAgOnEhICA8RU5URVI+IC4KKwlPREVSIHRpcHBlOgk8RVNDPiAgOndxICA8RU5URVI+ICwgdW0gZGllIMRuZGVydW5nZW4genUgc3BlaWNoZXJuLgorCisgIDQuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbiwgdGlwcGU6ICB4CisKKyAgNS4gVW0gVGV4dCBlaW56dWb8Z2VuIG9kZXIgYW56dWb8Z2VuLCB0aXBwZToKKwkgaSAgIEVpbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgIDxFU0M+ICAgIEVpbmb8Z2VuIHZvciBkZW0gQ3Vyc29yCisJIEEgICBBbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgICA8RVNDPiAgICBBbmb8Z2VuIG5hY2ggZGVtIFplaWxlbmRlbmUKKworQmVtZXJrdW5nOiBEcvxja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgb2RlciBicmljaHQgZWluCisgICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCisKKyAgICAgTnVuIGZhaHJlIG1pdCBMZWt0aW9uIDIgZm9ydC4KK35+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+fgorCQkJICBMZWt0aW9uIDIuMTogTNZTQ0hLT01NQU5ET1MKKworCisJCSAgICoqIFRpcHBlICBkdyAgLCB1bSBlaW4gV29ydCB6dSBs9nNjaGVuLiAqKgorCisgIDEuIERy/GNrZSAgPEVTQz4gIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0LgorCisgIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgorCisgIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZWluZXMgV29ydGVzLCBkYXMgZ2Vs9nNjaHQgd2VyZGVuIHNvbGwuCisKKyAgNC4gVGlwcGUgIGR3ICAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4KKworICBCZW1lcmt1bmc6IERlciBCdWNoc3RhYmUgIGQgIGVyc2NoZWludCBhdWYgZGVyIGxldHp0ZW4gWmVpbGUgZGVzIEJpbGRzY2hpcm1zLAorICAgICAgICB3ZW5uIER1IGlobiBlaW5naWJzdC4gVmltIHdhcnRldCBkYXJhdWYsIGRh3yBEdSAgdyAgZWluZ2lic3QuIFdlbm4gRHUKKyAgICAgICAgZWluIGFuZGVyZXMgWmVpY2hlbiBhbHMgIGQgIHNpZWhzdCwgaGFzdCBEdSBldHdhcyBmYWxzY2hlcyBnZXRpcHB0OworICAgICAgICBkcvxja2UgPEVTQz4gdW5kIGJlZ2lubmUgbmV1LgorCistLS0+IEVpbmlnZSBX9nJ0ZXIgbHVzdGlnIGdlaPZyZW4gbmljaHQgUGFwaWVyIGluIGRpZXNlbiBTYXR6LgorCisgIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDMgdW5kIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdCB1bmQgZ2VoZQorICAgICBkYW5hY2ggenVyIExla3Rpb24gMi4yLgorfn5+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+CisJCSAgICAgIExla3Rpb24gMi4yOiBXRUlURVJFIEzWU0NIS09NTUFORE9TCisKKworCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBs9nNjaGVuLiAqKgorCisgIDEuIERy/GNrZSA8RVNDPiAsIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0LgorCisgIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgorCisgIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBrb3JyZWt0ZW4gWmVpbGUgKE5BQ0ggZGVtIGVyc3RlbiAuICkuCisKKyAgNC4gVGlwcGUgICAgZCQgICAgLCB1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGz2c2NoZW4uCisKKy0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uCisKKworICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHBhc3NpZXJ0LgorCisKKworCisKK35+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+fgorCQkgTGVrdGlvbiAyLjM6INxCRVIgT1BFUkFUT1JFTiBVTkQgQkVXRUdVTkdTWtxHRQorCisKKyAgVmllbGUgS29tbWFuZG9zLCBkaWUgVGV4dCDkbmRlcm4sIHNldHplbiBzaWNoIGF1cyBlaW5lbSBPcGVyYXRvciB1bmQgZWluZXIKKyAgQmV3ZWd1bmcgenVzYW1tZW4uIERhcyBGb3JtYXQgZvxyIGVpbiBM9nNjaGtvbW1hbmRvIG1pdCBkZW0gTPZzY2hvcGVyYXRvciAgZAorICBsYXV0ZXQgd2llIGZvbGd0OgorCisgICAgZCAgQmV3ZWd1bmcKKworICB3b2JlaToKKyAgICBkICAgICAgICAtIGRlciBM9nNjaG9wZXJhdG9yCisgICAgQmV3ZWd1bmcgLSB3b3JhdWYgZGVyIEz2c2Nob3BlcmF0b3IgYW5nZXdhbmR0IHdpcmQgKHVudGVuIGF1ZmdlbGlzdGV0KS4KKworICBFaW5lIGtsZWluZSBBdWZsaXN0dW5nIHZvbiBCZXdlZ3VuZ2VuOgorICAgIHcgLSBiaXMgenVtIEJlZ2lubiBkZXMgbuRjaHN0ZW4gV29ydGVzIE9ITkUgZGVzc2VuIGVyc3RlcyBaZWljaGVuLgorICAgIGUgLSB6dW0gRW5kZSBkZXMgYWt0dWVsbGVuIFdvcnRlcyBNSVQgZGVzc2VuIGxldHp0ZW0gWmVpY2hlbi4KKyAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0emVuIFplaWNoZW4uCisKKyAgRGVtZW50c3ByZWNoZW5kIGz2c2NodCBkaWUgRWluZ2FiZSB2b24gIGRlICB2b20gQ3Vyc29yIGFuIGJpcyB6dW0gV29ydGVuZGUuCisKK0JlbWVya3VuZzogIERpZSBFaW5nYWJlIGxlZGlnbGljaCBkZXMgQmV3ZWd1bmdzdGVpbHMgaW0gTm9ybWFsbW9kdXMgYmV3ZWd0IGRlbgorICBDdXJzb3IgZW50c3ByZWNoZW5kLgorfn5+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+CisJTGVrdGlvbiAyLjQ6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBFSU5FTiBCRVdFR1VOR1NTQ0hSSVRUCisKKworICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCB2b3IgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCB3aWVkZXJob2x0IGRpZXNlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQmVnaW5uIGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgorCisgIDIuIFRpcHBlICAydyAgLCB1bSBkZW4gQ3Vyc29yIHp3ZWkgV/ZydGVyIHZvcnfkcnRzIHp1IGJld2VnZW4uCisKKyAgMy4gVGlwcGUgIDNlICAsIHVtIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVzIGRyaXR0ZW4gV29ydGVzIHp1IGJld2VnZW4uCisKKyAgNC4gVGlwcGUgIDAgIChOdWxsKSAsIHVtIHp1bSBBbmZhbmcgZGVyIFplaWxlIHp1IGdlbGFuZ2VuLgorCisgIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMyBtaXQgdmVyc2NoaWVkZW5lbiBa5GhsZXJuLgorCisgIC0tLT4gRGllcyBpc3QgbnVyIGVpbmUgWmVpbGUgYXVzIFf2cnRlbiB1bSBzaWNoIGRhcmluIGhlcnVtenViZXdlZ2VuLgorCisgIDYuIEdlaGUgd2VpdGVyIHp1IExla3Rpb24gMi41LgorCisKKworCit+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+fn4KKwkgTGVrdGlvbiAyLjU6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBNRUhSRVJFIEzWU0NIVk9SR8ROR0UKKworCisgICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIG1pdCBlaW5lbSBPcGVyYXRvciB3aWVkZXJob2x0IGRpZXNlbiBtZWhyZmFjaC4gKioKKworICBG/HIgZGllIEtvbWJpbmF0aW9uIGRlcyBM9nNjaG9wZXJhdG9ycyB1bmQgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCAoc2llaGUKKyAgb2Jlbikgc3RlbGx0IG1hbiBkZW0gQmV3ZWd1bmdzc2Nocml0dCBlaW5lbiBa5GhsZXIgdm9yYW4sIHVtIG1laHIgenUgbPZzY2hlbjoKKwkgZCAgTnVtbWVyICBCZXdlZ3VuZ3NzY2hyaXR0CisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBXb3J0IGluIEdST1NTQlVDSFNUQUJFTiBpbiBkZXIgbWl0IC0tLT4KKyAgICAgbWFya2llcmVuIFplaWxlLgorCisgIDIuIFRpcHBlICBkMncgICwgdW0gZGllIHp3ZWkgV/ZydGVyIGluIEdST1NTQlVDSFNUQUJFTiB6dSBs9nNjaGVuLgorCisgIDMuIFdpZWRlcmhvbGUgU2Nocml0dGUgMSB1bmQgIDIgbWl0IGVpbmVtIGFuZGVyZW4gWuRobGVyLCB1bSBkaWUKKyAgICAgZGFyYXVmZm9sZ2VuZGVuIFf2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4gbWl0IGVpbmVtIGVpbnppZ2VuIEtvbW1hbmRvCisgICAgIHp1IGz2c2NoZW4uCisKKy0tLT4gIERpZXNlIEFCQyBERSBaZWlsZSBGR0hJIEpLIExNTiBPUCBtaXQgV/ZydGVybiBpc3QgUSBSUyBUVVYgYmVyZWluaWd0LgorCisKKworfn5+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+CisJCQlMZWt0aW9uIDIuNjogQVJCRUlURU4gQVVGIFpFSUxFTgorCisKKwkgICAgICAgKiogVGlwcGUgIGRkICAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbPZzY2hlbi4gKioKKworICBXZWdlbiBkZXIgSOR1Zmlna2VpdCwgZGFzcyBtYW4gZ2FuemUgWmVpbGVuIGz2c2NodCwga2FtZW4gZGllIEVudHdpY2tsZXIgdm9uCisgIFZpIGRhcmF1ZiwgZGFzcyBlcyBsZWljaHRlciB35HJlLCBlaW5mYWNoIHp3ZWkgZCdzIGVpbnp1Z2ViZW4sIHVtIGVpbmUgWmVpbGUKKyAgenUgbPZzY2hlbi4KKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBaZWlsZSBpbiBkZXIgdW50ZW4gc3RlaGVuZGVuIFJlZGV3ZW5kdW5nLgorICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4uCisgIDMuIE51biBiZXdlZ2UgRGljaCB6dXIgdmllcnRlbiBaZWlsZS4KKyAgNC4gVGlwcGUgIDJkZCAgLCB1bSB6d2VpIFplaWxlbiB6dSBs9nNjaGVuLgorCistLS0+ICAxKSAgUm9zZW4gc2luZCByb3QsCistLS0+ICAyKSAgTWF0c2NoIGlzdCBsdXN0aWcsCistLS0+ICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LAorLS0tPiAgNCkgIEljaCBoYWJlIGVpbiBBdXRvLAorLS0tPiAgNSkgIERpZSBVaHIgc2FndCBkaWUgWmVpdCwKKy0tLT4gIDYpICBadWNrZXIgaXN0IHP83ywKKy0tLT4gIDcpICBTbyB3aWUgRHUgYXVjaC4KKworfn5+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+CisJCSAgICAgTGVrdGlvbiAyLjc6IFLcQ0tHxE5HSUcgTUFDSEVOIChVTkRPKQorCisKKwkgKiogVGlwcGUgdSAsIHVtIGRpZSBsZXR6dGVuIEtvbW1hbmRvcyBy/GNrZ+RuZ2lnIHp1IG1hY2hlbiAqKgorCSAgICAgICoqIG9kZXIgVSB1bSBlaW5lIGdhbnplIFplaWxlIHdpZWRlcmhlcnp1c3RlbGxlbi4gKioKKworICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbgorICAgICB1bmQgc2V0emUgaWhuIGF1ZiBkZW4gZXJzdGVuIEZlaGxlci4KKyAgMi4gVGlwcGUgIHggICwgdW0gZGFzIGVyc3RlIHVuZXJ3/G5zY2h0ZSBaZWljaGVuIHp1IGz2c2NoZW4uCisgIDMuIE51biB0aXBwZSAgdSAgdW0gZGFzIHNvZWJlbiBhdXNnZWb8aHJ0ZSBLb21tYW5kbyBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4KKyAgNC4gSmV0enQgYmVoZWJlIGFsbGUgRmVobGVyIGF1ZiBkZXIgWmVpbGUgbWl0IEhpbGZlIGRlcyB4ICBLb21tYW5kb3MuCisgIDUuIE51biB0aXBwZSBlaW4gZ3Jv32VzICBVICwgdW0gZGllIFplaWxlIGluIGlocmVuIFVyc3BydW5nc3p1c3RhbmQKKyAgICAgd2llZGVyaGVyenVzdGVsbGVuLgorICA2LiBOdW4gdGlwcGUgIHUgIGVpbmlnZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcworICAgICBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4KKyAgNy4gTnVuIHRpcHBlIENUUkwtUiAoaGFsdGUgQ1RSTCBnZWRy/GNrdCB1bmQgZHL8Y2tlIFIpIG1laHJlcmUgTWFsZSwgdW0gZGllCisgICAgIEtvbW1hbmRvcyB3aWVkZXJoZXJ6dXN0ZWxsZW4gKGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgbWFjaGVuKS4KKworLS0tPiBCZWVoZWJlIGRpZSBGZWhsbGVyIGRpZXNzZXIgWmVpbGUgdW5kIHN0dGVsbGUgc2llIG1pdHQgJ3VuZG8nIHdpZWRlciBoZXIuCisKKyAgOC4gRGllcyBzaW5kIHNlaHIgbvx0emxpY2hlIEtvbW1hbmRvcy4KKyAgICAgTnVuIGdlaGUgd2VpdGVyIHp1ciBadXNhbW1lbmZhc3N1bmcgdm9uIExla3Rpb24gMi4KK35+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+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAyCisKKworICAxLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gbuRjaHN0ZW4gV29ydCB6dSBs9nNjaGVuLCB0aXBwZTogICAgZHcKKyAgMi4gVW0gdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUgenUgbPZzY2hlbiwgdGlwcGU6ICAgICBkJAorICAzLiBVbSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkZAorCisgIDQuIFVtIGVpbmUgQmV3ZWd1bmcgenUgd2llZGVyaG9sZW4sIHN0ZWxsZSBlaW5lIE51bW1lciB2b3JhbjogICAydworICA1LiBEYXMgRm9ybWF0IGb8ciBlaW4gxG5kZXJ1bmdza29tbWFuZG8gaXN0OgorICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQKKyAgICAgd29iZWk6CisgICAgICAgT3BlcmF0b3IgLSBnaWJ0IGFuLCB3YXMgZ2V0YW4gd2VyZGVuIHNvbGwsIHp1bSBCZWlzcGllbCAgZCAgZvxyIGRlbGV0ZQorICAgICAgIFtBbnphaGxdIC0gZWluIG9wdGlvbmFsZXIgWuRobGVyLCB1bSBkZW4gQmV3ZWd1bmdzc2Nocml0dCB6dSB3aWVkZXJob2xlbgorICAgICAgIEJld2VndW5nc3NjaHJpdHQgLSBCZXdlZ3VuZyD8YmVyIGRlbiB6dSDkbmRlcm5kZW4gVGV4dCwgc28gd2llCisJCSAgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4KKworICA2LiBVbSBEaWNoIHp1bSBBbmZhbmcgZGVyIFplaWxlIHp1IGJlZ2ViZW4sIGJlbnV0emUgZGllIE51bGw6ICAwCisKKyAgNy4gVW0gdm9yaGVyaWdlIEFrdGlvbmVuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkKKyAgICAgVW0gYWxsZSDEbmRlcnVuZ2VuIGF1ZiBlaW5lciBaZWlsZSBy/GNrZ+RuZ2lnIHp1IG1hY2hlbjogICBVIChncm/fZXMgVSkKKyAgICAgVW0gZGllIFL8Y2tn5G5naWdtYWNodW5nZW4gcvxja2fkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOiAgICBDVFJMLVIKKworfn5+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+CisJCQkgICBMZWt0aW9uIDMuMTogQU5G3EdFTiAoUFVUKQorCisKKyAgICAgKiogVGlwcGUgIHAgICwgdW0gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBuYWNoIGRlbSBDdXJzb3IgYW56dWb8Z2VuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBs9nNjaGVuIHVuZCBzaWUgaW4gZWltZW0gVmltLVJlZ2lzdGVyIHp1CisgICAgIHNwZWljaGVybi4KKworICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksINxCRVIgZGVyamVuaWdlbiwgd28gZGllIGdlbPZzY2h0ZSBaZWlsZQorICAgICBwbGF0emllcnQgd2VyZGVuIHNvbGwuCisKKyAgNC4gIFRpcHBlICAgcCAgICwgdW0gZGllIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSBwbGF0emllcmVuLgorCisgIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGFsbGUgWmVpbGVuIGluIGRpZSByaWNodGlnZQorICAgICBSZWloZW5mb2xnZSB6dSBicmluZ2VuLgorCistLS0+IGQpIEthbm5zdCBEdSBkYXMgYXVjaD8KKy0tLT4gYikgVmVpbGNoZW4gc2luZCBibGF1LAorLS0tPiBjKSBJbnRlbGxpZ2VueiBpc3QgZXJsZXJuYmFyLAorLS0tPiBhKSBSb3NlbiBzaW5kIHJvdCwKK35+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+IG1hcmtpZXJ0ZW4gWmVpbGUuCisKKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBzaWNoIGF1ZiBkZW0gZXJzdGVuIEZlaGxlciBiZWZpbmRldC4KKworICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGll32VuZCBkYXMgWmVpY2hlbiwgd2VsY2hlcyBkb3J0IHN0ZWhlbiBzb2xsdGUuCisKKyAgNC4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzLCBiaXMgZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiBpc3QuCisKKy0tLT4gIEFscyBkaWVzZSBaZWl0ZSBlaW5nZWdvYmVuIHd1cmRlLCB3dXJkZW4gZWluaWtlIGZhbHNjaGUgVGFzdGVuIGdlbGlwcHQhCistLS0+ICBBbHMgZGllc2UgWmVpbGUgZWluZ2VnZWJlbiB3dXJkZSwgd3VyZGVuIGVpbmlnZSBmYWxzY2hlIFRhc3RlbiBnZXRpcHB0IQorCisgIDUuIE51biBmYWhyZSBmb3J0IG1pdCBMZWt0aW9uIDMuMi4KKworQmVtZXJrdW5nOiBFcmlubmVyZSBEaWNoLCBkYXNzIER1IGR1cmNoIEFud2VuZGVuIGxlcm5lbiBzb2xsdGVzdCwgbmljaHQgZHVyY2gKKyAgICAgQXVzd2VuZGlnbGVybmVuLgorCisKK35+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+fgorCQkJICBMZWt0aW9uIDMuMzogxE5ERVJOIChDSEFOR0UpCisKKworICAgICAgKiogVW0gZWluZSDEbmRlcnVuZyBiaXMgenVtIFdvcnRlbmRlIGR1cmNoenVm/GhyZW4sIHRpcHBlICBjZSAuICoqCisKKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKworICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGFzICBzICB2b24gV3N0d3IuCisKKyAgMy4gVGlwcGUgIGNlICB1bmQgZGllIFdvcnRrb3JyZWt0dXIgZWluIChpbiBkaWVzZW0gRmFsbCB0aXBwZSAg9nJ0ZXIgKS4KKworICA0LiBEcvxja2UgPEVTQz4gdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBu5GNoc3RlbiB6dSDkbmRlcm5kZW4gWmVpY2hlbi4KKworICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDMgdW5kIDQgYmlzIGRlciBlcnN0ZSBTYXR6IGdsZWljaCBkZW0gendlaXRlbiBpc3QuCisKKy0tLT4gRWluaWdlIFdzdHdyIGRpZXNlciBabGF3dyBsYXNkamxhZiBtaXQgZGVtIMRuZGVybi1PcGVyYXRvciBnYWFhdXUgd2VyZGVuLgorLS0tPiBFaW5pZ2UgV/ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDEbmRlcm4tT3BlcmF0b3IgZ2XkbmRlcnQgd2VyZGVuLgorCitCZW1lcmtlLCBkYXNzICBjZSAgZGFzIFdvcnQgbPZzY2h0IHVuZCBEaWNoIGluIGRlbiBFaW5nYWJlbW9kdXMgdmVyc2V0enQuCisKKworCit+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+fn4KKwkJICAgICBMZWt0aW9uIDMuNDogTUVIUiDETkRFUlVOR0VOIE1JVFRFTFMgYworCisKKyAgICAgKiogRGFzIGNoYW5nZS1Lb21tYW5kbyBhcmJlaXRldCBtaXQgZGVuc2VsYmVuIEJld2VndW5nZW4gd2llIGRlbGV0ZS4gICoqCisKKyAgMS4gRGVyIGNoYW5nZSBPcGVyYXRvciBhcmJlaXRldCBpbiBnbGVpY2hlciBXZWlzZSB3aWUgZGVsZXRlLiBEYXMgRm9ybWF0IGlzdDoKKworICAgICAgICAgYyAgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dAorCisgIDIuIERpZSBCZXdlZ3VuZ3NzY2hyaXR0ZSBzaW5kIGRpZSBnbGVpY2hlbiAsIHNvIHdpZSAgdyAgKFdvcnQpIHVuZCAgJAorICAgICAoWmVpbGVuZW5kZSkuCisKKyAgMy4gQmV3ZWdlIERpY2ggenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KKworICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIEZlaGxlci4KKworICA1LiBUaXBwZSAgYyQgICwgZ2liIGRlbiBSZXN0IGRlciBaZWlsZSB3aWUgaW4gZGVyIHp3ZWl0ZW4gZWluLCBkcvxja2UgPEVTQz4gLgorCistLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIGFuIGRpZSB6d2VpdGUgWmVpbGUgYW5nZWdsaWNoZW4gd2VyZGVuLgorLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBtaXQgZGVtICBjJCAgS29tbWFuZG8ga29ycmlnaWVydCB3ZXJkZW4uCisKK0JlbWVya3VuZzogRHUga2FubnN0IGRpZSBS/GNrdGFzdGUgYmVudXR6ZW4sIHVtIFRpcHBmZWhsZXIgenUga29ycmlnaWVyZW4uCit+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+fn4KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMworCisKKyAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBhbnp1ZvxnZW4sIHRpcHBlICAgcCAuIERpZXMgZvxndCBkZW4KKyAgICAgZ2Vs9nNjaHRlbiBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbiAod2VubiBlaW5lIGdhbnplIFplaWxlIGdlbPZzY2h0IHd1cmRlLAorICAgICB3aXJkIGRpZXNlIGluIGRpZSBaZWlsZSB1bnRlciBkZW0gQ3Vyc29yIGVpbmdlZvxndCkuCisKKyAgMi4gVW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBlcnNldHplbiwgdGlwcGUgICByICAgdW5kIGRhcyBhbiBkaWVzZXIKKyAgICAgU3RlbGxlIGdld/xuc2NodGUgWmVpY2hlbi4KKworICAzLiBEZXIgxG5kZXJ1bmdzLSAoY2hhbmdlKSBPcGVyYXRvciBlcmxhdWJ0LCB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBkZXMKKyAgICAgQmV3ZWd1bmdzc2Nocml0dGVzIHp1IORuZGVybi4gVGlwcGUgIGNlICAsIHVtIGVpbmUgxG5kZXJ1bmcgdm9tIEN1cnNvciBiaXMKKyAgICAgenVtIEVuZGUgZGVzIFdvcnRlcyB2b3J6dW5laG1lbjsgIGMkICBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUuCisKKyAgNC4gRGFzIEZvcm1hdCBm/HIgY2hhbmdlIGlzdDoKKworCSBjICAgW0FuemFobF0gIEJld2VndW5nc3NjaHJpdHQKKworICBOdW4gZmFocmUgbWl0IGRlciBu5GNoc3RlbiBMZWt0aW9uIGZvcnQuCisKKworCit+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+fn4KKwkJICBMZWt0aW9uIDQuMTogQ1VSU09SUE9TSVRJT04gVU5EIERBVEVJU1RBVFVTCisKKyAqKiBUaXBwZSBDVFJMLUcgLCB1bSBEZWluZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cyBhbnp1emVpZ2VuLiAqKgorICAgICAqKiBUaXBwZSBHICwgdW0gRGljaCB6dSBlaW5lciBaZWlsZSBpbiBkZXIgRGF0ZWkgenUgYmVnZWJlbi4gKioKKworQmVtZXJrdW5nOiBMaWVzIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiwgYmV2b3IgRHUgaXJnZW5kZWluZW4gU2Nocml0dCBhdXNm/Ghyc3QhIQorCisgIDEuIEhhbHRlIGRpZSBDdHJsIFRhc3RlIHVudGVuIHVuZCBkcvxja2UgIGcgLiBEaWVzIG5lbm5lbiB3aXIgd2lyIENUUkwtRy4KKyAgICAgRWluZSBTdGF0dXNtZWxkdW5nIGFtIEZ13yBkZXIgU2VpdGUgZXJzY2hlaW50IG1pdCBkZW0gRGF0ZWluYW1lbiB1bmQgZGVyCisgICAgIFBvc2l0aW9uIGlubmVyaGFsYiBkZXIgRGF0ZWkuIE1lcmtlIERpciBkaWUgWmVpbGVubnVtbWVyIGb8ciBTY2hyaXR0IDMuCisKK0JlbWVya3VuZzogTfZnbGljaGVyd2Vpc2Ugc2llaHN0IER1IGRpZSBDdXJzb3Jwb3NpdGlvbiBpbiBkZXIgdW50ZXJlbiByZWNodGVuCisgICAgICBCaWxkc2NoaXJtZWNrZS4gRGllcyBpc3QgRm9sZ2UgZGVyICdydWxlcicgT3B0aW9uIChzaWVoZSA6aGVscCAncnVsZXInKQorCisgIDIuIERy/GNrZSAgRyAgLCB1bSBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaSB6dSBiZWdlYmVuLgorICAgICBUaXBwZSAgZ2cgICwgdW0gRGljaCB6dW0gQW5mYW5nIGRlciBEYXRlaSB6dSBiZWdlYmVuLgorCisgIDMuIEdpYiBkaWUgTnVtbWVyIGRlciBaZWlsZSBlaW4sIGF1ZiBkZXIgRHUgdm9yaGVyIHdhcnN0LCBnZWZvbGd0IHZvbiAgRyAuCisgICAgIERpZXMgYnJpbmd0IERpY2ggenVy/GNrIHp1IGRlciBaZWlsZSwgYXVmIGRlciBEdSBnZXN0YW5kZW4gaGFzdCwgYWxzIER1CisgICAgIGRhcyBlcnN0ZSBNYWwgQ1RSTC1HIGdlZHL8Y2t0IGhhc3QuCisKKyAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBm/Ghsc3QsIGb8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4KK35+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+fgorCQkgICAgICAgTGVrdGlvbiA0LjI6IERBUyBTVUNIRU4gLSBLT01NQU5ETworCisKKyAgKiogVGlwcGUgIC8gIGdlZm9sZ3Qgdm9uIGVpbmVtIEF1c2RydWNrLCB1bSBuYWNoIGRlbSBBdXNkcnVjayB6dSBzdWNoZW4uICoqCisKKyAgMS4gSW0gTm9ybWFsbW9kdXMsIHRpcHBlIGRhcyAgLyAgWmVpY2hlbi4gIEJlbWVya2UsIGRhc3MgZGFzICAvIHVuZCBkZXIKKyAgICAgQ3Vyc29yIGFtIEZ13yBkZXMgU2NoaXJtcyBlcnNjaGVpbmVuLCBzbyB3aWUgYmVpbSA6CUtvbW1hbmRvLgorCisgIDIuIE51biB0aXBwZSAnRmVoaGxlcicgPEVOVEVSPi4gRGllcyBpc3QgZGFzIFdvcnQsIG5hY2ggZGVtIER1IHN1Y2hlbiB3aWxsc3QuCisKKyAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGb8ciBuZXh0KS4KKyAgICAgVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLCB0aXBwZSAgTiAuCisKKyAgNC4gVW0gbmFjaCBlaW5lbSBBdXNkcnVjayBy/GNrd+RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLgorCisgIDUuIFVtIGRhaGluIHp1cvxja3p1a2VocmVuLCB2b24gd28gRHUgZ2Vrb21tZW4gYmlzdCwgZHL8Y2tlIENUUkwtTyAoSGFsdGUKKyAgICAgQ3RybCB1bnRlbiB1bmQgZHL8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIHdlaXRlcgorICAgICB6dXL8Y2t6dWdlaGVuLiAgQ1RSTC1JIGJyaW5ndCBkaWNoIHZvcnfkcnRzLgorCistLS0+ICBGZWhsZXIgc2NocmVpYnQgc2ljaCBuaWNodCAiRmVoaGxlciI7IEZlaGhsZXIgaXN0IGVpbiBGZWhsZXIKK0JlbWVya3VuZzogV2VubiBkaWUgU3VjaGUgZGFzIERhdGVpZW5kZSBlcnJlaWNodCBoYXQsIHdpcmQgc2llIGFtIEFuZmFuZworICAgICAgICBmb3J0Z2VzZXR6dCwgZXMgc2VpIGRlbm4sIGRpZSAnd3JhcHNjYW4nIE9wdGlvbiB3dXJkZSBhYmdlc2NoYWx0ZXQuCit+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+fn4KKwkJICAgICBMZWt0aW9uIDQuMzogUEFTU0VOREUgS0xBTU1FUk4gRklOREVOCisKKworICAgKiogVGlwcGUgICUgLCB1bSBlaW5lIGtvcnJlc3BvbmRpZXJlbmRlIEtsYW1tZXIgKSxdLCBvZGVyIH0genUgZmluZGVuLiAqKgorCisgIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBpcmdlbmRlaW5lcyBkZXIgWmVpY2hlbiAoLCBbLCBvZGVyIHsgaW4gZGVyIHVudGVuCisgICAgIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4KKworICAyLiBOdW4gdGlwcGUgZGFzICAlICBaZWljaGVuLgorCisgIDMuIERlciBDdXJzb3IgYmV3ZWd0IHNpY2ggenVyIHBhc3NlbmRlbiBnZWdlbvxiZXJsaWVnZW5kZW4gS2xhbW1lci4KKworICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVyIGFuZGVyZW4gcGFzc2VuZGVuIEtsYW1tZXIgenUgYmV3ZWdlbi4KKworICA1LiBTZXR6ZSBkZW4gQ3Vyc29yIGF1ZiBlaW4gYW5kZXJlcyAoLCksWyxdLHsgb2RlciB9IHVuZCBwcm9iaWVyZSAgJSAgYXVzLgorCistLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgKCBtaXQgWyB2ZXJzY2hpZWRlbmVuIF0geyBLbGFtbWVybiB9ICBkYXJpbi4gKSkKKworQmVtZXJrdW5nOiBEaWVzZSBGdW5rdGlvbmFsaXTkdCBpc3Qgc2VociBu/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+IC4gIEJlbWVya2UsIGRhc3MgZGVyIEJlZmVobCBudXIgZGFzIGVyc3RlCisgICAgIFZvcmtvbW1lbiB2b24gImRpZWUiIGVyc2V0enQuCisKKyAgMy4gTnVuIHRpcHBlICAgOnMvZGllZS9kaWUvZyAuIERhcyBadWb8Z2VuIGRlcyBGbGFncyAgZyAgIGJlZGV1dGV0LCBlaW5lCisgICAgIGdsb2JhbGUgRXJzZXR6dW5nIPxiZXIgZGllIFplaWxlIGR1cmNoenVm/GhyZW4sIHdhcyBhbGxlIFZvcmtvbW1lbiB2b24KKyAgICAgImRpZWUiIGF1ZiBkZXIgWmVpbGUgZXJzZXR6dC4KKworLS0tPiBkaWVlIHNjaPZuc3RlIFplaXQsIHVtIGRpZWUgQmx1bWVuIGFuenVzY2hhdWVuLCBpc3QgZGllZSBGcvxobGluZ3N6ZWl0LgorCisgIDQuIFVtIGFsbGUgVm9ya29tbWVuIGVpbmVyIFplaWNoZW5rZXR0ZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbiB6dSDkbmRlcm4sCisgICAgIHRpcHBlICA6Iywjcy9hbHQvbmV1L2cgICB3b2JlaSAjLCMgZGllIFplaWxlbm51bW1lcm4gZGVzIFplaWxlbmJlcmVpY2hlcworICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmQsIGluIGRlbSBkaWUgRXJzZXR6dW5nIGR1cmNoZ2Vm/GhydCB3ZXJkZW4gc29sbC4KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2cgICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IORuZGVybi4KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2djICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IGZpbmRlbgorICAgICAgICAgICAgICAgICAgICAgbWl0IGVpbmVtIEZyYWdlZGlhbG9nLCBvYiBlcnNldHp0IHdlcmRlbiBzb2xsIG9kZXIgbmljaHQuCit+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+fn4KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNAorCisgIDEuIENUUkwtRyAgemVpZ3QgZGllIGFrdHVlbGxlIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzLgorICAgICAgICAgICAgIEcgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaS4KKyAgICAgTnVtbWVyICBHICBicmluZ3QgRGljaCB6dXIgZW50c3ByZWNoZW5kZW4gWmVpbGVubnVtbWVyLgorICAgICAgICAgICAgZ2cgIGJyaW5ndCBEaWNoIHp1ciBlcnN0ZW4gWmVpbGUuCisKKyAgMi4gRGllIEVpbmdhYmUgdm9uICAvICBwbHVzIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFZPUlfEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgorICAgICBEaWUgRWluZ2FiZSB2b24gID8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgUtxDS1fEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgorICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBu5GNoc3RlIFZvcmtvbW1lbiBpbiBkZXIgZ2xlaWNoZW4KKyAgICAgUmljaHR1bmcgenUgZmluZGVuOyBvZGVyICBOICAsIHVtIGluIGRlciBHZWdlbnJpY2h0dW5nIHp1IHN1Y2hlbi4KKyAgICAgQ1RSTC1PIGJyaW5ndCBEaWNoIHp1cvxjayB6dSDkbHRlcmVuIFBvc2l0aW9uZW4sIENUUkwtSSB6dSBuZXVlcmVuLgorCisgIDMuIERpZSBFaW5nYWJlIHZvbiAgJSAgLCB3ZW5uIGRlciBDdXJzb3Igc2ljaCBhdWYgKCwpLFssXSx7LCBvZGVyIH0KKyAgICAgYmVmaW5kZXQsIGJyaW5ndCBEaWNoIHp1ciBHZWdlbmtsYW1tZXIuCisKKyAgNC4gVW0gZGFzIGVyc3RlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZWluZXIgWmVpbGUgZHVyY2ggIm5ldSIgenUgZXJzZXR6ZW4sCisgICAgICAgICAgICAgdGlwcGUgICAgICAgOnMvYWx0L25ldQorICAgICBVbSBhbGxlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZGVyIFplaWxlIGVyc2V0emVuLCB0aXBwZSAgOnMvYWx0L25ldS9nCisgICAgIFVtIEF1c2Ry/GNrZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbm51bW1lcm4genUgZXJzZXR6ZW4sICA6Iywjcy9hbHQvbmV1L2cKKyAgICAgVW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdhbnplbiBEYXRlaSB6dSBlcnNldHplbiwgdGlwcGUgIDolcy9hbHQvbmV1L2cKKyAgICAgRvxyIGVpbmUgamVkbWFsaWdlIEJlc3TkdGlndW5nLCBhZGRpZXJlICAnYycgIChjb25maXJtKSAgIDolcy9hbHQvbmV1L2djCit+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+fn4KKwkJTGVrdGlvbiA1LjE6IEFVU0bcSFJFTiBFSU5FUyBFWFRFUk5FTiBLT01NQU5ET1MKKworCisgICoqIEdpYiAgOiEgLCBnZWZvbGd0IHZvbiBlaW5lbSBleHRlcm5lbiBLb21tYW5kbyBlaW4sIHVtIGVzIGF1c3p1ZvxocmVuLiAqKgorCisgIDEuIFRpcHBlIGRhcyB2ZXJ0cmF1dGUgS29tbWFuZG8gIDogICwgdW0gZGVuIEN1cnNvciBhdWYgZGVuIEZ13yBkZXMgU2NoaXJtcworICAgICB6dSBzZXR6ZW4uIERpZXMgZXJsYXVidCBEaXIsIGVpbiBLb21tYW5kb3plaWxlbi1Lb21tYW5kbyBlaW56dWdlYmVuLgorCisgIDIuIE51biB0aXBwZSBlaW4gICEgIChBdXNydWZlemVpY2hlbikuICBEaWVzIGVybfZnbGljaHQgRGlyLCBlaW4gYmVsaWViaWdlcywKKyAgICAgZXh0ZXJuZXMgU2hlbGxrb21tYW5kbyBhdXN6dWb8aHJlbi4KKworICAzLiBBbHMgQmVpc3BpZWwgdGlwcGUgICBscyAgIG5hY2ggZGVtICAhICB1bmQgZHL8Y2tlIDxFTlRFUj4uIERpZXMgemVpZ3QKKyAgICAgZWluZSBBdWZsaXN0dW5nIERlaW5lcyBWZXJ6ZWljaG5pc3NlczsgZ2VuYXVzbywgYWxzIHdlbm4gRHUgYXVmIGRlcgorICAgICBFaW5nYWJlYXVmZm9yZGVydW5nIHfkcnN0LiAgT2RlciB2ZXJ3ZW5kZSAgOiFkaXIgICwgZmFsbHMgbHMgbmljaHQgZ2VodC4KKworQmVtZXJrdW5nOiAgTWl0IGRpZXNlciBNZXRob2RlIGthbm4gamVkZXMgYmVsaWViaWdlIGV4dGVybmUgS29tbWFuZG8KKyAgICAgYXVzZ2Vm/GhydCB3ZXJkZW4sIGF1Y2ggbWl0IEFyZ3VtZW50ZW4uCisKK0JlbWVya3VuZzogIEFsbGUgIDogIEtvbW1hbmRvcyBt/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/GhydGUgxG5kZXJ1bmdlbiB6dSBzcGVpY2hlcm4sIHRpcHBlIDp3IERBVEVJTkFNRS4gKioKKworICAxLiBUaXBwZSAgOiFkaXIgIG9kZXIgIDohbHMgICwgdW0gZWluZSBBdWZsaXN0dW5nIERlaW5lcyBWZXJ6ZWljaG5pc3NlcyB6dQorICAgICBlcmhhbHRlbi4gIER1IHdlad90IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0LgorCisgIDIuIFfkaGxlIGVpbmVuIERhdGVpbmFtZW4sIGRlciBub2NoIG5pY2h0IGV4aXN0aWVydCwgei5CLiBURVNULgorCisgIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V35GhsdGUgRGF0ZWluYW1lIGlzdCkuCisKKyAgNC4gRGllcyBzcGVpY2hlcnQgZGllIGdhbnplIERhdGVpIChkZW4gVmltIFR1dG9yKSB1bnRlciBkZW0gTmFtZW4gVEVTVC4KKyAgICAgVW0gZGllcyB6dSD8YmVycHL8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwgdW0gRGVpbmVuCisgICAgIFZlcnplaWNobmlzaW5oYWx0IHp1IHNlaGVuLgorCitCZW1lcmt1bmc6IFf8cmRlc3QgRHUgVmltIGpldHp0IGJlZW5kZW4gdW5kIGRhbmFjaCB3aWVkZXIgbWl0IHZpbSBURVNUCisgICAgc3RhcnRlbiwgZGFubiB35HJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtCisgICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuCisKKyAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAorCQkJCW9kZXIgKFVuaXgpOgk6IXJtIFRFU1QKK35+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/G5mdGVuIEF1Zmxpc3R1bmdzcHVua3QgdW50ZW4uCisgICAgIEJlbWVya2UsIGRh3yBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuCisKKyAgMy4gRHL8Y2tlIGRhcyBaZWljaGVuICA6IC4gQW0gRnXfIGRlcyBTY2hpcm1zIGVyc2NoZWludCAgOic8LCc+IC4KKworICA0LiBUaXBwZSAgdyBURVNUICAsIHdvYmVpIFRFU1QgZWluIG5vY2ggbmljaHQgdm9yaGFuZGVuZXIgRGF0ZWluYW1lIGlzdC4KKyAgICAgVmVyZ2V3aXNzZXJlIERpY2gsIGRh3yBEdSAgOic8LCc+dyBURVNUICBzaWVoc3QsIGJldm9yIER1IEVudGVyIGRy/GNrc3QuCisKKyAgNS4gVmltIHNjaHJlaWJ0IGRpZSBhdXNnZXfkaGx0ZW4gWmVpbGVuIGluIGRpZSBEYXRlaSBURVNULiBCZW51dHplICA6IWRpcgorICAgICBvZGVyICA6IWxzICwgdW0gc2llIHp1IHNlaGVuLiBM9nNjaGUgc2llIG5vY2ggbmljaHQhIFdpciB3ZXJkZW4gc2llIGluCisgICAgIGRlciBu5GNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLgorCitCZW1lcmt1bmc6IERy/GNrZW4gdm9uICB2ICBzdGFydGV0IGRpZSBWaXN1ZWxsZSBBdXN3YWhsLiBEdSBrYW5uc3QgZGVuIEN1cnNvcgorICAgdW1oZXJiZXdlZ2VuLCB1bSBkaWUgQXVzd2FobCBncvbfZXIgb2RlciBrbGVpbmVyIHp1IG1hY2hlbi4gQW5zY2hsaWXfZW5kCisgICBrYW5uIG1hbiBlaW5lbiBPcGVyYXRvciBhbndlbmRlbiwgdW0gbWl0IGRlbSBUZXh0IGV0d2FzIHp1IHR1bi4gWnVtCisgICBCZWlzcGllbCBs9nNjaHQgIGQgIGRlbiBUZXh0Lgorfn5+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+CisJICAgICAgTGVrdGlvbiA1LjQ6IEVJTkxFU0VOIFVORCBaVVNBTU1FTkbcSFJFTiBWT04gREFURUlFTgorCisKKyAgICAgICAqKiBVbSBkZW4gSW5oYWx0IGVpbmVyIERhdGVpIGVpbnp1bGVzZW4sIHRpcHBlICA6ciBEQVRFSU5BTUUgICoqCisKKyAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3Ig/GJlcmhhbGIgZGllc2VyIFplaWxlLgorCitCRUFDSFRFOiAgTmFjaGRlbSBEdSBTY2hyaXR0IDIgYXVzZ2Vm/GhydCBoYXN0LCB3aXJzdCBEdSBUZXh0IGF1cyBMZWt0aW9uIDUuMworICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfEUlRTLCB1bSBkaWVzZSBMZWt0aW9uIHdpZWRlcnp1c2VoZW4uCisKKyAgMi4gTnVuIGxpZXMgRGVpbmUgRGF0ZWkgVEVTVCBlaW4gaW5kZW0gRHUgZGFzIEtvbW1hbmRvICA6ciBURVNUICBhdXNm/Ghyc3QsCisgICAgIHdvYmVpIFRFU1QgZGVyIHZvbiBEaXIgdmVyd2VuZGV0ZSBEYXRlaW5hbWUgaXN0LgorICAgICBEaWUgZWluZ2VsZXNlbmUgRGF0ZWkgd2lyZCB1bnRlcmhhbGIgZGVyIEN1cnNvcnplaWxlIGVpbmdlZvxndC4KKworICAzLiBVbSB6dSD8YmVycHL8ZmVuLCBkYXNzIGRpZSBEYXRlaSBlaW5nZWxlc2VuIHd1cmRlLCBnZWhlIHp1cvxjayB1bmQgc2llaGUsCisgICAgIGRhc3MgZXMgamV0enQgendlaSBLb3BpZW4gdm9uIExla3Rpb24gNS4zIGdpYnQsIGRhcyBPcmlnaW5hbCB1bmQgZGllCisgICAgIGVpbmdlZvxndGUgRGF0ZWl2ZXJzaW9uLgorCitCZW1lcmt1bmc6IER1IGthbm5zdCBhdWNoIGRpZSBBdXNnYWJlIGVpbmVzIGV4dGVybmVuIEtvbW1hbmRvcyBlaW5sZXNlbi4gWnVtCisgICAgIEJlaXNwaWVsIGxpZXN0ICA6ciAhbHMgIGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgbHMgZWluIHVuZCBwbGF0emllcnQKKyAgICAgc2llIHVudGVyaGFsYiBkZXMgQ3Vyc29ycy4KKworfn5+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+CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDUKKworCisgIDEuIDohS29tbWFuZG8gIGb8aHJ0IGVpbiBleHRlcm5lcyBLb21tYW5kbyBhdXMuCisKKyAgICAgIEVpbmlnZSBu/HR6bGljaGUgQmVpc3BpZWxlIHNpbmQKKwkoTVMtRE9TKQkgIChVbml4KQorCSA6IWRpcgkJICAgOiFscwkJICAgLSAgemVpZ3QgZWluZSBWZXJ6ZWljaG5pc2F1Zmxpc3R1bmcuCisJIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuCisKKyAgMi4gOncgREFURUlOQU1FICBzcGVpY2hlcnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSB1bnRlciBkZW0gTmFtZW4gIERBVEVJTkFNRS4KKworICAzLiB2ICBCZXdlZ3VuZyAgOncgREFURUlOQU1FICBzY2hyZWlidCBkaWUgVmlzdWVsbCBhdXNnZXfkaGx0ZW4gWmVpbGVuIGluCisgICAgIGRpZSBEYXRlaSBEQVRFSU5BTUUuCisKKyAgNC4gOnIgREFURUlOQU1FICBs5GR0IGRpZSBEYXRlaSBEQVRFSU5BTUUgdW5kIGb8Z3Qgc2llIHVudGVyaGFsYiBkZXIKKyAgICAgQ3Vyc29ycG9zaXRpb24gZWluLgorCisgIDUuIDpyICFkaXIgIGxpZXN0IGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgZGlyIHVuZCBm/Gd0IHNpZSB1bnRlcmhhbGIgZGVyCisgICAgIEN1cnNvcnBvc2l0aW9uIGVpbi4KKworCit+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+fn4KKwkJICAgICAgIExla3Rpb24gNi4xOiBaRUlMRU4g1kZGTkVOIChPUEVOKQorCisKKyAgICoqIFRpcHBlICBvCSwgdW0gZWluZSBaZWlsZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMgenUg9mZmbmVuIHVuZCBEaWNoIGluICoqCisgICAgICAgICAgICAgICAgICAgICAgKiogZGVuIEVpbmb8Z2Vtb2R1cyB6dSBiZWdlYmVuLiAqKgorCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBlcnN0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KKworICAyLiBUaXBwZSBvIChrbGVpbiBnZXNjaHJpZWJlbiksIHVtIGVpbmUgWmVpbGUgVU5URVJIQUxCIGRlcyBDdXJzb3MgenUg9mZmbmVuCisgICAgIHVuZCBEaWNoIGluIGRlbiBFaW5m/GdlbW9kdXMgenUgYmVnZWJlbi4KKworICAzLiBOdW4gdGlwcGUgZXR3YXMgVGV4dCB1bmQgZHL8Y2tlIDxFU0M+ICwgdW0gZGVuIEVpbmb8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uCisKKy0tLT4gTWl0ICBvICB3aXJkIGRlciBDdXJzb3IgYXVmIGRlciBvZmZlbmVuIFplaWxlIGltIEVpbmb8Z2Vtb2R1cyBwbGF0emllcnQuCisKKyAgNC4gVW0gZWluZSBaZWlsZSDcQkVSSEFMQiBkZXMgQ3Vyc29zIGF1Znp1bWFjaGVuLCBnaWIgZWluZmFjaCBlaW4gZ3Jv32VzICBPCisgICAgIHN0YXR0IGVpbmVtIGtsZWluZW4gIG8gIGVpbi4gVmVyc3VjaGUgZGllcyBhdWYgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZS4KKworLS0tPiDWZmZuZSBlaW5lIFplaWxlIPxiZXIgZGllc2VyIG1pdCBPICwgd2VubiBkZXIgQ3Vyc29yIGF1ZiBkaWVzZXIgWmVpbGUgaXN0LgorCisKKworfn5+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+IERpZXNlIFplaWxlIGJpZXRldCBHZWxlZ2VuaGVpdCwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZvxnZW4uCisKK0JlbWVya3VuZzogIGEsIGkgdW5kIEEgZ2VoZW4gYWxsZSBnbGVpY2hlcm1h32VuIGluIGRlbiBFaW5m/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+IG1hcmtpZXJ0ZW4gWmVpbGUuCisgICAgIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVzIGVyc3RlbiAgeHh4IC4KKworICAyLiBOdW4gZHL8Y2tlICBSICB1bmQgdGlwcGUgZGllIE51bW1lciwgZGllIGRhcnVudGVyIGluIGRlciB6d2VpdGVuIFplaWxlCisgICAgIHN0ZWh0LCBzbyBkYXMgZGllc2UgZGFzIHh4eCBlcnNldHp0LgorCisgIDMuIERy/GNrZSA8RVNDPiAsIHVtIGRlbiBFcnNldHp1bmdzbW9kdXMgenUgdmVybGFzc2VuLiBCZW1lcmtlLCBkYd8gZGVyIFJlc3QKKyAgICAgZGVyIFplaWxlIHVudmVy5G5kZXJ0IGJsZWlidC4KKworICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSwgdW0gZGFzIHZlcmJsaWViZW5lIHh4eCB6dSBlcnNldHplbi4KKworLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4KKy0tLT4gRGFzIEFkZGllcmVuIHZvbiAxMjMgenUgNDU2IGVyZ2lidCA1NzkuCisKK0JlbWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5m/GdlbW9kdXMsIGFiZXIgamVkZXMgZWluZ2V0aXBwdGUKKyAgICAgICAgICAgWmVpY2hlbiBs9nNjaHQgZWluIHZvcmhhbmRlbmVzIFplaWNoZW4uCisKK35+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+fgorCQkgICAgTGVrdGlvbiA2LjQ6IFRFWFQgS09QSUVSRU4gVU5EIEVJTkbcR0VOCisKKyAqKiBCZW51dHplIGRlbiAgeSAgT3BlcmF0b3IsIHVtIFRleHQgenUga29waWVyZW47ICBwICAsIHVtIGlobiBlaW56dWb8Z2VuICoqCisKKyAgMS4gR2VoZSB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbiwgc2V0emUgZGVuIEN1cnNvciBoaW50ZXIgImEpIi4KKworICAyLiBTdGFydGUgZGVuIFZpc3VlbGxlbiBNb2R1cyBtaXQgIHYgICwgYmV3ZWdlIGRlbiBDdXJzb3IgZ2VuYXUgdm9yICJlcnN0ZSIuCisKKyAgMy4gVGlwcGUgIHkgICwgdW0gZGVuIGhlcnZvcmdlaG9iZW4gVGV4dCB6dSBrb3BpZXJlbi4KKworICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIgbuRjaHN0ZW4gWmVpbGU6ICBqJAorCisgIDUuIFRpcHBlICBwICwgdW0gZGVuIFRleHQgZWluenVm/GdlbiB1bmQgYW5zY2hsaWXfZW5kOiAgYSB6d2VpdGUgPEVTQz4gLgorCisgIDYuIEJlbnV0emUgZGVuIFZpc3VlbGxlbiBNb2R1cywgdW0gIiBFaW50cmFnLiIgYXVzenV35GhsZW4sIGtvcGllcmUgbWl0dGVscworICAgICB5ICwgYmV3ZWdlIERpY2ggenVtIEVuZGUgZGVyIG7kY2hzdGVuIFplaWxlIG1pdCAgaiQgIHVuZCBm/GdlIGRlbiBUZXh0CisgICAgIGRvcnQgbWl0ICBwICBhbi4KKworLS0tPiAgYSkgZGllcyBpc3QgZGVyIGVyc3RlIEVpbnRyYWcuCisgICAgICBiKQorCitCZW1lcmt1bmc6IER1IGthbm5zdCAgeSAgYXVjaCBhbHMgT3BlcmF0b3IgdmVyd2VuZGVuOyAgeXcgIGtvcGllcnQgZWluIFdvcnQuCit+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+fn4KKwkJCSAgTGVrdGlvbiA2LjU6IE9QVElPTkVOIFNFVFpFTgorCisgICAgICAqKiBTZXR6ZSBlaW5lIE9wdGlvbiBzbywgZGFzcyBlaW5lIFN1Y2hlIG9kZXIgZWluZSBFcnNldHp1bmcgR3Jv3y0gKioKKwkJICAgICAgKiogdW5kIEtsZWluc2NocmVpYnVuZyBpZ25vcmllcnQgKioKKworICAxLiBTdWNoZSBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgICAvaWdub3JpZXJlICAgZWluZ2lic3QuCisgICAgIFdpZWRlcmhvbGUgZGllIFN1Y2hlIGVpbmlnZSBNYWxlLCBpbmRlbSBEdSBkaWUgbiAtIFRhc3RlIGRy/GNrc3QuCisKKyAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuCisKKyAgMy4gTnVuIHN1Y2hlIHdpZWRlciBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgbiAgdGlwcHN0LgorICAgICBCZW1lcmtlLCBkYd8gamV0enQgSWdub3JpZXJlIHVuZCBhdWNoIElHTk9SSUVSRSBnZWZ1bmRlbiB3aXJkLgorCisgIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIHVuZCAnaW5jc2VhcmNoJyAtIE9wdGlvbmVuOiAgICAgOnNldCBobHMgaXMKKworICA1LiBXaWVkZXJob2xlIGRpZSBTdWNoZSB1bmQgYmVvYmFjaHRlLCB3YXMgcGFzc2llcnQ6IC9pZ25vcmllcmUgPEVOVEVSPgorCisgIDYuIFVtIGRhcyBJZ25vcmllcmVuIHZvbiBHcm/fL0tsZWluc2NocmVpYnVuZyBhYnp1c2NoYWx0ZW4sIHRpcHBlOiAgOnNldCBub2ljCisKK0JlbWVya3VuZzogVW0gZGllIEhlcnZvcmhlYnVuZyBkZXIgVHJlZmZlciB6dSBlbmZlcm5lbiwgZ2liIGVpbjogIDpub2hsc2VhcmNoCitCZW1lcmt1bmc6IFVtIGRpZSBTY2hyZWlid2Vpc2UgZvxyIGVpbmUgZWluemlnZSBTdWNoZSB6dSBpZ25vcmllcmVuLCBiZW51dHplCisgICAgICAgICAgIFxjIGltIFN1Y2hhdXNkcnVjazogIC9pZ25vcmllcmVcYyAgPEVOVEVSPgorfn5+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+CisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDYKKworIDEuIFRpcHBlICBvICAsIHVtIGVpbmUgWmVpbGUgVU5URVIgZGVtIEN1cnNvciB6dSD2ZmZuZW4gdW5kIGRlbiBFaW5m/GdlbW9kdXMKKyAgICAgICAgICAgICAgICB6dSBzdGFydGVuLgorICAgIFRpcHBlICBPICAsIHVtIGVpbmUgWmVpbGUg3EJFUiBkZW0gQ3Vyc29yIHp1IPZmZm5lbi4KKworIDIuIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuenVm/Gdlbi4KKyAgICBUaXBwZSAgQSAgLCB1bSBUZXh0IG5hY2ggZGVtIFplaWxlbmVuZGUgYW56dWb8Z2VuLgorCisgMy4gRGFzIEtvbW1hbmRvICBlICBicmluZ3QgRGljaCB6dW0gRW5kZSBlaW5lcyBXb3J0ZXMuCisKKyA0LiBEZXIgT3BlcmF0b3IgIHkgICh5YW5rKSBrb3BpZXJ0IFRleHQsICBwICAocHV0KSBm/Gd0IGlobiBlaW4uCisKKyA1LiBFaW4gZ3Jv32VzICBSICBnZWh0IGluIGRlbiBFcnNldHp1bmdzbW9kdXMgYmlzIHp1bSBEcvxja2VuIHZvbiAgPEVTQz4gLgorCisgNi4gRGllIEVpbmdhYmUgdm9uICI6c2V0IHh4eCIgc2V0enQgZGllIE9wdGlvbiAieHh4Ii4gRWluaWdlIE9wdGlvbmVuIHNpbmQ6CisJJ2ljJyAnaWdub3JlY2FzZScgICAgSWdub3JpZXJlIEdyb98vS2xlaW5zY2hyZWlidW5nIGJlaSBlaW5lciBTdWNoZQorCSdpcycgJ2luY3NlYXJjaCcgICAgIFplaWdlIFRlaWz8YmVyZWluc3RpbW11bmdlbiBm/HIgZWluZW4gU3VjaGF1c2RydWNrCisJJ2hscycgJ2hsc2VhcmNoJyAgICAgSGViZSBhbGxlIHBhc3NlbmRlbiBBdXNkcvxja2UgaGVydm9yCisgICAgRGVyIE9wdGlvbnNuYW1lIGthbm4gaW4gZGVyIEt1cnotIG9kZXIgZGVyIExhbmdmb3JtIGFuZ2VnZWJlbiB3ZXJkZW4uCisKKyA3LiBTdGVsbGUgZWluZXIgT3B0aW9uICJubyIgdm9yYW4sIHVtIHNpZSBhYnp1c2NoYWx0ZW46ICAgOnNldCBub2ljCit+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+fn4KKwkJCUxla3Rpb24gNy4xIDogQVVGUlVGRU4gVk9OIEhJTEZFCisKKworCQkgICAgICoqIE51dHplIGRhcyBlaW5nZWJhdXRlIEhpbGZlc3lzdGVtICoqCisKKyAgVmltIGJlc2l0enQgZWluIHVtZmFzc2VuZGVzIGVpbmdlYmF1dGVzIEhpbGZlc3lzdGVtLiAgRvxyIGRlbiBBbmZhbmcgcHJvYmllcmUKKyAgZWlucyBkZXIgZHJlaSBmb2xnZW5kZW4gRGluZ2UgYXVzOgorCS0gRHL8Y2tlIGRpZSA8SGlsZmU+IC0gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKKwktIERy/GNrZSBkaWUgPEYxPiBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQorCS0gVGlwcGUgICA6aGVscCA8RU5URVI+CisKKyAgTGllcyBkZW4gVGV4dCBpbSBIaWxmZWZlbnN0ZXIsIHVtIHp1IHZlcnN0ZWhlbiB3aWUgZGllIEhpbGZlIGZ1bmt0aW9uaWVydC4KKyAgVGlwcGUgIENUUkwtVyBDVFJMLVcgICAsIHVtIHZvbiBlaW5lbSBGZW5zdGVyIHp1bSBhbmRlcmVuIHp1IHNwcmluZ2VuLgorICBUaXBwZSAgIDpxIDxFTlRFUj4gICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uCisKKyAgRHUga2FubnN0IEhpbGZlIHp1IHByYWt0aXNjaCBqZWRlbSBUaGVtYSBmaW5kZW4sIGluZGVtIER1IGRlbSAiOmhlbHAiLQorICBLb21tYW5kbyBlaW4gQXJndW1lbnQgZ2lic3QuICBQcm9iaWVyZSBmb2xnZW5kZXMgKDxFTlRFUj4gbmljaHQgdmVyZ2Vzc2VuKToKKworCTpoZWxwIHcKKwk6aGVscCBjX0NUUkwtRAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCit+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+fn4KKwkJICAgICBMZWt0aW9uIDcuMjogRVJTVEVMTEUgRUlOIFNUQVJULVNLUklQVAorCisKKwkgICAqKiAgQWt0aXZpZXJlIGRpZSBlaW5nZWJhdXRlbiBGdW5rdGlvbmFsaXTkdGVuIHZvbiBWaW0gKioKKworICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTkdGVuLCBkaWUg/GJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3RlbgorICB2b24gaWhuZW4gc2luZCBzdGFuZGFyZG3k32lnIGRlYWt0aXZpZXJ0LiBVbSBtZWhyIEZ1bmt0aW9uYWxpdOR0ZW4genUgbnV0emVuLAorICBtdXNzdCBEdSBlaW5lICJ2aW1yYyIgLSBEYXRlaSBlcnN0ZWxsZW4uCisKKyAgMS4gU3RhcnRlIGRhcyBFZGl0aWVyZW4gZGVyICJ2aW1yYyItRGF0ZWksIGFiaORuZ2lnIHZvbiBEZWluZW0gU3lzdGVtOgorCTplIH4vLnZpbXJjCQlm/HIgVW5peAorCTplICRWSU0vX3ZpbXJjCQlm/HIgTVMtV2luZG93cworCisgIDIuIE51biBsaWVzIGRlbiBJbmhhbHQgZGVyIEJlaXNwaWVsLSJ2aW1yYyItRGF0ZWkgZWluOgorCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCisKKyAgMy4gU3BlaWNoZXJlIGRpZSBEYXRlaSBtaXQ6CisJOncKKworICBCZWltIG7kY2hzdGVuIFN0YXJ0IHZvbiBWaW0gd2lyZCBkaWUgU3ludGF4aGVydm9yaGVidW5nIGFrdGl2aWVydCBzZWluLgorICBEdSBrYW5uc3QgYWxsIERlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZvxnZW4uCisgIEb8ciBtZWhyIEluZm9ybWF0aW9uZW4gdGlwcGUgIDpoZWxwIHZpbXJjLWludHJvCit+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+fn4KKwkJCSBMZWt0aW9uIDcuMzogVkVSVk9MTFNUxE5ESUdFTgorCisKKwkgICAqKiBLb21tYW5kb3plaWxlbnZlcnZvbGxzdORuZGlndW5nIG1pdCBDVFJMLUQgYW5kIDxUQUI+ICoqCisKKyAgMS4gU3RlbGxlIHNpY2hlciwgZGHfIFZpbSBuaWNodCBpbSB2aS1Lb21wYXRpYmlsaXTkdHNtb2R1cyBpc3Q6ICA6c2V0IG5vY3AKKworICAyLiBTaWVoZSBuYWNoLCB3ZWxjaGUgRGF0ZWllbiBpbSBWZXJ6ZWljaG5pcyBleGlzdGllcmVuOiAgOiFscyAgb2RlciAgOmRpcgorCisgIDMuIFRpcHBlIGRlbiBCZWdpbm4gZWluZXMgS29tYW5kb3M6ICA6ZQorCisgIDQuIERy/GNrZSAgQ1RSTC1EICB1bmQgVmltIHplaWd0IGVpbmUgTGlzdGUgbWl0ICJlIiBiZWdpbm5lbmRlciBLb21tYW5kb3MuCisKKyAgNS4gRHL8Y2tlICA8VEFCPiAgdW5kIFZpbSB2ZXJ2b2xsc3TkbmRpZ3QgZGVuIEtvbW1hbmRvbmFtZW4genUgIjplZGl0Ii4KKworICA2LiBOdW4gZvxnZSBlaW4gTGVlcnplaWNoZW4gdW5kIGRlbiBCZWdpbm4gZWluZXIgZXhpc3RpZXJlbmRlbiBEYXRlaSBhbjoKKyAgICAgOmVkaXQgREFUCisKKyAgNy4gRHL8Y2tlIDxUQUI+LiBWaW0gdmVydm9sbHN05G5kaWd0IGRlbiBOYW1lbiAoZmFsbHMgZXIgZWluZGV1dGlnIGlzdCkuCisKK0JlbWVya3VuZzogVmVydm9sbHN05G5kaWd1bmcgZnVua3Rpb25pZXJ0IGb8ciB2aWVsZSBLb21tYW5kb3MuIFZlcnN1Y2hlCisgICAgIGVpbmZhY2ggQ1RSTC1EIHVuZCA8VEFCPi4gIERpZXMgaXN0IGluc2Jlc29uZGVyZSBu/HR6bGljaCBm/HIgIDpoZWxwIC4KK35+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+fgorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA3CisKKworICAxLiBUaXBwZSAgOmhlbHAgIG9kZXIgZHL8Y2tlIDxGMT4gb2RlciA8SGVscD4sIHVtIGVpbiBIaWxmZWZlbnN0ZXIgenUg9mZmbmVuLgorCisgIDIuIFRpcHBlICA6aGVscCBLb21tYW5kbyAgLCB1bSBIaWxmZSD8YmVyICBLb21tYW5kbyAgenUgZXJoYWx0ZW4uCisKKyAgMy4gVGlwcGUgIENUUkwtVyBDVFJMLVcgICwgdW0genVtIGFuZGVyZW4gRmVuc3RlciB6dSBzcHJpbmdlbi4KKworICA0LiBUaXBwZSAgOnEgICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uCisKKyAgNS4gRXJzdGVsbGUgZWluIHZpbXJjIC0gU3RhcnRza3JpcHQgenVyIFNpY2hlcnVuZyBiZXZvcnp1Z3RlciBFaW5zdGVsbHVuZ2VuLgorCisgIDYuIERy/GNrZSBDVFJMLUQgbmFjaCBkZW0gVGlwcGVuIGVpbmVzIEtvbW1hbmRvcyAgOiAgLCB1bSBt9mdsaWNoZQorICAgICBWZXJ2b2xsc3TkbmRpZ3VuZ2VuIHp1IHNlaGVuLgorICAgICBEcvxja2UgPFRBQj4gZvxyIGVpbmUgZWluemlnZSBWZXJ2b2xsc3TkbmRpZ3VuZy4KKworCisKKworCisKK35+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+fgorCisgIERhbWl0IGlzdCBkZXIgVmltIFR1dG9yIGJlZW5kZXQuICBEaWUgSW50ZW50aW9uIHdhciwgZWluZW4ga3VyemVuIHVuZAorICBi/G5kaWdlbiDcYmVyYmxpY2sg/GJlciBkZW4gVmltIEVkaXRvciB6dSBsaWVmZXJuOyBnZXJhZGUgZ2VudWcsIHVtIHJlbGF0aXYKKyAgbGVpY2h0IG1pdCBpaG0gdW1nZWhlbiB6dSBr9m5uZW4uICBEZXIgVmltIFR1dG9yIGhhdCBuaWNodCBkZW4gZ2VyaW5nc3RlbgorICBBbnNwcnVjaCBhdWYgVm9sbHN05G5kaWdrZWl0OyBWaW0gaGF0IG5vY2ggd2VpdGF1cyBtZWhyIEtvbW1hbmRvcy4gTGllcyBhbHMKKyAgbuRjaHN0ZXMgZGFzIFVzZXIgTWFudWFsOiAiOmhlbHAgdXNlci1tYW51YWwiLgorCisgIEb8ciB3ZWl0ZXJlcyBMZXNlbiB1bmQgTGVybmVuIGlzdCBmb2xnZW5kZXMgQnVjaCBlbXBmb2hsZW4gOgorCVZpbSAtIFZpIEltcHJvdmVkIC0gdm9uIFN0ZXZlIE91YWxsaW5lCisJVmVybGFnOiBOZXcgUmlkZXJzCisgIERhcyBlcnN0ZSBCdWNoLCB3ZWxjaGVzIGR1cmNoZ+RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbvx0emxpY2gKKyAgZvxyIEFuZuRuZ2VyLiAgVmllbGUgQmVpc3BpZWxlIHVuZCBCaWxkZXIgc2luZCBlbnRoYWx0ZW4uCisgIFNpZWhlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgRm9sZ2VuZGVzIEJ1Y2ggaXN0IORsdGVyIHVuZCBtZWhyIPxiZXIgVmkgYWxzIFZpbSwgYWJlciBhdWNoIGVtcGZlaGxlbnN3ZXJ0OgorCVRleHRiZWFyYmVpdHVuZyBtaXQgZGVtIHZpLUVkaXRvciAgLSAgdm9uIExpbmRhIExhbWIgdW5kIEFybm9sZCBSb2JiaW5zCisJVmVybGFnIE8nUmVpbGx5IC0gSVNCTjogMzg5NzIxMTI2MgorICBJbiBkaWVzZW0gQnVjaCBrYW5uIG1hbiBmYXN0IGFsbGVzIGZpbmRlbiwgd2FzIG1hbiBtaXQgVmkgdHVuIG32Y2h0ZS4KKyAgRGllIHNlY2hzdGUgQXVzZ2FiZSBlbnRo5Gx0IGF1Y2ggSW5mb3JtYXRpb25lbiD8YmVyIFZpbS4KKworICBBbHMgYWt0dWVsbGUgUmVmZXJlbnogZvxyIFZlcnNpb24gNi4yIHVuZCBrbmFwcGUgRWluZvxocnVuZyBkaWVudCBkYXMKKyAgZm9sZ2VuZGUgQnVjaDoKKwl2aW0gZ2UtcGFja3Qgdm9uIFJlaW5oYXJkIFdvYnN0CisJbWl0cC1WZXJsYWcsIElTQk4gMy04MjY2LTE0MjUtOQorICBUcm90eiBkZXIga29tcGFrdGVuIERhcnN0ZWxsdW5nIGlzdCBlcyBkdXJjaCB2aWVsZSBu/HR6bGljaGUgQmVpc3BpZWxlIGF1Y2gKKyAgZvxyIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZAorICBvbmxpbmUgZXJo5Gx0bGljaC4gIFNpZWhlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgRGllc2VzIFR1dG9yaWFsIHd1cmRlIGdlc2NocmllYmVuIHZvbiBNaWNoYWVsIEMuIFBpZXJjZSBhbmQgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcy4gRXMgYmVudXR6dCBJZGVlbiwgZGllIENoYXJsZXMgU21pdGgsIENvbG9yYWRvIFN0YXRlCisgIFVuaXZlcnNpdHksIHp1ciBWZXJm/Gd1bmcgc3RlbGx0ZS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIEJlYXJiZWl0ZXQgZvxyIFZpbSB2b24gQnJhbSBNb29sZW5hYXIuCisgIERldXRzY2hlINxiZXJzZXR6dW5nIHZvbiBKb2FjaGltIEhvZm1hbm4gMjAwNy4gIEUtbWFpbDogSm9hY2hpbS5Ib2ZAZ214LmRlCisKK35+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+fgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5ubyBiL3J1bnRpbWUvdHV0b3IvdHV0b3Iubm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcxNzhkZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3Iubm8KQEAgLTAsMCArMSw5NzMgQEAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz0gViBlIGwgayBvIG0gbSBlIG4gICB0IGkgbCAgIGkgbiBuIGYg+CByIGkgbiBnIGUgbiAgIGkgICBWIGkgbSAgLS0gIFZlci4gMS43ID0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICBWaW0gZXIgZW4gbWVnZXQga3JhZnRpZyBlZGl0b3IgbWVkIG1hbmdlIGtvbW1hbmRvZXIsIGFsdCBmb3IgbWFuZ2UgdGlsIOUKKyAgICAga3VubmUgZ+UgZ2plbm5vbSBhbGxlIGkgZW4gaW5uZvhyaW5nIHNvbSBkZW5uZS4gRGVuIGVyIGJlcmVnbmV0IHDlIOUKKyAgICAgc2V0dGUgZGVnIGlubiBpIGJydWtlbiBhdiBub2sga29tbWFuZG9lciBz5SBkdSB2aWwgduZyZSBpIHN0YW5kIHRpbCBsZXR0CisgICAgIOUga3VubmUgYnJ1a2UgVmltIHNvbSBlbiBlZGl0b3IgdGlsIGFsbGUgZm9ybeVsLgorCisgICAgIFRpZGVuIHNvbSBrcmV2ZXMgZm9yIOUgZ+UgZ2plbm5vbSBkZW5uZSBpbm5m+HJpbmdlbiB0YXIgY2EuIDI1LTMwCisgICAgIG1pbnV0dGVyLCBhdmhlbmdpZyBhdiBodm9yIG15ZSB0aWQgZHUgYnJ1a2VyIHRpbCBla3NwZXJpbWVudGVyaW5nLgorCisgICAgIE1FUks6CisgICAgIEtvbW1hbmRvZW5lIGkgbGVrc2pvbmVuZSB2aWwgbW9kaWZpc2VyZSB0ZWtzdGVuLiBMYWcgZW4ga29waSBhdiBkZW5uZQorICAgICBmaWxlbiBzb20gZHUga2FuIPh2ZSBkZWcgcOUgKGh2aXMgZHUga2r4cnRlIKt2aW10dXRvcrsta29tbWFuZG9lbiwgZXIKKyAgICAgZGV0dGUgYWxsZXJlZGUgZW4ga29waSkuCisKKyAgICAgRGV0IGVyIHZpa3RpZyDlIGh1c2tlIGF0IGRlbm5lIGlubmb4cmluZ2VuIGVyIGJlcmVnbmV0IHDlIGzmcmluZyBnamVubm9tCisgICAgIGJydWsuIERldCBiZXR5ciBhdCBkdSBt5SB1dGb4cmUga29tbWFuZG9lbmUgZm9yIOUgbOZyZSBkZW0gc2tpa2tlbGlnLgorICAgICBIdmlzIGR1IGJhcmUgbGVzZXIgdGVrc3RlbiwgdmlsIGR1IGdsZW1tZSBrb21tYW5kb2VuZSEKKworICAgICBG+HJzdCBhdiBhbHQsIHNqZWtrIGF0IKtDYXBzIExvY2u7IElLS0UgZXIgYWt0aXYgb2cgdHJ5a2sgq2q7LXRhc3RlbiBmb3IKKyAgICAg5SBmbHl0dGUgbWFya/hyZW4gaGVsdCB0aWwgbGVrc2pvbiAxLjEgZnlsbGVyIHNramVybWVuLgorfn5+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+CisJCSAgICAgIExla3Nqb24gMS4xOiAgRkxZVFRJTkcgQVYgTUFSS9hSRU4KKworCisgICAgICAgKiogRm9yIOUgZmx5dHRlIG1hcmv4cmVuLCB0cnlrayB0YXN0ZW5lIGgsIGosIGssIGwgc29tIHZpc3QuICoqCisJICAgICBeCisJICAgICBrCQlUaXBzOiBoLXRhc3RlbiBlciB0aWwgdmVuc3RyZSBvZyBmbHl0dGVyIHRpbCB2ZW5zdHJlLgorICAgICAgIDwgaAkgbCA+CSAgICAgIGwtdGFzdGVuIGVyIHRpbCBo+HlyZSBvZyBmbHl0dGVyIHRpbCBo+HlyZS4KKwkgICAgIGoJCSAgICAgIGotdGFzdGVuIHNlciB1dCBzb20gZW4gcGlsIHNvbSBwZWtlciBuZWRvdmVyLgorCSAgICAgdgorICAxLiBGbHl0dCBtYXJr+HJlbiBydW5kdCBw5SBza2plcm1lbiB0aWwgZHUgaGFyIGbldHQgZGV0IGlubiBpIGZpbmdyZW5lLgorCisgIDIuIEhvbGQgaW5uZSBuZWRvdmVydGFzdGVuIChqKSB0aWwgZGVuIHJlcGV0ZXJlci4KKyAgICAgTuUgdmV0IGR1IGh2b3JkYW4gZHUgYmV2ZWdlciBkZWcgdGlsIG5lc3RlIGxla3Nqb24uCisKKyAgMy4gR+UgdGlsIGxla3Nqb24gMS4yIHZlZCBoamVscCBhdiBuZWRvdmVydGFzdGVuLgorCitNZXJrOiBIdmlzIGR1IGJsaXIgdXNpa2tlciBw5SBub2UgZHUgaGFyIHNrcmV2ZXQsIHRyeWtrIDxFU0M+IGZvciDlIGflIHRpbAorICAgICAgbm9ybWFsbW9kdXMuIFNrcml2IGRlcmV0dGVyIGtvbW1hbmRvZW4gZHUg+G5za2V0IHDlIG55dHQuCisKK01lcms6IFBpbHRhc3RlbmUgc2thbCBvZ3PlIHZpcmtlLiBNZW4gdmVkIOUgYnJ1a2UgaGprbCB2aWwgZHUgduZyZSBpIHN0YW5kIHRpbAorICAgICAg5SBiZXZlZ2UgbWFya/hyZW4gbXllIHJhc2tlcmUgbuVyIGR1IGVyIGJsaXR0IHZhbnQgdGlsIGRldC4gSGVsdCBzYW50IQorCit+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+fn4KKwkJCSAgTGVrc2pvbiAxLjI6IEFWU0xVVFRFIFZJTQorCisKKyAgISEgTUVSSzogRvhyIGR1IHV0ZvhyZXIgbm9lbiBhdiBwdW5rdGVuZSBuZWRlbmZvciwgbGVzIGhlbGUgbGVrc2pvbmVuISEKKworICAxLiBUcnlrayA8RVNDPi10YXN0ZW4gKGZvciDlIGZvcnNpa3JlIGRlZyBvbSBhdCBkdSBlciBpIG5vcm1hbG1vZHVzKS4KKworICAyLiBTa3JpdjoJOnEhIDxFTlRFUj4uCisgICAgIERldHRlIGF2c2x1dHRlciBlZGl0b3JlbiBvZyBGT1JLQVNURVIgYWxsZSBmb3JhbmRyaW5nZXIgc29tIGR1IGhhciBnam9ydC4KKworICAzLiBO5XIgZHUgc2VyIGtvbW1hbmRvbGluamVuIGkgc2thbGxldCwgc2tyaXYga29tbWFuZG9lbiBzb20gc3RhcnRldCBkZW5uZQorICAgICBpbm5m+HJpbmdlbi4gRGVuIGVyOiAgIHZpbXR1dG9yIDxFTlRFUj4KKworICA0LiBIdmlzIGR1IGVyIHNpa2tlciBw5SBhdCBkdSBodXNrZXIgZGV0dGUsIHV0ZvhyIHB1bmt0ZW5lIDEgdGlsIDMgZm9yIOUKKyAgICAgYXZzbHV0dGUgb2cgc3RhcnRlIGVkaXRvcmVuIHDlIG55dHQuCisKK01FUks6ICA6cSEgPEVOVEVSPiAgZm9ya2FzdGVyIGFsbGUgZm9yYW5kcmluZ2VyIHNvbSBkdSBnam9yZGUuIEkgbPhwZXQgYXYgbm9lbgorICAgICAgIGblIGxla3Nqb25lciB2aWwgZHUgbOZyZSBodm9yZGFuIGR1IGxhZ3JlciBmb3JhbmRyaW5nZW5lIHRpbCBlbiBmaWwuCisKKyAgNS4gRmx5dHQgbWFya/hyZW4gbmVkIHRpbCBsZWtzam9uIDEuMy4KKworCit+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+fn4KKwkJIExla3Nqb24gMS4zOiBSRURJR0VSSU5HIEFWIFRFS1NUIC0tIFNMRVRUSU5HCisKKworCSAgICAgKiogVHJ5a2sgIHggIGZvciDlIHNsZXR0ZSB0ZWduZXQgdW5kZXIgbWFya/hyZW4uICoqCisKKyAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBm+HJzdGUgbGluamVuIG1lcmtldCBtZWQgIC0tLT4uCisKKyAgMi4gRm9yIOUgb3JkbmUgZmVpbGVuZSBw5SBsaW5qZW4sIGZseXR0IG1hcmv4cmVuIHRpbCBkZW4gZXIgb3Bw5SB0ZWduZXQgc29tCisgICAgIHNrYWwgc2xldHRlcy4KKworICAzLiBUcnlrayB0YXN0ZW4gIHggIGZvciDlIHNsZXR0ZSBkZXQgdfhuc2tlZGUgdGVnbmV0LgorCisgIDQuIFJlcGV0ZXIgcHVua3QgMiB0aWwgNCB0aWwgc2V0bmluZ2VuIGVyIGxpayBkZW4gc29tIGVyIHVuZGVyLgorCistLS0+IEhlc3NzdGVubm5uIGJycnLlc251ZGRkZGUgaWkgZ2FhYXRhLgorLS0tPiBIZXN0ZW4gYnLlc251ZGRlIGkgZ2F0YS4KKworICA1LiBO5SBzb20gbGluamVuIGVyIGtvcnJla3QsIGflIHRpbCBsZWtzam9uIDEuNC4KKworTUVSSzogTuVyIGR1IGflciBnamVubm9tIGlubmb4cmluZ2VuLCBpa2tlIGJhcmUgcHL4diDlIGh1c2tlIGtvbW1hbmRvZW5lLCBtZW4KKyAgICAgIGJydWsgZGVtIGhlbHQgdGlsIGRlIHNpdHRlci4KKworfn5+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+CisJCUxla3Nqb24gMS40OiBSRURJR0VSSU5HIEFWIFRFS1NUIC0tIElOTlNFVFRJTkcKKworCisJCSAgICAqKiBUcnlrayAgaSAgZm9yIOUgc2V0dGUgaW5uIHRla3N0LiAqKgorCisgIDEuIEZseXR0IG1hcmv4cmVuIHRpbCBkZW4gZvhyc3RlIGxpbmplbiBzb20gZXIgbWVya2V0IG1lZCAtLS0+LgorCisgIDIuIEZvciDlIGdq+HJlIGRlbiBm+HJzdGUgbGluamVuIGxpayBkZW4gYW5kcmUsIGZseXR0IG1hcmv4cmVuIHRpbCBkZW4gc3TlcgorICAgICBw5SB0ZWduZXQgRVRURVIgcG9zaXNqb25lbiBkZXIgdGVrc3RlbiBza2FsIHNldHRlcyBpbm4uCisKKyAgMy4gVHJ5a2sgIGkgIG9nIHNrcml2IGlubiB0ZWtzdGVuIHNvbSBtYW5nbGVyLgorCisgIDQuIEV0dGVyaHZlcnQgc29tIGh2ZXIgZmVpbCBlciBmaWtzZXQsIHRyeWtrIDxFU0M+IGZvciDlIHJldHVybmVyZSB0aWwKKyAgICAgbm9ybWFsbW9kdXMuIFJlcGV0ZXIgcHVua3QgMiB0aWwgNCB0aWwgc2V0bmluZ2VuIGVyIGtvcnJla3QuCisKKy0tLT4gRGV0IGVyIHRrc3Qgc29tIG1uZ2xyIC4KKy0tLT4gRGV0IGVyIGdhbnNrZSBteWUgdGVrc3Qgc29tIG1hbmdsZXIgaGVyLgorCisgIDUuIE7lciBkdSBm+GxlciBkZWcga29tZm9ydGFiZWwgbWVkIOUgc2V0dGUgaW5uIHRla3N0LCBn5SB0aWwgb3Bwc3VtbWVyaW5nZW4KKyAgICAgbmVkZW5mb3IuCisKKworfn5+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+CisJCUxla3Nqb24gMS41OiBSRURJR0VSSU5HIEFWIFRFS1NUIC0tIExFR0dFIFRJTAorCisKKwkJICAgICoqIFRyeWtrICBBICBmb3Ig5SBsZWdnZSB0aWwgdGVrc3QuICoqCisKKyAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBm+HJzdGUgbGluamVuIG5lZGVuZm9yIG1lcmtldCAtLS0+LgorICAgICBEZXQgaGFyIGlra2Ugbm9lIOUgc2kgaHZvciBtYXJr+HJlbiBlciBwbGFzc2VydCBw5SBkZW4gbGluamVuLgorCisgIDIuIFRyeWtrICBBICBvZyBza3JpdiBpbm4gZGV0IHNvbSBza2FsIGxlZ2dlcyB0aWwuCisKKyAgMy4gTuVyIHRla3N0ZW4gZXIgbGFndCB0aWwsIHRyeWtrIDxFU0M+IGZvciDlIHJldHVybmVyZSB0aWwgbm9ybWFsbW9kdXNlbi4KKworICA0LiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGFuZHJlIGxpbmplbiBtYXJrZXJ0IG1lZCAtLS0+IG9nIHJlcGV0ZXIgc3RlZyAyIG9nCisgICAgIDMgZm9yIOUgcmVwYXJlcmUgZGVubmUgc2V0bmluZ2VuLgorCistLS0+IERldCBtYW5nbGVyIG5vZSB0ZWtzdCBwCisgICAgIERldCBtYW5nbGVyIG5vZSB0ZWtzdCBw5SBkZW5uZSBsaW5qZW4uCistLS0+IERldCBtYW5nbGVyIG9nc+UgbGl0dCB0ZWsKKyAgICAgRGV0IG1hbmdsZXIgb2dz5SBsaXR0IHRla3N0IHDlIGRlbm5lIGxpbmplbi4KKworICA1LiBO5XIgZHUgZvhsZXIgYXQgZHUgYmVoZXJza2VyIOUgbGVnZ2UgdGlsIHRla3N0LCBn5SB0aWwgbGVrc2pvbiAxLjYuCisKK35+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+fgorCQkJIExla3Nqb24gMS42OiBSRURJR0VSRSBFTiBGSUwKKworCisJICAgICAgICoqIEJydWsJOndxICBmb3Ig5SBsYWdyZSBlbiBmaWwgb2cgYXZzbHV0dGUuICoqCisKKyAgISEgTUVSSzogRvhyIGR1IHV0ZvhyZXIgbm9lbiBhdiBzdGVnZW5lIG5lZGVuZm9yLCBsZXMgaGVsZSBkZW5uZSBsZWtzam9uZW4hIQorCisgIDEuIEF2c2x1dHQgZGVubmUgaW5uZvhyaW5nZW4gc29tIGR1IGdqb3JkZSBpIGxla3Nqb24gMS4yOiAgOnEhCisKKyAgMi4gU2tyaXYgZGVubmUga29tbWFuZG9lbiBw5SBrb21tYW5kb2xpbmphOiAgdmltIHR1dG9yIDxFTlRFUj4KKyAgICAgq3ZpbbsgZXIga29tbWFuZG9lbiBmb3Ig5SBzdGFydGUgVmltLWVkaXRvcmVuLCCrdHV0b3K7IGVyIG5hdm5ldCBw5SBmaWxhCisgICAgIHNvbSBkdSB2aWwgcmVkaWdlcmUuIEJydWsgZW4gZmlsIHNvbSBrYW4gZm9yYW5kcmVzLgorCisgIDMuIFNldHQgaW5uIG9nIHNsZXR0IHRla3N0IHNvbSBkdSBs5nJ0ZSBpIGRlIGZvcmVn5WVuZGUgbGVrc2pvbmVuZS4KKworICA0LiBMYWdyZSBmaWxlbiBtZWQgZm9yYW5kcmluZ2VuZSBvZyBhdnNsdXR0IFZpbSBtZWQ6CTp3cSA8RU5URVI+CisKKyAgNS4gU3RhcnQgaW5uZvhyaW5nZW4gcOUgbnl0dCBvZyBmbHl0dCBuZWQgdGlsIG9wcHN1bW1lcmluZ2VuIHNvbSBm+GxnZXIuCisKKyAgNi4gRXR0ZXIg5SBoYSBsZXN0IG9nIGZvcnN05XR0IHN0ZWdlbmUgb3ZlbmZvcjogU2V0dCBpIGdhbmcuCisKKworfn5+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+CisJCQkgIE9QUFNVTU1FUklORyBBViBMRUtTSk9OIDEKKworCisgIDEuIE1hcmv4cmVuIGJldmVnZXMgdmVkIGhqZWxwIGF2IHBpbHRhc3RlbmUgZWxsZXIgaGprbC10YXN0ZW5lLgorCSBoICh2ZW5zdHJlKQkgaiAobmVkKSAgICAgayAob3BwKQkgbCAoaPh5cmUpCisKKyAgMi4gRm9yIOUgc3RhcnRlIFZpbSBmcmEgc2thbGwta29tbWFuZG9saW5qZW4sIHNrcml2Ogl2aW0gRklMTkFWTiA8RU5URVI+CisKKyAgMy4gRm9yIOUgYXZzbHV0dGUgVmltLCBza3JpdjogIDxFU0M+IDpxISA8RU5URVI+ICBmb3Ig5SBmb3JrYXN0ZSBlbmRyaW5nZXIuCisJCSAgIEVMTEVSIHNrcml2OiAgPEVTQz4gOndxIDxFTlRFUj4gIGZvciDlIGxhZ3JlIGZvcmFuZHJpbmdlbmUuCisKKyAgNC4gRm9yIOUgc2xldHRlIHRlZ25ldCB1bmRlciBtYXJr+HJlbiwgdHJ5a2s6ICB4CisKKyAgNS4gRm9yIOUgc2V0dGUgaW5uIGVsbGVyIGxlZ2dlIHRpbCB0ZWtzdCwgdHJ5a2s6CisJIGkgICAgc2tyaXYgaW5uc2F0dCB0ZWtzdCAgPEVTQz4Jc2V0dCBpbm4gZvhyIG1hcmv4cmVuCisJIEEgICAgc2tyaXYgdGlsbGFndCB0ZWtzdCAgPEVTQz4JbGVnZyB0aWwgcOUgc2x1dHRlbiBhdiBsaW5qZW4KKworTUVSSzogTuVyIGR1IHRyeWtrZXIgPEVTQz4gZ+VyIGR1IHRpbCBub3JtYWxtb2R1cyBlbGxlciBkdSBhdmJyeXRlciBlbiB1+G5za2V0CisgICAgICBvZyBkZWx2aXMgZnVsbGb4cnQga29tbWFuZG8uCisKKyAgTuUga2FuIGR1IGflIHZpZGVyZSB0aWwgbGVrc2pvbiAyLgorCit+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+fn4KKwkJCUxla3Nqb24gMi4xOiBTTEVUVEVLT01NQU5ET0VSCisKKworCQkgICAgKiogVHJ5a2sgIGR3ICBmb3Ig5SBzbGV0dGUgZXQgb3JkLiAqKgorCisgIDEuIFRyeWtrIDxFU0M+IGZvciDlIHbmcmUgc2lra2VyIHDlIGF0IGR1IGVyIGkgbm9ybWFsbW9kdXMuCisKKyAgMi4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBm+HJzdGUgbGluamVuIG5lZGVuZm9yIG1lcmtldCAtLS0+LgorCisgIDMuIEZseXR0IG1hcmv4cmVuIHRpbCBiZWd5bm5lbHNlbiBhdiBvcmRldCBzb20gc2thbCBzbGV0dGVzLgorCisgIDQuIFRyeWtrICBkdwlvZyBvcmRldCB2aWwgZm9yc3Zpbm5lLgorCitNRVJLOiBCb2tzdGF2ZW4gIGQgIHZpbCBrb21tZSB0aWwgc3luZSBw5SBkZW4gbmVkZXJzdGUgbGluamVuIHDlIHNramVybWVuIG7lcgorICAgICAgZHUgc2tyaXZlciBkZW4uIFZpbSB2ZW50ZXIgcOUgYXQgZHUgc2thbCBza3JpdmUgdyAuIEh2aXMgZHUgc2VyIGV0IGFubmV0CisgICAgICB0ZWduIGVubglkICBoYXIgZHUgc2tyZXZldCBub2UgZmVpbDsgdHJ5a2sgPEVTQz4gb2cgc3RhcnQgcOUgbnl0dC4KKworLS0tPiBEZXQgZXIgYWd1cmsgdHJlIG9yZCBlcGxlIHNvbSBpa2tlIGj4cmVyIHDmcmUgaGplbW1lIGkgZGVubmUgc2V0bmluZ2VuLgorLS0tPiBEZXQgZXIgdHJlIG9yZCBzb20gaWtrZSBo+HJlciBoamVtbWUgaSBkZW5uZSBzZXRuaW5nZW4uCisKKyAgNS4gUmVwZXRlciBwdW5rdCAzIG9nIDQgdGlsIGRlbiBm+HJzdGUgc2V0bmluZ2VuIGVyIGxpayBkZW4gYW5kcmUuIEflCisgICAgIGRlcmV0dGVyIHRpbCBsZWtzam9uIDIuMi4KK35+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+fgorCQkgICAgIExla3Nqb24gMi4yOiBGTEVSRSBTTEVUVEVLT01NQU5ET0VSCisKKworCSAgICAgKiogVHJ5a2sgIGQkICBmb3Ig5SBzbGV0dGUgdGlsIHNsdXR0ZW4gYXYgbGluamVuLiAqKgorCisgIDEuIFRyeWtrIDxFU0M+IGZvciDlIHbmcmUgc2lra2VyIHDlIGF0IGR1IGVyIGkgbm9ybWFsbW9kdXMuCisKKyAgMi4gRmx5dHQgbWFya/hyZW4gdGlsIGxpbmplbiBuZWRlbmZvciBtZXJrZXQgLS0tPi4KKworICAzLiBGbHl0dCBtYXJr+HJlbiB0aWwgcHVua3RldCBkZXIgbGluamVuIHNrYWwga3V0dGVzIChFVFRFUiBm+HJzdGUgcHVua3R1bSkuCisKKyAgNC4gVHJ5a2sgIGQkCWZvciDlIHNsZXR0ZSBhbHQgdGlsIHNsdXR0ZW4gYXYgbGluamVuLgorCistLS0+IE5vZW4gc2tyZXYgc2x1dHRlbiBw5SBsaW5qZW4gZW4gZ2FuZyBmb3IgbXllLiBsaW5qZW4gZW4gZ2FuZyBmb3IgbXllLgorCisgIDUuIEflIHRpbCBsZWtzam9uIDIuMyBmb3Ig5SBmb3JzdOUgaHZhIHNvbSBza2plci4KKworCisKKworCisKK35+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+fgorCQkgICBMZWtzam9uIDIuMzogT00gT1BFUkFUT1JFUiBPRyBCRVZFR0VMU0VSCisKKworICBNYW5nZSBrb21tYW5kb2VyIHNvbSBmb3JhbmRyZXIgdGVrc3RlbiBlciBsYWdldCB1dCBpIGZyYSBlbiBvcGVyYXRvciBvZyBlbgorICBiZXZlZ2Vsc2UuIEZvcm1hdGV0IGZvciBlbiBzbGV0dGVrb21tYW5kbyBtZWQgc2xldHRlb3BlcmF0b3JlbiAgZCAgZXI6CisKKwlkICAgYmV2ZWdlbHNlCisKKyAgRGVyOgorICAgIGQJICAgICAgLSBlciBzbGV0dGVvcGVyYXRvcmVuLgorICAgIGJldmVnZWxzZSAtIGVyIGh2YSBvcGVyYXRvcmVuIHZpbCBvcGVyZSBw5SAobGlzdGV0IG5lZGVuZm9yKS4KKworICBFbiBrb3J0IGxpc3RlIG1lZCBiZXZlZ2Vsc2VyOgorICAgIHcgLSB0aWwgc3RhcnRlbiBhdiBkZXQgbmVzdGUgb3JkZXQsIFVOTlRBVFQgZGV0IGb4cnN0ZSB0ZWduZXQuCisgICAgZSAtIHRpbCBzbHV0dGVuIGF2IGRldCBu5XbmcmVuZGUgb3JkZXQsIElOS0xVREVSVCBkZXQgc2lzdGUgdGVnbmV0LgorICAgICQgLSB0aWwgc2x1dHRlbiBhdiBsaW5qZW4sIElOS0xVREVSVCBkZXQgc2lzdGUgdGVnbmV0LgorCisgIFZlZCDlIHNrcml2ZQlkZSAgdmlsIGFsdHPlIGFsdCBmcmEgbWFya/hyZW4gdGlsIHNsdXR0ZW4gYXYgb3JkZXQgYmxpCisgIHNsZXR0ZXQuCisKK01FUks6ICBWZWQg5SBza3JpdmUga3VuIGJldmVnZWxzZW4gaSBub3JtYWxtb2R1c2VuIHV0ZW4gZW4gb3BlcmF0b3IgdmlsCisgICAgICAgbWFya/hyZW4gZmx5dHRlcyBzb20gc3Blc2lmaXNlcnQuCit+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+fn4KKwkJIExFS1NKT04gMi40OiBCUlVLIEFWIFRFTExFUiBGT1IgRU4gQkVWRUdFTFNFCisKKworICoqIFZlZCDlIHNrcml2ZSBldCB0YWxsIGZvcmFuIGVuIGJldmVnZWxzZSByZXBldGVyZXIgZGVuIHPlIG1hbmdlIGdhbmdlci4gKioKKworICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgc3RhcnRlbiBhdiBsaW5qZW4gbWFya2VydCAtLS0+IG5lZGVuZm9yLgorCisgIDIuIFNrcml2ICAydwlmb3Ig5SBmbHl0dGUgbWFya/hyZW4gdG8gb3JkIGZyYW1vdmVyLgorCisgIDMuIFNrcml2ICAzZQlmb3Ig5SBmbHl0dGUgbWFya/hyZW4gZnJhbW92ZXIgdGlsIHNsdXR0ZW4gYXYgZGV0IHRyZWRqZQorICAgICBvcmRldC4KKworICA0LiBTa3JpdiAgMCAgKG51bGwpIGZvciDlIGZseXR0ZSB0aWwgc3RhcnRlbiBhdiBsaW5qZW4uCisKKyAgNS4gUmVwZXRlciBzdGVnIDIgb2cgMyBtZWQgZm9yc2tqZWxsaWdlIHRhbGwuCisKKy0tLT4gRGV0dGUgZXIgZW4gbGluamUgbWVkIG5vZW4gb3JkIHNvbSBkdSBrYW4gYmV2ZWdlIGRlZyBydW5kdCBw5S4KKworICA2LiBH5SB2aWRlcmUgdGlsIGxla3Nqb24gMi41LgorCisKKworfn5+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+CisJCSBMZWtzam9uIDIuNTogQlJVSyBBViBBTlRBTEwgRk9SIMUgU0xFVFRFIE1FUgorCisKKyAgICAgKiogRXQgdGFsbCBzYW1tZW4gbWVkIGVuIG9wZXJhdG9yIHJlcGV0ZXJlciBkZW4gc+UgbWFuZ2UgZ2FuZ2VyLiAqKgorCisgIEkga29tYmluYXNqb25lbiBtZWQgc2xldHRlb3BlcmF0b3JlbiBvZyBlbiBiZXZlZ2Vsc2UgbmV2bnQgb3ZlbmZvciBzZXR0ZXIgZHUKKyAgaW5uIGFudGFsbCBm+HIgYmV2ZWdlbHNlbiBmb3Ig5SBzbGV0dGUgbWVyOgorCSBkICBudW1tZXIgIGJldmVnZWxzZQorCisgIDEuIEZseXR0IG1hcmv4cmVuIHRpbCBkZXQgZvhyc3RlIG9yZGV0IG1lZCBTVE9SRSBCT0tTVEFWRVIgcOUgbGluamVuIG1hcmtlcnQKKyAgICAgbWVkIC0tLT4uCisKKyAgMi4gU2tyaXYgIDJkdyAgZm9yIOUgc2xldHRlIGRlIHRvIG9yZGVuZSBtZWQgc3RvcmUgYm9rc3RhdmVyLgorCisgIDMuIFJlcGV0ZXIgc3RlZyAxIG9nIDIgbWVkIGZvcnNramVsbGluZyBhbnRhbGwgZm9yIOUgc2xldHRlIGRlIGV0dGVyZvhsZ2VuZGUKKyAgICAgb3JkZW5lIHNvbSBoYXIgc3RvcmUgYm9rc3RhdmVyLgorCistLS0+IERlbm5lIEFCQyBERSBsaW5qZW4gRkdISSBKSyBMTU4gT1AgZXIgbuUgUSBSUyBUVVYgbGl0dCBtZXIgbGVzYmFyLgorCitNRVJLOiBFdCBhbnRhbGwgbWVsbG9tIG9wZXJhdG9yZW4gIGQgIG9nIGJldmVnZWxzZW4gdmlya2VyIHDlIHNhbW1lIG3ldGUgc29tIOUKKyAgICAgIGJydWtlIGJldmVnZWxzZW4gdXRlbiBlbiBvcGVyYXRvci4KKworfn5+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+CisJCQlMZWtzam9uIDIuNjogT1BFUkVSRSBQxSBMSU5KRVIKKworCisJCSAqKiBUcnlrayAgZGQgIGZvciDlIHNsZXR0ZSBlbiBoZWwgbGluamUuICoqCisKKyAgUOUgZ3J1bm4gYXYgYXQgc2xldHRpbmcgYXYgbGluamVyIGVyIG15ZSBicnVrdCwgZmFudCB1dHZpa2xlcm5lIGF2IFZpIHV0IGF0CisgIGRldCB2aWwgduZyZSBsZXR0ZXJlIOUgcmV0dCBvZyBzbGV0dCB0cnlra2UgdG8gZC1lciBmb3Ig5SBzbGV0dGUgZW4gbGluamUuCisKKyAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBhbmRyZSBsaW5qZW4gaSB2ZXJzZXQgbmVkZW5mb3IuCisgIDIuIFRyeWtrICBkZAkg5SBzbGV0dGUgbGluamVuLgorICAzLiBGbHl0dCBkZXJldHRlciB0aWwgZGVuIGZqZXJkZSBsaW5qZW4uCisgIDQuIFRyeWtrICAyZGQgIGZvciDlIHNsZXR0ZSB0byBsaW5qZXIuCisKKy0tLT4gIDEpIFJvc2VyIGVyIHL4ZGUsCistLS0+ICAyKSBHavhybWUgZXIgZ/h5LAorLS0tPiAgMykgRmlvbGVyIGVyIGJs5SwKKy0tLT4gIDQpIEplZyBoYXIgZW4gYmlsLAorLS0tPiAgNSkgS2xva2tlciB2aXNlciB0aWRlbiwKKy0tLT4gIDYpIERydWVyIGVyIHP4dGUKKy0tLT4gIDcpIE9nIGR1IGVyIGxpa2Vz5S4KKworCit+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+fn4KKwkJCUxla3Nqb24gMi43OiBBTkdSRS1LT01NQU5ET0VOCisKKworICAqKiBUcnlrayAgdSAgZm9yIOUgYW5ncmUgc2lzdGUga29tbWFuZG8sICBVICBmb3Ig5SBmaWtzZSBlbiBoZWwgbGluamUuICoqCisKKyAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGxpbmplbiBuZWRlbmZvciBtZXJrZXQgLS0tPiBvZyBwbGFzc2VyIGRlbiBw5SBkZW4KKyAgICAgZvhyc3RlIGZlaWxlbi4KKyAgMi4gVHJ5a2sgIHggIGZvciDlIHNsZXR0ZSBkZXQgZvhyc3RlIHX4bnNrZWRlIHRlZ25ldC4KKyAgMy4gVHJ5a2sgc+UgIHUgIGZvciDlIGFuZ3JlIGRlbiBzaXN0ZSB1dGb4cnRlIGtvbW1hbmRvZW4uCisgIDQuIERlcmV0dGVyIG9yZG5lciBkdSBhbGxlIGZlaWxlbmUgcOUgbGluamVuZSB2ZWQg5SBicnVrZSBrb21tYW5kb2VuCXggIC4KKyAgNS4gVHJ5a2sgbuUgZW4gc3RvciAgVSAgZm9yIOUgc2V0dGUgbGluamVuIHRpbGJha2UgdGlsIGRldCBkZW4gdmFyCisgICAgIG9yaWdpbmFsdC4KKyAgNi4gVHJ5a2sgIHUgIG5vZW4gZ2FuZ2VyIGZvciDlIGFuZ3JlCVUgIG9nIGZvcmVn5WVuZGUga29tbWFuZG9lci4KKyAgNy4gRGVyZXR0ZXIgdHJ5a2tlciBkdSAgQ1RSTC1SICAoaG9sZCBDVFJMIG5lZGUgbWVucyBkdSB0cnlra2VyIFIpIG5vZW4KKyAgICAgZ2FuZ2VyIGZvciDlIGdqZW5vcHByZXR0ZSBrb21tYW5kb2VuZSAob21navhyZSBhbmdyZWtvbW1hbmRvZW5lKS4KKworLS0tPiBSUmVwYXJlciBmZWlpbGVuZSBw5eUgZGVubmUgbGlubm5qZW4gb29nIGVyc3NzdGF0dCBkZW0gbWVlZCBhbmdyZS4KKworICA4LiBEZXR0ZSBlciBtZWdldCBueXR0aWdlIGtvbW1hbmRvZXIuIE7lIGthbiBkdSBn5SB0aWwgb3Bwc3VtbWVyaW5nZW4gYXYKKyAgICAgbGVrc2pvbiAyLgorCisKK35+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+fgorCQkJICBPUFBTVU1NRVJJTkcgQVYgTEVLU0pPTiAyCisKKworICAxLiBGb3Ig5SBzbGV0dGUgZnJhIG1hcmv4cmVuIGZyYW0gdGlsIGRldCBuZXN0ZSBvcmRldCwgdHJ5a2s6ICBkdworICAyLiBGb3Ig5SBzbGV0dGUgZnJhIG1hcmv4cmVuIHRpbCBzbHV0dGVuIGF2IGVuIGxpbmplLCB0cnlrazoJZCQKKyAgMy4gRm9yIOUgc2xldHRlIGVuIGhlbCBsaW5qZSwgdHJ5a2s6CWRkCisKKyAgNC4gRm9yIOUgcmVwZXRlcmUgZW4gYmV2ZWdlbHNlLCBzZXR0IGV0IG51bW1lciBmb3JhbjogIDJ3CisgIDUuIEZvcm1hdGV0IGZvciBlbiBmb3JhbmRyaW5nc2tvbW1hbmRvIGVyOgorCSAgICAgICBvcGVyYXRvciAgW251bW1lcl0gIGJldmVnZWxzZQorICAgICBkZXI6CisgICAgICAgb3BlcmF0b3IgIC0gaHZhIHNvbSBza2FsIGdq+HJlcywgZi5la3MuCWQgIGZvciDlIHNsZXR0ZQorICAgICAgIFtudW1tZXJdICAtIGV0IHZhbGdmcml0dCBhbnRhbGwgZm9yIOUgcmVwZXRlcmUgYmV2ZWdlbHNlbgorICAgICAgIGJldmVnZWxzZSAtIGh2YSBrb21tYW5kb2VuIHNrYWwgb3BlcmVyZSBw5SwgZWtzZW1wZWx2aXMJdyAgKG9yZCksCisJCSAgICQgICh0aWwgc2x1dHRlbiBhdiBsaW5qZW4pIG9nIHPlIHZpZGVyZS4KKworICA2LiBGb3Ig5SBn5SB0aWwgc3RhcnRlbiBhdiBlbiBsaW5qZSwgYnJ1ayBlbiBudWxsOiAgMAorCisgIDcuIEZvciDlIGFuZ3JlIHRpZGxpZ2VyZSBlbmRyaW5nZXIsIHNrcml2OgkJdSAgKGxpdGVuIHUpCisgICAgIEZvciDlIGFuZ3JlIGFsbGUgZm9yYW5kcmluZ2VyIHDlIGVuIGxpbmplLCBza3JpdjoJVSAgKHN0b3IgVSkKKyAgICAgRm9yIOUgb21navhyZSBhbmdyaW5nZW4sIHRyeWtrOgkJCUNUUkwtUgorCit+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+fn4KKwkJICAgICAgTGVrc2pvbiAzLjE6IKtMSU0gSU5Ouy1LT01NQU5ET0VOCisKKworICAgICoqIFRyeWtrICBwICBmb3Ig5SBsaW1lIGlubiB0aWRsaWdlcmUgc2xldHRldCB0ZWtzdCBldHRlciBtYXJr+HJlbiAqKgorCisgIDEuIEZseXR0IG1hcmv4cmVuIHRpbCBkZW4gZvhyc3RlIGxpbmplbiBtZWQgLS0tPiBuZWRlbmZvci4KKworICAyLiBUcnlrayAgZGQJZm9yIOUgc2xldHRlIGxpbmplbiBvZyBsYWdyZSBkZW4gaSBldCBWaW0tcmVnaXN0ZXIuCisKKyAgMy4gRmx5dHQgbWFya/hyZW4gdGlsIGMpLWxpbmplbiwgT1ZFUiBwb3Npc2pvbmVuIGxpbmplbiBza2FsIHNldHRlcyBpbm4uCisKKyAgNC4gVHJ5a2sgIHAgIGZvciDlIGxlZ2dlIGxpbmplbiB1bmRlciBtYXJr+HJlbi4KKworICA1LiBSZXBldGVyIHB1bmt0IDIgdGlsIDQgaGVsdCB0aWwgbGluamVuZSBlciBpIHJpa3RpZyByZWtrZWb4bGdlLgorCistLS0+IGQpIEthbiBkdSBvZ3PlIGzmcmU/CistLS0+IGIpIEZpb2xlciBlciBibOUsCistLS0+IGMpIEludGVsbGlnZW5zIG3lIGzmcmVzLAorLS0tPiBhKSBSb3NlciBlciBy+GRlLAorCisKKworfn5+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+CisJCSAgICAgIExla3Nqb24gMy4yOiCrRVJTVEFUVLstS09NTUFORE9FTgorCisKKwkgKiogVHJ5a2sgIHJ4ICBmb3Ig5SBlcnN0YXR0ZSB0ZWduZXQgdW5kZXIgbWFya/hyZW4gbWVkIHguICoqCisKKyAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBm+HJzdGUgbGluamVuIG5lZGVuZm9yIG1lcmtldCAtLS0+LgorCisgIDIuIEZseXR0IG1hcmv4cmVuIHPlIGRlbiBzdOVyIG9wcOUgZGVuIGb4cnN0ZSBmZWlsZW4uCisKKyAgMy4gVHJ5a2sgIHIgIG9nIGRlcmV0dGVyIHRlZ25ldCBzb20gc2thbCB25nJlIGRlci4KKworICA0LiBSZXBldGVyIHB1bmt0IDIgb2cgMyB0aWwgZGVuIGb4cnN0ZSBsaW5qZW4gZXIgbGlrIGRlbiBhbmRyZS4KKworLS0tPiBEYSBkZm5uZSBseW5qeG4gYmxlIHprcmV2ZXQsIHZhciBkZXQgbvhlbiBzb20gdGp5a2tldCBmZWl0ZSB0YXN0ZXIhCistLS0+IERhIGRlbm5lIGxpbmplbiBibGUgc2tyZXZldCwgdmFyIGRldCBub2VuIHNvbSB0cnlra2V0IGZlaWxlIHRhc3RlciEKKworICA1LiBH5SB2aWRlcmUgdGlsIGxla3Nqb24gMy4yLgorCitNRVJLOiBIdXNrIGF0IGR1IGL4ciBs5nJlIHZlZCDlIEJSVUtFLCBpa2tlIHB1Z2dlLgorCisKKworfn5+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+CisJCSAgICAgIExla3Nqb24gMy4zOiCrRk9SQU5EUkW7LU9QRVJBVE9SRU4KKworCisJICAgKiogRm9yIOUgZm9yYW5kcmUgdGlsIHNsdXR0ZW4gYXYgZXQgb3JkLCB0cnlrayAgY2UgLiAqKgorCisgIDEuIEZseXR0IG1hcmv4cmVuIHRpbCBkZW4gZvhyc3RlIGxpbmplbiBuZWRlbmZvciBzb20gZXIgbWVya2V0IC0tLT4uCisKKyAgMi4gUGxhc3NlciBtYXJr+HJlbiBw5SAgdSAgaSCrbHViandyuy4KKworICAzLiBUcnlrayAgY2UJb2cgZGV0IGtvcnJla3RlIG9yZGV0IChpIGRldHRlIHRpbGZlbGxldCwgc2tyaXYgq2luamVuuykuCisKKyAgNC4gVHJ5a2sgPEVTQz4gb2cgZ+UgdGlsIGRldCBuZXN0ZSB0ZWduZXQgc29tIHNrYWwgZm9yYW5kcmVzLgorCisgIDUuIFJlcGV0ZXIgcHVua3QgMyBvZyA0IGhlbHQgdGlsIGRlbiBm+HJzdGUgc2V0bmluZ2VuIGVyIGxpayBkZW4gYW5kcmUuCisKKy0tLT4gRGVubmUgbHViandyIGhhciBub2VuIHdnaCBzb20gbeUgZm9ya3flcCBtZWQgq2ZvcuZrenJ5YXO7LWtvbW1hbmRvZW4uCistLS0+IERlbm5lIGxpbmplbiBoYXIgbm9lbiBvcmQgc29tIG3lIGZvcmFuZHJlcyBtZWQgq2ZvcmFuZHJluy1rb21tYW5kb2VuLgorCitW5nIgb3BwbWVya3NvbSBw5SBhdCAgY2UgIHNsZXR0ZXIgb3JkZXQgb2cgZ+VyIGlubiBpIGlubnNldHRpbmdzbW9kdXMuCisKKworCit+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+fn4KKwkJTGVrc2pvbiAzLjQ6IEZMRVJFIEZPUkFORFJJTkdFUiBWRUQgQlJVSyBBViBjCisKKworICoqIEZvcmFuZHJpbmdza29tbWFuZG9lbiBibGlyIGJydWt0IG1lZCBkZSBzYW1tZSBiZXZlZ2Vsc2VyIHNvbSCrc2xldHS7LiAqKgorCisgIDEuIEZvcmFuZHJpbmdzb3BlcmF0b3JlbiBmdW5nZXJlciBw5SBzYW1tZSBt5XRlIHNvbSCrc2xldHS7LiBGb3JtYXRldCBlcjoKKworCSBjICAgIFtudW1tZXJdCSBiZXZlZ2Vsc2UKKworICAyLiBCZXZlZ2Vsc2VuZSBlciBkZSBzYW1tZSwgc29tIGZvciBla3NlbXBlbAl3ICAob3JkKSBvZyAgJAkoc2x1dHRlbiBhdiBlbgorICAgICBsaW5qZSkuCisKKyAgMy4gR+UgdGlsIGRlbiBm+HJzdGUgbGluamVuIG5lZGVuZm9yIHNvbSBlciBtZXJrZXQgLS0tPi4KKworICA0LiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVuIGb4cnN0ZSBmZWlsZW4uCisKKyAgNS4gU2tyaXYgIGMkCW9nIHNrcml2IHJlc3RlbiBhdiBsaW5qZW4gbGlrIGRlbiBhbmRyZSBvZyB0cnlrayA8RVNDPi4KKworLS0tPiBTbHV0dGVuIHDlIGRlbm5lIGxpbmplbiB0cmVuZ2VyIGxpdHQgaGplbHAgZm9yIOUgZ2r4cmUgZGVuIGxpayBkZW4gbmVzdGUuCistLS0+IFNsdXR0ZW4gcOUgZGVubmUgbGluamVuIHRyZW5nZXIg5SBibGkgcmV0dGV0IHZlZCBicnVrIGF2IGMkLWtvbW1hbmRvZW4uCisKK01FUks6IER1IGthbiBicnVrZSBzbGV0dGV0YXN0ZW4gZm9yIOUgcmV0dGUgZmVpbCBtZW5zIGR1IHNrcml2ZXIuCit+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+fn4KKwkJCSAgT1BQU1VNTUVSSU5HIEFWIExFS1NKT04gMworCisKKyAgMS4gRm9yIOUgbGVnZ2UgdGlsYmFrZSB0ZWtzdCBzb20gbmV0dG9wcCBlciBibGl0dCBzbGV0dGV0LCB0cnlrayAgcCAgLiBEZXR0ZQorICAgICBsaW1lciBpbm4gZGVuIHNsZXR0ZWRlIHRla3N0ZW4gRVRURVIgbWFya/hyZW4gKGh2aXMgZW4gbGluamUgYmxlIHNsZXR0ZXQKKyAgICAgdmlsIGRlbiBibGkgbGltdCBpbm4gcOUgbGluamVuIHVuZGVyIG1hcmv4cmVuKS4KKworICAyLiBGb3Ig5SBlcnN0YXR0ZSBldCB0ZWduIHVuZGVyIG1hcmv4cmVuLCB0cnlrayAgciAgb2cgZGVyZXR0ZXIgdGVnbmV0IHNvbQorICAgICBkdSB2aWwgaGEgZGVyLgorCisgIDMuIEZvcmFuZHJpbmdzb3BlcmF0b3JlbiBsYXIgZGVnIGZvcmFuZHJlIGZyYSBtYXJr+HJlbiB0aWwgZGl0IGJldmVnZWxzZW4KKyAgICAgdGFyIGRlZy4gRGV0IHZpbCBzaSwgc2tyaXYgIGNlICBmb3Ig5SBmb3JhbmRyZSBmcmEgbWFya/hyZW4gdGlsIHNsdXR0ZW4KKyAgICAgYXYgb3JkZXQsCWMkICBmb3Ig5SBmb3JhbmRyZSB0aWwgc2x1dHRlbiBhdiBsaW5qZW4uCisKKyAgNC4gRm9ybWF0ZXQgZm9yIKtmb3JhbmRyZbsgZXI6CisKKwkgYyAgIFtudW1tZXJdCWJldmVnZWxzZQorCitO5SBrYW4gZHUgZ+UgdGlsIG5lc3RlIGxla3Nqb24uCisKKworCit+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+fn4KKwkgICAgIExla3Nqb24gNC4xOiBQT1NJU0pPTkVSSU5HIEFWIE1BUkvYUkVOIE9HIEZJTFNUQVRVUworCisJKiogVHJ5a2sgQ1RSTC1HIGZvciDlIHZpc2UgcG9zaXNqb25lbiBpIGZpbGVuIG9nIGZpbHN0YXR1c2VuLgorCSAgIFRyeWtrICBHICBmb3Ig5SBn5SB0aWwgZW4gc3Blc2lmaWtrIGxpbmplIGkgZmlsZW4uICoqCisKKyAgTWVyazogTGVzIGhlbGUgbGVrc2pvbmVuIGb4ciBkdSB1dGb4cmVyIG5vZW4gYXYgcHVua3RlbmUhCisKKyAgMS4gSG9sZCBuZWRlIEN0cmwtdGFzdGVuIG9nIHRyeWtrICBnCS4gVmkga2FsbGVyIGRldHRlIENUUkwtRy4gRW4gbWVsZGluZworICAgICB2aWwga29tbWUgdGlsIHN5bmUgcOUgYnVubmVuIGF2IHNramVybWVuIG1lZCBmaWxuYXZuZXQgb2cgcG9zaXNqb25lbiBpCisgICAgIGZpbGVuLiBIdXNrIGxpbmplbnVtbWVyZXQgZm9yIGJydWsgaSBzdGVnIDMuCisKK01lcms6IER1IGthbiBzZSBtYXJr+HJwb3Npc2pvbmVuIGkgbmVkZXJzdGUgaPh5cmUgaGr4cm5lIGF2IHNramVybWVuLiBEZXR0ZQorICAgICAgc2tqZXIgbuVyIKtydWxlcrstdmFsZ2V0IGVyIHNhdHQgKGZvcmtsYXJ0IGkgbGVrc2pvbiA2KS4KKworICAyLiBUcnlrayAgRyAgZm9yIOUgZ+UgdGlsIGJ1bm5lbiBhdiBmaWxlbi4KKyAgICAgU2tyaXYgIGdnCWZvciDlIGflIHRpbCBiZWd5bm5lbHNlbiBhdiBmaWxlbi4KKworICAzLiBTa3JpdiBpbm4gbGluamVudW1tZXJldCBkdSB2YXIgcOUgb2cgZGVyZXR0ZXIgIEcgLiBEZXR0ZSB2aWwgZvhyZSBkZWcKKyAgICAgdGlsYmFrZSB0aWwgbGluamVuIGR1IHZhciBw5SBkYSBkdSBm+HJzdCB0cnlra2V0IENUUkwtRy4KKworICA0LiBVdGb4ciBzdGVnIDEgdGlsIDMgaHZpcyBkdSBm+GxlciBkZWcgc2lra2VyIHDlIHByb3NlZHlyZW4uCisKK35+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+fgorCQkJIExla3Nqb24gNC4yOiBT2EtFS09NTUFORE9FTgorCisgICAgICAqKiBTa3JpdgkvICBldHRlcmZ1bGd0IGF2IGVuIHP4a2VzdHJlbmcgc29tIGR1IHZpbCBsZXRlIGV0dGVyLiAqKgorCisgIDEuIFRyeWtrICAvICBu5XIgZHUgZXIgaSBub3JtYWxtb2R1c2VuLiBMZWdnIG1lcmtlIHRpbCBhdCBza3Llc3RyZWtlbiBvZworICAgICBtYXJr+HJlbiBrb21tZXIgdGlsIHN5bmUgcOUgYnVubmVuIGF2IHNramVybWVuIGkgbGlraGV0IG1lZAorICAgICCrOrsta29tbWFuZG9lbmUuCisKKyAgMi4gU2tyaXYgq2ZlZWVpaWy7IG9nIHRyeWtrIDxFTlRFUj4uIERldHRlIGVyIHRla3N0ZW4gZHUgdmlsIGxldGUgZXR0ZXIuCisKKyAgMy4gRm9yIOUgZmlubmUgbmVzdGUgZm9yZWtvbXN0IGF2IHP4a2VzdHJlbmdlbiwgdHJ5a2sgIG4gLgorICAgICBGb3Ig5SBsZXRlIGV0dGVyIHNhbW1lIHP4a2V0ZWtzdGVuIGkgbW90c2F0dCByZXRuaW5nLCB0cnlrayAgTiAuCisKKyAgNC4gRm9yIOUgbGV0ZSBldHRlciBlbiB0ZWtzdCBiYWtvdmVyIGkgZmlsZW4sIGJydWsgID8gIGlzdGVkZW5mb3IgIC8JLgorCisgIDUuIEZvciDlIGflIHRpbGJha2UgdGlsIGRlciBkdSBrb20gZnJhLCB0cnlrayAgQ1RSTC1PICAoSG9sZCBDdHJsIG5lZGUgbWVucworICAgICBkdSB0cnlra2VyIGJva3N0YXZlbiAgbyApLiBSZXBldGVyIGZvciDlIGflIGVuZGEgbGVuZ3JlIHRpbGJha2UuIENUUkwtSQorICAgICBn5XIgZnJhbW92ZXIuCisKKy0tLT4gq2ZlZWVpaWy7IGVyIGlra2UgbeV0ZW4g5SBza3JpdmUgq2ZlaWy7IHDlLCBmZWVlaWlsIGVyIGhlbHQgZmVpbC4KK01lcms6IE7lciBz+GtpbmdlbiBu5XIgc2x1dHRlbiBhdiBmaWxlbiwgdmlsIGRlbiBmb3J0c2V0dGUgZnJhIHN0YXJ0ZW4gdW5udGF0dAorICAgICAgaHZpcyCrd3JhcHNjYW67LXZhbGdldCBlciByZXNhdHQuCit+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+fn4KKwkJICAgTGVrc2pvbiA0LjM6IEZJTk4gU0FNU1ZBUkVOREUgUEFSRU5URVNFUgorCisKKwkgICoqIFRyeWtrICAlICBmb3Ig5SBmaW5uZSBlbiBzYW1zdmFyZW5kZSApLCBdIGVsbGVyIH0gLiAqKgorCisgIDEuIFBsYXNzZXIgbWFya/hyZW4gcOUgZW4gKCwgWyBlbGxlciB7IHDlIGxpbmplbiBuZWRlbmZvciBtZXJrZXQgLS0tPi4KKworICAyLiBUcnlrayAgJSAgLgorCisgIDMuIE1hcmv4cmVuIHZpbCBn5SB0aWwgZGVuIHNhbXN2YXJlbmRlIHBhcmVudGVzZW4gZWxsZXIgaGFrZXBhcmVudGVzZW4uCisKKyAgNC4gVHJ5a2sgICUgIGZvciDlIGZseXR0ZSBtYXJr+HJlbiB0aWwgZGVuIGFuZHJlIHNhbXN2YXJlbmRlIHBhcmVudGVzZW4uCisKKyAgNS4gRmx5dHQgbWFya/hyZW4gdGlsIGVuIGFubmVuICgsICksIFssIF0sIHsgZWxsZXIgfSBvZyBzZSBodmEgICUgIGdq+HIuCisKKy0tLT4gRGV0dGUgKCBlciBlbiB0ZXN0bGluamUgbWVkICgsIFsgXSBvZyB7IH0gaSBkZW4gKSkuCisKK01lcms6IERldHRlIGVyIHZlbGRpZyBueXR0aWcgdGlsIGZlaWxz+GtpbmcgaSBwcm9ncmFtbWVyIHNvbSBoYXIgdWJhbGFuc2VydAorICAgICAgYW50YWxsIHBhcmVudGVzZXIhCisKKworCit+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+fn4KKwkJICAgICAgIExla3Nqb24gNC40OiBFUlNUQVRULUtPTU1BTkRPRU4KKworCisJKiogU2tyaXYgIDpzL2dhbW1lbC9ueS9nICBmb3Ig5SBlcnN0YXR0ZSCrZ2FtbWVsuyBtZWQgq255uy4gKioKKworICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgbGluamVuIG5lZGVuZm9yIHNvbSBlciBtZXJrZXQgbWVkIC0tLT4uCisKKyAgMi4gU2tyaXYgIDpzL2RlZW4vZGVuLyA8RU5URVI+ICAuIExlZ2cgbWVya2UgdGlsIGF0IGRlbm5lIGtvbW1hbmRvZW4gYmFyZQorICAgICBmb3JhbmRyZXIgZGVuIGb4cnN0ZSBmb3Jla29tc3RlbiBhdiCrZGVlbrsgcOUgbGluamVuLgorCisgIDMuIFNrcml2ICA6cy9kZWVuL2Rlbi9nIC4gTuVyIGctZmxhZ2dldCBsZWdnZXMgdGlsLCBiZXR5ciBkZXR0ZSBnbG9iYWwKKyAgICAgZXJzdGF0bmluZyBw5SBsaW5qZW4gb2cgZXJzdGF0dGVyIGFsbGUgZm9yZWtvbXN0ZXIgYXYgq2RlZW67IHDlIGxpbmplbi4KKworLS0tPiBkZWVuIHNvbSBrYW4ga2FzdGUgZGVlbiB0eW5nc3RlIHN0ZWluZW4gbGVuZ3N0IGVyIGRlZW4gYmVzdGUKKworICA0LiBGb3Ig5SBlcnN0YXR0ZSBhbGxlIGZvcmVrb21zdGVyIGF2IGVuIHRla3N0c3RyZW5nIG1lbGxvbSB0byBsaW5qZXIsCisgICAgIHNrcml2ICA6Iywjcy9nYW1tZWwvbnkvZyAgZGVyICMsIyBlciBsaW5qZW51bXJlbmUgcOUgZGUgdG8gbGluamVuZSBmb3IKKwkJCSAgICAgICBsaW5qZW9tcuVkZXQgZXJzdGF0bmluZ2VuIHNrYWwgZ2r4cmVzLgorICAgICBTa3JpdiAgOiVzL2dhbW1lbC9ueS9nICAgIGZvciDlIGVyc3RhdHRlIHRla3N0IGkgaGVsZSBmaWxlbi4KKyAgICAgU2tyaXYgIDolcy9nYW1tZWwvbnkvZ2MgICBmb3Ig5SBmaW5uZSBhbGxlIGZvcmVrb21zdGVyIGkgaGVsZSBmaWxlbiwgb2cKKwkJCSAgICAgICBkZXJldHRlciBzcPhycmUgb20gdGVrc3RlbiBza2FsIGVyc3RhdHRlcyBlbGxlcgorCQkJICAgICAgIGlra2UuCit+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+fn4KKwkJCSAgT1BQU1VNTUVSSU5HIEFWIExFS1NKT04gNAorCisKKyAgMS4gQ3RybC1HIHZpc2VyIG7lduZyZW5kZSBwb3Npc2pvbiBpIGZpbGVuIG9nIGZpbHN0YXR1c2VuLgorCSAgICAgRwln5XIgdGlsIHNsdXR0ZW4gYXYgZmlsZW4uCisgICAgIG51bW1lciAgRwln5XIgdGlsIGRldCBsaW5qZW51bW1lcmV0LgorCSAgICBnZwln5XIgdGlsIGRlbiBm+HJzdGUgbGluamVuLgorCisgIDIuIFNrcml2ICAvICBldHRlcmZ1bGd0IGF2IGVuIHP4a2V0ZWtzdCBmb3Ig5SBsZXRlIEZSQU1PVkVSIGV0dGVyIHRla3N0ZW4uCisgICAgIFNrcml2ICA/ICBldHRlcmZ1bGd0IGF2IGVuIHP4a2V0ZWtzdCBmb3Ig5SBsZXRlIEJBS09WRVIgZXR0ZXIgdGVrc3Rlbi4KKyAgICAgRXR0ZXIgZXQgc/hrIGthbiBkdSB0cnlra2UgIG4gIGZvciDlIGZpbm5lIG5lc3RlIGZvcmVrb21zdCBpIGRlbiBzYW1tZQorICAgICByZXRuaW5nZW4gZWxsZXIgIE4gIGZvciDlIGxldGUgaSBtb3RzYXR0IHJldG5pbmcuCisgICAgIENUUkwtTyB0YXIgZGVnIHRpbGJha2UgdGlsIGdhbWxlIHBvc2lzam9uZXIsIENUUkwtSSB0aWwgbnllcmUgcG9zaXNqb25lci4KKworICAzLiBTa3JpdiAgJSAgbuVyIG1hcmv4cmVuIHN05XIgcOUgZW4gKCwgKSwgWywgXSwgeyBlbGxlciB9IGZvciDlIGZpbm5lIGRlbgorICAgICBzb20gc2Ftc3ZhcmVyLgorCisgIDQuIEVyc3RhdHRlIKtnYW1tZWy7IG1lZCBm+HJzdGUgq255uyBw5SBlbiBsaW5qZTogIDpzL2dhbW1lbC9ueQorICAgICBFcnN0YXR0ZSBhbGxlIKtnYW1tZWy7IG1lZCCrbnm7IHDlIGVuIGxpbmplOiAgICA6cy9nYW1tZWwvbnkvZworICAgICBFcnN0YXR0ZSB0ZWtzdCBtZWxsb20gdG8gbGluamVudW1yZToJICAgICA6Iywjcy9nYW1tZWwvbnkvZworICAgICBFcnN0YXR0ZSBhbGxlIGZvcmVrb21zdGVyIGkgZW4gZmlsOgkgICAgIDolcy9nYW1tZWwvbnkvZworICAgICBGb3Ig5SBnb2RramVubmUgaHZlciBlcnN0YXRuaW5nLCBsZWdnIHRpbCCrY7s6ICA6JXMvZ2FtbWVsL255L2djCit+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+fn4KKwkgICAgICAgTGVrc2pvbiA1LjE6IEhWT1JEQU4gVVRG2FJFIEVOIEVLU1RFUk4gS09NTUFORE8KKworCisgICAgKiogU2tyaXYgIDohICBldHRlcmZ1bGd0IGF2IGVuIGVrc3Rlcm4ga29tbWFuZG8gZm9yIOUgdXRm+HJlIGRlbm5lLiAqKgorCisgIDEuIFNrcml2IGRlbiB2ZWxramVudGUga29tbWFuZG9lbiAgOgkgZm9yIOUgcGxhc3NlcmUgbWFya/hyZW4gcOUgYnVubmVuIGF2CisgICAgIHNramVybWVuLiBEZXR0ZSBsYXIgZGVnIHNrcml2ZSBlbiBrb21tYW5kb2xpbmpla29tbWFuZG8uCisKKyAgMi4gTuUga2FuIGR1IHNrcml2ZSB0ZWduZXQgICEgIC4gRGV0dGUgbGFyIGRlZyB1dGb4cmUgZW4gaHZpbGtlbiBzb20gaGVsc3QKKyAgICAgZWtzdGVybiBrb21tYW5kby4KKworICAzLiBTb20gZXQgZWtzZW1wZWwsIHNrcml2ICBscyAgZXR0ZXIgdXRyb3BzdGVnbmV0IG9nIHRyeWtrIDxFTlRFUj4uIER1IHZpbAorICAgICBu5SBm5SBlbiBsaXN0ZSBvdmVyIGZpbGVuZSBpIGthdGFsb2dlbiwgYWtrdXJhdCBzb20gb20gZHUgaGFkZGUga2r4cnQKKyAgICAga29tbWFuZG9lbiBkaXJla3RlIGZyYSBrb21tYW5kb2xpbmplbiBpIHNrYWxsZXQuIEVsbGVyIGJydWsgIDohZGlyICBodmlzCisgICAgIKtsc7sgaWtrZSB2aXJrZXIuCisKK01FUks6IERldCBlciBtdWxpZyDlIGtq+HJlIGFsbGUgZWtzdGVybmUga29tbWFuZG9lciBw5SBkZW5uZSBt5XRlbiwgb2dz5SBtZWQKKyAgICAgIHBhcmFtZXRlcmUuCisKK01FUks6IEFsbGUgqzq7LWtvbW1hbmRvZXIgbeUgYXZzbHV0dGVzIG1lZCA8RU5URVI+LiBGcmEgZGV0dGUgcHVua3RldCBlciBkZXQKKyAgICAgIGlra2UgYWxsdGlkIHZpIG5ldm5lciBkZXQuCisKK35+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+fgorCQkgICAgIExla3Nqb24gNS4yOiBNRVIgT00gTEFHUklORyBBViBGSUxFUgorCisKKyAgICAgICoqIEZvciDlIGxhZ3JlIGVuZHJpbmdlbmUgZ2pvcnQgaSBlbiB0ZWtzdCwgc2tyaXYgIDp3IEZJTE5BVk4uICoqCisKKyAgMS4gU2tyaXYgIDohZGlyICBlbGxlciAgOiFscwlmb3Ig5SBm5SBlbiBsaXN0ZSBvdmVyIGZpbGVuZSBpIGthdGFsb2dlbi4gRHUKKyAgICAgdmV0IGFsbGVyZWRlIGF0IGR1IG3lIHRyeWtrZSA8RU5URVI+IGV0dGVyIGRldHRlLgorCisgIDIuIFZlbGcgZXQgZmlsbmF2biBw5SBlbiBmaWwgc29tIGlra2UgZmlubmVzLCBzb20gZm9yIGVrc2VtcGVsICBURVNUIC4KKworICAzLiBTa3JpdiAgOncgVEVTVCAgKGRlciBURVNUIGVyIGZpbG5hdm5ldCBkdSB2ZWxnZXIpLgorCisgIDQuIERldHRlIGxhZ3JlciBoZWxlIGZpbGVuIChkZW5uZSBpbm5m+HJpbmdlbikgdW5kZXIgbmF2bmV0IFRFU1QgLiBGb3Ig5QorICAgICBzamVra2UgZGV0dGUsIHNrcml2ICA6IWRpciAgZWxsZXIJOiFscyAgaWdqZW4gZm9yIOUgc2UgaW5uaG9sZGV0IGF2CisgICAgIGthdGFsb2dlbi4KKworTWVyazogSHZpcyBkdSBu5SBoYWRkZSBhdnNsdXR0ZXQgVmltIG9nIHN0YXJ0ZXQgcOUgbnl0dCBpZ2plbiBtZWQgq3ZpbSBURVNUuywKKyAgICAgIHZpbGxlIGZpbGVuIHbmcnQgZW4gZWtzYWt0IGtvcGkgYXYgaW5uZvhyaW5nZW4gZGEgZHUgbGFncmV0IGRlbi4KKworICA1LiBGamVybiBmaWxlbiB2ZWQg5SBza3JpdmUgIDohcm0gVEVTVCAgaHZpcyBkdSBlciBw5SBldCBVbml4LWxpZ25lbmRlCisgICAgIG9wZXJhdGl2c3lzdGVtLCBlbGxlciAgOiFkZWwgVEVTVAlodmlzIGR1IGJydWtlciBNUy1ET1MuCisKK35+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+fgorCQkgICBMZWtzam9uIDUuMzogVkVMR0UgVEVLU1QgU09NIFNLQUwgTEFHUkVTCisKKworICAgICAqKiBGb3Ig5SBsYWdyZSBlbiBkZWwgYXYgZW4gZmlsLCBza3JpdiAgdgliZXZlZ2Vsc2UgIDp3IEZJTE5BVk4gKioKKworICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgZGVubmUgbGluamVuLgorCisgIDIuIFRyeWtrICB2ICBvZyBmbHl0dCBtYXJr+HJlbiB0aWwgZGV0IGZlbXRlIGVsZW1lbnRldCBuZWRlbmZvci4gTGVnZyBtZXJrZQorICAgICB0aWwgYXQgdGVrc3RlbiBibGlyIG1hcmtlcnQuCisKKyAgMy4gVHJ5a2sgIDogIChrb2xvbikuIFDlIGJ1bm5lbiBhdiBza2plcm1lbiB2aWwgIDonPCwnPiAga29tbWUgdGlsIHN5bmUuCisKKyAgNC4gVHJ5a2sgIHcgVEVTVCAgLCBkZXIgVEVTVCBlciBldCBmaWxuYXZuIHNvbSBpa2tlIGZpbm5lcyBlbmRhLiBLb250cm9sbGVyCisgICAgIGF0IGR1IHNlcgk6JzwsJz53IFRFU1QgIGb4ciBkdSB0cnlra2VyIEVudGVyLgorCisgIDUuIFZpbSB2aWwgc2tyaXZlIGRlIHZhbGd0ZSBsaW5qZW5lIHRpbCBmaWxlbiBURVNULiBCcnVrICA6IWRpciAgZWxsZXIgICFscworICAgICBmb3Ig5SBzZSBkZW4uIElra2Ugc2xldHQgZGVuIGVuZGEhIFZpIHZpbCBicnVrZSBkZW4gaSBuZXN0ZSBsZWtzam9uLgorCitNRVJLOiBWZWQg5SB0cnlra2UgIHYgIHN0YXJ0ZXMgdmlzdWVsdCB2YWxnLiBEdSBrYW4gZmx5dHRlIG1hcmv4cmVuIHJ1bmR0IGZvcgorICAgICAg5SBnavhyZSBkZXQgdmFsZ3RlIG9tcuVkZXQgc3T4cnJlIGVsbGVyIG1pbmRyZS4gRGVyZXR0ZXIga2FuIGR1IGJydWtlIGVuCisgICAgICBvcGVyYXRvciBmb3Ig5SBnavhyZSBub2UgbWVkIHRla3N0ZW4uIEZvciBla3NlbXBlbCBzbGV0dGVyICBkICB0ZWtzdGVuLgorCit+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+fn4KKwkJTGVrc2pvbiA1LjQ6IEhFTlRJTkcgT0cgU0FNTUVOU0zFSU5HIEFWIEZJTEVSCisKKworICoqIEZvciDlIGxlc2UgaW5uIGVuIGFubmVuIGZpbCBpbm4gaSBu5XbmcmVuZGUgYnVmZmVyLCBza3JpdiAgOnIgRklMTkFWTiAgKioKKworICAxLiBQbGFzc2VyIG1hcmv4cmVuIGxpa2Ugb3ZlciBkZW5uZSBsaW5qZW4uCisKK01FUks6IEV0dGVyIOUgaGEgdXRm+HJ0IHN0ZWcgMiB2aWwgZHUgc2UgdGVrc3RlbiBmcmEgbGVrc2pvbiA1LjMuIEflIGRlcmV0dGVyCisgICAgICBORUQgZm9yIOUgc2UgZGVubmUgbGVrc2pvbmVuIGlnamVuLgorCisgIDIuIEhlbnQgVEVTVC1maWxlbiB2ZWQg5SBicnVrZSBrb21tYW5kb2VuICA6ciBURVNUICBkZXIgVEVTVCBlciBuYXZuZXQgcOUKKyAgICAgZmlsZW4gZHUgYnJ1a3RlLiBGaWxlbiBkdSBoZW50ZXIgYmxpciBwbGFzc2VydCBuZWRlbmZvciBtYXJr+HJsaW5qZW4uCisKKyAgMy4gRm9yIOUgc2pla2tlIGF0IGZpbGVuIGJsZSBoZW50ZXQsIGflIHRpbGJha2Ugb2cgc2UgYXQgZGV0IGVyIHRvIGtvcGllciBhdgorICAgICBsZWtzam9uIDUuMywgb3JpZ2luYWxlbiBvZyBkZW5uZSB2ZXJzam9uZW4uCisKK01FUks6IER1IGthbiBvZ3PlIGxlc2UgdXRkYXRhZW5lIGF2IGVuIGVrc3Rlcm4ga29tbWFuZG8uIEZvciBla3NlbXBlbCwJOnIgIWxzCisgICAgICBsZXNlciB1dGRhdGFlbmUgYXYgbHMta29tbWFuZG9lbiBvZyBsZWdnZXIgZGVtIG5lZGVuZm9yIG1hcmv4cmVuLgorCisKKworCit+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+fn4KKwkJCSAgT1BQU1VNTUVSSU5HIEFWIExFS1NKT04gNQorCisKKyAgMS4gIDoha29tbWFuZG8gIHV0ZvhyZXIgZW4gZWtzdGVybiBrb21tYW5kaW8uCisKKyAgICAgIE5vZW4gbnl0dGlnZSBla3NlbXBsZXIgZXI6CisJIChNUy1ET1MpCSAgKFVuaXgpCisJICA6IWRpcgkJICAgOiFscwkJICAtIExpc3QgZmlsZW5lIGkga2F0YWxvZ2VuLgorCSAgOiFkZWwgRklMTkFWTiAgICA6IXJtIEZJTE5BVk4gICAtIFNsZXR0IGZpbGVuIEZJTE5BVk4uCisKKyAgMi4gIDp3IEZJTE5BVk4gIHNrcml2ZXIgZGVuIG7lduZyZW5kZSBWaW0tZmlsZW4gZGlza2VuIG1lZCBuYXZuZXQgRklMTkFWTiAuCisKKyAgMy4gIHYgIGJldmVnZWxzZSAgOncgRklMTkFWTglsYWdyZXIgZGUgdmlzdWVsdCB2YWxndGUgbGluamVuZSB0aWwgZmlsZW4KKyAgICAgRklMTkFWTi4KKworICA0LiAgOnIgRklMTkFWTiAgaGVudGVyIGZpbGVuIEZJTE5BVk4gb2cgbGVnZ2VyIGRlbiBpbm4gbmVkZW5mb3IgbWFya/hyZW4uCisKKyAgNS4gIDpyICFkaXIgIGxlc2VyIHV0ZGF0YWVuZSBmcmEgq2Rpcrsta29tbWFuZG9lbiBvZyBsZWdnZXIgZGVtIG5lZGVuZm9yCisgICAgIG1hcmv4cnBvc2lzam9uZW4uCisKKworCit+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+fn4KKwkJICAgICBMZWtzam9uIDYuMTogq8VQTkUgTElOSkW7LUtPTU1BTkRPRU4KKworCisgICAgKiogU2tyaXYgIG8gIGZvciDlIKvlcG5lIG9wcLsgZm9yIGVuIG55IGxpbmplIGV0dGVyIG1hcmv4cmVuIG9nIGflIHRpbAorICAgICAgIGlubnNldHRpbmdzbW9kdXMgKioKKworICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgbGluamVuIG5lZGVuZm9yIG1lcmtldCAtLS0+LgorCisgIDIuIFNrcml2ICBvICAobGl0ZW4gbykgZm9yIOUg5XBuZSBvcHAgZW4gbGluamUgTkVERU5GT1IgbWFya/hyZW4gb2cgZ+UgaW5uIGkKKyAgICAgaW5uc2V0dGluZ3Ntb2R1cy4KKworICAzLiBTa3JpdiBsaXR0IHRla3N0IG9nIHRyeWtrIDxFU0M+IGZvciDlIGflIHV0IGF2IGlubnNldHRpbmdzbW9kdXNlbi4KKworLS0tPiBFdHRlciBhdCAgbyAgZXIgc2tyZXZldCBibGlyIG1hcmv4cmVuIHBsYXNzZXJ0IHDlIGRlbiB0b21tZSBsaW5qZW4uCisKKyAgNC4gRm9yIOUg5XBuZSBlbiBueSBsaW5qZSBPVkVSIG1hcmv4cmVuLCB0cnlrayByZXR0IG9nIHNsZXR0IGVuIHN0b3IJTworICAgICBpc3RlZGVuZm9yIGVuIGxpdGVuICBvIC4gUHL4diBkZXR0ZSBw5SBsaW5qZW4gbmVkZW5mb3IuCisKKy0tLT4gTGFnIG55IGxpbmplIG92ZXIgZGVubmUgdmVkIOUgdHJ5a2tlIE8gbWVucyBtYXJr+HJlbiBlciBw5SBkZW5uZSBsaW5qZW4uCisKKworCit+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+fn4KKwkJICAgICAgTGVrc2pvbiA2LjI6IKtMRUdHIFRJTLstS09NTUFORE9FTgorCisKKwkgICAgKiogU2tyaXYgIGEgIGZvciDlIGxlZ2dlIHRpbCB0ZWtzdCBFVFRFUiBtYXJr+HJlbi4gKioKKworICAxLiBGbHl0dCBtYXJr+HJlbiB0aWwgc3RhcnRlbiBhdiBsaW5qZW4gbWVya2V0IC0tLT4gbmVkZW5mb3IuCisKKyAgMi4gVHJ5a2sgIGUgIHRpbCBtYXJr+HJlbiBlciBw5SBzbHV0dGVuIGF2IKtsabsuCisKKyAgMy4gVHJ5a2sgIGEgIChsaXRlbiBhKSBmb3Ig5SBsZWdnZSB0aWwgdGVrc3QgRVRURVIgbWFya/hyZW4uCisKKyAgNC4gRnVsbGb4ciBvcmRldCBz5W5uIHNvbSBw5SBsaW5qZW4gbmVkZW5mb3IuIFRyeWtrIDxFU0M+IGZvciDlIGflIHV0IGF2CisgICAgIGlubnNldHRpbmdzbW9kdXNlbi4KKworICA1LiBCcnVrICBlICBmb3Ig5SBn5SB0aWwgZGV0IG5lc3RlIHVmdWxsc3RlbmRpZ2Ugb3JkZXQgb2cgcmVwZXRlciBzdGVnIDMgb2cKKyAgICAgNC4KKworLS0tPiBEZW5uZSBsaSBsYXIgZGVnIPh2ZSBw5SDlIGxlZyB0aWwgdGVrIHDlIGVuIGxpbmplLgorLS0tPiBEZW5uZSBsaW5qZW4gbGFyIGRlZyD4dmUgcOUg5SBsZWdnZSB0aWwgdGVrc3QgcOUgZW4gbGluamUuCisKK01lcms6IGEsIGkgb2cgQSBn5XIgYWxsZSB0aWwgZGVuIHNhbW1lIGlubnNldHRpbmdzbW9kdXNlbiwgZGVuIGVuZXN0ZQorICAgICAgZm9yc2tqZWxsZW4gZXIgaHZvciB0ZWduZW5lIGJsaXIgc2F0dCBpbm4uCit+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+fn4KKwkJICAgTGVrc2pvbiA2LjM6IEVOIEFOTkVOIE3FVEUgxSBFUlNUQVRURSBQxQorCisKKwkgICAqKiBTa3JpdiBlbiBzdG9yICBSCWZvciDlIGVyc3RhdHRlIG1lciBlbm4gZXR0IHRlZ24uICoqCisKKyAgMS4gRmx5dHQgbWFya/hyZW4gdGlsIGRlbiBm+HJzdGUgbGluamVuIG5lZGVuZm9yIG1lcmtldCAtLS0+LiBGbHl0dCBtYXJr+HJlbgorICAgICB0aWwgYmVneW5uZWxzZW4gYXYgZGVuIGb4cnN0ZSCreHh4uy1lbi4KKworICAyLiBUcnlrayAgUiAgb2cgc2tyaXYgaW5uIHRhbGxldCBzb20gc3TlciBuZWRlbmZvciBw5SBkZW4gYW5kcmUgbGluamVuIHPlCisgICAgIGRldCBlcnN0YXR0ZXIgeHh4LgorCisgIDMuIFRyeWtrIDxFU0M+IGZvciDlIGflIHV0IGF2IGVyc3RhdG5pbmdzbW9kdXNlbi4gTGVnZyBtZXJrZSB0aWwgYXQgcmVzdGVuCisgICAgIGF2IGxpbmplbiBmb3JibGlyIHVmb3JhbmRyZXQuCisKKyAgNC4gUmVwZXRlciBzdGVnZW5lIGZvciDlIGVyc3RhdHRlIGRlbiBnamVuduZyZW5kZSB4eHguCisKKy0tLT4gVmVkIOUgbGVnZ2UgMTIzIHRpbCB4eHggZuVyIHZpIHh4eC4KKy0tLT4gVmVkIOUgbGVnZ2UgMTIzIHRpbCA0NTYgZuVyIHZpIDU3OS4KKworTUVSSzogRXJzdGF0bmluZ3Ntb2R1cyBlciBsaWsgaW5zZXR0aW5nc21vZHVzLCBtZW4gaHZlcnQgdGVnbiBzb20gc2tyaXZlcworICAgICAgZXJzdGF0dGVyIGV0IGVrc2lzdGVyZW5kZSB0ZWduLgorCit+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+fn4KKwkJICAgIExla3Nqb24gNi40OiBLT1BJRVJFIE9HIExJTUUgSU5OIFRFS1NUCisKKworICAgICoqIEJydWsgeS1vcGVyYXRvcmVuIGZvciDlIGtvcGllcmUgdGVrc3Qgb2cgIHAgIGZvciDlIGxpbWUgZGVuIGlubiAqKgorCisgIDEuIEflIHRpbCBsaW5qZW4gbWVya2V0IC0tLT4gbmVkZW5mb3Igb2cgcGxhc3NlciBtYXJr+HJlbiBldHRlciCrYSm7LgorCisgIDIuIEflIGlubiBpIHZpc3VlbGwgbW9kdXMgbWVkICB2ICBvZyBmbHl0dCBtYXJr+HJlbiB0aWwgbGlrZSBm+HIgq2b4cnN0ZbsuCisKKyAgMy4gVHJ5a2sgIHkgIGZvciDlIGtvcGllcmUgKGVuZ2Vsc2s6IKt5YW5ruykgZGVuIHV0aGV2ZWRlIHRla3N0ZW4uCisKKyAgNC4gRmx5dHQgbWFya/hyZW4gdGlsIHNsdXR0ZW4gYXYgZGVuIG5lc3RlIGxpbmplbjogIGokCisKKyAgNS4gVHJ5a2sgIHAgIGZvciDlIGxpbWUgaW5uIHRla3N0ZW4uIFRyeWtrIGRlcmV0dGVyOglhIGFuZHJlIDxFU0M+IC4KKworICA2LiBCcnVrIHZpc3VlbGwgbW9kdXMgZm9yIOUgdmVsZ2UgqyB2YWxnZXQuuywga29waWVyIGRldCBtZWQJeSAsIGflIHRpbAorICAgICBzbHV0dGVuIGF2IGRlbiBuZXN0ZSBsaW5qZW4gbWVkICBqJCAgb2cgbGVnZyBpbm4gdGVrc3RlbiBkZXIgbWVkICBwIC4KKworLS0tPiBhKSBEZXR0ZSBlciBkZXQgZvhyc3RlIHZhbGdldC4KKyAgICAgYikKKworTWVyazogRHUga2FuIG9nc+UgYnJ1a2UgIHkgIHNvbSBlbiBvcGVyYXRvcjsgIHl3ICBrb3BpZXJlciBldHQgb3JkLgorfn5+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+CisJCQkgICAgTGVrc2pvbiA2LjU6IFNFVFQgVkFMRworCisKKyAgKiogU2V0dCBldCB2YWxnIHPlIHP4ayBlbGxlciBlcnN0YXRuaW5nIGlnbm9yZXJlciBzdG9yZS9zbeUgYm9rc3RhdmVyLiAqKgorCisgIDEuIExldCBldHRlciCraWdub3JluyB2ZWQg5SBza3JpdmU6ICAvaWdub3JlIDxFTlRFUj4KKyAgICAgUmVwZXRlciBmbGVyZSBnYW5nZXIgdmVkIOUgdHJ5a2tlCW4gLgorCisgIDIuIFNldHQgq2ljuy12YWxnZXQgKElnbm9yZSBDYXNlKSB2ZWQg5SBza3JpdmU6ICA6c2V0IGljCisKKyAgMy4gU/hrIGV0dGVyIKtpZ25vcmW7IGlnamVuIHZlZCDlIHRyeWtrZSAgbiAuCisgICAgIExlZ2cgbWVya2UgdGlsIGF0IGLlZGUgq0lnbm9yZbsgb2cgq0lHTk9SRbsgYmxpciBmdW5uZXQuCisKKyAgNC4gU2V0dCCraGxzZWFyY2i7LSBvZyCraW5jc2VhcmNouy12YWxnZW5lOiAgOnNldCBobHMgaXMKKworICA1LiBTa3JpdiBz+Gtla29tbWFuZG9lbiBpZ2plbiBvZyBzZSBodmEgc29tIHNramVyOiAgL2lnbm9yZSA8RU5URVI+CisKKyAgNi4gRm9yIOUgc2zlIGF2IGlnbm9yZXJpbmcgYXYgc3RvcmUvc23lIGJva3N0YXZlciwgc2tyaXY6ICA6c2V0IG5vaWMKKworTWVyazogRm9yIOUgZmplcm5lIHV0aGV2aW5nZW4gYXYgdHJlZmYsIHNrcml2Ogk6bm9obHNlYXJjaAorTWVyazogSHZpcyBkdSB2aWwgaWdub3JlcmUgc3RvcmUvc23lIGJva3N0YXZlciBmb3Iga3VuIGVuIHP4a2Vrb21tYW5kbywgYnJ1aworICAgICAgXGMgIGkgdXR0cnlra2V0OgkvaWdub3JlXGMgPEVOVEVSPgorfn5+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+CisJCQkgIE9QUFNVTU1FUklORyBBViBMRUtTSk9OIDYKKworICAxLiBUcnlrayAgbyAgZm9yIOUgbGVnZ2UgdGlsIGVuIGxpbmplIE5FREVORk9SIG1hcmv4cmVuIG9nIGflIGlubiBpCisgICAgIGlubnNldHRpbmdzbW9kdXMuCisgICAgIFRyeWtrICBPICBmb3Ig5SDlcG5lIGVuIGxpbmplIE9WRVIgbWFya/hyZW4uCisKKyAgMi4gU2tyaXYgIGEgIGZvciDlIHNldHRlIGlubiB0ZWtzdCBFVFRFUiBtYXJr+HJlbi4KKyAgICAgU2tyaXYgIEEgIGZvciDlIHNldHRlIGlubiB0ZWtzdCBldHRlciBzbHV0dGVuIGF2IGxpbmplbi4KKworICAzLiBLb21tYW5kb2VuICBlICBn5XIgdGlsIHNsdXR0ZW4gYXYgZXQgb3JkLgorCisgIDQuIE9wZXJhdG9yZW4gIHkgICireWFua7spIGtvcGllcmVyIHRla3N0LCAgcCAgKKtwYXN0ZbspIGxpbWVyIGRlbiBpbm4uCisKKyAgNS4gVmVkIOUgdHJ5a2tlICBSICBn5XIgZHUgaW5uIGkgZXJzdGF0bmluZ3Ntb2R1cyBoZWx0IHRpbCAgPEVTQz4gIHRyeWtrZXMuCisKKyAgNi4gU2tyaXYgqzpzZXQgeHh4uyBmb3Ig5SBzZXR0ZSB2YWxnZXQgq3h4eLsuIE5vZW4gdmFsZyBlcjoKKwmraWO7IKtpZ25vcmVjYXNluwlpZ25vcmVyIHN0b3JlL3Nt5SBib2tzdGF2ZXIgdW5kZXIgc/hrCisJq2lzuyCraW5jc2VhcmNouwl2aXMgZGVsdmlzZSB0cmVmZiBmb3IgZW4gc/hrZXRla3N0CisJq2hsc7sgq2hsc2VhcmNouwl1dGhldiBhbGxlIHP4a2V0cmVmZgorCisgIDcuIExlZ2cgdGlsIKtub7sgZm9yYW4gdmFsZ2V0IGZvciDlIHNs5SBkZXQgYXY6ICA6c2V0IG5vaWMKKworfn5+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+CisJCQkgICAgTGVrc2pvbiA3LjE6IEbFIEhKRUxQCisKKworCQkgICAqKiBCcnVrIGRldCBpbm5lYnlnZGUgaGplbHBlc3lzdGVtZXQuICoqCisKKyAgVmltIGhhciBldCBvbWZhdHRlbmRlIGlubmVieWdnZXQgaGplbHBlc3lzdGVtLiBGb3Ig5SBzdGFydGUgZGV0LCBwcvh2IGVuIGF2CisgIGRpc3NlIG3ldGVuZToKKyAgICAtIFRyeWtrIEhqZWxwLXRhc3RlbiAoaHZpcyBkdSBoYXIgZW4pCisgICAgLSBUcnlrayBGMS10YXN0ZW4gKGh2aXMgZHUgaGFyIGVuKQorICAgIC0gU2tyaXYgIDpoZWxwIDxFTlRFUj4KKworICBMZXMgdGVrc3RlbiBpIGhqZWxwZXZpbmR1ZXQgZm9yIOUgZmlubmUgdXQgaHZvcmRhbiBoamVscGVuIHZpcmtlci4KKyAgU2tyaXYgIENUUkwtVyBDVFJMLVcJZm9yIOUgaG9wcGUgZnJhIGV0IHZpbmR1IHRpbCBldCBhbm5ldAorICBTa3JpdiAgOnEgPEVOVEVSPglmb3Ig5SBsdWtrZSBoamVscGV2aW5kdWV0LgorCisgIER1IGthbiBm5SBoamVscCBmb3Igb210cmVudCBhbGxlIHRlbWFlciBvbSBWaW0gdmVkIOUgc2tyaXZlIGV0IHBhcmFtZXRlciB0aWwKKyAgqzpoZWxwuy1rb21tYW5kb2VuLiBQcvh2IGRpc3NlIChpa2tlIGdsZW0g5SB0cnlra2UgPEVOVEVSPik6CisKKyAgICA6aGVscCB3CisgICAgOmhlbHAgY19DVFJMLUQKKyAgICA6aGVscCBpbnNlcnQtaW5kZXgKKyAgICA6aGVscCB1c2VyLW1hbnVhbAorfn5+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+CisJCSAgICAgTGVrc2pvbiA3LjI6IExBRyBFVCBPUFBTVEFSVFNTS1JJUFQKKworCisJCQkqKiBTbOUgcOUgZnVua3Nqb25lciBpIFZpbSAqKgorCisgIFZpbSBoYXIgbWFuZ2UgZmxlcmUgZnVua3Nqb25lciBlbm4gVmksIG1lbiBmbGVzdGVwYXJ0ZW4gYXYgZGVtIGVyIHNs5XR0IGF2CisgIHNvbSBzdGFuZGFyZC4gRm9yIOUgYmVneW5uZSDlIGJydWtlIGZsZXJlIGZ1bmtzam9uZXIgbeUgZHUgbGFnZSBlbgorICCrdmltcmO7LWZpbC4KKworICAxLiBTdGFydCByZWRpZ2VyaW5nZW4gYXYgq3ZpbXJjuy1maWxlbi4gRGV0dGUgYXZoZW5nZXIgYXYgc3lzdGVtZXQgZGl0dDoKKwk6ZSB+Ly52aW1yYwkgIGZvciBVbml4CisJOmUgJFZJTS9fdmltcmMJICBmb3IgTVMgV2luZG93cworCisgIDIuIExlcyBpbm4gZWtzZW1wZWxmaWxlbiBmb3Igq3ZpbXJjuzoKKwk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIExhZ3JlIGZpbGVuIG1lZDoKKwk6dworCisgIE5lc3RlIGdhbmcgZHUgc3RhcnRlciBWaW0gdmlsIGRlbiBicnVrZSBzeW50YWtzLXV0aGV2aW5nLiBEdSBrYW4gbGVnZ2UgdGlsCisgIGFsbGUgZGluZSBmb3JldHJ1a25lIG9wcHNldHQgaSBkZW5uZSCrdmltcmO7LWZpbGVuLgorICBGb3IgbWVyIGluZm9ybWFzam9uLCBza3JpdiAgOmhlbHAgdmltcmMtaW50cm8KK35+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+fgorCQkJICAgTGVrc2pvbiA3LjM6IEZVTExG2FJJTkcKKworCisJICAgICAgKiogS29tbWFuZG9saW5qZWZ1bGxm+HJpbmcgbWVkIENUUkwtRCBvZyA8VEFCPiAqKgorCisgIDEuIFbmciBzaWtrZXIgcOUgYXQgVmltIGlra2UgZXIgaSBWaS1rb21wYXRpYmVsIG1vZHVzOiAgOnNldCBub2NwCisKKyAgMi4gU2UgaHZpbGtlIGZpbGVyIHNvbSBlciBpIGthdGFsb2dlbjogIDohbHMJZWxsZXIgIDohZGlyCisKKyAgMy4gU2tyaXYgc3RhcnRlbiBw5SBlbiBrb21tYW5kbzogIDplCisKKyAgNC4gVHJ5a2sgIENUUkwtRCAgb2cgVmltIHZpbCB2aXNlIGVuIGxpc3RlIG92ZXIga29tbWFuZG9lciBzb20gc3RhcnRlciBtZWQKKyAgICAgq2W7LgorCisgIDUuIFRyeWtrICA8VEFCPiAgb2cgVmltIHZpbCBmdWxsZvhyZSBrb21tYW5kb25hdm5ldCB0aWwgqzplZGl0uy4KKworICA2LiBMZWdnIHRpbCBldCBtZWxsb21yb20gb2cgc3RhcnRlbiBw5SBldCBla3Npc3RlcmVuZGUgZmlsbmF2bjogIDplZGl0IEZJTAorCisgIDcuIFRyeWtrIDxUQUI+LiBWaW0gdmlsIGZ1bGxm+HJlIG5hdm5ldCAoaHZpcyBkZXQgZXIgdW5pa3QpLgorCitNRVJLOiBGdWxsZvhyaW5nIGZ1bmdlcmVyIGZvciBtYW5nZSBrb21tYW5kb2VyLiBQcvh2IHZlZCDlIHRyeWtrZSBDVFJMLUQgb2cKKyAgICAgIDxUQUI+LiBEZXQgZXIgc3Blc2llbHQgbnl0dGlnIGZvciBicnVrIHNhbW1lbiBtZWQgIDpoZWxwIC4KK35+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+fgorCQkJICBPUFBTVU1NRVJJTkcgQVYgTEVLU0pPTiA3CisKKworICAxLiBTa3JpdiAgOmhlbHAgIGVsbGVyIHRyeWtrIDxGMT4gZWxsZXIgPEhlbHA+IGZvciDlIOVwbmUgZXQgaGplbHBldmluZHUuCisKKyAgMi4gU2tyaXYgIDpoZWxwIGtvbW1hbmRvICBmb3Ig5SBm5SBoamVscCBvbSAga29tbWFuZG8gLgorCisgIDMuIFRyeWtrICBDVFJMLVcgQ1RSTC1XICBmb3Ig5SBob3BwZSB0aWwgZXQgYW5uZXQgdmluZHUuCisKKyAgNC4gVHJ5a2sgIDpxCWZvciDlIGx1a2tlIGhqZWxwZXZpbmR1ZXQuCisKKyAgNS4gT3BwcmV0dCBldCB2aW1yYy1vcHBzdGFydHNza3JpcHQgZm9yIOUgbGFncmUgZmF2b3JpdHR2YWxnZW5lIGRpbmUuCisKKyAgNi4gTuVyIGR1IHNrcml2ZXIgZW4gqzq7LWtvbW1hbmRvLCB0cnlrayBDVFJMLUQgZm9yIOUgc2UgbXVsaWdlCisgICAgIGZ1bGxm+HJpbmdlci4gVHJ5a2sgPFRBQj4gZm9yIOUgYnJ1a2UgZW4gZnVsbGb4cmluZy4KKworCisKKworCisKKworfn5+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+CisKKyAgSGVyIHNsdXR0ZXIgaW5uZvhyaW5nZW4gaSBWaW0uIERlbiB2YXIgbWVudCBzb20gZW4gcmFzayBvdmVyc2lrdCBvdmVyCisgIGVkaXRvcmVuLCBha2t1cmF0IG5vayB0aWwg5SBsYSBkZWcgc2V0dGUgaSBnYW5nIG1lZCBlbmtlbCBicnVrLiBEZW4gZXIgcOUKKyAgbGFuZ3QgbuZyIGtvbXBsZXR0LCBkYSBWaW0gaGFyIG1hbmdlIGZsZXJlIGtvbW1hbmRvZXIuIExlcyBicnVrc2FudmlzbmluZ2VuCisgIHZlZCDlIHNrcml2ZQk6aGVscCB1c2VyLW1hbnVhbCAgLgorCisgIEZvciB2aWRlcmUgbGVzaW5nIG9nIHN0dWRpZXIsIGthbiBkZW5uZSBib2tlbiBhbmJlZmFsZXM6CisgICAgICCrVmltIC0gVmkgSW1wcm92ZWS7IGF2IFN0ZXZlIE91YWxsaW5lCisgICAgICBVdGdpdmVyOiBOZXcgUmlkZXJzCisgIERlbiBm+HJzdGUgYm9rZW4gc29tIGVyIGZ1bGx0IG9nIGhlbHQgZGVkaXNlcnQgdGlsIFZpbS4gU3Blc2llbHQgbnl0dGlnIGZvcgorICBueWJlZ3lubmVyZS4gSW5uZWhvbGRlciBtYW5nZSBla3NlbXBsZXIgb2cgaWxsdXN0cmFzam9uZXIuCisgIFNlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgRGVubmUgYm9rZW4gZXIgZWxkcmUgb2cgaGFuZGxlciBtZXIgb20gVmkgZW5uIFZpbSwgbWVuIGFuYmVmYWxlcyBvZ3PlOgorICAgICAgq0xlYXJuaW5nIHRoZSBWaSBFZGl0b3K7IGF2IExpbmRhIExhbWIKKyAgICAgIFV0Z2l2ZXI6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIERldCBlciBlbiBnb2QgYm9rIGZvciDlIGblIHZpdGUgb210cmVudCBodmEgc29tIGhlbHN0IG9tIFZpLgorICBEZW4gc2pldHRlIHV0Z2F2ZW4gaW5uZWhvbGRlciBvZ3PlIGluZm9ybWFzam9uIG9tIFZpbS4KKworICBEZW5uZSBpbm5m+HJpbmdlbiBlciBza3JldmV0IGF2IE1pY2hhZWwgQy4gUGllcmNlIG9nIFJvYmVydCBLLiBXYXJlLAorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMgbWVkIGlk6WVyIGF2IENoYXJsZXMgU21pdGgsIENvbG9yYWRvIFN0YXRlCisgIFVuaXZlcnNpdHkuIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1IC4KKworICBNb2RpZmlzZXJ0IGZvciBWaW0gYXYgQnJhbSBNb29sZW5hYXIuCisgIE92ZXJzYXR0IGF2INh5dmluZCBBLiBIb2xtLiBFLW1haWw6IHZpbXR1dG9yIF9BVF8gc3VuYmFzZS5vcmcKKyAgSWQ6IHR1dG9yLm5vIDQwNiAyMDA3LTAzLTE4IDIyOjQ4OjM2WiBzdW5ueQorCit+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+fn4KK3ZpbTogc2V0IHRzPTggOgo=