ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IxLmdsIGIvcnVudGltZS90dXRvci90dXRvcjEuZ2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgxNmQzNAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IxLmdsCkBAIC0wLDAgKzEsMTA0OCBAQAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorPSAgICAgQiBlIG4gdiBpIGQgbyAgIGEgbyAgIHQgdSB0IG8gciAgIGQgbyAgIFYgSSBNICAgICAgLSAgICBWZXJzafNuIDEuNyAgICAgPQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisKKyAgICAgVmltIOkgdW4gZWRpdG9yIG1vaSBwb3RlbnRlIHF1ZSBkaXNw824gZGUgbW9pdG9zIGNvbWFuZG9zLCBkZW1hc2lhZG9zCisgICAgIHBhcmEgc2VyIGV4cGxpY2Fkb3MgbnVuIHR1dG9yIGNvbWEgZXN0ZS4gRXN0ZSB0dXRvciBlc3ThIGRlc2XxYWRvCisgICAgIHBhcmEgZGVzY3JpYmlyIGNvbWFuZG9zIGRhYm9uZG8gcGFyYSBxdWUgdm9zdGVkZSBzZXhhIGNhcGF6IGRlCisgICAgIGFwcmVuZGVyIGbhY2lsbWVudGUgYSB1c2EtbG8gVmltIGNvbW8gdW4gZWRpdG9yIGRlIHByb3Dzc2l0byB4ZXJhbC4KKworICAgICBPIHRlbXBvIG5lY2VzYXJpbyBwYXJhIGNvbXBsZXRhLWxvIHR1dG9yIOkgYXByb3hpbWFkYW1lbnRlIGRlIDMwCisgICAgIG1pbnV0b3MsIGRlcGVuZGVuZG8gZGUgY2FudG8gdGVtcG8gc2UgYWRpcXVlIOEgZXhwZXJpbWVudGFjafNuLiAgICAgIAorCisgICAgIE9zIGNvbWFuZG9zIGRlc3RhcyBsZWNjafNucyBtb2RpZmljYXLhbiBvIHRleHRvLiBGYWdhIHVuaGEgY29waWEgZGVzdGUKKyAgICAgZmljaGVpcm8gcGFyYSBwcmFjdGljYXIgKGNvbiCrdmltdHV0b3K7LCBpc3RvIHhhIOkgdW5oYSBjb3BpYSkuCisKKyAgICAgySBpbXBvcnRhbnRlIGxlbWJyYXIgcXVlIGVzdGUgdHV0b3IgZXN04SBwZW5zYWRvIHBhcmEgZW5zaW5hciBjb2EgCisgICAgIHBy4WN0aWNhLiBJc3RvIHNpZ25pZmljYSBxdWUgY/NtcHJlIGV4ZWN1dGEtbG9zIGNvbWFuZG9zIHBhcmEgCisgICAgIGFwcmVuZGVsb3MgYXhlaXRhZGFtZW50ZS4gU2Ug+m5pY2FtZW50ZSBsZSBvIHRleHRvLCBlc3F1ZWNlcuFuc2VsbGUKKyAgICAgb3MgY29tYW5kb3MhCisKKyAgICAgQWdvcmEsIGFzZWf6cmVzZSBkZSBxdWUgYSB0ZWNsYSBkZSBibG9xdWVvIGRlIG1hafpzY3VsYXMgTk9OIGVzdOEKKyAgICAgYWN0aXZhZGEgZSBwcmVtYSBhIHRlY2xhICBqICBwYXJhIG1vdmUtbG8gY3Vyc29yLCBkZSB4ZWl0byBxdWUgbyB0ZXh0bworICAgICBkYSBMZWNjafNuIDEuMS4xIGFicmFuZ2EgY29tcGxldGFtZW50ZSBhIHBhbnRhbGxhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuMS4xOiBNT1ZFLUxPIENVUlNPUgorCisKKyAqKiBQYXJhIG1vdmUtbG8gY3Vyc29yLCBwcmVtYSBhcyB0ZWNsYXMgaCxqLGssbCBkbyB4ZWl0byBpbmRpY2Fkby4gKioKKyAgICAgIF4KKyAgICAgIGsgICAgICAgSW5kaWNhY2nzbjogQSB0ZWNsYSBoIGVzdOEg4SBlc3F1ZXJkYSwgZSBt83ZlbyDhIGVzcXVlcmRhLgorIDwgaAkgbCA+CQkgIEEgdGVjbGEgbCBlc3ThIOEgZGVyZWl0YSwgZSBt83ZlbyDhIGRlcmVpdGEuCisgICAgICBqCQkJICBBIHRlY2xhIGogc2VtZWxsYSB1bmhhIGZyZWNoYSBlIGFwdW50YSAKKyAgICAgIHYgICAgICAgICAgICAgICAgICAgIGNhcmEgYSBlbWJhaXhvLiAKKworICAxLiBNb3ZhIG8gY3Vyc29yIHBvbGEgcGFudGFsbGEgYXRhIHF1ZSBzaW50YSBjb21vZGlkYWRlIGZhY2VuZG8gYSBhY2Np824uCisKKyAgMi4gTWFudGXxYSBwcmVtaWRhIGEgdGVjbGEgIGogIGF0YSBxdWUgc2UgcmVwaXRhIGF1dG9t4XRpY2FtZW50ZS4KKyAgICAgQWdvcmEgeGEgc2FiZSBjb21vIGNoZWdhciDhIGxlY2Np824gc2VndWludGUuCisKKyAgMy4gVXRpbGl6YW5kbyBhIHRlY2xhIGFiYWl4bywgdmFpYSDhIGxlY2Np824gMS4xLjIuCisKK05PVEE6IFNlIGFsZ3VuYSB2ZXogbm9uIGVzdOEgc2VndXJvIHNvYnJlIGFsZ28gcXVlIHRlY2xlYXJhLCBwcmVtYSA8RVNDPgorICAgICAgcGFyYSBzaXR1YXJzZSBubyBtb2RvIE5vcm1hbC4gTG9nbywgdm9sdmEgYSB0ZWNsZWFyIGEgb3JkZSBxdWUgZGVzZXhhYmEuCisKK05PVEE6IEFzIHRlY2xhcyBkZSBtb3ZlbWVudG8gZG8gY3Vyc29yIHRhbeluIGZ1bmNpb25hbi4gUGVybyB1c2FuZG8gaGprbAorICAgICAgcG9kZXLhIG1vdmVyc2UgbW9pdG8gbeFpcyBy4XBpZG8gdW5oYSB2ZXogcXVlIHNlIGFjb3N0dW1lLgorICAgICAgRGUgdmVyZGFkZSEKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgTEVDQ0nTTiAxLjEuMjogU0HNUiBETyBWSU0KKworCitOT1RBOiBBbnRlcyBkZSBleGVjdXRhciBhbGf6biBkb3Mgc2VndWludGVzIHBhc29zLCBsZWEgcHJpbWVpcm8gYSBsZWNjafNuCisgICAgICBlbnRlaXJhISEKKworICAxLiBQcmVtYSBhIHRlY2xhIDxFU0M+IChwYXJhIGFzZWd1cmFyc2UgZGUgcXVlIGVzdOEgbm8gbW9kbyBOb3JtYWwpLgorCisgIDIuIEVzY3JpYmE6ICA6cSEgPElOVFJPPgorICAgICBJc3RvIHByb3ZvY2EgYSBzYe1kYSBkbyBlZGl0b3IgUkVYRUlUQU5ETyBjYWxxdWVyIGNhbWJpbyBxdWUgZm9yYSBmZWl0by4KKworICAzLiBSZWdyZXNlIGVpcXXtIGV4ZWN1dGFuZG8gbyBjb21hbmRvIHF1ZSBvIHRyb3V4byBhIGVzdGUgdHV0b3IuCisgICAgIEVzdGUgcHVpZG8gc2VyOiAgIHZpbXR1dG9yIDxJTlRSTz4KKworICA0LiBTZSBtZW1vcml6b3UgZXN0ZXMgcGFzb3MsIGUgc2Ugc2ludGUgY29uIGNvbmZpYW56YSwgZXhlY3V0ZSBvcworICAgICBwYXNvcyBkbyAxIGFvIDMgcGFyYSBzYe1yIGUgdm9sdmVyIGEgZW50cmFyIGFvIGVkaXRvci4gCisKK05PVEE6IDpxISA8SU5UUk8+IGRlc2NhcnRhIGN1YWxxdWVyIGNhbWJpbyBxdWUgcmVhbGl6YXJhLgorICAgICAgRW4gcHLzeGltYXMgbGVjY2nzbnMsIGFwcmVuZGVy4SBjb21vIGdhcmRhLWxvcyBjYW1iaW9zIG51biBhcnF1aXZvLgorCisgIDUuIE1vdmEgbyBjdXJzb3IgYXRhIGEgTGVjY2nzbiAxLjEuMy4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgIExFQ0NJ004gMS4xLjM6IEVESVRBUiBURVhUTyAtIEJPUlJBUgorCisKKyAgKiogUHJlbWEgIHggIHBhcmEgZWxpbWluYS1sbyBjYXLhY3RlciBiYWl4byBvIGN1cnNvci4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIOEgbGnxYSBkZSBlbWJhaXhvIHNpbmFsYWRhIGNvbiAtLS0+LgorCisgIDIuIFBhcmEgY29ycml4aS1sb3MgZXJyb3MsIG1vdmEgbyBjdXJzb3IgYXRhIHF1ZSBlc3RlYSBzb2JyZSBvCisgICAgIGNhcuFjdGVyIHF1ZSB2YWkgc2VyIGJvcnJhZG8uCisKKyAgMy4gUHJlbWEgYSB0ZWNsYSAgeCAgcGFyYSBlbGltaW5hLWxvIGNhcuFjdGVyIG5vbiBkZXNleGFkby4KKworICA0LiBSZXBpdGEgb3MgcGFzb3MgMiBhIDQgYXRhIHF1ZSBhIGZyYXNlIHNleGEgYSBjb3JyZWN0YS4KKworLS0tPiBBIHZ2YWNhIHNhbHRvb29vb3Ugc29vYnJlZSBhYSBs+vr6+vr6+mEuCisKKyAgNS4gQWdvcmEgcXVlIGEgbGnxYSBlc3ThIGNvcnJlY3RhLCBjb250aW76ZSBjb2EgTGVjY2nzbiAxLjEuNC4KKworTk9UQTogQSBtZWRpZGEgcXVlIHZhaWEgYXZhbnphbmRvIG5lc3RlIHR1dG9yLCBub24gdGVudGUgbWVtb3JpemFyLAorICAgICAgYXByZW5kYSBwcmFjdGljYW5kby4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgIExFQ0NJ004gMS4xLjQ6IEVESVRBUiBURVhUTyAtIElOU0VSSVIKKworCisgICoqIFByZW1hICBpICBwYXJhIGluc2VyaXIgdGV4dG8uICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciDhIHByaW1laXJhIGxp8WEgZGUgZW1iYWl4byBzaW5hbGFkYSBjb24gLS0tPi4KKworICAyLiBQYXJhIGZhY2VyIHF1ZSBhIHByaW1laXJhIGxp8WEgc2V4YSBpZ3VhbCBjYSBzZWd1bmRhLCBtb3ZhIG8gY3Vyc29yIAorICAgICBhdGEgcXVlIGVzdGVhIHNvYnJlIG8gY2Fy4WN0ZXIgQU5URVMgZG8gdGV4dG8gcXVlIHZhaSBzZXIgaW5zZXJpZG8uCisKKyAgMy4gUHJlbWEgIGkgIGUgZXNjcmliYSBvcyBjYXLhY3RlcmVzIGEgZW5nYWRpci4KKworICA0LiBBIG1lZGlkYSBxdWUgc2V4YSBjb3JyaXhpZG8gY2FkYSBlcnJvLCBwcmVtYSA8RVNDPiBwYXJhIHZvbHZlciBhbyBtb2RvCisgICAgIE5vcm1hbC4gUmVwaXRhIG9zIHBhc29zIDIgYSA0IHBhcmEgY29ycml4aS1sYSBmcmFzZS4KKworLS0tPiBGbHRhIHRleHRvIG5lc3RhIC4KKy0tLT4gRmFsdGEgYWxnbyBkZSB0ZXh0byBuZXN0YSBsafFhLgorCisgIDUuIEN1YW5kbyBzZSBzaW50YSBjb24gY29tb2RpZGFkZSBpbnNlcmluZG8gdGV4dG8sIHBhc2Ug4SBsZWNjafNuIDEuMS41LgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgIExFQ0NJ004gMS4xLjU6IEVESVRBUiBURVhUTyAtIEVOR0FESVIKKworCisgICoqIFByZW1hICBBICBwYXJhIGVuZ2FkaXIgdGV4dG8uICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciDhIHByaW1laXJhIGxp8WEgaW5mZXJpb3IgbWFyY2FkYSBjb24gLS0tPi4KKyAgICAgTm9uIGltcG9ydGEgc29icmUgcXXpIGNhcuFjdGVyIGVzdGVhIG8gY3Vyc29yIG5lc3RhIGxp8WEuCisKKyAgMi4gUHJlbWEgIEEgIGUgZXNjcmliYSBvIHRleHRvIG5lY2VzYXJpby4KKworICAzLiBDdWFuZG8gbyB0ZXh0byBlc3RlYSBlbmdhZGlkbywgcHJlbWEgPEVTQz4gcGFyYSB2b2x2ZXIgYW8gbW9kbyBOb3JtYWwuCisKKyAgNC4gTW92YSBvIGN1cnNvciDhIHNlZ3VuZGEgbGnxYSBtYXJjYWRhIGNvbiAtLS0+IGUgcmVwaXRhIG9zIHBhc29zIDIgZSAzCisgICAgIHBhcmEgY29ycml4aXIgZXN0YSBmcmFzZS4KKworLS0tPiBGYWx0YSBhbGf6biB0ZXh0byBuZXMKKyAgICAgRmFsdGEgYWxn+m4gdGV4dG8gbmVzdGEgbGnxYS4KKy0tLT4gVGFt6W4gZmFsdGEgYWxnCisgICAgIFRhbeluIGZhbHRhIGFsZ/puIHRleHRvIGVpcXXtLgorCisgIDUuIEN1YW5kbyBzZSBzaW50YSBjb24gY29tb2RpZGFkZSBlbmdhZGluZG8gdGV4dG8sIHBhc2Ug4SBsZWNjafNuIDEuMS42LgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgIExFQ0NJ004gMS4xLjY6IEVESVRBUiBVTiBBUlFVSVZPCisKKworICAqKiBVc2UgIDp3cSAgcGFyYSBnYXJkYXIgdW4gYXJxdWl2byBlIHNh7XIgKioKKworTk9UQTogQW50ZXMgZGUgZXhlY3V0YXIgb3Mgc2VndWludGVzIHBhc29zLCBsZWEgYSBsZWNjafNuIGVudGVpcmEhIQorCisgIDEuICBTZSB0ZW4gYWNjZXNvIGEgb3V0cmEgdGVybWluYWwsIGZhZ2Egb3Mgc2VndWludGVzIHB1bnRvcyBuZWxhLgorICAgICAgU2Ugbm9uIOkgYXPtLCBzYWlhIGRlc3RlIHR1dG9yIGNvbW8gZml4byBuYSBsZWNjafNuIDEuMS4yOiAgOnEhCisKKyAgMi4gTm8gc+1tYm9sbyBkbyBzaXN0ZW1hIGVzY3JpYmEgZXN0ZSBjb21hbmRvOiAgdmltIGFycXVpdm8udHh0IDxJTlRSTz4KKyAgICAgJ3ZpbScg6SBvIGNvbWFuZG8gcGFyYSBhcnJpbmNhciBvIGVkaXRvciBWaW0sCisgICAgICdhcnF1aXZvLnR4dCcg6SBvIG5vbWUgZG8gYXJxdWl2byBxdWUgcXVlcmUgZWRpdGFyLgorICAgICBVdGlsaWNlIG8gbm9tZSBkdW4gYXJxdWl2byBxdWUgcG9pZGEgY2FtYmlhci4KKworICAzLiBJbnNpcmEgZSBlbGltaW5lIHRleHRvIGNvbW8geGEgYXByZW5kZXUgbmFzIGxlY2Np825zIGFudGVyaW9yZXMuCisKKyAgNC4gR2FyZGUgbyBhcnF1aXZvIGNvcyBjYW1iaW9zIGUgc2FpYSBkbyBWaW0gY29uOiAgOndxIDxJTlRSTz4KKworICA1LiBTZSB4YSBzYWl1IGRvIHZpbXR1dG9yIG5vIHBhc28gMSwgcmVpbmljaWUgdmltdHV0b3IgZSBiYWl4ZSBhdGEKKyAgICAgbyBzZWd1aW50ZSByZXN1bW8uCisKKyAgNi4gRGVzcG9pcyBkZSBsZS1sb3MgcGFzb3MgYW50ZXJpb3JlcyBlIHRlbG9zIGVudGVuZGlkbzogZuFnYW9zLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgIFJFU1VNTyBEQSBMRUNDSdNOIDEuMQorCisKKyAgMS4gTyBjdXJzb3IgbfN2ZXNlIHV0aWxpemFuZG8gYXMgdGVjbGFzIGRhcyBmcmVjaGFzIG91IGFzIHRlY2xhcyBoamtsLgorCSBoIChlc3F1ZXJkYSkJICAgaiAoYWJhaXhvKQkgIGsgKGFycmliYSkJICBsIChkZXJlaXRhKQorCisgIDIuIFBhcmEgYWNjZWRlciBhbyBWaW0gZGVuZGUgbyBz7W1ib2xvIGRvIHNpc3RlbWEgZXNjcmliYToKKyAgICAgdmltIG5vbWVfYXJxdWl2byA8SU5UUk8+CisKKyAgMy4gUGFyYSBzYe1yIGRvIFZpbSBlc2NyaWJhOiA8RVNDPiA6cSEgPElOVFJPPiBwYXJhIGVsaW1pbmFyIHTzZG9sb3MKKyAgICAgY2FtYmlvcy4KKyAgICAgT3UgZXNjcmliYTogIDxFU0M+ICA6d3EgIDxJTlRSTz4gcGFyYSBnYXJkYS1sb3MgY2FtYmlvcy4KKworICA0LiBQYXJhIGJvcnJhciB1biBjYXLhY3RlciBiYWl4byBvIGN1cnNvciBlbiBtb2RvIE5vcm1hbCBwcmVtYTogIHggIC4KKworICA1LiBQYXJhIGluc2VyaXIgb3UgZW5nYWRpciB0ZXh0byBlc2NyaWJhOgorICAgICBpICBlc2NyaWJhIG8gdGV4dG8gYSBpbnNlcmlyIDxFU0M+IGluc2lyZSBvIHRleHRvIGFudGVzIGRvIGN1cnNvcgorICAgICBBICBlc2NyaWJhIG8gdGV4dG8gYSBlbmdhZGlyIDxFU0M+IGVuZ2FkZSBvIHRleHRvIGFvIGZpbmFsIGRhIGxp8WEKKworTk9UQTogUHJlbWVuZG8gPEVTQz4gdPNybmFzZSBhbyBtb2RvIE5vcm1hbCBvdSBjYW5j6Wxhc2UgdW5oYSBvcmRlIG5vbgorICAgICAgZGVzZXhhZGEgb3UgaW5jb21wbGV0YS4KKworICBBZ29yYSBjb250aW76ZSBjb2EgTGVjY2nzbiAxLjIuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgIExFQ0NJ004gMS4yLjE6ICBDT01BTkRPUyBQQVJBIEJPUlJBUgorCisKKyAgKiogRXNjcmliYSAgZHcgIHBhcmEgYm9ycmFyIHVuaGEgcGFsYWJyYSAqKgorCisgIDEuIFByZW1hIDxFU0M+IHBhcmEgYXNlZ3VyYXJzZSBkZSBxdWUgZXN04SBubyBtb2RvIE5vcm1hbC4KKworICAyLiBNb3ZhIG8gY3Vyc29yIOEgbGnxYSBpbmZlcmlvciBzaW5hbGFkYSBjb24gLS0tPi4KKworICAzLiBNb3ZhIG8gY3Vyc29yIGFvIGNvbWV6byBkdW5oYSBwYWxhYnJhIHF1ZSBkZXNleGUgYm9ycmFyLgorCisgIDQuIFByZW1hICBkdyAgcGFyYSBmYWNlciBxdWUgYSBwYWxhYnJhIGRlc2FwYXJlemEuCisKK05PVEE6IEEgbGV0cmEgIGQgIGFwYXJlY2Vy4SBuYSD6bHRpbWEgbGnxYSBpbmZlcmlvciBkZXJlaXRhIGRhIHBhbnRhbGxhCisgICAgICBuYW1lbnRyZXMgYSBlc2NyaWJlLiBPIFZpbSBlc3ThIGVzcGVyYW5kbyBxdWUgZXNjcmliYSAgdyAuCisgICAgICBTZSB2ZSBvdXRybyBjYXLhY3RlciBxdWUgbm9uIHNleGEgIGQgICwg6SBxdWUgZXNjcmliaXUgYWxnbyBtYWwuIFByZW1hIAorICAgICAgPEVTQz4gZSBjb21lY2UgZGUgbm92by4KKworLS0tPiBIYWkgYWxndW5oYXMgcGFsYWJyYXMgcOFzYW8gYmVuIHF1ZSBub24gcGVydGVuY2VuIHBhcGVsIGEgZXN0YSBmcmFzZS4KKworICA1LiBSZXBpdGEgb3MgcGFzb3MgMyBlIDQgYXRhIHF1ZSBhIGZyYXNlIHNleGEgY29ycmVjdGEgZSBwYXNlIOEKKyAgICAgbGVjY2nzbiAxLjIuMi4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgTEVDQ0nTTiAxLjIuMjogTcFJUyBDT01BTkRPUyBQQVJBIEJPUlJBUgorCisKKyAgKiogRXNjcmliYSAgZCQgIHBhcmEgYm9ycmFyIGF0YSBvIGZpbmFsIGRhIGxp8WEuICoqCisKKyAgMS4gUHJlbWEgIDxFU0M+ICBwYXJhIGFzZWd1cmFyc2UgZGUgcXVlIGVzdOEgbm8gbW9kbyBOb3JtYWwuCisKKyAgMi4gTW92YSBvIGN1cnNvciDhIGxp8WEgaW5mZXJpb3Igc2luYWxhZGEgY29uIC0tLT4uCisKKyAgMy4gTW92YSBvIGN1cnNvciBhbyBmaW5hbCBkYSBsafFhIGNvcnJlY3RhIChERVNQT0lTIGRvIHByaW1laXJvIC4gKS4KKworICA0LiBFc2NyaWJhICBkJCAgcGFyYSBib3JyYXIgYXRhIG8gZmluYWwgZGEgbGnxYS4KKworLS0tPiBBbGd16W4gZXNjcmliaXUgbyBmaW5hbCBkZXN0YSBsafFhIGT6YXMgdmVjZXMuIGVzdGEgbGnxYSBk+mFzIHZlY2VzLgorCisgIFBhc2Ug4SBsZWNjafNuIDEuMi4zIHBhcmEgZW50ZW5kZXIgcXXpIGVzdOEgcGFzYW5kby4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgIExFQ0NJ004gMS4yLjM6IFNPQlJFIE9QRVJBRE9SRVMgRSBNT1ZFTUVOVE9TCisKKworICBNb2l0b3MgY29tYW5kb3MgcXVlIGNhbWJpYW4gdGV4dG8gZXN04W4gY29tcG9zdG9zIHBvciB1biBvcGVyYWRvciBlIG3haXMKKyAgdW4gbW92ZW1lbnRvLgorICBPIGZvcm1hdG8gcGFyYSBvIGNvbWFuZG8gJ2VsaW1pbmFyJyBjbyBvcGVyYWRvciBkZSBib3JyYWRvICBkICDpIG8KKyAgc2VndWludGU6CisKKyAgICBkICAgbW92ZW1lbnRvCisKKyAgT25kZToKKyAgICBkICAgICAgICAgLSDpIG8gb3BlcmFkb3IgcGFyYSBib3JyYXIuCisgICAgbW92ZW1lbnRvIC0g6SBvIHRleHRvIHNvYnJlIG8gcXVlIG8gY29tYW5kbyB2YWkgb3BlcmFyIChsaXN0YSBpbmZlcmlvcikuCisKKyAgRWlxde0sIHVuaGEgbGlzdGEgcmVzdW1pZGEgZGUgbW92ZW1lbnRvczoKKyAgIHcgLSBhdGEgbyBjb21lem8gZGEgc2VndWludGUgcGFsYWJyYSwgRVhDTFXNTkRPIG8gc2V1IHByaW1lcm8gY2Fy4WN0ZXIuCisgICBlIC0gYXRhIG8gZmluYWwgZGEgcGFsYWJyYSBhY3R1YWwsIElOQ0xVzU5ETyBvIPpsdGltbyBjYXLhY3Rlci4KKyAgICQgLSBhdGEgbyBmaW5hbCBkYSBsafFhLCBJTkNMVc1ORE8gbyD6bHRpbW8gY2Fy4WN0ZXIuCisKKyAgUG9sbyB0YW50bywgYW8gZXNjcmliaXIgIGRlICBib3JyYXLhc2UgZGVuZGUgYSBwb3NpY2nzbiBkbyBjdXJzb3IgYXRhIG8KKyAgZmluYWwgZGEgcGFsYWJyYS4KKworTk9UQTogUHJlbWVuZG8g+m5pY2FtZW50ZSBvIG1vdmVtZW50bywgZXN0YW5kbyBubyBtb2RvIE5vcm1hbCBzZW4gdW4KKyAgICAgIG9wZXJhZG9yLCBtb3ZlcuFzZSBvIGN1cnNvciBjb21vIHNlIGVzcGVjaWZpY2EgbmEgbGlzdGEgYW50ZXJpb3IuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgTEVDQ0nTTiAxLjIuNDogVVRJTElaQVIgVU4gQ09OVEFET1IgUEFSQSBVTiBNT1ZFTUVOVE8KKworCisgICoqIEFvIGVzY3JpYmlyIHVuIG76bWVybyBkZW5hbnRlcyBkdW4gbW92ZW1lbnRvLCByZXDtdGlzZSBvIG1vdmVtZW50bworICBvIG76bWVybyBkZSB2ZWNlcy4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIGFvIGNvbWV6byBkYSBsafFhIG1hcmNhZGEgY29uIC0tLT4uCisKKyAgMi4gRXNjcmliYSAgMncgIHBhcmEgbW92ZXIgbyBjdXJzb3IgZPphcyBwYWxhYnJhcyBjYXJhIGEgYWRpYW50ZS4KKworICAzLiBFc2NyaWJhICAzZSAgcGFyYSBtb3ZlciBvIGN1cnNvciBhbyBmaW5hbCBkYSB0ZXJjZWlyYSBwYWxhYnJhIGNhcmEgYQorICAgICBhZGlhbnRlLgorCisgIDQuIEVzY3JpYmEgIDAgIChjZXJvKSBwYXJhIGNvbG9jYS1sbyBjdXJzb3IgYW8gaW5pY2lvIGRhIGxp8WEuCisKKyAgNS4gUmVwaXRhIG9zIHBhc29zIDIgZSAzIGNvbiBkaWZlcmVudGVzIG76bWVyb3MuCisKKy0tLT4gSXN0byDpIHPzIHVuaGEgbGnxYSBjb24gcGFsYWJyYXMgb25kZSBwb2RlciBtb3ZlcnNlLgorCisgIFBhc2Ug4SBsZWNjafNuIDEuMi41LgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICBMRUNDSdNOIDEuMi41OiBVVElMSVpBUiBVTiBDT05UQURPUiBQQVJBIEJPUlJBUiBNwUlTCisKKworICAqKiBBbyBlc2NyaWJpciB1biBu+m1lcm8gY3VuIG9wZXJhZG9yLCByZXDtdGVzZSBlc2UgbvptZXJvIGRlIHZlY2VzLiAqKgorCisgIEVuIGNvbWJpbmFjafNuIGNvIG9wZXJhZG9yIGRlIGJvcnJhZG8gZSBvIG1vdmVtZW50byBtZW5jaW9uYWRvCisgIGFudGVyaW9ybWVudGUsIGVuZ2FkYSB1biBjb250YWRvciBhbnRlcyBkbyBtb3ZlbWVudG8gcGFyYSBlbGltaW5hciBt4WlzOgorCSBkICAgbvptZXJvICAgbW92ZW1lbnRvCisKKyAgMS4gTW92YSBvIGN1cnNvciBhbyBpbmljaW8gZGEgcHJpbWVpcmEgcGFsYWJyYSBlbiBNQUnaU0NVTEFTIG5hIGxp8WEgCisgICAgIG1hcmNhZGEgY29uIC0tLT4uCisKKyAgMi4gRXNjcmliYSAgZDJ3ICBwYXJhIGVsaW1pbmEtbGFzIGT6YXMgcGFsYWJyYXMgZW4gTUFJ2lNDVUxBUy4KKworICAzLiBSZXBpdGEgb3MgcGFzb3MgMSBlIDIgY29uIGRpZmVyZW50ZXMgY29udGFkb3JlcyBwYXJhIGVsaW1pbmEtbGFzCisgICAgIHNlZ3VpbnRlcyBwYWxhYnJhcyBlbiBNQUnaU0NVTEFTIGN1biBjb21hbmRvLgorCistLS0+ICBFc3RhIEFCQyBERSBjYWRlYSBGR0hJIEpLIExNTiBPUCBkZSBwYWxhYnJhcyBmb2kgUSBSUyBUVVYgbGltcGFkYS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgTEVDQ0nTTiAxLjIuNjogT1BFUkFDSdNOIEVOIExJ0UFTCisKKworICAqKiBFc2NyaWJhICBkZCAgIHBhcmEgZWxpbWluYXIgdW5oYSBsafFhIGNvbXBsZXRhLiAqKgorCisgIERlYmlkbyDhIGZyZWN1ZW5jaWEgY29hIHF1ZSBzZSBlbGltaW5hIHVuaGEgbGnxYSBjb21wbGV0YSwgb3MgZGVzZfFhZG9yZXMKKyAgZG8gVmltIGRlY2lkaXJvbiBxdWUgc2Vy7WEgbeFpcyBzaW54ZWxvIHNpbXBsZW1lbnRlIGVzY3JpYmlyIGT6YXMgbGV0cmFzIAorICBkICBwYXJhIGVsaW1pbmFyIHVuaGEgbGnxYS4KKworICAxLiBNb3ZhIG8gY3Vyc29yIOEgc2VndW5kYSBsafFhIGRvIHDhcnJhZm8gaW5mZXJpb3IuCisKKyAgMi4gRXNjcmliYSAgZGQgIHBhcmEgZWxpbWluYS1sYSBsafFhLgorCisgIDMuIEFnb3JhLCBt83Zhc2Ug4SBjdWFydGEgbGnxYS4KKworICA0LiBFc2NyaWJhICAgMmRkICAgcGFyYSBlbGltaW5hciBk+mFzIGxp8WFzIOEgdmV6LgorCistLS0+ICAxKSAgQXMgcm9zYXMgc29uIHZlcm1lbGxhcywKKy0tLT4gIDIpICBvIGJhcnJvIOkgZGl2ZXJ0aWRvLAorLS0tPiAgMykgIGEgdmlvbGV0YSDpIGF6dWwsCistLS0+ICA0KSAgdGXxbyB1biBjb2NoZSwKKy0tLT4gIDUpICBvcyByZWxveG9zIGRhbiBhIGhvcmEsCistLS0+ICA2KSAgbyBhenVjZXJlIOkgZPNjZQorLS0tPiAgNykgIGUgdGkgdGFt6W4gbyBlcy4KKworICBBIGR1cGxpY2FjafNuIHBhcmEgYm9ycmFyIGxp8WFzIHRhbeluIGZ1bmNpb25hbiBjb3Mgb3BlcmFkb3JlcworICBtZW5jaW9uYWRvcyBhbnRlcmlvcm1lbnRlLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuMi43OiBPIENPTUFORE8gREVTRkFDRVIgCisKKworICAqKiBQcmVtYSAgdSAgcGFyYSBkZXNmYWNlciBvcyD6bHRpbW9zIGNvbWFuZG9zLAorICAgICAgICAgICAgVSAgcGFyYSBkZXNmYWNlciB1bmhhIGxp8WEgZW50ZWlyYS4gICAgICAgKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIOEgbGnxYSBpbmZlcmlvciBzaW5hbGFkYSBjb24gLS0tPiBlIHNpdPplbyBiYWl4byBvCisgICAgIHByaW1laXJvIGVycm8uCisKKyAgMi4gUHJlbWEgIHggIHBhcmEgYm9ycmEtbG8gcHJpbWVpcm8gY2Fy4WN0ZXIgbm9uIGRlc2V4YWRvLgorCisgIDMuIFByZW1hIGFnb3JhICB1ICBwYXJhIGRlc2ZhY2UtbG8g+mx0aW1vIGNvbWFuZG8gZXhlY3V0YWRvLgorCisgIDQuIEFnb3JhLCBjb3JyaXhhIHTzZG9sb3MgZXJyb3MgZGEgbGnxYSB1c2FuZG8gbyBjb21hbmRvICB4LgorCisgIDUuIFByZW1hIGFnb3JhICBVICBtYWn6c2N1bG8gcGFyYSBkZXZvbHZlciBhIGxp8WEgYW8gc2V1IGVzdGFkbyBvcml4aW5hbC4KKworICA2LiBQcmVtYSBhZ29yYSAgdSAgdW5oYXMgcG91Y2FzIHZlY2VzIG3haXMgcGFyYSBkZXNmYWNlLWxvIGZlaXRvIHBvciAgVSAgZQorICAgICBtYWlsb3MgY29tYW5kb3MgcHJldmlvcy4KKworICA3LiBBZ29yYSwgcHJlbWEgQ1RSTC1SIChtYW50ZfFhIHB1bHNhZGEgYSB0ZWNsYSBDVFJMIGUgcHJlbWEgUikgdW5oYXMKKyAgICAgY2FudGFzIHZlY2VzIHBhcmEgdm9sdmVyIGEgZXhlY3V0YXIgb3MgY29tYW5kb3MgKGRlc2ZhY2UtbG8gZGVzZmVpdG8pLgorCistLS0+IENvcnJyaXhhIG9zIGVycm9zIGRlZSBlc3R0dGEgbGnxYSBlIHZvb29sdmEgcG9uZWxvcyBjb29uIGRlc2ZhY2VyLgorCisgIEVzdGVzIHNvbiB1bnMgY29tYW5kb3MgbW9pIPp0aWxlcy4gQWdvcmEsIHZhaWFtb3MgYW8gcmVzdW1vIGRhIGxlY2Np824gMS4yLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgIFJFU1VNTyBEQSBMRUNDSdNOIDEuMgorCisKKyAgMS4gUGFyYSBib3JyYXIgZGVuZGUgbyBjdXJzb3IgYXRhIGEgc2VndWludGUgcGFsYWJyYSBwcmVtYToJICAgICBkdworICAyLiBQYXJhIGJvcnJhciBkZW5kZSBvIGN1cnNvciBhdGEgbyBmaW5hbCBkYSBwYWxhYnJhIHByZW1hOiAgICAgICAgZGUKKyAgMy4gUGFyYSBib3JyYXIgZGVuZGUgbyBjdXJzb3IgYXRhIG8gZmluYWwgZHVuaGEgbGnxYSBwcmVtYToJICAgICBkJAorICA0LiBQYXJhIGJvcnJhciB1bmhhIGxp8WEgZW50ZWlyYSBwcmVtYTogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGQKKyAgNS4gUGFyYSByZXBldGlyIHVuIG1vdmVtZW50bywgYW50ZXBv8WEgdW4gbvptZXJvOiAgICAgICAgICAgICAgICAgIDJ3CisgIDYuIE8gZm9ybWF0byBwYXJhIHVuIGNvbWFuZG8gZGUgY2FtYmlvIOk6CisgICAgICAgICAgICAgICBvcGVyYWRvciAgW276bWVyb10gIG1vdmVtZW50bworICAgICBvbmRlOgorICAgICAgIGNvbWFuZG8gICAgLSDpIG8gcXVlIGhhaSBxdWUgZmFjZXIsIHBvciBleGVtcGxvLCAgZCAgcGFyYSBib3JyYXIKKyAgICAgICBbbvptZXJvXSAgIC0g6SB1biBu+m1lcm8gb3BjaW9uYWwgcGFyYSByZXBldGlyIG8gbW92ZW1lbnRvCisgICAgICAgbW92ZW1lbnRvICAtIG3zdmVzZSBzb2JyZSBvIHRleHRvIG5vIHF1ZSBvcGVyYXIsIGNvbW8gdyAocGFsYWJyYSksCisgICAgICAgICAgICAgICAgICAgICQgKGF0YSBvIGZpbmFsIGRhIGxp8WEpLCBldGMuCisKKyAgNy4gUGFyYSBtb3ZlcnNlIGFvIGluaWNpbyBkYSBsafFhIHV0aWxpY2UgdW4gY2VybzogICAgMAorICA4LiBQYXJhIGRlc2ZhY2VyIGFjY2lvbmVzIHByZXZpYXMgcHJlbWE6ICAgICAgICAgICAgICB1ICh1IG1pbvpzY3VsbykKKyAgICAgUGFyYSBkZXNmYWNlciB082RvbG9zIGNhbWJpb3MgZHVuaGEgbGnxYSBwcmVtYTogICAgVSAoVSBtQUnaU0NVTE8pCisgICAgIFBhcmEgZGVzZmFjZS1sbyBkZXNmZWl0byBwcmVtYTogICAgICAgICAgICAgICAgICAgIENUUkwtUgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgIExFQ0NJ004gMS4zLjE6IE8gQ09NQU5ETyCrUFVUuyAoUNNSKQorCisKKyAgKiogUHJlbWEgIHAgIHBhcmEgcPNyIChwZWdhcikgZGVzcG9pcyBkbyBjdXJzb3IgbyD6bHRpbW8gcXVlIGJvcnJvdS4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIOEgcHJpbWVpcmEgbGnxYSBpbmZlcmlvciBtYXJjYWRhIGNvbiAtLS0+LgorCisgIDIuIEVzY3JpYmEgIGRkICBwYXJhIGJvcnJhLWxhIGxp8WEgZSBhbG1hY2VuYWxhIG51biByZXhpc3RybyBkbyBWaW0uCisKKyAgMy4gTW92YSBvIGN1cnNvciDhIGxp8WEgYykgcG9yIFJJQkEgZGUgb25kZSBkZWJlcu1hIGVzdGEtbGEgbGnxYSAKKyAgICAgZWxpbWluYWRhLgorCisgIDQuIFByZW1hICAgcCAgIHBhcmEgcGVnYS1sYSBsafFhIGJvcnJhZGEgcG9yIEJBSVhPIGRvIGN1cnNvci4KKworICA1LiBSZXBpdGEgb3MgcGFzb3MgMiBhIDQgcGFyYSBwb3IgdPNkYWxhcyBsafFhcyBuYSBvcmRlIGNvcnJlY3RhLgorCistLS0+IGQpIFBvZGVzIGFwcmVuZGVsYSB0aT8KKy0tLT4gYikgQSB2aW9sZXRhIOkgYXp1bCwKKy0tLT4gYykgYSBpbnRlbGl4ZW5jaWEgYXBy6W5kZXNlLAorLS0tPiBhKSBhcyByb3NhcyBzb24gdmVybWVsbGFzLgorICAgICAKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTEVDQ0nTTiAxLjMuMjogTyBDT01BTkRPIKtSRVBMQUNFuyAoVFJPQ0FSKQorCisKKyAgKiogUHJlbWEgIHJ4ICBwYXJhIHRyb2NhLWxvIGNhcuFjdGVyIGJhaXhvIG8gY3Vyc29yIGNvbiAgeCAuICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciDhIHByaW1laXJhIGxp8WEgaW5mZXJpb3IgbWFyY2FkYSBjb24gLS0tPi4KKworICAyLiBNb3ZhIG8gY3Vyc29yIHBhcmEgc2l0dWFsbyBzb2JyZSBvIHByaW1laXJvIGVycm8uCisKKyAgMy4gUHJlbWEgICByCSBlIGRlc3BvaXMgbyBjYXLhY3RlciBxdWUgZGViZXLtYSBpciBh7S4KKworICA0LiBSZXBpdGEgb3MgcGFzb3MgMiBlIDMgYXRhIHF1ZSBhIHByaW1laXJhIGxp8WEgc2V4YSBpZ3VhbCDhIHNlZ3VuZGEuCisKKy0tLT4gQ2FuZGUgZXN0aSBsaXRhIGZ1aSBlc2NyaXRhIGFsZ3XpciBwcmVtZXUgYWxnaW5oYXMgdGVjbGFzIGVxdWlib2NhZGFzIQorLS0tPiBDYW5kbyBlc3RhIGxp8WEgZm9pIGVzY3JpdGEgYWxndeluIHByZW1ldSBhbGd1bmhhcyB0ZWNsYXMgZXF1aXZvY2FkYXMhCisKKyAgNS4gQWdvcmEgcGFzZSDhIGxlY2Np824gMS4zLjMuCisKK05PVEE6IExlbWJyZSBxdWUgZGViZXLtYSBhcHJlbmRlciBwcmFjdGljYW5kby4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuMy4zOiBPIENPTUFORE8gQ0FNQklBUgorCisKKyAgKiogUGFyYSBjYW1iaWFyIGF0YSBvIGZpbmFsIGR1bmhhIHBhbGFicmEsIGVzY3JpYmEgIGNlIC4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIOEgcHJpbWVyaWEgbGnxYSBpbmZlcmlvciBtYXJjYWRhIGNvbiAtLS0+LgorCisgIDIuIFNpdPplIG8gY3Vyc29yIG5vIHUgZGUgbHVicnMuCisKKyAgMy4gRXNjcmliYSAgY2UgIGUgY29ycml4YSBhIHBhbGFicmEgKG5lc3RlIGNhc28sIGVzY3JpYmEgJ2nxYScpLgorCisgIDQuIFByZW1hIDxFU0M+IGUgbW92YSBvIGN1cnNvciBhbyBzZWd1aW50ZSBlcnJvIGEgY2FtYmlhci4KKworICA1LiBSZXBpdGEgb3MgcGFzb3MgMyBlIDQgYXRhIHF1ZSBhIHByaW1laXJhIGZyYXNlIHNleGEgaWd1YWwg4SBzZWd1bmRhLgorCistLS0+IEVzdGEgbHVicnMgdGVuIHVuaGFzIHBvdWNhcyBwc2thdnRhZCBxdWUgY29ycml4aXIgY28gY29tYW5kbyBjaGFuZ2UuCistLS0+IEVzdGEgbGnxYSB0ZW4gdW5oYXMgcG91Y2FzIHBhbGFicmFzIHF1ZSBjb3JyaXhpciBjbyBjb21hbmRvIGNhbWJpYXIuCisKKyAgVGXxYSBlbiBjb250YSBxdWUgIGNlICBlbGltaW5hIGEgcGFsYWJyYSBlIGVudHJhIG5vIG1vZG8gSW5zZXJpci4KKyAgICBjYyAgZmFpIG8gbWVzbW8gcGFyYSB0b2RhIGEgbGnxYS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuMy40OiBNwUlTIENBTUJJT1MgVVNBTkRPICBjCisKKworICAqKiBPIG9wZXJhZG9yIGNhbWJpbyB1dGls7Xphc2UgY29zIG1lc21vcyBtb3ZlbWVudG9zIHF1ZSBib3JyYXIuICoqCisKKyAgMS4gTyBvcGVyYWRvciBjYW1iaW8gZnVuY2lvbmEgZG8gbWVzbW8geGVpdG8gcXVlIGJvcnJhci4gTyBmb3JtYXRvIOk6CisKKyAgICAgICBjICAgW276bWVyb10gICBtb3ZlbWVudG8KKworICAyLiBPcyBtb3ZlbWVudG9zIHNvbiB0YW3pbiBvcyBtZXNtb3MsIGNvbW8gIHcgKHBhbGFicmEpIG91IAorICAkIChmaW4gZGEgbGnxYSkuCisKKyAgMy4gTW92YSBvIGN1cnNvciDhIHByaW1laXJhIGxp8WEgaW5mZXJpb3Igc2luYWxhZGEgY29uIC0tLT4uCisKKyAgNC4gTW92YSBvIGN1cnNvciBhbyBwcmltZWlybyBlcnJvLgorCisgIDUuIFByZW1hICBjJCAgZSBlc2NyaWJhIG8gcmVzdG8gZGEgbGnxYSBwYXJhIHF1ZSBzZXhhIGNvbW8gYSBzZWd1bmRhLAorICAgICBlIHByZW1hIDxFU0M+LgorCistLS0+IE8gZmluYWwgZGVzdGEgbGnxYSBuZWNlc2l0YSBhbGd1bmhhIGF4dWRhIHBhcmEgcXVlIHNleGEgY29tbyBhIHNlZ3VuZGEuCistLS0+IE8gZmluYWwgZGVzdGEgbGnxYSBuZWNlc2l0YSBzZXIgY29ycml4aWRvIHVzYW5kbyBvIGNvbWFuZG8gIGMkLgorCitOT1RBOiBQb2RlIHV0aWxpemEtbG8gcmV0b3JubyBkZSBjYXJybyBwYXJhIGNvcnJpeGlyIGVycm9zIG1lbnRyZXMgZXNjcmliZS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICBSRVNVTU8gREEgTEVDQ0nTTiAxLjMKKworCisgIDEuIFBhcmEgdm9sdmVyIGEgcPNyIG91IHBlZ2EtbG8gdGV4dG8gcXVlIGFjYWJhIGRlIGJvcnJhcnNlLAorICAgICBlc2NyaWJhICBwIC4gSXN0byBwZWdhIG8gdGV4dG8gZGVzcG9pcyBkbyBjdXJzb3IgKHNlIGJvcnJvdSB1bmhhCisgICAgIGxp8WEsIGFvIHBlZ2FsYSwgZXN0YSBzaXR1YXLhc2UgbmEgbGnxYSBiYWl4byBkbyBjdXJzb3IpLgorCisgIDIuIFBhcmEgdHJvY2EtbG8gY2Fy4WN0ZXIgYmFpeG8gZG8gY3Vyc29yLCBwcmVtYSAgciAgZSBsb2dvIG8KKyAgICAgY2Fy4WN0ZXIgcXVlIHF1ZXJlIHF1ZSBlc3RlYSBubyBzZXUgbHVnYXIuCisKKyAgMy4gTyBvcGVyYWRvciBjYW1iaW8gcGVybe10ZWxsZSBjYW1iaWFyIGRlbmRlIGEgcG9zaWNp824gZG8gY3Vyc29yCisgICAgIGF0YSBvbmRlIGxldmUgbyBtb3ZlbWVudG8gaW5kaWNhZG8uIFBvciBleGVtcGxvLCBwcmVtYSAgY2UKKyAgICAgcGFyYSBjYW1iaWFyIGRlbmRlIG8gY3Vyc29yIGF0YSBvIGZpbmFsIGRhIHBhbGFicmEsIG91ICBjJAorICAgICBwYXJhIGNhbWJpYXIgYXRhIG8gZmluYWwgZGEgbGnxYS4KKworICA0LiBPIGZvcm1hdG8gcGFyYSBjYW1iaW8g6ToKKworCSBjICAgW276bWVyb10gICBtb3ZlbWVudG8KKworICBQYXNlIGFnb3JhIOEgbGVjY2nzbiBzZWd1aW50ZS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgIExFQ0NJ004gMS40LjE6IFVCSUNBQ0nTTiBETyBDVVJTT1IgRSBFU1RBRE8gRE8gQVJRVUlWTworCisKKyAgKiogUHJlbWEgQ1RSTC1HIHBhcmEgbW9zdHJhLWxhIHP6YSBzaXR1YWNp824gbm8gZmljaGVpcm8gZSBtYWlsbyBlc3RhZG8uCisgICAgIFByZW1hIEcgcGFyYSBtb3ZlcnNlIGEgdW5oYSBkZXRlcm1pbmFkYSBsafFhIGRvIGZpY2hlcm8uICoqCisKK05PVEE6IExlYSBlc3RhIGxlY2Np824gZW50ZWlyYSBhbnRlcyBkZSBleGVjdXRhciBjYWxxdWVyYSBkb3MgcGFzb3MhIQorCisgIDEuIE1hbnRl8WEgcHJlbWlkYSBhIHRlY2xhIEN0cmwgZSBwcmVtYSAgZyAuIENoYW1hbW9zIGEgaXN0byBDVFJMLUcuCisgICAgIEFwYXJlY2Vy4SB1bmhhIG1lbnNheGUgbmEgcGFydGUgaW5mZXJpb3IgZGEgcOF4aW5hIGNvIG5vbWUgZG8gYXJxdWl2bworICAgICBlIGEgcG9zaWNp824gZG8gY3Vyc29yIG5vIGFycXVpdm8uIAorICAgICBMZW1icmUgbyBu+m1lcm8gZGUgbGnxYSBwYXJhIG8gcGFzbyAzLgorCitOT1RBOiBTZWljYSBwb2lkYSB2ZS1sYSBwb3NpY2nzbiBkbyBjdXJzb3Igbm8gcmVjYW50byBpbmZlcmlvciBkYSBkZXJlaXRhCisgICAgICBkYSBwYW50YWxsYS4gSXN0byBhY29udGVjZSBjYW5kbyBhIG9wY2nzbiAncnVsZXInIChyZWdyYSkgZXN04QorICAgICAgaGFiaWxpdGFkYSAoY29uc3VsdGUgIDpoZWxwICdydWxlcicgKQorCisgIDIuIFByZW1hICBHICBwYXJhIG1vdmUtbG8gY3Vyc29yIGF0YSBhIHBhcnRlIGluZmVyaW9yIGRvIGFycXVpdm8uCisgICAgIFByZW1hICBnZyAgcGFyYSBtb3ZlLWxvIGN1cnNvciBhbyBpbmljaW8gZG8gYXJxdWl2by4KKworICAzLiBFc2NyaWJhIG8gbvptZXJvIGRhIGxp8WEgbmEgcXVlIGVzdGFiYSBlIGRlc3BvaXMgIEcgLiBJc3RvCisgICAgIHRvcm5hcuFvIOEgbGnxYSBuYSBxdWUgZXN0YWJhIGN1YW5kbyBwdWxzb3UgQ1RSTC1HLgorCisgIDQuIFNlIHNlIGF0b3BhIGNvbiBzZWd1cmlkYWRlIHBhcmEgcG9kZXIgZmFjZXIgaXN0bywgCisgICAgIGV4ZWN1dGUgb3MgcGFzb3MgMSBhIDMuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuNC4yOiBPIENPTUFORE8gq1NFQVJDSLsgKEJVU0NBUikKKworCisgICoqIEVzY3JpYmEgIC8gIHNlZ3VpZG8gZHVuIHRleHRvIHBhcmEgYnVzY2EtbG8gdGV4dG8uICoqCisKKyAgMS4gRW4gbW9kbyBOb3JtYWwsIHByZW1hIG8gY2Fy4WN0ZXIgIC8gLiBG7Xhlc2UgcXVlIHRhbnRvIG8gY2Fy4WN0ZXIgIC8KKyAgICAgY29tbyBvIGN1cnNvciBhcGFyZWNlbiBuYSBkZXJyYWRlaXJhIGxp8WEgZGEgcGFudGFsbGEsIG8gbWVzbW8gcXVlCisgICAgIG8gY29tYW5kbyAgOiAuCisKKyAgMi4gRXNjcmliYSBhZ29yYSAgIGVycnJvb3IgICA8SU5UUk8+LiBFc3RhIOkgYSBwYWxhYnJhIHF1ZSBxdWVyZSBidXNjYXIuCisKKyAgMy4gUGFyYSByZXBldGktbGEgYnVzY2EgZG8gbWVzbW8gdGV4dG8gb3V0cmEgdmV6LCBzaW1wbGVtZW50ZSBwcmVtYSAgbiAuCisgICAgIFBhcmEgYnVzY2EtbG8gbWVzbW8gdGV4dG8gbmEgZGlyZWNjafNuIG9wb3N0YSwgcHJlbWEgIE4gLgorCisgIDQuIFNlIHF1ZXJlIGJ1c2NhciB1biB0ZXh0byBuYSBkaXJlY2Np824gb3Bvc3RhIChjYXJhIGEgZW5yaWJhKSwKKyAgICAgdXRpbGljZSBvIGNvbWFuZG8gID8gIGVuIHRyb3F1ZXMgZGUgIC8gLgorICAKKyAgNS4gUGFyYSByZWdyZXNhciBhbyBsdWdhciBkZSBvbmRlIHByb2NlZO1hLCBwcmVtYSAgQ1RSTC1PICAobWFudGXxYSBwdWxzYWRvCisgICAgIEN0cmwgbWVudHJlcyBwdWxzYSBhIHRlY2xhICBvKS4gUmVwaXRhIG8gcHJvY2VzbyBwYXJhIHZvbHRhciBt4WlzIGF0cuFzLgorICAgICBDVFJMLUkgdmFpIGNhcmEgYSBhZGlhbnRlLgorCistLS0+ICJlcnJyb29yIiBub24g6SBvIHhlaXRvIGNvcnJlY3RvIGRlIGVzY3JpYmlyIGVycm87IGVycnJvb3Ig6SB1biBlcnJvLgorCitOT1RBOiBDYW5kbyBhIGJ1c2NhIGNoZWdhIGFvIGZpbmFsIGRvIGFycXVpdm8sIGNvbnRpbnVhcuEgZGVuZGUgbyBjb21lem8sCisgICAgICBhZ+FzIHF1ZSBhIG9wY2nzbiAnd3JhcHNjYW4nIGVzdGVhIGRlc2FjdGl2YWRhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgTEVDQ0nTTiAxLjQuMzogQlVTQ0EgUEFSQSBDT01QUk9CQVIgUEFSyU5URVNFUworCisKKyAgKiogUHJlbWEgICUgIHBhcmEgYXRvcGEtbGEgcGFy6W50ZXNlIGNvcnJlc3BvbmRlbnRlIGEgKSxdIG91IH0gLiAqKgorCisgIDEuIFNpdPplIG8gY3Vyc29yIGVuIGN1YWxxdWVyYSBkb3MgY2Fy4WN0ZXJlcyAoLCBbIG8geyBuYSBsafFhIGluZmVyaW9yCisgICAgIHNpbmFsYWRhIGNvbiAtLS0+LgorCisgIDIuIFByZW1hIGFnb3JhIG8gY2Fy4WN0ZXIgICUgIC4KKworICAzLiBPIGN1cnNvciBtb3ZlcuFzZSDhIHBhcmVsbGEgZGUgcGVjaGUgZGEgcGFy6W50ZXNlLCBjb3JjaGV0ZQorICAgICBvdSBjaGF2ZSBjb3JyZXNwb25kZW50ZS4KKworICA0LiBQcmVtYSAgJSAgcGFyYSBtb3ZlLWxvIGN1cnNvciBhdGEgYSBvdXRyYSBwYXJlbGxhIGRvIGNhcuFjdGVyLgorCisgIDUuIE1vdmEgbyBjdXJzb3IgYSBvdXRyYSAoLCksWyxdLHsgbyB9IGUgdmV4YSBvIHF1ZSBmYWkgJSAuCisKKy0tLT4gSXN0byAoIOkgdW5oYSBsafFhIGRlIHByb2JhIGNvbiAoLCBbLCBdLCB7LCBlIH0gbmVsYS4gKSkKKworTk9UQTogSXN0byDpIG1vaSD6dGlsIG5hIGRldGVjY2nzbiBkZSBlcnJvcyBudW4gcHJvZ3JhbWEgY29uIHBhculudGVzZXMsCisgICAgIGNvcmNoZXRlcyBvdSBjaGF2ZXMgc2VuIHBhcmVsbGEuCisgICAgICAKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuNC40OiBPIENPTUFORE8gU1VCU1RJVFXNUgorCisKKyAgKiogRXNjcmliYSAgOnMvdmVsbG8vbm92by9nICBwYXJhIHN1YnN0aXR17XIgJ3ZlbGxvJyBwb3IgJ25vdm8nLiAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3Ig4SBsafFhIGluZmVyaW9yIHNpbmFsYWRhIGNvbiAtLS0+LgorCisgIDIuIEVzY3JpYmEgIDpzL2Fhcy9hcy8gIDxJTlRSTz4gLiBUZfFhIGVuIGNvbnRhIHF1ZSBlc3RlIGNvbWFuZG8gY2FtYmlhCisgICAgIHPzIG8gcHJpbWVpcm8gYWNoYWRvIC1uYSBsafFhLSBkYSBleHByZXNp824gcXVlIHF1ZXJlIGNhbWJpYXIuCisgIAorICAzLiBBZ29yYSBlc2NyaWJhICA6cy9hYXMvYS9nIC4gQW8gZW5nYWRpciBhIG9wY2nzbiAgZyAgLCBvIFZpbSBmYXLhCisgICAgIGEgc3Vic3RpdHVjafNuIGdsb2JhbCBuYSBsafFhLCBjYW1iaWFuZG8gdPNkby1sb3MgYWNoYWRvcworICAgICBkbyB0ZXJtbyAiYWFzIiBuYSBsafFhLgorCistLS0+IENvaWRvIHF1ZSBhYXMgbWVsbG9yZXMg6XBvY2FzIHBhcmEgYWFzIGZyb3JlcyBzb24gYWFzIHByaW1hdmVyYXMuCisKKyAgNC4gUGFyYSBjYW1iaWFyIGNhZGEgYWNoYWRvIGRhIGNhZGVhIGRlIGNhcuFjdGVyZXMgZW50cmUgZPphcyBsafFhczoKKyAgRXNjcmliYSAgOiMsI3MvdmVsbG8vbm92by9nICAgb25kZSAjLCMgc29uIG9zIG76bWVyb3MgZGUgbGnxYSBkbyByYW5nbworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZSBsafFhcyBvbmRlIHNlIHJlYWxpemFy4SBhIHN1YnN0aXR1Y2nzbi4KKyAgRXNjcmliYSAgOiVzL3ZlbGxvL25vdm8vZyAgICAgcGFyYSBjYW1iaWFyIGNhZGEgYWNoYWRvIGVuIHRvZG8gbyBhcnF1aXZvLgorICBFc2NyaWJhICA6JXMvdmVsbG8vbm92by9nYyAgICBwYXJhIGF0b3BhciBjYWRhIGFjaGFkbyBlbiB0b2RvIG8gYXJxdWl2bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVkaW5kbyBjb25maXJtYWNp824gcGFyYSBmYWNlLWxhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1Y2nzbiBvdSBub24uCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFU1VNTyBEQSBMRUNDSdNOIDEuNAorCisKKyAgMS4gQ1RSTC1HICBtb3N0cmEgYSBwb3NpY2nzbiBkbyBjdXJzb3Igbm8gZmljaGVpcm8gZSBtYWlsbyBzZXUgZXN0YWRvLgorICAgICAgICAgICAgIEcgIG1vdmUgbyBjdXJzb3IgYW8gZmluYWwgZG8gYXJxdWl2by4KKyAgICAgbvptZXJvICBHICBtb3ZlIG8gY3Vyc29yIGEgZXNlIG76bWVybyBkZSBsafFhLgorICAgICAgICAgICAgZ2cgIG1vdmUgbyBjdXJzb3Ig4SBwcmltZWlyYSBsafFhIGRvIGFycXVpdm8uCisKKyAgMi4gRXNjcmliaW5kbyAgLyAgc2VndWlkbyBkdW4gdGV4dG8gYnVzY2EgbyB0ZXh0byBjYXJhIGEgQURJQU5URS4KKyAgICAgRXNjcmliaW5kbyAgPyAgc2VndWlkbyBkdW4gdGV4dG8gYnVzY2EgbyB0ZXh0byBjYXJhIGEgQVRSwVMuCisgICAgIERlc3BvaXMgZHVuaGEgYnVzY2EsIHByZW1hICBuICBwYXJhIGF0b3BhciBvIGFjaGFkby4KKworICAzLiBQcmVtZW5kbyAgJSAgY2FuZG8gbyBjdXJzb3IgZXN04SBzb2JyZSAoLCksIFssXSwgeyBvIH0gbG9jYWxpemEKKyAgICAgYSBwYXJlbGxhIGNvcnJlc3BvbmRlbnRlLgorCisgIDQuIFBhcmEgY2FtYmlhciB2ZWxsbyBwb3Igbm92byBubyBwcmltZWlybyBhY2hhZG8gZHVuaGEgbGnxYSBlc2NyaWJhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnMvdmVsbG8vbm92bworICAgUGFyYSBjYW1iaWFyIHTzZG8tbG9zIHZlbGxvIHBvciBub3ZvIG51bmhhIGxp8WEgZXNjcmliYSAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cy92ZWxsby9ub3ZvL2cKKyAgIFBhcmEgY2FtYmlhciB0ZXh0byBlbnRyZSBkb3VzIG76bWVyb3MgZGUgbGnxYSBlc2NyaWJhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiMsI3MvdmVsbG8vbm92by9nCisgICBQYXJhIGNhbWJpYXIgdmVsbG8gcG9yIG5vdm8gZW4gdG9kbyBvIGZpY2hlcm8gZXNjcmliYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDolcy92ZWxsby9ub3ZvL2cKKyAgIFBhcmEgcGVkaXIgY29uZmlybWFjafNuIGVuIGNhZGEgY2FzbyBlbmdhZGEgICdjJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDolcy92ZWxsby9ub3ZvL2djCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgTEVDQ0nTTiAxLjUuMTogQ9NNTyBFWEVDVVRBUiBVTiBDT01BTkRPIEVYVEVSTk8KKworCisgICoqIEVzY3JpYmEgIDohICBzZWd1aWRvIGR1biBjb21hbmRvIGV4dGVybm8gcGFyYSBleGVjdXRhciBlc2UgY29tYW5kby4gKioKKworICAxLiBFc2NyaWJhIG8gY29ub2NpZG8gY29tYW5kbyAgOiAgcGFyYSBzaXR1YXIgbyBjdXJzb3IgYW8gZmluYWwgZGEKKyAgICAgcGFudGFsbGEuIElzdG8gcGVybWl0aXLhbGxlIGludHJvZHVjaXIgdW4gY29tYW5kby4KKworICAyLiBBZ29yYSBlc2NyaWJhIG8gY2Fy4WN0ZXIgICEgIChzaWdubyBkZSBhZG1pcmFjafNuKS4gSXN0byBwZXJtaXRpcuFsbGUKKyAgICAgZXhlY3V0YXIgY2FscXVlciBtYW5kYXRvIGRvIHNpc3RlbWEuCisKKyAgMy4gQ29tbyBleGVtcGxvIGVzY3JpYmEgIGxzICBkZXNwb2lzIGRvICEgZSBsb2dvIHByZW1hIDxJTlRSTz4uIElzdG8KKyAgICAgbW9zdHJhcuFsbGUgdW5oYSBsaXN0YSBkbyBzZXUgZGlyZWN0b3JpbywgaWd1YWwgcXVlIHNlIGVzdGl2aWVzZSBubyAKKyAgICAgc+1tYm9sbyBkbyBzaXN0ZW1hLiBTZSAgbHMgIG5vbiBmdW5jaW9uYSwgdXRpbGljZQk6IWRpciAuCisKK05PVEE6IERlc3RlIHhlaXRvIOkgcG9zaWJsZSBleGVjdXRhciBjdWFscXVlciBjb21hbmRvIGV4dGVybm8sCisgICAgICB0YW3pbiBpbmNsde1uZG8gYXJndW1lbnRvcy4KKworTk9UQTogVPNkb2xvcyBjb21hbmRvcyAgOiAgZGViZW4gZmluYWxpemFyc2UgcHJlbWVuZG8gPElOVFJPPi4KKyAgICAgIERlIGFnb3JhIGVuIGRpYW50ZSwgbm9uIHNlbXByZSBzZSBtZW5jaW9uYXLhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuNS4yOiBNwUlTIFNPQlJFIEdBUkRBUiBGSUNIRUlST1MKKworCisgICoqIFBhcmEgZ2FyZGEtbG9zIGNhbWJpb3MgZmVpdG9zIG51biBmaWNoZWlybywKKwllc2NyaWJhICA6dyBOT01FX0RFX0ZJQ0hFSVJPICoqCisKKyAgMS4gRXNjcmliYSAgOiFkaXIgIG91ICA6IWxzICBwYXJhIHZlciB1bmhhIGxpc3RhIGRvcyBhcnF1aXZvcyAKKyAgICAgZG8gc2V1IGRpcmVjdG9yaW8uCisgICAgIFhhIHNhYmUgcXVlIGRlYmUgcHVsc2FyIDxJTlRSTz4gZGVzcG9pcy4KKworICAyLiBFbGl4YSB1biBub21lIGRlIGZpY2hlaXJvIHF1ZSB0b2Rhdu1hIG5vbiBleGlzdGEsIGNvbW8gVEVTVC4KKworICAzLiBBZ29yYSBlc2NyaWJhICA6dyBURVNUICAob25kZSBURVNUIOkgbyBub21lIGRlIGZpY2hlaXJvIGVsaXhpZG8pLgorCisgIDQuIEVzdGEgYWNjafNuIGdhcmRhIHRvZG8gbyBmaWNoZWlybyAgKFZpbSBUdXRvcikgIGJhaXhvIG8gbm9tZSBURVNULgorICAgICBQYXJhIGNvbXByb2JhbG8sIGVzY3JpYmEgIDohZGlyICBvdSAgOiFscyAgZGUgbm92byBlIHZleGEKKyAgICAgbyBzZXUgZGlyZWN0b3Jpby4KKworTk9UQTogU2Ugc2HtcmEgZG8gVmltIGUgdm9sdmVyYSBhIGVudHJhciBkZSBub3ZvIGNvbiAgdmltIFRFU1QgLCBvCisgICAgICBhcnF1aXZvIHNlcu1hIHVuaGEgY29waWEgZXhhY3RhIGRvIHR1dG9yaWFsIGN1YW5kbyBvIGd1YXJkb3UuCisKKyAgNS4gQWdvcmEsIGVsaW1pbmUgbyBhcnF1aXZvIGVzY3JpYmluZG8gKFdpbmRvd3MpOiAgOiFkZWwgVEVTVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdSAoVW5peCk6ICA6IXJtIFRFU1QKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuNS4zOiBTRUxFQ0NJT05BUiBURVhUTyBQQVJBIEdBUkRBUgorCisKKyAgKiogUGFyYSBnYXJkYXIgcGFydGUgZG8gYXJxdWl2bywgZXNjcmliYSAgdiAgbW92ZW1lbnRvICA6dyBhcnF1aXZvICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciBhIGVzdGEgbGnxYS4KKworICAyLiBQcmVtYSAgdiAgZSBtb3ZhIG8gY3Vyc29yIGF0YSBvIHF1aW50byBlbGVtZW50byBpbmZlcmlvci4gVmV4YSBxdWUKKyAgICAgbyB0ZXh0byDpIHNhbGllbnRhZG8uCisKKyAgMy4gUHJlbWEgbyBjYXLhY3RlciAgOiAgTmEgcGFydGUgaW5mZXJpb3IgZGEgcGFudGFsbGEgYXBhcmVjZXLhCisgICAgIDonPCwnPgorCisgIDQuIFByZW1hICB3IFRFU1QgICwgb25kZSBURVNUIOkgdW4gbm9tZSBkZSBhcnF1aXZvIHF1ZSBh7W5kYSBub24gZXhpc3RlLgorICAgICBWZXJpZmlxdWUgcXVlIHZlICA6JzwsJz53IFRFU1QgIGFudGVzIGRlIHByZW1lciA8SU5UUk8+LgorCisgIDUuIFZpbSBlc2NyaWJpcuEgYXMgbGnxYXMgc2VsZWNjaW9uYWRhcyBubyBhcnF1aXZvIFRFU1QuIFV0aWxpY2UKKyAgICAgOiFkaXIgIG8gIDohbHMgIHBhcmEgdmVsby4gTm9uIG8gZWxpbWluZSB0b2Rhdu1hISBVdGlsaXphcultb2xvCisgICAgIG5hIHNlZ3VpbnRlIGxlY2Np824uCisKK05PVEE6IEFvIHB1bHNhciAgdiAgaW5pY2nhIGEgc2VsZWNjafNuIHZpc3VhbC4gUG9kZSBtb3ZlLWxvIGN1cnNvciBwYXJhCisgICAgICBmYWNlLWxhIHNlbGVjY2nzbiBt4WlzIGdyYW5kZSBvdSBwZXF1ZW5hLiBEZXNwb2lzLCBwb2RlIHV0aWxpemFyIHVuCisgICAgICBvcGVyYWRvciBwYXJhIGZhY2VyIGFsZ28gY28gdGV4dG8uIFBvciBleGVtcGxvLCAgZCAgZWxpbWluYXLhCisgICAgICBvIHRleHRvIHNlbGVjY2lvbmFkby4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgTEVDQ0nTTiAxLjUuNDogUkVDVVBFUkFORE8gRSBNRVNUVVJBTkRPIEZJQ0hFSVJPUworCisKKyAgKiogUGFyYSBpbnNlcmktbG8gY29udGlkbyBkdW4gZmljaGVpcm8gZXNjcmliYSAgOnIgTk9NRV9ET19GSUNIRUlSTyAqKgorCisgIDEuIFNpdPplIG8gY3Vyc29yIHh1c3RvIHBvciByaWJhIGRlc3RhIGxp8WEuCisKK05PVEE6IERlc3BvaXMgZGUgZXhlY3V0YXIgbyBwYXNvIDIgdmVy4SBvIHRleHRvIGRhIGxlY2Np824gMS41LjMuIERlc3BvaXMKKyAgICAgIERFU0NFTkRBIGF0YSB2ZXIgZGUgbm92byBlc3RhIGxlY2Np824uCisKKyAgMi4gQWdvcmEgcmVjdXBlcmUgbyBhcnF1aXZvIFRFU1QgdXRpbGl6YW5kbyBvIGNvbWFuZG8gIDpyIFRFU1QgICwgb25kZQorICAgICBURVNUIOkgbyBub21lIHF1ZSB2ZW4gZGUgdXRpbGl6YXIuCisgICAgIE8gYXJxdWl2byBxdWUgcmVjdXBlcm91IGNvbG9jYXLhc2UgZW1iYWl4byBkYSBsafFhIG9uZGUgc2UgYXRvcGUKKyAgICAgbyBjdXJzb3IuCisKKyAgMy4gUGFyYSB2ZXJpZmljYXIgcXVlIHNlIHJlY3VwZXJvdSBvIGFycXVpdm8sIHN1YmEgbyBjdXJzb3IgZSAKKyAgICAgY29tcHJvYmUgcXVlIGFnb3JhIGhhaSBk+mFzIGNvcGlhcyBkYSBsZWNjafNuIDEuNS4zLCBhIG9yaXhpbmFsIGUKKyAgICAgbWFpbGEgdmVyc2nzbiBkbyBhcnF1aXZvLgorCitOT1RBOiBUYW3pbiBwb2RlIGxlLWxhIHNh7WRhIGR1biBjb21hbmRvIGV4dGVybm8uIFBvciBleGVtcGxvLAorICAgICAgICA6ciAhbHMgIGxlIGEgc2HtZGEgZG8gY29tYW5kbyBscyBlIHDpZ2FvIGJhaXhvIGRhIGxp8WEKKyAgICAgIG9uZGUgc2UgYXRvcGEgbyBjdXJzb3IuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICAgICAgICBSRVNVTU8gREEgTEVDQ0nTTiAxLjUKKworCisgIDEuIDohY29tYW5kbyAgZXhlY3V0YSB1biBjb21hbmRvIGV4dGVybm8uCisgICAgIEFsZ3VucyBleGVtcGxvcyD6dGlsZXMgc29uOgorICAgICAoV2luZG93cykgICAgIChVbml4KQorCSAgOiFkaXIgICAgICAgICAgOiFscyAgICAgICAgICAgLSAgbW9zdHJhIG8gY29udGlkbyBkdW4gZGlyZWN0b3Jpby4KKwkgIDohZGVsIGFycXVpdm8gIDohcm0gYXJxdWl2byAgIC0gIGJvcnJhIG8gZmljaGVpcm8gYXJxdWl2by4KKworICAyLiA6dyBhcnF1aXZvIGVzY3JpYmUgbyBhcnF1aXZvIGFjdHVhbCBubyBkaXNjbyBjbyBub21lIGRlIGFycXVpdm8uCisKKyAgMy4gdiBtb3ZlbWVudG8gIDp3IGFycXVpdm8gIGd1YXJkYSBhcyBsafFhcyBzZWxlY2Npb25hZGFzIHZpc3VhbG1lbnRlCisgICAgIG5vIGFycXVpdm8gYXJxdWl2by4KKworICA0LiA6ciBhcnF1aXZvICByZWN1cGVyYSBkbyBkaXNjbyBvIGFycXVpdm8gYXJxdWl2byBlIHDpZ2FvIGVtYmFpeG8KKyAgICAgZGEgcG9zaWNp824gZG8gY3Vyc29yLgorCisgIDUuIDpyICFkaXIgIGxlIGEgc2HtZGEgZG8gY29tYW5kbyBkaXIgZSBw6WdhbyBlbWJhaXhvIGRhCisgICAgIHBvc2ljafNuIGRvIGN1cnNvci4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuNi4xOiBPIENPTUFORE8gq09QRU67IChBQlJJUikKKworCisgICoqIFByZW1hICBvICBwYXJhIGFicmlyIHVuaGEgbGnxYSBlbWJhaXhvIGRvIGN1cnNvcgorICBlIHNpdHVhcnNlIG5vIG1vZG8gaW5zZXJpciAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3Ig4SBsafFhIGluZmVyaW9yIHNpbmFsYWRhIGNvbiAtLS0+LgorCisgIDIuIFByZW1hIGEgbGV0cmEgbWlu+nNjdWxhICBvICBwYXJhIGFicmlyIHVuaGEgbGnxYSBwb3IgRU1CQUlYTyBkbyBjdXJzb3IKKyAgICAgZSBzaXR1YXJzZSBlbiBtb2RvIEluc2VyaXIuCisgIAorICAzLiBBZ29yYSwgZXNjcmliYSBhbGf6biB0ZXh0bywgZSBkZXNwb2lzIHByZW1hIDxFU0M+IHBhcmEgc2HtciBkbyBtb2RvCisgICAgIEluc2VyaXIuCisKKy0tLT4gRGVzcG9pcyBkZSBwdWxzYXIgIG8gICwgbyBjdXJzb3Igc2l0+mFzZSBuYSBsafFhIGFiZXJ0YSBlbiBtb2RvIEluc2VyaXIuCisKKyAgNC4gUGFyYSBhYnJpciB1bmhhIGxp8WEgcG9yIFJJQkEgZG8gY3Vyc29yLCBzaW1wbGVtZW50ZSBwcmVtYSB1biBPCisgICAgIE1BSdpTQ1VMTywgZW4gdHJvcXVlcyBkdW4gbyBtaW76c2N1bG8uIFByb2JlIGlzdG8gbmEgbGnxYSBzZWd1aW50ZS4KKworLS0tPiBBYnJhIHVuaGEgbGnxYSBzb2JyZSBlc3RhLCBwdWxzYW5kbyBPIGN1YW5kbyBvIGN1cnNvciBlc3RlYSBuZXN0YSBsafFhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgIExFQ0NJ004gMS42LjI6IE8gQ09NQU5ETyCrQVBQRU5EuyAoRU5HQURJUikKKworCisgICoqIFByZW1hICBhICBwYXJhIGluc2VyaXIgdGV4dG8gZGVzcG9pcyBkbyBjdXJzb3IuICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciBhbyBpbmljaW8gZGEgcHJpbWVpcmEgbGnxYSBpbmZlcmlvciBzaW5hbGFkYSBjb24gLS0tPi4KKworICAyLiBFc2NyaWJhICBlICBhdGEgcXVlIG8gY3Vyc29yIGVzdGVhIGFvIGZpbmFsIGRlICBsaSAuCisKKyAgMy4gRXNjcmliYSB1biAgYSAgKG1pbvpzY3VsbykgcGFyYSBlbmdhZGlyIHRleHRvIGRlc3BvaXMgZG8gY3Vyc29yLgorCisgIDQuIENvbXBsZXRlIGEgcGFsYWJyYSBjb21hIG5hIGxp8WEgaW5mZXJpb3IuIFByZW1hIDxFU0M+IHBhcmEgc2HtcgorICAgICBkbyBtb2RvIEluc2VyaXIuCisgIAorICA1LiBVdGlsaWNlICBlICBwYXJhIG1vdmVyc2UgYXRhIGEgc2VndWludGUgcGFsYWJyYSBpbmNvbXBsZXRhIGUgCisgICAgIHJlcGl0YSBvcyBwYXNvcyAzIGUgNC4KKworLS0tPiBFc3RhIGxpIHBlcm1pdCBwcmFjdGkgY/NtbyBlbmdhIHRleHRvIGEgdW5oYQorLS0tPiBFc3RhIGxp8WEgcGVybWl0aXLhbGxlIHByYWN0aWNhciBj821vIGVuZ2FkaXIgdGV4dG8gYSB1bmhhIGxp8WEuCisKK05PVEE6IGEsIGkgZSBBICBlbnRyYW4gbm8gbW9kbyBJbnNlcmlyOyBhIPpuaWNhIGRpZmVyZW5jaWEg6QorICAgICAgb25kZSBzZSBjb2xvY2FuIG9zIGNhcuFjdGVyZXMgaW5zZXJpZG9zLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICBMRUNDSdNOIDEuNi4zOiBPVVRSQSBWRVJTSdNOIERFIKtSRVBMQUNFuyAoU1VCU1RJVFXNUikKKworCisgICoqIFByZW1hIHVuICBSICBNQUnaU0NVTE8gcGFyYSBzdWJzdGl0de1yIG3haXMgZHVuIGNhcuFjdGVyLiAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3Ig4SBwcmltZWlyYSBsafFhIGluZmVyaW9yIHNpbmFsYWRhIGNvbiAtLS0+LgorICAgICBNb3ZhIG8gY3Vyc29yIGFvIGluaWNpbyBkYSBwcmltZWlyYSAgeHh4IC4KKworICAyLiBBZ29yYSBwcmVtYSAgUiAgIGUgZXNjcmliYSBvIG76bWVybyBxdWUgYXBhcmVjZSBuYSBsafFhIGluZmVyaW9yLgorICAgICBJc3RvIHN1YnN0aXR1aXLhIG8gdGV4dG8gIHh4eCAuCisgIAorICAzLiBQcmVtYSA8RVNDPiBwYXJhIGFiYW5kb2EtbG8gbW9kbyBTdWJzdGl0de1yLgorICAgICBPYnNlcnZlIHF1ZSBvIHJlc3RvIGRhIGxp8WEgZmljYSBzZW4gbW9kaWZpY2FjaW9ucy4KKworICA0LiBSZXBpdGEgb3MgcGFzb3MgcGFyYSBzdWJzdGl0de0tbG8gdGV4dG8gIHh4eCAgcXVlIHF1ZWRhLgorCistLS0+IFN1bWFyIDEyMyBhIHh4eCBkYSB1biByZXN1bHRhZG8gZGUgeHh4LgorLS0tPiBTdW1hciAxMjMgYSA0NTYgZGEgdW4gcmVzdWx0YWRvIGRlIDU3OS4KKworTk9UQTogTyBtb2RvIFN1YnN0aXR17XIg6SBjb21vIG8gbW9kbyBJbnNlcmlyLCBwZXJvIGNhZGEgY2Fy4WN0ZXIgZXNjcml0bworICAgICAgZWxpbWluYSB1biBjYXLhY3RlciB4YSBleGlzdGVudGUuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgTEVDQ0nTTiAxLjYuNDogQ09QSUFSIEUgUEVHQVIgVEVYVE8KKworCisgICoqIFV0aWxpY2UgbyBvcGVyYWRvciAgZSAgcGFyYSBjb3BpYXIgdGV4dG8gZSAgcCAgcGFyYSBwZWdhbG8uICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciDhIGxp8WEgaW5mZXJpb3IgbWFyY2FkYSBjb24gLS0tPiBlIHBvc2ljaW9uZSBvIAorICAgICBjdXJzb3IgZGVzcG9pcyBkZSAiYSkiLiAKKworICAyLiBJbmljaWUgbyBtb2RvIFZpc3VhbCBjb24gIHYKKyAgICAgZSBtb3ZhIG8gY3Vyc29yIHh1c3RvIGFudGVzIGRlICJwcmltZWlybyIuCisKKyAgMy4gUHJlbWEgIGUgIHBhcmEgY29waWFyICireWFua7spIG8gdGV4dG8gc2FsaWVudGFkby4KKworICA0LiBNb3ZhIG8gY3Vyc29yIGFvIGZpbmFsIGRhIHNlZ3VpbnRlIGxp8WEgbWVkaWFudGU6ICBqJAorCisgIDUuIFByZW1hICBwICBwYXJhIHDzciAocGVnYXIpIG8gdGV4dG8uIERlc3BvaXMgZXNjcmliYTogbyBzZWd1bmRvIDxFU0M+LgorCisgIDYuIFV0aWxpY2UgbyBtb2RvIHZpc3VhbCBwYXJhIHNlbGVjY2lvbmFyICIgZWxlbWVudG8uIiwgZSBj83BpZW8gY29uICB5LgorICAgICBNb3ZhIG8gY3Vyc29yIGFvIGZpbmFsIGRhIHNlZ3VpbnRlIGxp8WEgY29uIGokICBlIHBlZ3VlIG8gdGV4dG8KKyAgICAgeHVzdG8gYWNhYmFkbyBkZSBjb3BpYXIgY29uICBwIC4KKworLS0tPiAgYSkgZXN0ZSDpIG8gcHJpbWVpcm8gZWxlbWVudG8uCisgICAgICBiKQorCitOT1RBOiBUYW3pbiBwb2RlIHV0aWxpemFyICBlICBjb21vIHVuIG9wZXJhZG9yOiAgeXcgIGNvcGlhIHVuaGEgcGFsYWJyYSwKKyAgICAgIHl5ICBjb3BpYSBhIGxp8WEgY29tcGxldGEgb25kZSBlc3ThIG8gY3Vyc29yOyBkZXNwb2lzICBwICBwZWdhcuEKKyAgICAgIGVzYSBsafFhLgorICAgIAorIAorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTEVDQ0nTTiAxLjYuNTogQUNUSVZBUiAoq1NFVLspIFVOSEEgT1BDSdNOCisKKworICAqKiBBY3RpdmUgdW5oYSBvcGNp824gcGFyYSBidXNjYXIgb3Ugc3Vic3RpdHXtciBpZ25vcmFuZG8KKyAgc2UgbyB0ZXh0byBlc3ThIGVuIE1BSdpTQ1VMQVMgb3UgbWlu+nNjdWxhcyAqKgorCisgIDEuIEJ1c3F1ZSBhIGNhZGVhIGRlIHRleHRvICdpZ25vcmFyJyBlc2NyaWJpbmRvOiAgL2lnbm9yYXIgPElOVFJPPgorICAgICBSZXBpdGEgYSBidXNjYSB2YXJpYXMgdmVjZXMgcHVsc2FuZG8gIG4gLgorCisgIDIuIEFjdGl2ZSBhIG9wY2nzbiAnaWMnICgiSWdub3JlIGNhc2UiIG91IGlnbm9yYXIgbWFp+nNjdWxhcyBlIG1pbvpzY3VsYXMpIAorICAgICBtZWRpYW50ZTogIDpzZXQgaWMKKworICAzLiBBZ29yYSwgYnVzcXVlIGRlIG5vdm8gJ2lnbm9yYXInIHB1bHNhbmRvICBuIC4KKyAgICAgT2JzZXJ2ZSBxdWUgYWdvcmEgdGFt6W4gc2UgYWNoYSBJZ25vcmFyIGUgSUdOT1JBUi4KKworICA0LiBBY3RpdmUgYXMgb3BjaW9ucyAnaGxzZWFyY2gnIGUgJ2luY3NlYXJjaCcgZXNjcmliaW5kbzogIDpzZXQgaGxzIGlzCisKKyAgNS4gQWdvcmEgZXNjcmliYSBkZSBub3ZvIG8gY29tYW5kbyBkZSBidXNjYQorICAgICBlIHZleGEgcXXpIGFjb250ZWNlOiAgL2lnbm9yZSA8SU5UUk8+CisKKyAgNi4gUGFyYSBpbmhhYmlsaXRhciBvdSBpZ25vcmFyIGEgZGlzdGluY2nzbiBlbnRyZSBNQUnaU0NVTEFTIGUgbWlu+nNjdWxhcyAgICAgCisgICAgIGVzY3JpYmE6ICA6c2V0IG5vaWMKKworTk9UQTogIFBhcmEgZWxpbWluYS1sbyBzYWxpZW50YWRvIGRhcyBjb2luY2lkZW5jaWFzIGVzY3JpYmE6ICA6bm9obHNlYXJjaAorTk9UQTogIFNlIHF1ZXJlIGlnbm9yYS1sYXMgTUFJ2lNDVUxBUyBlIG1pbvpzY3VsYXMsIHPzIHBhcmEgdW4gY29tYW5kbworICAgICAgIGRlIGJ1c2NhLCB1dGlsaWNlICBcYyAgbmEgZnJhc2U6ICAvaWdub3JhclxjIDxJTlRSTz4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgIFJFU1VNTyBEQSBMRUNDSdNOIDEuNgorCisKKyAgMS4gRXNjcmliYSAgbyAgcGFyYSBhYnJpciB1bmhhIGxp8WEgcG9yIEJBSVhPIGRhIHBvc2ljafNuIGRvIGN1cnNvciBlIAorICAgICBlbnRyYXIgZW4gbW9kbyBJbnNlcmlyLgorICAgICBFc2NyaWJhICBPICBwYXJhIGFicmlyIHVuaGEgbGnxYSBwb3IgUklCQSBkYSBwb3NpY2nzbiBkbyBjdXJzb3IgZQorICAgICBlbnRyYXIgZW4gbW9kbyBJbnNlcmlyCisKKyAgMi4gRXNjcmliYSAgYSAgcGFyYSBpbnNlcmlyIHRleHRvIGRlc3BvaXMgZG8gY3Vyc29yLgorICAgICBFc2NyaWJhICBBICBwYXJhIGluc2VyaXIgdGV4dG8gYW8gZmluYWwgZGEgbGnxYS4KKworICAzLiBPIGNvbWFuZG8gIGUgIG1vdmUgbyBjdXJzb3IgYW8gZmluYWwgZHVuaGEgcGFsYWJyYS4KKworICA0LiBPIG9wZXJhZG9yICBlICBjb3BpYSAoq3lhbmu7KSB0ZXh0bzsgIHAgIHDpZ2FvIChwb24pLgorCisgIDUuIEFvIGVzY3JpYmlyIHVuICBSICBNQUnaU0NVTE8sIGVudHJhIG5vIG1vZG8gU3Vic3RpdHXtciBhdGEgcXVlCisgICAgIHNlIHByZW1lICA8RVNDPiAgLgorCisgIDYuIEFvIGVzY3JpYmlyICA6c2V0IHh4eCAsIGFjdO12YXNlIGEgb3BjafNuICd4eHgnLgorICAgICBBbGd1bmFzIG9wY2nzbnMgc29uOgorICAJJ2ljJyAnaWdub3JlY2FzZScJaWdub3JhciBtYWn6c2N1bGFzL21pbvpzY3VsYXMgYW8gYnVzY2FyCisJJ2lzJyAnaW5jc2VhcmNoJwlhbW9zYS1sYXMgY29pbmNpZGVuY2lhcyBwYXJjaWFpcyBwYXJhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgYnVzY2EgZHVuaGEgZnJhc2UKKwknaGxzJyAnaGxzZWFyY2gnCXNhbGllbnRhIHTzZGFsYXMgY29pbmNpZGVuY2lhcyBkYSBmcmFzZXMKKworICAgICBQb2RlIHV0aWxpemFyIHRhbnRvIG9zIG5vbWVzIGxvbmdvcyBjb21hIG9zIGN1cnRvcyBkYXMgb3BjaW9ucy4KKworICA3LiBFbmdhZGEgIm5vIiBwYXJhIGluaGFiaWxpdGFyIHVuaGEgb3BjafNuOiAgIDpzZXQgbm9pYworIAorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgTEVDQ0nTTiA3OiBPQlRFUiBBWFVEQQorCisKKyAgKiogVXRpbGljZSBvIHNpc3RlbWEgZGUgYXh1ZGEgZW4gbGnxYSAqKgorCisgIE8gVmltIGRpc3DzbiBkdW4gc2lzdGVtYSBkZSBheHVkYSBlbiBsafFhLiBQYXJhIGNvbWV6YXIsIHByb2JlIHVuaGEKKyAgZGVzdGFzIHRyZXMgZm9ybWFzOgorCS0gcHJlbWEgYSB0ZWNsYSA8QVhVREE+IChzZSBkaXNw824gZGVsYSkKKwktIHByZW1hIGEgdGVjbGEgPEYxPiAoc2UgZGlzcPNuIGRlbGEpCisJLSBlc2NyaWJhICA6aGVscCA8SU5UUk8+CisKKyAgTGVhIG8gdGV4dG8gbmEgeGFuZWxhIGRlIGF4dWRhIHBhcmEgZGVzY3VicmlyIGPzbW8gZnVuY2lvbmEgYSBheHVkYS4KKyAgRXNjcmliYSAgQ1RSTC1XIENUUkwtVyAgcGFyYSBjaGltcGFyIGR1bmhhIHhhbmVsYSBhIG91dHJhLgorICBFc2NyaWJhICA6cSA8SU5UUk8+ICBwYXJhIHBlY2hhciBhIHhhbmVsYSBkZSBheHVkYS4KKworICBQb2RlIGF0b3BhciBheHVkYSBlbiBjYXNlIGNhbHF1ZXIgdGVtYSBlbmdhZGluZG8gdW4gYXJndW1lbnRvIGFvCisgIGNvbWFuZG8gIDpoZWxwIC4gUHJvYmUgZXN0ZXMgKG5vbiBlc3F1ZXphIHByZW1lciA8SU5UUk8+KToKKworICA6aGVscCB3IAorICA6aGVscCBjX0NUUkwtRAorICA6aGVscCBpbnNlcnQtaW5kZXggCisgIDpoZWxwIHVzZXItbWFudWEKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMRUNDSdNOIDEuNy4yOiBDUkVBUiBVTiBTQ1JJUFQgREUgSU5JQ0lPCisKKworICAqKiBIYWJpbGl0YXIgZnVuY2lvbmFsaWRhZGVzIG5vIFZpbSAqKgorCisgIE8gVmltIHRlbiBtb2l0YXMgbeFpcyBmdW5jaW9uYWxpZGFkZXMgcXVlIG8gVmksIHBlcm8gYWxndW5oYXMgZXN04W4KKyAgaW5oYWJpbGl0YWRhcyBkZSB4ZWl0byBwcmVkZXRlcm1pbmFkby4KKyAgUGFyYSBlbXBlemFyIGEgdXRpbGl6YXIgbeFpcyBmdW5jaW9uYWxpZGFkZXMgZGViZXLtYSBjcmVhciB1biBhcnF1aXZvCisgIGNoYW1hZG8gInZpbXJjIi4KKworICAxLiBDb21lY2UgYSBlZGl0YS1sbyBhcnF1aXZvICJ2aW1yYyIuIElzdG8gZGVwZW5kZSBkbyBzZXUgc2lzdGVtYToKKwk6ZSB+Ly52aW1yYwkJcGFyYSBVbml4CisJOmUgfi9fdmltcmMJCXBhcmEgV2luZG93cworCisgIDIuIEFnb3JhIGxlYSBvIGNvbnRlbmlkbyBkbyBhcnF1aXZvICJ2aW1yYyIgZGUgZXhlbXBsbzoKKwk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIEdhcmRlIG8gYXJxdWl2byBtZWRpYW50ZToKKwk6dworCisgIEEgcHLzeGltYSB2ZXogcXVlIGluaWNpZSBvIFZpbSwgZXN0ZSB1c2Fy4SBvIHNhbGllbnRhZG8gZGUgc2ludGF4ZS4KKyAgUG9kZSBlbmdhZGlyIHTzZG9sb3Mgc2V1cyBheHVzdGVzIHByZWZlcmlkb3MgYSBlc3RlIGFycXVpdm8gInZpbXJjIi4KKyAgUGFyYSBt4WlzIGluZm9ybWFjafNuIGVzY3JpYmEgIDpoZWxwIHZpbXJjLWludHJvCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICAgICAgIExFQ0NJ004gMS43LjM6IENPTVBMRVRBRE8KKworCisgICoqIENvbXBsZXRhZG8gZGEgbGnxYSBkZSBjb21hbmRvcyBjb24gQ1RSTC1EIG91IDxUQUI+IC4gKioKKworICAxLiBBc2Vn+nJlc2UgZGUgcXVlIG8gVmltIG5vbiBlc3ThIG5vIG1vZG8gY29tcGF0aWJsZTogIDpzZXQgbm9jcAorCisgIDIuIFZleGEgcXXpIGFycXVpdm9zIGV4aXN0ZW4gbm8gZGlyZWN0b3JpbyBjb246ICA6IWxzICBvdSAgOiFkaXIKKworICAzLiBFc2NyaWJhIG8gaW5pY2lvIGR1biBjb21hbmRvOiAgOmUKKworICA0LiBQcmVtYSAgQ1RSTC1EICBlIG8gVmltIG1vc3RyYXLhIGEgbGlzdGEgZGUgY29tYW5kb3MgcXVlIGVtcGV6YW4gY29uICJlIi4KKworICA1LiBFbmdhZGEgIGQ8VEFCPiAgZSBvIFZpbSBjb21wbGV0YXLhIG8gbm9tZSBkbyBjb21hbmRvIGEgIjplZGl0Ii4KKworICA2LiBBZ29yYSBlbmdhZGEgdW4gZXNwYWNpbyBlIG8gaW5pY2lvIGRvIG5vbWUgZHVuIGFycXVpdm86ICA6ZWRpdCBGSUwKKworICA3LiBQcmVtYSA8VEFCPi4gIFZpbSBjb21wbGV0YXLhIG8gbm9tZSAoc2Ugc/MgaGFpIHVuKS4KKworTk9UQTogIE8gY29tcGxldGFkbyBmdW5jaW9uYSBjb24gbW9pdG9zIGNvbWFuZG9zLiBT8yBwcmVtYSBDVFJMLUQgb3UKKyAgICAgICA8VEFCPi4gIMkgZXNwZWNpYWxtZW50ZSD6dGlsIHBhcmEgIDpoZWxwIC4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICBSRVNVTU8gREEgTEVDQ0nTTiAxLjcKKworCisgIDEuIEVzY3JpYmEgIDpoZWxwICBvdSBwcmVtYSA8RjE+IG91IDxIRUxQPiBwYXJhIGFicmktbGEgeGFuZWxhIGRlIGF4dWRhLgorCisgIDIuIEVzY3JpYmEgIDpoZWxwIGNtZCAgcGFyYSBhdG9wYXIgYXh1ZGEgc29icmUgIGNtZCAuCisKKyAgMy4gRXNjcmliYSAgQ1RSTC1XIENUUkwtVyAgcGFyYSBjaGltcGFyIGEgb3V0cmEgeGFuZWxhLgorCisgIDQuIEVzY3JpYmEgIDpxICBwYXJhIHBlY2hhLWxhIHhhbmVsYSBkZSBheHVkYS4KKworICA1LiBDcmVlIHVuIGZpY2hlaXJvIHZpbXJjIGRlIGluaWNpbyBwYXJhIGdhcmRhLWxvcyBzdXMgYXh1c3RlcyBwcmVmZXJpZG9zLgorCisgIDYuIEN1YW5kbyBlc2NyaWJhIHVuIGNvbWFuZG8gIDogIHByZW1hIENUUkwtRCBwYXJhIHZlciBwb3NpYmxlcyBvcGNp825zLgorICAgICBQcmVtYSA8VEFCPiBwYXJhIHV0aWxpemFyIHVuaGEgZGFzIG9wY2nzbnMgZGUgY29tcGxldGFkby4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworICBBcXXtIGNvbmNs+mUgbyB0dXRvciBkbyBWaW0uIEVzdOEgcGVuc2FkbyBwYXJhIGRhciB1bmhhIHZpc2nzbiBicmV2ZSBkbworICBlZGl0b3IgVmltLCBzdWZpY2llbnRlIHBhcmEgcGVybWl0aXJsbGUgdXNhLWxvIGVkaXRvciBkZSBmb3JtYSBiYXN0YW50ZQorICBzaW54ZWxhLiBFc3ThIG1vaSBsb254ZSBkZSBlc3RhciBjb21wbGV0byBwb2lzIG8gVmltIHRlbiBtb2l07XNpbW9zIG3haXMKKyAgY29tYW5kb3MuIExlYSBvIHNlZ3VpbnRlIG1hbnVhbCBkZSB1c3VhcmlvOiAiOmhlbHAgdXNlci1tYW51YWwiLgorCisgIFBhcmEgbGVjdHVyYXMgZSBlc3R1ZG9zIHBvc3RlcmlvcmVzLCByZWNvbeluZGFzZSBvIGxpYnJvOgorCVZpbSAtIFZpIEltcHJvdmVkIC0gZGUgU3RldmUgT3VhbGxpbmUKKwlFZGl0YWRvIHBvcjogTmV3IFJpZGVycworICBvIHByaW1laXJvIGxpYnJvIGFkaWNhZG8gY29tcGxldGFtZW50ZSBhbyBWaW0uIEVzcGVjaWFsbWVudGUg+nRpbCBwYXJhCisgIHByaW5jaXBpYW50ZXMuICBUZW4gbW9pdG9zIGV4ZW1wbG9zIGUgaW1heGVzLgorICBWZXhhIGh0dHBzOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIEVzdGUgdHV0b3JpYWwgZm9pIGVzY3JpdG8gcG9yIE1pY2hhZWwgQy4gUGllcmNlIGUgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyB1dGlsaXphbmRvIGlkZWFzIHN1Ym1pbmlzdHJhZGFzIHBvciBDaGFybGVzIFNtaXRoLAorICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LgorICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBNb2RpZmljYWRvIHBhcmEgVmltIHBvciBCcmFtIE1vb2xlbmFhci4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgIFRyYWR1Y2lkbyBkbyBpbmds6XMgYW8gZ2FsZWdvIHBvciBGZXJuYW5kbyBWaWxhcmnxby4KKyAgQ29ycmVvIGVsZWN0cvNuaWNvOiBmZXJuYW5kb0BjdmMudWFiLmVzLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IxLmdsLnV0Zi04IGIvcnVudGltZS90dXRvci90dXRvcjEuZ2wudXRmLTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgyODI4OQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IxLmdsLnV0Zi04CkBAIC0wLDAgKzEsMTA0OSBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgICBCIGUgbiB2IGkgZCBvICAgYSBvICAgdCB1IHQgbyByICAgZCBvICAgViBJIE0gICAgICAtICAgIFZlcnNpw7NuIDEuNyAgICAgPQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisKKyAgICAgVmltIMOpIHVuIGVkaXRvciBtb2kgcG90ZW50ZSBxdWUgZGlzcMOzbiBkZSBtb2l0b3MgY29tYW5kb3MsIGRlbWFzaWFkb3MKKyAgICAgcGFyYSBzZXIgZXhwbGljYWRvcyBudW4gdHV0b3IgY29tYSBlc3RlLiBFc3RlIHR1dG9yIGVzdMOhIGRlc2XDsWFkbworICAgICBwYXJhIGRlc2NyaWJpciBjb21hbmRvcyBkYWJvbmRvIHBhcmEgcXVlIHZvc3RlZGUgc2V4YSBjYXBheiBkZQorICAgICBhcHJlbmRlciBmw6FjaWxtZW50ZSBhIHVzYS1sbyBWaW0gY29tbyB1biBlZGl0b3IgZGUgcHJvcMOzc2l0byB4ZXJhbC4KKworICAgICBPIHRlbXBvIG5lY2VzYXJpbyBwYXJhIGNvbXBsZXRhLWxvIHR1dG9yIMOpIGFwcm94aW1hZGFtZW50ZSBkZSAzMAorICAgICBtaW51dG9zLCBkZXBlbmRlbmRvIGRlIGNhbnRvIHRlbXBvIHNlIGFkaXF1ZSDDoSBleHBlcmltZW50YWNpw7NuLiAgICAgIAorCisgICAgIE9zIGNvbWFuZG9zIGRlc3RhcyBsZWNjacOzbnMgbW9kaWZpY2Fyw6FuIG8gdGV4dG8uIEZhZ2EgdW5oYSBjb3BpYSBkZXN0ZQorICAgICBmaWNoZWlybyBwYXJhIHByYWN0aWNhciAoY29uIMKrdmltdHV0b3LCuywgaXN0byB4YSDDqSB1bmhhIGNvcGlhKS4KKworICAgICDDiSBpbXBvcnRhbnRlIGxlbWJyYXIgcXVlIGVzdGUgdHV0b3IgZXN0w6EgcGVuc2FkbyBwYXJhIGVuc2luYXIgY29hIAorICAgICBwcsOhY3RpY2EuIElzdG8gc2lnbmlmaWNhIHF1ZSBjw7NtcHJlIGV4ZWN1dGEtbG9zIGNvbWFuZG9zIHBhcmEgCisgICAgIGFwcmVuZGVsb3MgYXhlaXRhZGFtZW50ZS4gU2Ugw7puaWNhbWVudGUgbGUgbyB0ZXh0bywgZXNxdWVjZXLDoW5zZWxsZQorICAgICBvcyBjb21hbmRvcyEKKworICAgICBBZ29yYSwgYXNlZ8O6cmVzZSBkZSBxdWUgYSB0ZWNsYSBkZSBibG9xdWVvIGRlIG1hacO6c2N1bGFzIE5PTiBlc3TDoQorICAgICBhY3RpdmFkYSBlIHByZW1hIGEgdGVjbGEgIGogIHBhcmEgbW92ZS1sbyBjdXJzb3IsIGRlIHhlaXRvIHF1ZSBvIHRleHRvCisgICAgIGRhIExlY2Npw7NuIDEuMS4xIGFicmFuZ2EgY29tcGxldGFtZW50ZSBhIHBhbnRhbGxhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgICAgICBMRUNDScOTTiAxLjEuMTogTU9WRS1MTyBDVVJTT1IKKworCisgKiogUGFyYSBtb3ZlLWxvIGN1cnNvciwgcHJlbWEgYXMgdGVjbGFzIGgsaixrLGwgZG8geGVpdG8gaW5kaWNhZG8uICoqCisgICAgICBeCisgICAgICBrICAgICAgIEluZGljYWNpw7NuOiBBIHRlY2xhIGggZXN0w6Egw6EgZXNxdWVyZGEsIGUgbcOzdmVvIMOhIGVzcXVlcmRhLgorIDwgaAkgbCA+CQkgIEEgdGVjbGEgbCBlc3TDoSDDoSBkZXJlaXRhLCBlIG3Ds3ZlbyDDoSBkZXJlaXRhLgorICAgICAgagkJCSAgQSB0ZWNsYSBqIHNlbWVsbGEgdW5oYSBmcmVjaGEgZSBhcHVudGEgCisgICAgICB2ICAgICAgICAgICAgICAgICAgICBjYXJhIGEgZW1iYWl4by4gCisKKyAgMS4gTW92YSBvIGN1cnNvciBwb2xhIHBhbnRhbGxhIGF0YSBxdWUgc2ludGEgY29tb2RpZGFkZSBmYWNlbmRvIGEgYWNjacOzbi4KKworICAyLiBNYW50ZcOxYSBwcmVtaWRhIGEgdGVjbGEgIGogIGF0YSBxdWUgc2UgcmVwaXRhIGF1dG9tw6F0aWNhbWVudGUuCisgICAgIEFnb3JhIHhhIHNhYmUgY29tbyBjaGVnYXIgw6EgbGVjY2nDs24gc2VndWludGUuCisKKyAgMy4gVXRpbGl6YW5kbyBhIHRlY2xhIGFiYWl4bywgdmFpYSDDoSBsZWNjacOzbiAxLjEuMi4KKworTk9UQTogU2UgYWxndW5hIHZleiBub24gZXN0w6Egc2VndXJvIHNvYnJlIGFsZ28gcXVlIHRlY2xlYXJhLCBwcmVtYSA8RVNDPgorICAgICAgcGFyYSBzaXR1YXJzZSBubyBtb2RvIE5vcm1hbC4gTG9nbywgdm9sdmEgYSB0ZWNsZWFyIGEgb3JkZSBxdWUgZGVzZXhhYmEuCisKK05PVEE6IEFzIHRlY2xhcyBkZSBtb3ZlbWVudG8gZG8gY3Vyc29yIHRhbcOpbiBmdW5jaW9uYW4uIFBlcm8gdXNhbmRvIGhqa2wKKyAgICAgIHBvZGVyw6EgbW92ZXJzZSBtb2l0byBtw6FpcyByw6FwaWRvIHVuaGEgdmV6IHF1ZSBzZSBhY29zdHVtZS4KKyAgICAgIERlIHZlcmRhZGUhCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMS4yOiBTQcONUiBETyBWSU0KKworCitOT1RBOiBBbnRlcyBkZSBleGVjdXRhciBhbGfDum4gZG9zIHNlZ3VpbnRlcyBwYXNvcywgbGVhIHByaW1laXJvIGEgbGVjY2nDs24KKyAgICAgIGVudGVpcmEhIQorCisgIDEuIFByZW1hIGEgdGVjbGEgPEVTQz4gKHBhcmEgYXNlZ3VyYXJzZSBkZSBxdWUgZXN0w6Egbm8gbW9kbyBOb3JtYWwpLgorCisgIDIuIEVzY3JpYmE6ICA6cSEgPElOVFJPPgorICAgICBJc3RvIHByb3ZvY2EgYSBzYcOtZGEgZG8gZWRpdG9yIFJFWEVJVEFORE8gY2FscXVlciBjYW1iaW8gcXVlIGZvcmEgZmVpdG8uCisKKyAgMy4gUmVncmVzZSBlaXF1w60gZXhlY3V0YW5kbyBvIGNvbWFuZG8gcXVlIG8gdHJvdXhvIGEgZXN0ZSB0dXRvci4KKyAgICAgRXN0ZSBwdWlkbyBzZXI6ICAgdmltdHV0b3IgPElOVFJPPgorCisgIDQuIFNlIG1lbW9yaXpvdSBlc3RlcyBwYXNvcywgZSBzZSBzaW50ZSBjb24gY29uZmlhbnphLCBleGVjdXRlIG9zCisgICAgIHBhc29zIGRvIDEgYW8gMyBwYXJhIHNhw61yIGUgdm9sdmVyIGEgZW50cmFyIGFvIGVkaXRvci4gCisKK05PVEE6IDpxISA8SU5UUk8+IGRlc2NhcnRhIGN1YWxxdWVyIGNhbWJpbyBxdWUgcmVhbGl6YXJhLgorICAgICAgRW4gcHLDs3hpbWFzIGxlY2Npw7NucywgYXByZW5kZXLDoSBjb21vIGdhcmRhLWxvcyBjYW1iaW9zIG51biBhcnF1aXZvLgorCisgIDUuIE1vdmEgbyBjdXJzb3IgYXRhIGEgTGVjY2nDs24gMS4xLjMuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICBMRUNDScOTTiAxLjEuMzogRURJVEFSIFRFWFRPIC0gQk9SUkFSCisKKworICAqKiBQcmVtYSAgeCAgcGFyYSBlbGltaW5hLWxvIGNhcsOhY3RlciBiYWl4byBvIGN1cnNvci4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIMOhIGxpw7FhIGRlIGVtYmFpeG8gc2luYWxhZGEgY29uIC0tLT4uCisKKyAgMi4gUGFyYSBjb3JyaXhpLWxvcyBlcnJvcywgbW92YSBvIGN1cnNvciBhdGEgcXVlIGVzdGVhIHNvYnJlIG8KKyAgICAgY2Fyw6FjdGVyIHF1ZSB2YWkgc2VyIGJvcnJhZG8uCisKKyAgMy4gUHJlbWEgYSB0ZWNsYSAgeCAgcGFyYSBlbGltaW5hLWxvIGNhcsOhY3RlciBub24gZGVzZXhhZG8uCisKKyAgNC4gUmVwaXRhIG9zIHBhc29zIDIgYSA0IGF0YSBxdWUgYSBmcmFzZSBzZXhhIGEgY29ycmVjdGEuCisKKy0tLT4gQSB2dmFjYSBzYWx0b29vb291IHNvb2JyZWUgYWEgbMO6w7rDusO6w7rDusO6YS4KKworICA1LiBBZ29yYSBxdWUgYSBsacOxYSBlc3TDoSBjb3JyZWN0YSwgY29udGluw7plIGNvYSBMZWNjacOzbiAxLjEuNC4KKworTk9UQTogQSBtZWRpZGEgcXVlIHZhaWEgYXZhbnphbmRvIG5lc3RlIHR1dG9yLCBub24gdGVudGUgbWVtb3JpemFyLAorICAgICAgYXByZW5kYSBwcmFjdGljYW5kby4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMS40OiBFRElUQVIgVEVYVE8gLSBJTlNFUklSCisKKworICAqKiBQcmVtYSAgaSAgcGFyYSBpbnNlcmlyIHRleHRvLiAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3Igw6EgcHJpbWVpcmEgbGnDsWEgZGUgZW1iYWl4byBzaW5hbGFkYSBjb24gLS0tPi4KKworICAyLiBQYXJhIGZhY2VyIHF1ZSBhIHByaW1laXJhIGxpw7FhIHNleGEgaWd1YWwgY2Egc2VndW5kYSwgbW92YSBvIGN1cnNvciAKKyAgICAgYXRhIHF1ZSBlc3RlYSBzb2JyZSBvIGNhcsOhY3RlciBBTlRFUyBkbyB0ZXh0byBxdWUgdmFpIHNlciBpbnNlcmlkby4KKworICAzLiBQcmVtYSAgaSAgZSBlc2NyaWJhIG9zIGNhcsOhY3RlcmVzIGEgZW5nYWRpci4KKworICA0LiBBIG1lZGlkYSBxdWUgc2V4YSBjb3JyaXhpZG8gY2FkYSBlcnJvLCBwcmVtYSA8RVNDPiBwYXJhIHZvbHZlciBhbyBtb2RvCisgICAgIE5vcm1hbC4gUmVwaXRhIG9zIHBhc29zIDIgYSA0IHBhcmEgY29ycml4aS1sYSBmcmFzZS4KKworLS0tPiBGbHRhIHRleHRvIG5lc3RhIC4KKy0tLT4gRmFsdGEgYWxnbyBkZSB0ZXh0byBuZXN0YSBsacOxYS4KKworICA1LiBDdWFuZG8gc2Ugc2ludGEgY29uIGNvbW9kaWRhZGUgaW5zZXJpbmRvIHRleHRvLCBwYXNlIMOhIGxlY2Npw7NuIDEuMS41LgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMS41OiBFRElUQVIgVEVYVE8gLSBFTkdBRElSCisKKworICAqKiBQcmVtYSAgQSAgcGFyYSBlbmdhZGlyIHRleHRvLiAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3Igw6EgcHJpbWVpcmEgbGnDsWEgaW5mZXJpb3IgbWFyY2FkYSBjb24gLS0tPi4KKyAgICAgTm9uIGltcG9ydGEgc29icmUgcXXDqSBjYXLDoWN0ZXIgZXN0ZWEgbyBjdXJzb3IgbmVzdGEgbGnDsWEuCisKKyAgMi4gUHJlbWEgIEEgIGUgZXNjcmliYSBvIHRleHRvIG5lY2VzYXJpby4KKworICAzLiBDdWFuZG8gbyB0ZXh0byBlc3RlYSBlbmdhZGlkbywgcHJlbWEgPEVTQz4gcGFyYSB2b2x2ZXIgYW8gbW9kbyBOb3JtYWwuCisKKyAgNC4gTW92YSBvIGN1cnNvciDDoSBzZWd1bmRhIGxpw7FhIG1hcmNhZGEgY29uIC0tLT4gZSByZXBpdGEgb3MgcGFzb3MgMiBlIDMKKyAgICAgcGFyYSBjb3JyaXhpciBlc3RhIGZyYXNlLgorCistLS0+IEZhbHRhIGFsZ8O6biB0ZXh0byBuZXMKKyAgICAgRmFsdGEgYWxnw7puIHRleHRvIG5lc3RhIGxpw7FhLgorLS0tPiBUYW3DqW4gZmFsdGEgYWxnCisgICAgIFRhbcOpbiBmYWx0YSBhbGfDum4gdGV4dG8gZWlxdcOtLgorCisgIDUuIEN1YW5kbyBzZSBzaW50YSBjb24gY29tb2RpZGFkZSBlbmdhZGluZG8gdGV4dG8sIHBhc2Ugw6EgbGVjY2nDs24gMS4xLjYuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICAgTEVDQ0nDk04gMS4xLjY6IEVESVRBUiBVTiBBUlFVSVZPCisKKworICAqKiBVc2UgIDp3cSAgcGFyYSBnYXJkYXIgdW4gYXJxdWl2byBlIHNhw61yICoqCisKK05PVEE6IEFudGVzIGRlIGV4ZWN1dGFyIG9zIHNlZ3VpbnRlcyBwYXNvcywgbGVhIGEgbGVjY2nDs24gZW50ZWlyYSEhCisKKyAgMS4gIFNlIHRlbiBhY2Nlc28gYSBvdXRyYSB0ZXJtaW5hbCwgZmFnYSBvcyBzZWd1aW50ZXMgcHVudG9zIG5lbGEuCisgICAgICBTZSBub24gw6kgYXPDrSwgc2FpYSBkZXN0ZSB0dXRvciBjb21vIGZpeG8gbmEgbGVjY2nDs24gMS4xLjI6ICA6cSEKKworICAyLiBObyBzw61tYm9sbyBkbyBzaXN0ZW1hIGVzY3JpYmEgZXN0ZSBjb21hbmRvOiAgdmltIGFycXVpdm8udHh0IDxJTlRSTz4KKyAgICAgJ3ZpbScgw6kgbyBjb21hbmRvIHBhcmEgYXJyaW5jYXIgbyBlZGl0b3IgVmltLAorICAgICAnYXJxdWl2by50eHQnIMOpIG8gbm9tZSBkbyBhcnF1aXZvIHF1ZSBxdWVyZSBlZGl0YXIuCisgICAgIFV0aWxpY2UgbyBub21lIGR1biBhcnF1aXZvIHF1ZSBwb2lkYSBjYW1iaWFyLgorCisgIDMuIEluc2lyYSBlIGVsaW1pbmUgdGV4dG8gY29tbyB4YSBhcHJlbmRldSBuYXMgbGVjY2nDs25zIGFudGVyaW9yZXMuCisKKyAgNC4gR2FyZGUgbyBhcnF1aXZvIGNvcyBjYW1iaW9zIGUgc2FpYSBkbyBWaW0gY29uOiAgOndxIDxJTlRSTz4KKworICA1LiBTZSB4YSBzYWl1IGRvIHZpbXR1dG9yIG5vIHBhc28gMSwgcmVpbmljaWUgdmltdHV0b3IgZSBiYWl4ZSBhdGEKKyAgICAgbyBzZWd1aW50ZSByZXN1bW8uCisKKyAgNi4gRGVzcG9pcyBkZSBsZS1sb3MgcGFzb3MgYW50ZXJpb3JlcyBlIHRlbG9zIGVudGVuZGlkbzogZsOhZ2Fvcy4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICBSRVNVTU8gREEgTEVDQ0nDk04gMS4xCisKKworICAxLiBPIGN1cnNvciBtw7N2ZXNlIHV0aWxpemFuZG8gYXMgdGVjbGFzIGRhcyBmcmVjaGFzIG91IGFzIHRlY2xhcyBoamtsLgorCSBoIChlc3F1ZXJkYSkJICAgaiAoYWJhaXhvKQkgIGsgKGFycmliYSkJICBsIChkZXJlaXRhKQorCisgIDIuIFBhcmEgYWNjZWRlciBhbyBWaW0gZGVuZGUgbyBzw61tYm9sbyBkbyBzaXN0ZW1hIGVzY3JpYmE6CisgICAgIHZpbSBub21lX2FycXVpdm8gPElOVFJPPgorCisgIDMuIFBhcmEgc2HDrXIgZG8gVmltIGVzY3JpYmE6IDxFU0M+IDpxISA8SU5UUk8+IHBhcmEgZWxpbWluYXIgdMOzZG9sb3MKKyAgICAgY2FtYmlvcy4KKyAgICAgT3UgZXNjcmliYTogIDxFU0M+ICA6d3EgIDxJTlRSTz4gcGFyYSBnYXJkYS1sb3MgY2FtYmlvcy4KKworICA0LiBQYXJhIGJvcnJhciB1biBjYXLDoWN0ZXIgYmFpeG8gbyBjdXJzb3IgZW4gbW9kbyBOb3JtYWwgcHJlbWE6ICB4ICAuCisKKyAgNS4gUGFyYSBpbnNlcmlyIG91IGVuZ2FkaXIgdGV4dG8gZXNjcmliYToKKyAgICAgaSAgZXNjcmliYSBvIHRleHRvIGEgaW5zZXJpciA8RVNDPiBpbnNpcmUgbyB0ZXh0byBhbnRlcyBkbyBjdXJzb3IKKyAgICAgQSAgZXNjcmliYSBvIHRleHRvIGEgZW5nYWRpciA8RVNDPiBlbmdhZGUgbyB0ZXh0byBhbyBmaW5hbCBkYSBsacOxYQorCitOT1RBOiBQcmVtZW5kbyA8RVNDPiB0w7NybmFzZSBhbyBtb2RvIE5vcm1hbCBvdSBjYW5jw6lsYXNlIHVuaGEgb3JkZSBub24KKyAgICAgIGRlc2V4YWRhIG91IGluY29tcGxldGEuCisKKyAgQWdvcmEgY29udGluw7plIGNvYSBMZWNjacOzbiAxLjIuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMi4xOiAgQ09NQU5ET1MgUEFSQSBCT1JSQVIKKworCisgICoqIEVzY3JpYmEgIGR3ICBwYXJhIGJvcnJhciB1bmhhIHBhbGFicmEgKioKKworICAxLiBQcmVtYSA8RVNDPiBwYXJhIGFzZWd1cmFyc2UgZGUgcXVlIGVzdMOhIG5vIG1vZG8gTm9ybWFsLgorCisgIDIuIE1vdmEgbyBjdXJzb3Igw6EgbGnDsWEgaW5mZXJpb3Igc2luYWxhZGEgY29uIC0tLT4uCisKKyAgMy4gTW92YSBvIGN1cnNvciBhbyBjb21lem8gZHVuaGEgcGFsYWJyYSBxdWUgZGVzZXhlIGJvcnJhci4KKworICA0LiBQcmVtYSAgZHcgIHBhcmEgZmFjZXIgcXVlIGEgcGFsYWJyYSBkZXNhcGFyZXphLgorCitOT1RBOiBBIGxldHJhICBkICBhcGFyZWNlcsOhIG5hIMO6bHRpbWEgbGnDsWEgaW5mZXJpb3IgZGVyZWl0YSBkYSBwYW50YWxsYQorICAgICAgbmFtZW50cmVzIGEgZXNjcmliZS4gTyBWaW0gZXN0w6EgZXNwZXJhbmRvIHF1ZSBlc2NyaWJhICB3IC4KKyAgICAgIFNlIHZlIG91dHJvIGNhcsOhY3RlciBxdWUgbm9uIHNleGEgIGQgICwgw6kgcXVlIGVzY3JpYml1IGFsZ28gbWFsLiBQcmVtYSAKKyAgICAgIDxFU0M+IGUgY29tZWNlIGRlIG5vdm8uCisKKy0tLT4gSGFpIGFsZ3VuaGFzIHBhbGFicmFzIHDDoXNhbyBiZW4gcXVlIG5vbiBwZXJ0ZW5jZW4gcGFwZWwgYSBlc3RhIGZyYXNlLgorCisgIDUuIFJlcGl0YSBvcyBwYXNvcyAzIGUgNCBhdGEgcXVlIGEgZnJhc2Ugc2V4YSBjb3JyZWN0YSBlIHBhc2Ugw6EKKyAgICAgbGVjY2nDs24gMS4yLjIuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMi4yOiBNw4FJUyBDT01BTkRPUyBQQVJBIEJPUlJBUgorCisKKyAgKiogRXNjcmliYSAgZCQgIHBhcmEgYm9ycmFyIGF0YSBvIGZpbmFsIGRhIGxpw7FhLiAqKgorCisgIDEuIFByZW1hICA8RVNDPiAgcGFyYSBhc2VndXJhcnNlIGRlIHF1ZSBlc3TDoSBubyBtb2RvIE5vcm1hbC4KKworICAyLiBNb3ZhIG8gY3Vyc29yIMOhIGxpw7FhIGluZmVyaW9yIHNpbmFsYWRhIGNvbiAtLS0+LgorCisgIDMuIE1vdmEgbyBjdXJzb3IgYW8gZmluYWwgZGEgbGnDsWEgY29ycmVjdGEgKERFU1BPSVMgZG8gcHJpbWVpcm8gLiApLgorCisgIDQuIEVzY3JpYmEgIGQkICBwYXJhIGJvcnJhciBhdGEgbyBmaW5hbCBkYSBsacOxYS4KKworLS0tPiBBbGd1w6luIGVzY3JpYml1IG8gZmluYWwgZGVzdGEgbGnDsWEgZMO6YXMgdmVjZXMuIGVzdGEgbGnDsWEgZMO6YXMgdmVjZXMuCisKKyAgUGFzZSDDoSBsZWNjacOzbiAxLjIuMyBwYXJhIGVudGVuZGVyIHF1w6kgZXN0w6EgcGFzYW5kby4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMi4zOiBTT0JSRSBPUEVSQURPUkVTIEUgTU9WRU1FTlRPUworCisKKyAgTW9pdG9zIGNvbWFuZG9zIHF1ZSBjYW1iaWFuIHRleHRvIGVzdMOhbiBjb21wb3N0b3MgcG9yIHVuIG9wZXJhZG9yIGUgbcOhaXMKKyAgdW4gbW92ZW1lbnRvLgorICBPIGZvcm1hdG8gcGFyYSBvIGNvbWFuZG8gJ2VsaW1pbmFyJyBjbyBvcGVyYWRvciBkZSBib3JyYWRvICBkICDDqSBvCisgIHNlZ3VpbnRlOgorCisgICAgZCAgIG1vdmVtZW50bworCisgIE9uZGU6CisgICAgZCAgICAgICAgIC0gw6kgbyBvcGVyYWRvciBwYXJhIGJvcnJhci4KKyAgICBtb3ZlbWVudG8gLSDDqSBvIHRleHRvIHNvYnJlIG8gcXVlIG8gY29tYW5kbyB2YWkgb3BlcmFyIChsaXN0YSBpbmZlcmlvcikuCisKKyAgRWlxdcOtLCB1bmhhIGxpc3RhIHJlc3VtaWRhIGRlIG1vdmVtZW50b3M6CisgICB3IC0gYXRhIG8gY29tZXpvIGRhIHNlZ3VpbnRlIHBhbGFicmEsIEVYQ0xVw41ORE8gbyBzZXUgcHJpbWVybyBjYXLDoWN0ZXIuCisgICBlIC0gYXRhIG8gZmluYWwgZGEgcGFsYWJyYSBhY3R1YWwsIElOQ0xVw41ORE8gbyDDumx0aW1vIGNhcsOhY3Rlci4KKyAgICQgLSBhdGEgbyBmaW5hbCBkYSBsacOxYSwgSU5DTFXDjU5ETyBvIMO6bHRpbW8gY2Fyw6FjdGVyLgorCisgIFBvbG8gdGFudG8sIGFvIGVzY3JpYmlyICBkZSAgYm9ycmFyw6FzZSBkZW5kZSBhIHBvc2ljacOzbiBkbyBjdXJzb3IgYXRhIG8KKyAgZmluYWwgZGEgcGFsYWJyYS4KKworTk9UQTogUHJlbWVuZG8gw7puaWNhbWVudGUgbyBtb3ZlbWVudG8sIGVzdGFuZG8gbm8gbW9kbyBOb3JtYWwgc2VuIHVuCisgICAgICBvcGVyYWRvciwgbW92ZXLDoXNlIG8gY3Vyc29yIGNvbW8gc2UgZXNwZWNpZmljYSBuYSBsaXN0YSBhbnRlcmlvci4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICBMRUNDScOTTiAxLjIuNDogVVRJTElaQVIgVU4gQ09OVEFET1IgUEFSQSBVTiBNT1ZFTUVOVE8KKworCisgICoqIEFvIGVzY3JpYmlyIHVuIG7Dum1lcm8gZGVuYW50ZXMgZHVuIG1vdmVtZW50bywgcmVww610aXNlIG8gbW92ZW1lbnRvCisgIG8gbsO6bWVybyBkZSB2ZWNlcy4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIGFvIGNvbWV6byBkYSBsacOxYSBtYXJjYWRhIGNvbiAtLS0+LgorCisgIDIuIEVzY3JpYmEgIDJ3ICBwYXJhIG1vdmVyIG8gY3Vyc29yIGTDumFzIHBhbGFicmFzIGNhcmEgYSBhZGlhbnRlLgorCisgIDMuIEVzY3JpYmEgIDNlICBwYXJhIG1vdmVyIG8gY3Vyc29yIGFvIGZpbmFsIGRhIHRlcmNlaXJhIHBhbGFicmEgY2FyYSBhCisgICAgIGFkaWFudGUuCisKKyAgNC4gRXNjcmliYSAgMCAgKGNlcm8pIHBhcmEgY29sb2NhLWxvIGN1cnNvciBhbyBpbmljaW8gZGEgbGnDsWEuCisKKyAgNS4gUmVwaXRhIG9zIHBhc29zIDIgZSAzIGNvbiBkaWZlcmVudGVzIG7Dum1lcm9zLgorCistLS0+IElzdG8gw6kgc8OzIHVuaGEgbGnDsWEgY29uIHBhbGFicmFzIG9uZGUgcG9kZXIgbW92ZXJzZS4KKworICBQYXNlIMOhIGxlY2Npw7NuIDEuMi41LgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICBMRUNDScOTTiAxLjIuNTogVVRJTElaQVIgVU4gQ09OVEFET1IgUEFSQSBCT1JSQVIgTcOBSVMKKworCisgICoqIEFvIGVzY3JpYmlyIHVuIG7Dum1lcm8gY3VuIG9wZXJhZG9yLCByZXDDrXRlc2UgZXNlIG7Dum1lcm8gZGUgdmVjZXMuICoqCisKKyAgRW4gY29tYmluYWNpw7NuIGNvIG9wZXJhZG9yIGRlIGJvcnJhZG8gZSBvIG1vdmVtZW50byBtZW5jaW9uYWRvCisgIGFudGVyaW9ybWVudGUsIGVuZ2FkYSB1biBjb250YWRvciBhbnRlcyBkbyBtb3ZlbWVudG8gcGFyYSBlbGltaW5hciBtw6FpczoKKwkgZCAgIG7Dum1lcm8gICBtb3ZlbWVudG8KKworICAxLiBNb3ZhIG8gY3Vyc29yIGFvIGluaWNpbyBkYSBwcmltZWlyYSBwYWxhYnJhIGVuIE1BScOaU0NVTEFTIG5hIGxpw7FhIAorICAgICBtYXJjYWRhIGNvbiAtLS0+LgorCisgIDIuIEVzY3JpYmEgIGQydyAgcGFyYSBlbGltaW5hLWxhcyBkw7phcyBwYWxhYnJhcyBlbiBNQUnDmlNDVUxBUy4KKworICAzLiBSZXBpdGEgb3MgcGFzb3MgMSBlIDIgY29uIGRpZmVyZW50ZXMgY29udGFkb3JlcyBwYXJhIGVsaW1pbmEtbGFzCisgICAgIHNlZ3VpbnRlcyBwYWxhYnJhcyBlbiBNQUnDmlNDVUxBUyBjdW4gY29tYW5kby4KKworLS0tPiAgRXN0YSBBQkMgREUgY2FkZWEgRkdISSBKSyBMTU4gT1AgZGUgcGFsYWJyYXMgZm9pIFEgUlMgVFVWIGxpbXBhZGEuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMi42OiBPUEVSQUNJw5NOIEVOIExJw5FBUworCisKKyAgKiogRXNjcmliYSAgZGQgICBwYXJhIGVsaW1pbmFyIHVuaGEgbGnDsWEgY29tcGxldGEuICoqCisKKyAgRGViaWRvIMOhIGZyZWN1ZW5jaWEgY29hIHF1ZSBzZSBlbGltaW5hIHVuaGEgbGnDsWEgY29tcGxldGEsIG9zIGRlc2XDsWFkb3JlcworICBkbyBWaW0gZGVjaWRpcm9uIHF1ZSBzZXLDrWEgbcOhaXMgc2lueGVsbyBzaW1wbGVtZW50ZSBlc2NyaWJpciBkw7phcyBsZXRyYXMgCisgIGQgIHBhcmEgZWxpbWluYXIgdW5oYSBsacOxYS4KKworICAxLiBNb3ZhIG8gY3Vyc29yIMOhIHNlZ3VuZGEgbGnDsWEgZG8gcMOhcnJhZm8gaW5mZXJpb3IuCisKKyAgMi4gRXNjcmliYSAgZGQgIHBhcmEgZWxpbWluYS1sYSBsacOxYS4KKworICAzLiBBZ29yYSwgbcOzdmFzZSDDoSBjdWFydGEgbGnDsWEuCisKKyAgNC4gRXNjcmliYSAgIDJkZCAgIHBhcmEgZWxpbWluYXIgZMO6YXMgbGnDsWFzIMOhIHZlei4KKworLS0tPiAgMSkgIEFzIHJvc2FzIHNvbiB2ZXJtZWxsYXMsCistLS0+ICAyKSAgbyBiYXJybyDDqSBkaXZlcnRpZG8sCistLS0+ICAzKSAgYSB2aW9sZXRhIMOpIGF6dWwsCistLS0+ICA0KSAgdGXDsW8gdW4gY29jaGUsCistLS0+ICA1KSAgb3MgcmVsb3hvcyBkYW4gYSBob3JhLAorLS0tPiAgNikgIG8gYXp1Y2VyZSDDqSBkw7NjZQorLS0tPiAgNykgIGUgdGkgdGFtw6luIG8gZXMuCisKKyAgQSBkdXBsaWNhY2nDs24gcGFyYSBib3JyYXIgbGnDsWFzIHRhbcOpbiBmdW5jaW9uYW4gY29zIG9wZXJhZG9yZXMKKyAgbWVuY2lvbmFkb3MgYW50ZXJpb3JtZW50ZS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgTEVDQ0nDk04gMS4yLjc6IE8gQ09NQU5ETyBERVNGQUNFUiAKKworCisgICoqIFByZW1hICB1ICBwYXJhIGRlc2ZhY2VyIG9zIMO6bHRpbW9zIGNvbWFuZG9zLAorICAgICAgICAgICAgVSAgcGFyYSBkZXNmYWNlciB1bmhhIGxpw7FhIGVudGVpcmEuICAgICAgICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciDDoSBsacOxYSBpbmZlcmlvciBzaW5hbGFkYSBjb24gLS0tPiBlIHNpdMO6ZW8gYmFpeG8gbworICAgICBwcmltZWlybyBlcnJvLgorCisgIDIuIFByZW1hICB4ICBwYXJhIGJvcnJhLWxvIHByaW1laXJvIGNhcsOhY3RlciBub24gZGVzZXhhZG8uCisKKyAgMy4gUHJlbWEgYWdvcmEgIHUgIHBhcmEgZGVzZmFjZS1sbyDDumx0aW1vIGNvbWFuZG8gZXhlY3V0YWRvLgorCisgIDQuIEFnb3JhLCBjb3JyaXhhIHTDs2RvbG9zIGVycm9zIGRhIGxpw7FhIHVzYW5kbyBvIGNvbWFuZG8gIHguCisKKyAgNS4gUHJlbWEgYWdvcmEgIFUgIG1hacO6c2N1bG8gcGFyYSBkZXZvbHZlciBhIGxpw7FhIGFvIHNldSBlc3RhZG8gb3JpeGluYWwuCisKKyAgNi4gUHJlbWEgYWdvcmEgIHUgIHVuaGFzIHBvdWNhcyB2ZWNlcyBtw6FpcyBwYXJhIGRlc2ZhY2UtbG8gZmVpdG8gcG9yICBVICBlCisgICAgIG1haWxvcyBjb21hbmRvcyBwcmV2aW9zLgorCisgIDcuIEFnb3JhLCBwcmVtYSBDVFJMLVIgKG1hbnRlw7FhIHB1bHNhZGEgYSB0ZWNsYSBDVFJMIGUgcHJlbWEgUikgdW5oYXMKKyAgICAgY2FudGFzIHZlY2VzIHBhcmEgdm9sdmVyIGEgZXhlY3V0YXIgb3MgY29tYW5kb3MgKGRlc2ZhY2UtbG8gZGVzZmVpdG8pLgorCistLS0+IENvcnJyaXhhIG9zIGVycm9zIGRlZSBlc3R0dGEgbGnDsWEgZSB2b29vbHZhIHBvbmVsb3MgY29vbiBkZXNmYWNlci4KKworICBFc3RlcyBzb24gdW5zIGNvbWFuZG9zIG1vaSDDunRpbGVzLiBBZ29yYSwgdmFpYW1vcyBhbyByZXN1bW8gZGEgbGVjY2nDs24gMS4yLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgIFJFU1VNTyBEQSBMRUNDScOTTiAxLjIKKworCisgIDEuIFBhcmEgYm9ycmFyIGRlbmRlIG8gY3Vyc29yIGF0YSBhIHNlZ3VpbnRlIHBhbGFicmEgcHJlbWE6CSAgICAgZHcKKyAgMi4gUGFyYSBib3JyYXIgZGVuZGUgbyBjdXJzb3IgYXRhIG8gZmluYWwgZGEgcGFsYWJyYSBwcmVtYTogICAgICAgIGRlCisgIDMuIFBhcmEgYm9ycmFyIGRlbmRlIG8gY3Vyc29yIGF0YSBvIGZpbmFsIGR1bmhhIGxpw7FhIHByZW1hOgkgICAgIGQkCisgIDQuIFBhcmEgYm9ycmFyIHVuaGEgbGnDsWEgZW50ZWlyYSBwcmVtYTogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGQKKyAgNS4gUGFyYSByZXBldGlyIHVuIG1vdmVtZW50bywgYW50ZXBvw7FhIHVuIG7Dum1lcm86ICAgICAgICAgICAgICAgICAgMncKKyAgNi4gTyBmb3JtYXRvIHBhcmEgdW4gY29tYW5kbyBkZSBjYW1iaW8gw6k6CisgICAgICAgICAgICAgICBvcGVyYWRvciAgW27Dum1lcm9dICBtb3ZlbWVudG8KKyAgICAgb25kZToKKyAgICAgICBjb21hbmRvICAgIC0gw6kgbyBxdWUgaGFpIHF1ZSBmYWNlciwgcG9yIGV4ZW1wbG8sICBkICBwYXJhIGJvcnJhcgorICAgICAgIFtuw7ptZXJvXSAgIC0gw6kgdW4gbsO6bWVybyBvcGNpb25hbCBwYXJhIHJlcGV0aXIgbyBtb3ZlbWVudG8KKyAgICAgICBtb3ZlbWVudG8gIC0gbcOzdmVzZSBzb2JyZSBvIHRleHRvIG5vIHF1ZSBvcGVyYXIsIGNvbW8gdyAocGFsYWJyYSksCisgICAgICAgICAgICAgICAgICAgICQgKGF0YSBvIGZpbmFsIGRhIGxpw7FhKSwgZXRjLgorCisgIDcuIFBhcmEgbW92ZXJzZSBhbyBpbmljaW8gZGEgbGnDsWEgdXRpbGljZSB1biBjZXJvOiAgICAwCisgIDguIFBhcmEgZGVzZmFjZXIgYWNjaW9uZXMgcHJldmlhcyBwcmVtYTogICAgICAgICAgICAgIHUgKHUgbWluw7pzY3VsbykKKyAgICAgUGFyYSBkZXNmYWNlciB0w7Nkb2xvcyBjYW1iaW9zIGR1bmhhIGxpw7FhIHByZW1hOiAgICBVIChVIG1BScOaU0NVTE8pCisgICAgIFBhcmEgZGVzZmFjZS1sbyBkZXNmZWl0byBwcmVtYTogICAgICAgICAgICAgICAgICAgIENUUkwtUgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMy4xOiBPIENPTUFORE8gwqtQVVTCuyAoUMOTUikKKworCisgICoqIFByZW1hICBwICBwYXJhIHDDs3IgKHBlZ2FyKSBkZXNwb2lzIGRvIGN1cnNvciBvIMO6bHRpbW8gcXVlIGJvcnJvdS4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIMOhIHByaW1laXJhIGxpw7FhIGluZmVyaW9yIG1hcmNhZGEgY29uIC0tLT4uCisKKyAgMi4gRXNjcmliYSAgZGQgIHBhcmEgYm9ycmEtbGEgbGnDsWEgZSBhbG1hY2VuYWxhIG51biByZXhpc3RybyBkbyBWaW0uCisKKyAgMy4gTW92YSBvIGN1cnNvciDDoSBsacOxYSBjKSBwb3IgUklCQSBkZSBvbmRlIGRlYmVyw61hIGVzdGEtbGEgbGnDsWEgCisgICAgIGVsaW1pbmFkYS4KKworICA0LiBQcmVtYSAgIHAgICBwYXJhIHBlZ2EtbGEgbGnDsWEgYm9ycmFkYSBwb3IgQkFJWE8gZG8gY3Vyc29yLgorCisgIDUuIFJlcGl0YSBvcyBwYXNvcyAyIGEgNCBwYXJhIHBvciB0w7NkYWxhcyBsacOxYXMgbmEgb3JkZSBjb3JyZWN0YS4KKworLS0tPiBkKSBQb2RlcyBhcHJlbmRlbGEgdGk/CistLS0+IGIpIEEgdmlvbGV0YSDDqSBhenVsLAorLS0tPiBjKSBhIGludGVsaXhlbmNpYSBhcHLDqW5kZXNlLAorLS0tPiBhKSBhcyByb3NhcyBzb24gdmVybWVsbGFzLgorICAgICAKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTEVDQ0nDk04gMS4zLjI6IE8gQ09NQU5ETyDCq1JFUExBQ0XCuyAoVFJPQ0FSKQorCisKKyAgKiogUHJlbWEgIHJ4ICBwYXJhIHRyb2NhLWxvIGNhcsOhY3RlciBiYWl4byBvIGN1cnNvciBjb24gIHggLiAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3Igw6EgcHJpbWVpcmEgbGnDsWEgaW5mZXJpb3IgbWFyY2FkYSBjb24gLS0tPi4KKworICAyLiBNb3ZhIG8gY3Vyc29yIHBhcmEgc2l0dWFsbyBzb2JyZSBvIHByaW1laXJvIGVycm8uCisKKyAgMy4gUHJlbWEgICByCSBlIGRlc3BvaXMgbyBjYXLDoWN0ZXIgcXVlIGRlYmVyw61hIGlyIGHDrS4KKworICA0LiBSZXBpdGEgb3MgcGFzb3MgMiBlIDMgYXRhIHF1ZSBhIHByaW1laXJhIGxpw7FhIHNleGEgaWd1YWwgw6Egc2VndW5kYS4KKworLS0tPiBDYW5kZSBlc3RpIGxpdGEgZnVpIGVzY3JpdGEgYWxndcOpciBwcmVtZXUgYWxnaW5oYXMgdGVjbGFzIGVxdWlib2NhZGFzIQorLS0tPiBDYW5kbyBlc3RhIGxpw7FhIGZvaSBlc2NyaXRhIGFsZ3XDqW4gcHJlbWV1IGFsZ3VuaGFzIHRlY2xhcyBlcXVpdm9jYWRhcyEKKworICA1LiBBZ29yYSBwYXNlIMOhIGxlY2Npw7NuIDEuMy4zLgorCitOT1RBOiBMZW1icmUgcXVlIGRlYmVyw61hIGFwcmVuZGVyIHByYWN0aWNhbmRvLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMy4zOiBPIENPTUFORE8gQ0FNQklBUgorCisKKyAgKiogUGFyYSBjYW1iaWFyIGF0YSBvIGZpbmFsIGR1bmhhIHBhbGFicmEsIGVzY3JpYmEgIGNlIC4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIMOhIHByaW1lcmlhIGxpw7FhIGluZmVyaW9yIG1hcmNhZGEgY29uIC0tLT4uCisKKyAgMi4gU2l0w7plIG8gY3Vyc29yIG5vIHUgZGUgbHVicnMuCisKKyAgMy4gRXNjcmliYSAgY2UgIGUgY29ycml4YSBhIHBhbGFicmEgKG5lc3RlIGNhc28sIGVzY3JpYmEgJ2nDsWEnKS4KKworICA0LiBQcmVtYSA8RVNDPiBlIG1vdmEgbyBjdXJzb3IgYW8gc2VndWludGUgZXJybyBhIGNhbWJpYXIuCisKKyAgNS4gUmVwaXRhIG9zIHBhc29zIDMgZSA0IGF0YSBxdWUgYSBwcmltZWlyYSBmcmFzZSBzZXhhIGlndWFsIMOhIHNlZ3VuZGEuCisKKy0tLT4gRXN0YSBsdWJycyB0ZW4gdW5oYXMgcG91Y2FzIHBza2F2dGFkIHF1ZSBjb3JyaXhpciBjbyBjb21hbmRvIGNoYW5nZS4KKy0tLT4gRXN0YSBsacOxYSB0ZW4gdW5oYXMgcG91Y2FzIHBhbGFicmFzIHF1ZSBjb3JyaXhpciBjbyBjb21hbmRvIGNhbWJpYXIuCisKKyAgVGXDsWEgZW4gY29udGEgcXVlICBjZSAgZWxpbWluYSBhIHBhbGFicmEgZSBlbnRyYSBubyBtb2RvIEluc2VyaXIuCisgICAgY2MgIGZhaSBvIG1lc21vIHBhcmEgdG9kYSBhIGxpw7FhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuMy40OiBNw4FJUyBDQU1CSU9TIFVTQU5ETyAgYworCisKKyAgKiogTyBvcGVyYWRvciBjYW1iaW8gdXRpbMOtemFzZSBjb3MgbWVzbW9zIG1vdmVtZW50b3MgcXVlIGJvcnJhci4gKioKKworICAxLiBPIG9wZXJhZG9yIGNhbWJpbyBmdW5jaW9uYSBkbyBtZXNtbyB4ZWl0byBxdWUgYm9ycmFyLiBPIGZvcm1hdG8gw6k6CisKKyAgICAgICBjICAgW27Dum1lcm9dICAgbW92ZW1lbnRvCisKKyAgMi4gT3MgbW92ZW1lbnRvcyBzb24gdGFtw6luIG9zIG1lc21vcywgY29tbyAgdyAocGFsYWJyYSkgb3UgCisgICQgKGZpbiBkYSBsacOxYSkuCisKKyAgMy4gTW92YSBvIGN1cnNvciDDoSBwcmltZWlyYSBsacOxYSBpbmZlcmlvciBzaW5hbGFkYSBjb24gLS0tPi4KKworICA0LiBNb3ZhIG8gY3Vyc29yIGFvIHByaW1laXJvIGVycm8uCisKKyAgNS4gUHJlbWEgIGMkICBlIGVzY3JpYmEgbyByZXN0byBkYSBsacOxYSBwYXJhIHF1ZSBzZXhhIGNvbW8gYSBzZWd1bmRhLAorICAgICBlIHByZW1hIDxFU0M+LgorCistLS0+IE8gZmluYWwgZGVzdGEgbGnDsWEgbmVjZXNpdGEgYWxndW5oYSBheHVkYSBwYXJhIHF1ZSBzZXhhIGNvbW8gYSBzZWd1bmRhLgorLS0tPiBPIGZpbmFsIGRlc3RhIGxpw7FhIG5lY2VzaXRhIHNlciBjb3JyaXhpZG8gdXNhbmRvIG8gY29tYW5kbyAgYyQuCisKK05PVEE6IFBvZGUgdXRpbGl6YS1sbyByZXRvcm5vIGRlIGNhcnJvIHBhcmEgY29ycml4aXIgZXJyb3MgbWVudHJlcyBlc2NyaWJlLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgIFJFU1VNTyBEQSBMRUNDScOTTiAxLjMKKworCisgIDEuIFBhcmEgdm9sdmVyIGEgcMOzciBvdSBwZWdhLWxvIHRleHRvIHF1ZSBhY2FiYSBkZSBib3JyYXJzZSwKKyAgICAgZXNjcmliYSAgcCAuIElzdG8gcGVnYSBvIHRleHRvIGRlc3BvaXMgZG8gY3Vyc29yIChzZSBib3Jyb3UgdW5oYQorICAgICBsacOxYSwgYW8gcGVnYWxhLCBlc3RhIHNpdHVhcsOhc2UgbmEgbGnDsWEgYmFpeG8gZG8gY3Vyc29yKS4KKworICAyLiBQYXJhIHRyb2NhLWxvIGNhcsOhY3RlciBiYWl4byBkbyBjdXJzb3IsIHByZW1hICByICBlIGxvZ28gbworICAgICBjYXLDoWN0ZXIgcXVlIHF1ZXJlIHF1ZSBlc3RlYSBubyBzZXUgbHVnYXIuCisKKyAgMy4gTyBvcGVyYWRvciBjYW1iaW8gcGVybcOtdGVsbGUgY2FtYmlhciBkZW5kZSBhIHBvc2ljacOzbiBkbyBjdXJzb3IKKyAgICAgYXRhIG9uZGUgbGV2ZSBvIG1vdmVtZW50byBpbmRpY2Fkby4gUG9yIGV4ZW1wbG8sIHByZW1hICBjZQorICAgICBwYXJhIGNhbWJpYXIgZGVuZGUgbyBjdXJzb3IgYXRhIG8gZmluYWwgZGEgcGFsYWJyYSwgb3UgIGMkCisgICAgIHBhcmEgY2FtYmlhciBhdGEgbyBmaW5hbCBkYSBsacOxYS4KKworICA0LiBPIGZvcm1hdG8gcGFyYSBjYW1iaW8gw6k6CisKKwkgYyAgIFtuw7ptZXJvXSAgIG1vdmVtZW50bworCisgIFBhc2UgYWdvcmEgw6EgbGVjY2nDs24gc2VndWludGUuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICBMRUNDScOTTiAxLjQuMTogVUJJQ0FDScOTTiBETyBDVVJTT1IgRSBFU1RBRE8gRE8gQVJRVUlWTworCisKKyAgKiogUHJlbWEgQ1RSTC1HIHBhcmEgbW9zdHJhLWxhIHPDumEgc2l0dWFjacOzbiBubyBmaWNoZWlybyBlIG1haWxvIGVzdGFkby4KKyAgICAgUHJlbWEgRyBwYXJhIG1vdmVyc2UgYSB1bmhhIGRldGVybWluYWRhIGxpw7FhIGRvIGZpY2hlcm8uICoqCisKK05PVEE6IExlYSBlc3RhIGxlY2Npw7NuIGVudGVpcmEgYW50ZXMgZGUgZXhlY3V0YXIgY2FscXVlcmEgZG9zIHBhc29zISEKKworICAxLiBNYW50ZcOxYSBwcmVtaWRhIGEgdGVjbGEgQ3RybCBlIHByZW1hICBnIC4gQ2hhbWFtb3MgYSBpc3RvIENUUkwtRy4KKyAgICAgQXBhcmVjZXLDoSB1bmhhIG1lbnNheGUgbmEgcGFydGUgaW5mZXJpb3IgZGEgcMOheGluYSBjbyBub21lIGRvIGFycXVpdm8KKyAgICAgZSBhIHBvc2ljacOzbiBkbyBjdXJzb3Igbm8gYXJxdWl2by4gCisgICAgIExlbWJyZSBvIG7Dum1lcm8gZGUgbGnDsWEgcGFyYSBvIHBhc28gMy4KKworTk9UQTogU2VpY2EgcG9pZGEgdmUtbGEgcG9zaWNpw7NuIGRvIGN1cnNvciBubyByZWNhbnRvIGluZmVyaW9yIGRhIGRlcmVpdGEKKyAgICAgIGRhIHBhbnRhbGxhLiBJc3RvIGFjb250ZWNlIGNhbmRvIGEgb3BjacOzbiAncnVsZXInIChyZWdyYSkgZXN0w6EKKyAgICAgIGhhYmlsaXRhZGEgKGNvbnN1bHRlICA6aGVscCAncnVsZXInICkKKworICAyLiBQcmVtYSAgRyAgcGFyYSBtb3ZlLWxvIGN1cnNvciBhdGEgYSBwYXJ0ZSBpbmZlcmlvciBkbyBhcnF1aXZvLgorICAgICBQcmVtYSAgZ2cgIHBhcmEgbW92ZS1sbyBjdXJzb3IgYW8gaW5pY2lvIGRvIGFycXVpdm8uCisKKyAgMy4gRXNjcmliYSBvIG7Dum1lcm8gZGEgbGnDsWEgbmEgcXVlIGVzdGFiYSBlIGRlc3BvaXMgIEcgLiBJc3RvCisgICAgIHRvcm5hcsOhbyDDoSBsacOxYSBuYSBxdWUgZXN0YWJhIGN1YW5kbyBwdWxzb3UgQ1RSTC1HLgorCisgIDQuIFNlIHNlIGF0b3BhIGNvbiBzZWd1cmlkYWRlIHBhcmEgcG9kZXIgZmFjZXIgaXN0bywgCisgICAgIGV4ZWN1dGUgb3MgcGFzb3MgMSBhIDMuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICBMRUNDScOTTiAxLjQuMjogTyBDT01BTkRPIMKrU0VBUkNIwrsgKEJVU0NBUikKKworCisgICoqIEVzY3JpYmEgIC8gIHNlZ3VpZG8gZHVuIHRleHRvIHBhcmEgYnVzY2EtbG8gdGV4dG8uICoqCisKKyAgMS4gRW4gbW9kbyBOb3JtYWwsIHByZW1hIG8gY2Fyw6FjdGVyICAvIC4gRsOteGVzZSBxdWUgdGFudG8gbyBjYXLDoWN0ZXIgIC8KKyAgICAgY29tbyBvIGN1cnNvciBhcGFyZWNlbiBuYSBkZXJyYWRlaXJhIGxpw7FhIGRhIHBhbnRhbGxhLCBvIG1lc21vIHF1ZQorICAgICBvIGNvbWFuZG8gIDogLgorCisgIDIuIEVzY3JpYmEgYWdvcmEgICBlcnJyb29yICAgPElOVFJPPi4gRXN0YSDDqSBhIHBhbGFicmEgcXVlIHF1ZXJlIGJ1c2Nhci4KKworICAzLiBQYXJhIHJlcGV0aS1sYSBidXNjYSBkbyBtZXNtbyB0ZXh0byBvdXRyYSB2ZXosIHNpbXBsZW1lbnRlIHByZW1hICBuIC4KKyAgICAgUGFyYSBidXNjYS1sbyBtZXNtbyB0ZXh0byBuYSBkaXJlY2Npw7NuIG9wb3N0YSwgcHJlbWEgIE4gLgorCisgIDQuIFNlIHF1ZXJlIGJ1c2NhciB1biB0ZXh0byBuYSBkaXJlY2Npw7NuIG9wb3N0YSAoY2FyYSBhIGVucmliYSksCisgICAgIHV0aWxpY2UgbyBjb21hbmRvICA/ICBlbiB0cm9xdWVzIGRlICAvIC4KKyAgCisgIDUuIFBhcmEgcmVncmVzYXIgYW8gbHVnYXIgZGUgb25kZSBwcm9jZWTDrWEsIHByZW1hICBDVFJMLU8gIChtYW50ZcOxYSBwdWxzYWRvCisgICAgIEN0cmwgbWVudHJlcyBwdWxzYSBhIHRlY2xhICBvKS4gUmVwaXRhIG8gcHJvY2VzbyBwYXJhIHZvbHRhciBtw6FpcyBhdHLDoXMuCisgICAgIENUUkwtSSB2YWkgY2FyYSBhIGFkaWFudGUuCisKKy0tLT4gImVycnJvb3IiIG5vbiDDqSBvIHhlaXRvIGNvcnJlY3RvIGRlIGVzY3JpYmlyIGVycm87IGVycnJvb3Igw6kgdW4gZXJyby4KKworTk9UQTogQ2FuZG8gYSBidXNjYSBjaGVnYSBhbyBmaW5hbCBkbyBhcnF1aXZvLCBjb250aW51YXLDoSBkZW5kZSBvIGNvbWV6bywKKyAgICAgIGFnw6FzIHF1ZSBhIG9wY2nDs24gJ3dyYXBzY2FuJyBlc3RlYSBkZXNhY3RpdmFkYS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuNC4zOiBCVVNDQSBQQVJBIENPTVBST0JBUiBQQVLDiU5URVNFUworCisKKyAgKiogUHJlbWEgICUgIHBhcmEgYXRvcGEtbGEgcGFyw6ludGVzZSBjb3JyZXNwb25kZW50ZSBhICksXSBvdSB9IC4gKioKKworICAxLiBTaXTDumUgbyBjdXJzb3IgZW4gY3VhbHF1ZXJhIGRvcyBjYXLDoWN0ZXJlcyAoLCBbIG8geyBuYSBsacOxYSBpbmZlcmlvcgorICAgICBzaW5hbGFkYSBjb24gLS0tPi4KKworICAyLiBQcmVtYSBhZ29yYSBvIGNhcsOhY3RlciAgJSAgLgorCisgIDMuIE8gY3Vyc29yIG1vdmVyw6FzZSDDoSBwYXJlbGxhIGRlIHBlY2hlIGRhIHBhcsOpbnRlc2UsIGNvcmNoZXRlCisgICAgIG91IGNoYXZlIGNvcnJlc3BvbmRlbnRlLgorCisgIDQuIFByZW1hICAlICBwYXJhIG1vdmUtbG8gY3Vyc29yIGF0YSBhIG91dHJhIHBhcmVsbGEgZG8gY2Fyw6FjdGVyLgorCisgIDUuIE1vdmEgbyBjdXJzb3IgYSBvdXRyYSAoLCksWyxdLHsgbyB9IGUgdmV4YSBvIHF1ZSBmYWkgJSAuCisKKy0tLT4gSXN0byAoIMOpIHVuaGEgbGnDsWEgZGUgcHJvYmEgY29uICgsIFssIF0sIHssIGUgfSBuZWxhLiApKQorCitOT1RBOiBJc3RvIMOpIG1vaSDDunRpbCBuYSBkZXRlY2Npw7NuIGRlIGVycm9zIG51biBwcm9ncmFtYSBjb24gcGFyw6ludGVzZXMsCisgICAgIGNvcmNoZXRlcyBvdSBjaGF2ZXMgc2VuIHBhcmVsbGEuCisgICAgICAKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICAgICBMRUNDScOTTiAxLjQuNDogTyBDT01BTkRPIFNVQlNUSVRVw41SCisKKworICAqKiBFc2NyaWJhICA6cy92ZWxsby9ub3ZvL2cgIHBhcmEgc3Vic3RpdHXDrXIgJ3ZlbGxvJyBwb3IgJ25vdm8nLiAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3Igw6EgbGnDsWEgaW5mZXJpb3Igc2luYWxhZGEgY29uIC0tLT4uCisKKyAgMi4gRXNjcmliYSAgOnMvYWFzL2FzLyAgPElOVFJPPiAuIFRlw7FhIGVuIGNvbnRhIHF1ZSBlc3RlIGNvbWFuZG8gY2FtYmlhCisgICAgIHPDsyBvIHByaW1laXJvIGFjaGFkbyAtbmEgbGnDsWEtIGRhIGV4cHJlc2nDs24gcXVlIHF1ZXJlIGNhbWJpYXIuCisgIAorICAzLiBBZ29yYSBlc2NyaWJhICA6cy9hYXMvYS9nIC4gQW8gZW5nYWRpciBhIG9wY2nDs24gIGcgICwgbyBWaW0gZmFyw6EKKyAgICAgYSBzdWJzdGl0dWNpw7NuIGdsb2JhbCBuYSBsacOxYSwgY2FtYmlhbmRvIHTDs2RvLWxvcyBhY2hhZG9zCisgICAgIGRvIHRlcm1vICJhYXMiIG5hIGxpw7FhLgorCistLS0+IENvaWRvIHF1ZSBhYXMgbWVsbG9yZXMgw6lwb2NhcyBwYXJhIGFhcyBmcm9yZXMgc29uIGFhcyBwcmltYXZlcmFzLgorCisgIDQuIFBhcmEgY2FtYmlhciBjYWRhIGFjaGFkbyBkYSBjYWRlYSBkZSBjYXLDoWN0ZXJlcyBlbnRyZSBkw7phcyBsacOxYXM6CisgIEVzY3JpYmEgIDojLCNzL3ZlbGxvL25vdm8vZyAgIG9uZGUgIywjIHNvbiBvcyBuw7ptZXJvcyBkZSBsacOxYSBkbyByYW5nbworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZSBsacOxYXMgb25kZSBzZSByZWFsaXphcsOhIGEgc3Vic3RpdHVjacOzbi4KKyAgRXNjcmliYSAgOiVzL3ZlbGxvL25vdm8vZyAgICAgcGFyYSBjYW1iaWFyIGNhZGEgYWNoYWRvIGVuIHRvZG8gbyBhcnF1aXZvLgorICBFc2NyaWJhICA6JXMvdmVsbG8vbm92by9nYyAgICBwYXJhIGF0b3BhciBjYWRhIGFjaGFkbyBlbiB0b2RvIG8gYXJxdWl2bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVkaW5kbyBjb25maXJtYWNpw7NuIHBhcmEgZmFjZS1sYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dWNpw7NuIG91IG5vbi4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVTVU1PIERBIExFQ0NJw5NOIDEuNAorCisKKyAgMS4gQ1RSTC1HICBtb3N0cmEgYSBwb3NpY2nDs24gZG8gY3Vyc29yIG5vIGZpY2hlaXJvIGUgbWFpbG8gc2V1IGVzdGFkby4KKyAgICAgICAgICAgICBHICBtb3ZlIG8gY3Vyc29yIGFvIGZpbmFsIGRvIGFycXVpdm8uCisgICAgIG7Dum1lcm8gIEcgIG1vdmUgbyBjdXJzb3IgYSBlc2UgbsO6bWVybyBkZSBsacOxYS4KKyAgICAgICAgICAgIGdnICBtb3ZlIG8gY3Vyc29yIMOhIHByaW1laXJhIGxpw7FhIGRvIGFycXVpdm8uCisKKyAgMi4gRXNjcmliaW5kbyAgLyAgc2VndWlkbyBkdW4gdGV4dG8gYnVzY2EgbyB0ZXh0byBjYXJhIGEgQURJQU5URS4KKyAgICAgRXNjcmliaW5kbyAgPyAgc2VndWlkbyBkdW4gdGV4dG8gYnVzY2EgbyB0ZXh0byBjYXJhIGEgQVRSw4FTLgorICAgICBEZXNwb2lzIGR1bmhhIGJ1c2NhLCBwcmVtYSAgbiAgcGFyYSBhdG9wYXIgbyBhY2hhZG8uCisKKyAgMy4gUHJlbWVuZG8gICUgIGNhbmRvIG8gY3Vyc29yIGVzdMOhIHNvYnJlICgsKSwgWyxdLCB7IG8gfSBsb2NhbGl6YQorICAgICBhIHBhcmVsbGEgY29ycmVzcG9uZGVudGUuCisKKyAgNC4gUGFyYSBjYW1iaWFyIHZlbGxvIHBvciBub3ZvIG5vIHByaW1laXJvIGFjaGFkbyBkdW5oYSBsacOxYSBlc2NyaWJhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnMvdmVsbG8vbm92bworICAgUGFyYSBjYW1iaWFyIHTDs2RvLWxvcyB2ZWxsbyBwb3Igbm92byBudW5oYSBsacOxYSBlc2NyaWJhIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpzL3ZlbGxvL25vdm8vZworICAgUGFyYSBjYW1iaWFyIHRleHRvIGVudHJlIGRvdXMgbsO6bWVyb3MgZGUgbGnDsWEgZXNjcmliYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDojLCNzL3ZlbGxvL25vdm8vZworICAgUGFyYSBjYW1iaWFyIHZlbGxvIHBvciBub3ZvIGVuIHRvZG8gbyBmaWNoZXJvIGVzY3JpYmEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6JXMvdmVsbG8vbm92by9nCisgICBQYXJhIHBlZGlyIGNvbmZpcm1hY2nDs24gZW4gY2FkYSBjYXNvIGVuZ2FkYSAgJ2MnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiVzL3ZlbGxvL25vdm8vZ2MKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICBMRUNDScOTTiAxLjUuMTogQ8OTTU8gRVhFQ1VUQVIgVU4gQ09NQU5ETyBFWFRFUk5PCisKKworICAqKiBFc2NyaWJhICA6ISAgc2VndWlkbyBkdW4gY29tYW5kbyBleHRlcm5vIHBhcmEgZXhlY3V0YXIgZXNlIGNvbWFuZG8uICoqCisKKyAgMS4gRXNjcmliYSBvIGNvbm9jaWRvIGNvbWFuZG8gIDogIHBhcmEgc2l0dWFyIG8gY3Vyc29yIGFvIGZpbmFsIGRhCisgICAgIHBhbnRhbGxhLiBJc3RvIHBlcm1pdGlyw6FsbGUgaW50cm9kdWNpciB1biBjb21hbmRvLgorCisgIDIuIEFnb3JhIGVzY3JpYmEgbyBjYXLDoWN0ZXIgICEgIChzaWdubyBkZSBhZG1pcmFjacOzbikuIElzdG8gcGVybWl0aXLDoWxsZQorICAgICBleGVjdXRhciBjYWxxdWVyIG1hbmRhdG8gZG8gc2lzdGVtYS4KKworICAzLiBDb21vIGV4ZW1wbG8gZXNjcmliYSAgbHMgIGRlc3BvaXMgZG8gISBlIGxvZ28gcHJlbWEgPElOVFJPPi4gSXN0bworICAgICBtb3N0cmFyw6FsbGUgdW5oYSBsaXN0YSBkbyBzZXUgZGlyZWN0b3JpbywgaWd1YWwgcXVlIHNlIGVzdGl2aWVzZSBubyAKKyAgICAgc8OtbWJvbG8gZG8gc2lzdGVtYS4gU2UgIGxzICBub24gZnVuY2lvbmEsIHV0aWxpY2UJOiFkaXIgLgorCitOT1RBOiBEZXN0ZSB4ZWl0byDDqSBwb3NpYmxlIGV4ZWN1dGFyIGN1YWxxdWVyIGNvbWFuZG8gZXh0ZXJubywKKyAgICAgIHRhbcOpbiBpbmNsdcOtbmRvIGFyZ3VtZW50b3MuCisKK05PVEE6IFTDs2RvbG9zIGNvbWFuZG9zICA6ICBkZWJlbiBmaW5hbGl6YXJzZSBwcmVtZW5kbyA8SU5UUk8+LgorICAgICAgRGUgYWdvcmEgZW4gZGlhbnRlLCBub24gc2VtcHJlIHNlIG1lbmNpb25hcsOhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICBMRUNDScOTTiAxLjUuMjogTcOBSVMgU09CUkUgR0FSREFSIEZJQ0hFSVJPUworCisKKyAgKiogUGFyYSBnYXJkYS1sb3MgY2FtYmlvcyBmZWl0b3MgbnVuIGZpY2hlaXJvLAorCWVzY3JpYmEgIDp3IE5PTUVfREVfRklDSEVJUk8gKioKKworICAxLiBFc2NyaWJhICA6IWRpciAgb3UgIDohbHMgIHBhcmEgdmVyIHVuaGEgbGlzdGEgZG9zIGFycXVpdm9zIAorICAgICBkbyBzZXUgZGlyZWN0b3Jpby4KKyAgICAgWGEgc2FiZSBxdWUgZGViZSBwdWxzYXIgPElOVFJPPiBkZXNwb2lzLgorCisgIDIuIEVsaXhhIHVuIG5vbWUgZGUgZmljaGVpcm8gcXVlIHRvZGF2w61hIG5vbiBleGlzdGEsIGNvbW8gVEVTVC4KKworICAzLiBBZ29yYSBlc2NyaWJhICA6dyBURVNUICAob25kZSBURVNUIMOpIG8gbm9tZSBkZSBmaWNoZWlybyBlbGl4aWRvKS4KKworICA0LiBFc3RhIGFjY2nDs24gZ2FyZGEgdG9kbyBvIGZpY2hlaXJvICAoVmltIFR1dG9yKSAgYmFpeG8gbyBub21lIFRFU1QuCisgICAgIFBhcmEgY29tcHJvYmFsbywgZXNjcmliYSAgOiFkaXIgIG91ICA6IWxzICBkZSBub3ZvIGUgdmV4YQorICAgICBvIHNldSBkaXJlY3RvcmlvLgorCitOT1RBOiBTZSBzYcOtcmEgZG8gVmltIGUgdm9sdmVyYSBhIGVudHJhciBkZSBub3ZvIGNvbiAgdmltIFRFU1QgLCBvCisgICAgICBhcnF1aXZvIHNlcsOtYSB1bmhhIGNvcGlhIGV4YWN0YSBkbyB0dXRvcmlhbCBjdWFuZG8gbyBndWFyZG91LgorCisgIDUuIEFnb3JhLCBlbGltaW5lIG8gYXJxdWl2byBlc2NyaWJpbmRvIChXaW5kb3dzKTogIDohZGVsIFRFU1QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3UgKFVuaXgpOiAgOiFybSBURVNUCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTEVDQ0nDk04gMS41LjM6IFNFTEVDQ0lPTkFSIFRFWFRPIFBBUkEgR0FSREFSCisKKworICAqKiBQYXJhIGdhcmRhciBwYXJ0ZSBkbyBhcnF1aXZvLCBlc2NyaWJhICB2ICBtb3ZlbWVudG8gIDp3IGFycXVpdm8gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIGEgZXN0YSBsacOxYS4KKworICAyLiBQcmVtYSAgdiAgZSBtb3ZhIG8gY3Vyc29yIGF0YSBvIHF1aW50byBlbGVtZW50byBpbmZlcmlvci4gVmV4YSBxdWUKKyAgICAgbyB0ZXh0byDDqSBzYWxpZW50YWRvLgorCisgIDMuIFByZW1hIG8gY2Fyw6FjdGVyICA6ICBOYSBwYXJ0ZSBpbmZlcmlvciBkYSBwYW50YWxsYSBhcGFyZWNlcsOhCisgICAgIDonPCwnPgorCisgIDQuIFByZW1hICB3IFRFU1QgICwgb25kZSBURVNUIMOpIHVuIG5vbWUgZGUgYXJxdWl2byBxdWUgYcOtbmRhIG5vbiBleGlzdGUuCisgICAgIFZlcmlmaXF1ZSBxdWUgdmUgIDonPCwnPncgVEVTVCAgYW50ZXMgZGUgcHJlbWVyIDxJTlRSTz4uCisKKyAgNS4gVmltIGVzY3JpYmlyw6EgYXMgbGnDsWFzIHNlbGVjY2lvbmFkYXMgbm8gYXJxdWl2byBURVNULiBVdGlsaWNlCisgICAgIDohZGlyICBvICA6IWxzICBwYXJhIHZlbG8uIE5vbiBvIGVsaW1pbmUgdG9kYXbDrWEhIFV0aWxpemFyw6ltb2xvCisgICAgIG5hIHNlZ3VpbnRlIGxlY2Npw7NuLgorCitOT1RBOiBBbyBwdWxzYXIgIHYgIGluaWNpw6EgYSBzZWxlY2Npw7NuIHZpc3VhbC4gUG9kZSBtb3ZlLWxvIGN1cnNvciBwYXJhCisgICAgICBmYWNlLWxhIHNlbGVjY2nDs24gbcOhaXMgZ3JhbmRlIG91IHBlcXVlbmEuIERlc3BvaXMsIHBvZGUgdXRpbGl6YXIgdW4KKyAgICAgIG9wZXJhZG9yIHBhcmEgZmFjZXIgYWxnbyBjbyB0ZXh0by4gUG9yIGV4ZW1wbG8sICBkICBlbGltaW5hcsOhCisgICAgICBvIHRleHRvIHNlbGVjY2lvbmFkby4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgTEVDQ0nDk04gMS41LjQ6IFJFQ1VQRVJBTkRPIEUgTUVTVFVSQU5ETyBGSUNIRUlST1MKKworCisgICoqIFBhcmEgaW5zZXJpLWxvIGNvbnRpZG8gZHVuIGZpY2hlaXJvIGVzY3JpYmEgIDpyIE5PTUVfRE9fRklDSEVJUk8gKioKKworICAxLiBTaXTDumUgbyBjdXJzb3IgeHVzdG8gcG9yIHJpYmEgZGVzdGEgbGnDsWEuCisKK05PVEE6IERlc3BvaXMgZGUgZXhlY3V0YXIgbyBwYXNvIDIgdmVyw6EgbyB0ZXh0byBkYSBsZWNjacOzbiAxLjUuMy4gRGVzcG9pcworICAgICAgREVTQ0VOREEgYXRhIHZlciBkZSBub3ZvIGVzdGEgbGVjY2nDs24uCisKKyAgMi4gQWdvcmEgcmVjdXBlcmUgbyBhcnF1aXZvIFRFU1QgdXRpbGl6YW5kbyBvIGNvbWFuZG8gIDpyIFRFU1QgICwgb25kZQorICAgICBURVNUIMOpIG8gbm9tZSBxdWUgdmVuIGRlIHV0aWxpemFyLgorICAgICBPIGFycXVpdm8gcXVlIHJlY3VwZXJvdSBjb2xvY2Fyw6FzZSBlbWJhaXhvIGRhIGxpw7FhIG9uZGUgc2UgYXRvcGUKKyAgICAgbyBjdXJzb3IuCisKKyAgMy4gUGFyYSB2ZXJpZmljYXIgcXVlIHNlIHJlY3VwZXJvdSBvIGFycXVpdm8sIHN1YmEgbyBjdXJzb3IgZSAKKyAgICAgY29tcHJvYmUgcXVlIGFnb3JhIGhhaSBkw7phcyBjb3BpYXMgZGEgbGVjY2nDs24gMS41LjMsIGEgb3JpeGluYWwgZQorICAgICBtYWlsYSB2ZXJzacOzbiBkbyBhcnF1aXZvLgorCitOT1RBOiBUYW3DqW4gcG9kZSBsZS1sYSBzYcOtZGEgZHVuIGNvbWFuZG8gZXh0ZXJuby4gUG9yIGV4ZW1wbG8sCisgICAgICAgIDpyICFscyAgbGUgYSBzYcOtZGEgZG8gY29tYW5kbyBscyBlIHDDqWdhbyBiYWl4byBkYSBsacOxYQorICAgICAgb25kZSBzZSBhdG9wYSBvIGN1cnNvci4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFU1VNTyBEQSBMRUNDScOTTiAxLjUKKworCisgIDEuIDohY29tYW5kbyAgZXhlY3V0YSB1biBjb21hbmRvIGV4dGVybm8uCisgICAgIEFsZ3VucyBleGVtcGxvcyDDunRpbGVzIHNvbjoKKyAgICAgKFdpbmRvd3MpICAgICAoVW5peCkKKwkgIDohZGlyICAgICAgICAgIDohbHMgICAgICAgICAgIC0gIG1vc3RyYSBvIGNvbnRpZG8gZHVuIGRpcmVjdG9yaW8uCisJICA6IWRlbCBhcnF1aXZvICA6IXJtIGFycXVpdm8gICAtICBib3JyYSBvIGZpY2hlaXJvIGFycXVpdm8uCisKKyAgMi4gOncgYXJxdWl2byBlc2NyaWJlIG8gYXJxdWl2byBhY3R1YWwgbm8gZGlzY28gY28gbm9tZSBkZSBhcnF1aXZvLgorCisgIDMuIHYgbW92ZW1lbnRvICA6dyBhcnF1aXZvICBndWFyZGEgYXMgbGnDsWFzIHNlbGVjY2lvbmFkYXMgdmlzdWFsbWVudGUKKyAgICAgbm8gYXJxdWl2byBhcnF1aXZvLgorCisgIDQuIDpyIGFycXVpdm8gIHJlY3VwZXJhIGRvIGRpc2NvIG8gYXJxdWl2byBhcnF1aXZvIGUgcMOpZ2FvIGVtYmFpeG8KKyAgICAgZGEgcG9zaWNpw7NuIGRvIGN1cnNvci4KKworICA1LiA6ciAhZGlyICBsZSBhIHNhw61kYSBkbyBjb21hbmRvIGRpciBlIHDDqWdhbyBlbWJhaXhvIGRhCisgICAgIHBvc2ljacOzbiBkbyBjdXJzb3IuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgICAgTEVDQ0nDk04gMS42LjE6IE8gQ09NQU5ETyDCq09QRU7CuyAoQUJSSVIpCisKKworICAqKiBQcmVtYSAgbyAgcGFyYSBhYnJpciB1bmhhIGxpw7FhIGVtYmFpeG8gZG8gY3Vyc29yCisgIGUgc2l0dWFyc2Ugbm8gbW9kbyBpbnNlcmlyICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciDDoSBsacOxYSBpbmZlcmlvciBzaW5hbGFkYSBjb24gLS0tPi4KKworICAyLiBQcmVtYSBhIGxldHJhIG1pbsO6c2N1bGEgIG8gIHBhcmEgYWJyaXIgdW5oYSBsacOxYSBwb3IgRU1CQUlYTyBkbyBjdXJzb3IKKyAgICAgZSBzaXR1YXJzZSBlbiBtb2RvIEluc2VyaXIuCisgIAorICAzLiBBZ29yYSwgZXNjcmliYSBhbGfDum4gdGV4dG8sIGUgZGVzcG9pcyBwcmVtYSA8RVNDPiBwYXJhIHNhw61yIGRvIG1vZG8KKyAgICAgSW5zZXJpci4KKworLS0tPiBEZXNwb2lzIGRlIHB1bHNhciAgbyAgLCBvIGN1cnNvciBzaXTDumFzZSBuYSBsacOxYSBhYmVydGEgZW4gbW9kbyBJbnNlcmlyLgorCisgIDQuIFBhcmEgYWJyaXIgdW5oYSBsacOxYSBwb3IgUklCQSBkbyBjdXJzb3IsIHNpbXBsZW1lbnRlIHByZW1hIHVuIE8KKyAgICAgTUFJw5pTQ1VMTywgZW4gdHJvcXVlcyBkdW4gbyBtaW7DunNjdWxvLiBQcm9iZSBpc3RvIG5hIGxpw7FhIHNlZ3VpbnRlLgorCistLS0+IEFicmEgdW5oYSBsacOxYSBzb2JyZSBlc3RhLCBwdWxzYW5kbyBPIGN1YW5kbyBvIGN1cnNvciBlc3RlYSBuZXN0YSBsacOxYS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICBMRUNDScOTTiAxLjYuMjogTyBDT01BTkRPIMKrQVBQRU5EwrsgKEVOR0FESVIpCisKKworICAqKiBQcmVtYSAgYSAgcGFyYSBpbnNlcmlyIHRleHRvIGRlc3BvaXMgZG8gY3Vyc29yLiAqKgorCisgIDEuIE1vdmEgbyBjdXJzb3IgYW8gaW5pY2lvIGRhIHByaW1laXJhIGxpw7FhIGluZmVyaW9yIHNpbmFsYWRhIGNvbiAtLS0+LgorCisgIDIuIEVzY3JpYmEgIGUgIGF0YSBxdWUgbyBjdXJzb3IgZXN0ZWEgYW8gZmluYWwgZGUgIGxpIC4KKworICAzLiBFc2NyaWJhIHVuICBhICAobWluw7pzY3VsbykgcGFyYSBlbmdhZGlyIHRleHRvIGRlc3BvaXMgZG8gY3Vyc29yLgorCisgIDQuIENvbXBsZXRlIGEgcGFsYWJyYSBjb21hIG5hIGxpw7FhIGluZmVyaW9yLiBQcmVtYSA8RVNDPiBwYXJhIHNhw61yCisgICAgIGRvIG1vZG8gSW5zZXJpci4KKyAgCisgIDUuIFV0aWxpY2UgIGUgIHBhcmEgbW92ZXJzZSBhdGEgYSBzZWd1aW50ZSBwYWxhYnJhIGluY29tcGxldGEgZSAKKyAgICAgcmVwaXRhIG9zIHBhc29zIDMgZSA0LgorCistLS0+IEVzdGEgbGkgcGVybWl0IHByYWN0aSBjw7NtbyBlbmdhIHRleHRvIGEgdW5oYQorLS0tPiBFc3RhIGxpw7FhIHBlcm1pdGlyw6FsbGUgcHJhY3RpY2FyIGPDs21vIGVuZ2FkaXIgdGV4dG8gYSB1bmhhIGxpw7FhLgorCitOT1RBOiBhLCBpIGUgQSAgZW50cmFuIG5vIG1vZG8gSW5zZXJpcjsgYSDDum5pY2EgZGlmZXJlbmNpYSDDqQorICAgICAgb25kZSBzZSBjb2xvY2FuIG9zIGNhcsOhY3RlcmVzIGluc2VyaWRvcy4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgTEVDQ0nDk04gMS42LjM6IE9VVFJBIFZFUlNJw5NOIERFIMKrUkVQTEFDRcK7IChTVUJTVElUVcONUikKKworCisgICoqIFByZW1hIHVuICBSICBNQUnDmlNDVUxPIHBhcmEgc3Vic3RpdHXDrXIgbcOhaXMgZHVuIGNhcsOhY3Rlci4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIMOhIHByaW1laXJhIGxpw7FhIGluZmVyaW9yIHNpbmFsYWRhIGNvbiAtLS0+LgorICAgICBNb3ZhIG8gY3Vyc29yIGFvIGluaWNpbyBkYSBwcmltZWlyYSAgeHh4IC4KKworICAyLiBBZ29yYSBwcmVtYSAgUiAgIGUgZXNjcmliYSBvIG7Dum1lcm8gcXVlIGFwYXJlY2UgbmEgbGnDsWEgaW5mZXJpb3IuCisgICAgIElzdG8gc3Vic3RpdHVpcsOhIG8gdGV4dG8gIHh4eCAuCisgIAorICAzLiBQcmVtYSA8RVNDPiBwYXJhIGFiYW5kb2EtbG8gbW9kbyBTdWJzdGl0dcOtci4KKyAgICAgT2JzZXJ2ZSBxdWUgbyByZXN0byBkYSBsacOxYSBmaWNhIHNlbiBtb2RpZmljYWNpb25zLgorCisgIDQuIFJlcGl0YSBvcyBwYXNvcyBwYXJhIHN1YnN0aXR1w60tbG8gdGV4dG8gIHh4eCAgcXVlIHF1ZWRhLgorCistLS0+IFN1bWFyIDEyMyBhIHh4eCBkYSB1biByZXN1bHRhZG8gZGUgeHh4LgorLS0tPiBTdW1hciAxMjMgYSA0NTYgZGEgdW4gcmVzdWx0YWRvIGRlIDU3OS4KKworTk9UQTogTyBtb2RvIFN1YnN0aXR1w61yIMOpIGNvbW8gbyBtb2RvIEluc2VyaXIsIHBlcm8gY2FkYSBjYXLDoWN0ZXIgZXNjcml0bworICAgICAgZWxpbWluYSB1biBjYXLDoWN0ZXIgeGEgZXhpc3RlbnRlLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuNi40OiBDT1BJQVIgRSBQRUdBUiBURVhUTworCisKKyAgKiogVXRpbGljZSBvIG9wZXJhZG9yICBlICBwYXJhIGNvcGlhciB0ZXh0byBlICBwICBwYXJhIHBlZ2Fsby4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIMOhIGxpw7FhIGluZmVyaW9yIG1hcmNhZGEgY29uIC0tLT4gZSBwb3NpY2lvbmUgbyAKKyAgICAgY3Vyc29yIGRlc3BvaXMgZGUgImEpIi4gCisKKyAgMi4gSW5pY2llIG8gbW9kbyBWaXN1YWwgY29uICB2CisgICAgIGUgbW92YSBvIGN1cnNvciB4dXN0byBhbnRlcyBkZSAicHJpbWVpcm8iLgorCisgIDMuIFByZW1hICBlICBwYXJhIGNvcGlhciAowqt5YW5rwrspIG8gdGV4dG8gc2FsaWVudGFkby4KKworICA0LiBNb3ZhIG8gY3Vyc29yIGFvIGZpbmFsIGRhIHNlZ3VpbnRlIGxpw7FhIG1lZGlhbnRlOiAgaiQKKworICA1LiBQcmVtYSAgcCAgcGFyYSBww7NyIChwZWdhcikgbyB0ZXh0by4gRGVzcG9pcyBlc2NyaWJhOiBvIHNlZ3VuZG8gPEVTQz4uCisKKyAgNi4gVXRpbGljZSBvIG1vZG8gdmlzdWFsIHBhcmEgc2VsZWNjaW9uYXIgIiBlbGVtZW50by4iLCBlIGPDs3BpZW8gY29uICB5LgorICAgICBNb3ZhIG8gY3Vyc29yIGFvIGZpbmFsIGRhIHNlZ3VpbnRlIGxpw7FhIGNvbiBqJCAgZSBwZWd1ZSBvIHRleHRvCisgICAgIHh1c3RvIGFjYWJhZG8gZGUgY29waWFyIGNvbiAgcCAuCisKKy0tLT4gIGEpIGVzdGUgw6kgbyBwcmltZWlybyBlbGVtZW50by4KKyAgICAgIGIpCisKK05PVEE6IFRhbcOpbiBwb2RlIHV0aWxpemFyICBlICBjb21vIHVuIG9wZXJhZG9yOiAgeXcgIGNvcGlhIHVuaGEgcGFsYWJyYSwKKyAgICAgIHl5ICBjb3BpYSBhIGxpw7FhIGNvbXBsZXRhIG9uZGUgZXN0w6EgbyBjdXJzb3I7IGRlc3BvaXMgIHAgIHBlZ2Fyw6EKKyAgICAgIGVzYSBsacOxYS4KKyAgICAKKyAKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExFQ0NJw5NOIDEuNi41OiBBQ1RJVkFSICjCq1NFVMK7KSBVTkhBIE9QQ0nDk04KKworCisgICoqIEFjdGl2ZSB1bmhhIG9wY2nDs24gcGFyYSBidXNjYXIgb3Ugc3Vic3RpdHXDrXIgaWdub3JhbmRvCisgIHNlIG8gdGV4dG8gZXN0w6EgZW4gTUFJw5pTQ1VMQVMgb3UgbWluw7pzY3VsYXMgKioKKworICAxLiBCdXNxdWUgYSBjYWRlYSBkZSB0ZXh0byAnaWdub3JhcicgZXNjcmliaW5kbzogIC9pZ25vcmFyIDxJTlRSTz4KKyAgICAgUmVwaXRhIGEgYnVzY2EgdmFyaWFzIHZlY2VzIHB1bHNhbmRvICBuIC4KKworICAyLiBBY3RpdmUgYSBvcGNpw7NuICdpYycgKCJJZ25vcmUgY2FzZSIgb3UgaWdub3JhciBtYWnDunNjdWxhcyBlIG1pbsO6c2N1bGFzKSAKKyAgICAgbWVkaWFudGU6ICA6c2V0IGljCisKKyAgMy4gQWdvcmEsIGJ1c3F1ZSBkZSBub3ZvICdpZ25vcmFyJyBwdWxzYW5kbyAgbiAuCisgICAgIE9ic2VydmUgcXVlIGFnb3JhIHRhbcOpbiBzZSBhY2hhIElnbm9yYXIgZSBJR05PUkFSLgorCisgIDQuIEFjdGl2ZSBhcyBvcGNpb25zICdobHNlYXJjaCcgZSAnaW5jc2VhcmNoJyBlc2NyaWJpbmRvOiAgOnNldCBobHMgaXMKKworICA1LiBBZ29yYSBlc2NyaWJhIGRlIG5vdm8gbyBjb21hbmRvIGRlIGJ1c2NhCisgICAgIGUgdmV4YSBxdcOpIGFjb250ZWNlOiAgL2lnbm9yZSA8SU5UUk8+CisKKyAgNi4gUGFyYSBpbmhhYmlsaXRhciBvdSBpZ25vcmFyIGEgZGlzdGluY2nDs24gZW50cmUgTUFJw5pTQ1VMQVMgZSBtaW7DunNjdWxhcyAgICAgCisgICAgIGVzY3JpYmE6ICA6c2V0IG5vaWMKKworTk9UQTogIFBhcmEgZWxpbWluYS1sbyBzYWxpZW50YWRvIGRhcyBjb2luY2lkZW5jaWFzIGVzY3JpYmE6ICA6bm9obHNlYXJjaAorTk9UQTogIFNlIHF1ZXJlIGlnbm9yYS1sYXMgTUFJw5pTQ1VMQVMgZSBtaW7DunNjdWxhcywgc8OzIHBhcmEgdW4gY29tYW5kbworICAgICAgIGRlIGJ1c2NhLCB1dGlsaWNlICBcYyAgbmEgZnJhc2U6ICAvaWdub3JhclxjIDxJTlRSTz4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgIFJFU1VNTyBEQSBMRUNDScOTTiAxLjYKKworCisgIDEuIEVzY3JpYmEgIG8gIHBhcmEgYWJyaXIgdW5oYSBsacOxYSBwb3IgQkFJWE8gZGEgcG9zaWNpw7NuIGRvIGN1cnNvciBlIAorICAgICBlbnRyYXIgZW4gbW9kbyBJbnNlcmlyLgorICAgICBFc2NyaWJhICBPICBwYXJhIGFicmlyIHVuaGEgbGnDsWEgcG9yIFJJQkEgZGEgcG9zaWNpw7NuIGRvIGN1cnNvciBlCisgICAgIGVudHJhciBlbiBtb2RvIEluc2VyaXIKKworICAyLiBFc2NyaWJhICBhICBwYXJhIGluc2VyaXIgdGV4dG8gZGVzcG9pcyBkbyBjdXJzb3IuCisgICAgIEVzY3JpYmEgIEEgIHBhcmEgaW5zZXJpciB0ZXh0byBhbyBmaW5hbCBkYSBsacOxYS4KKworICAzLiBPIGNvbWFuZG8gIGUgIG1vdmUgbyBjdXJzb3IgYW8gZmluYWwgZHVuaGEgcGFsYWJyYS4KKworICA0LiBPIG9wZXJhZG9yICBlICBjb3BpYSAowqt5YW5rwrspIHRleHRvOyAgcCAgcMOpZ2FvIChwb24pLgorCisgIDUuIEFvIGVzY3JpYmlyIHVuICBSICBNQUnDmlNDVUxPLCBlbnRyYSBubyBtb2RvIFN1YnN0aXR1w61yIGF0YSBxdWUKKyAgICAgc2UgcHJlbWUgIDxFU0M+ICAuCisKKyAgNi4gQW8gZXNjcmliaXIgIDpzZXQgeHh4ICwgYWN0w612YXNlIGEgb3BjacOzbiAneHh4Jy4KKyAgICAgQWxndW5hcyBvcGNpw7NucyBzb246CisgIAknaWMnICdpZ25vcmVjYXNlJwlpZ25vcmFyIG1hacO6c2N1bGFzL21pbsO6c2N1bGFzIGFvIGJ1c2NhcgorCSdpcycgJ2luY3NlYXJjaCcJYW1vc2EtbGFzIGNvaW5jaWRlbmNpYXMgcGFyY2lhaXMgcGFyYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIGJ1c2NhIGR1bmhhIGZyYXNlCisJJ2hscycgJ2hsc2VhcmNoJwlzYWxpZW50YSB0w7NkYWxhcyBjb2luY2lkZW5jaWFzIGRhIGZyYXNlcworCisgICAgIFBvZGUgdXRpbGl6YXIgdGFudG8gb3Mgbm9tZXMgbG9uZ29zIGNvbWEgb3MgY3VydG9zIGRhcyBvcGNpb25zLgorCisgIDcuIEVuZ2FkYSAibm8iIHBhcmEgaW5oYWJpbGl0YXIgdW5oYSBvcGNpw7NuOiAgIDpzZXQgbm9pYworIAorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgTEVDQ0nDk04gNzogT0JURVIgQVhVREEKKworCisgICoqIFV0aWxpY2UgbyBzaXN0ZW1hIGRlIGF4dWRhIGVuIGxpw7FhICoqCisKKyAgTyBWaW0gZGlzcMOzbiBkdW4gc2lzdGVtYSBkZSBheHVkYSBlbiBsacOxYS4gUGFyYSBjb21lemFyLCBwcm9iZSB1bmhhCisgIGRlc3RhcyB0cmVzIGZvcm1hczoKKwktIHByZW1hIGEgdGVjbGEgPEFYVURBPiAoc2UgZGlzcMOzbiBkZWxhKQorCS0gcHJlbWEgYSB0ZWNsYSA8RjE+IChzZSBkaXNww7NuIGRlbGEpCisJLSBlc2NyaWJhICA6aGVscCA8SU5UUk8+CisKKyAgTGVhIG8gdGV4dG8gbmEgeGFuZWxhIGRlIGF4dWRhIHBhcmEgZGVzY3VicmlyIGPDs21vIGZ1bmNpb25hIGEgYXh1ZGEuCisgIEVzY3JpYmEgIENUUkwtVyBDVFJMLVcgIHBhcmEgY2hpbXBhciBkdW5oYSB4YW5lbGEgYSBvdXRyYS4KKyAgRXNjcmliYSAgOnEgPElOVFJPPiAgcGFyYSBwZWNoYXIgYSB4YW5lbGEgZGUgYXh1ZGEuCisKKyAgUG9kZSBhdG9wYXIgYXh1ZGEgZW4gY2FzZSBjYWxxdWVyIHRlbWEgZW5nYWRpbmRvIHVuIGFyZ3VtZW50byBhbworICBjb21hbmRvICA6aGVscCAuIFByb2JlIGVzdGVzIChub24gZXNxdWV6YSBwcmVtZXIgPElOVFJPPik6CisKKyAgOmhlbHAgdyAKKyAgOmhlbHAgY19DVFJMLUQKKyAgOmhlbHAgaW5zZXJ0LWluZGV4IAorICA6aGVscCB1c2VyLW1hbnVhCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTEVDQ0nDk04gMS43LjI6IENSRUFSIFVOIFNDUklQVCBERSBJTklDSU8KKworCisgICoqIEhhYmlsaXRhciBmdW5jaW9uYWxpZGFkZXMgbm8gVmltICoqCisKKyAgTyBWaW0gdGVuIG1vaXRhcyBtw6FpcyBmdW5jaW9uYWxpZGFkZXMgcXVlIG8gVmksIHBlcm8gYWxndW5oYXMgZXN0w6FuCisgIGluaGFiaWxpdGFkYXMgZGUgeGVpdG8gcHJlZGV0ZXJtaW5hZG8uCisgIFBhcmEgZW1wZXphciBhIHV0aWxpemFyIG3DoWlzIGZ1bmNpb25hbGlkYWRlcyBkZWJlcsOtYSBjcmVhciB1biBhcnF1aXZvCisgIGNoYW1hZG8gInZpbXJjIi4KKworICAxLiBDb21lY2UgYSBlZGl0YS1sbyBhcnF1aXZvICJ2aW1yYyIuIElzdG8gZGVwZW5kZSBkbyBzZXUgc2lzdGVtYToKKwk6ZSB+Ly52aW1yYwkJcGFyYSBVbml4CisJOmUgfi9fdmltcmMJCXBhcmEgV2luZG93cworCisgIDIuIEFnb3JhIGxlYSBvIGNvbnRlbmlkbyBkbyBhcnF1aXZvICJ2aW1yYyIgZGUgZXhlbXBsbzoKKwk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIEdhcmRlIG8gYXJxdWl2byBtZWRpYW50ZToKKwk6dworCisgIEEgcHLDs3hpbWEgdmV6IHF1ZSBpbmljaWUgbyBWaW0sIGVzdGUgdXNhcsOhIG8gc2FsaWVudGFkbyBkZSBzaW50YXhlLgorICBQb2RlIGVuZ2FkaXIgdMOzZG9sb3Mgc2V1cyBheHVzdGVzIHByZWZlcmlkb3MgYSBlc3RlIGFycXVpdm8gInZpbXJjIi4KKyAgUGFyYSBtw6FpcyBpbmZvcm1hY2nDs24gZXNjcmliYSAgOmhlbHAgdmltcmMtaW50cm8KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgTEVDQ0nDk04gMS43LjM6IENPTVBMRVRBRE8KKworCisgICoqIENvbXBsZXRhZG8gZGEgbGnDsWEgZGUgY29tYW5kb3MgY29uIENUUkwtRCBvdSA8VEFCPiAuICoqCisKKyAgMS4gQXNlZ8O6cmVzZSBkZSBxdWUgbyBWaW0gbm9uIGVzdMOhIG5vIG1vZG8gY29tcGF0aWJsZTogIDpzZXQgbm9jcAorCisgIDIuIFZleGEgcXXDqSBhcnF1aXZvcyBleGlzdGVuIG5vIGRpcmVjdG9yaW8gY29uOiAgOiFscyAgb3UgIDohZGlyCisKKyAgMy4gRXNjcmliYSBvIGluaWNpbyBkdW4gY29tYW5kbzogIDplCisKKyAgNC4gUHJlbWEgIENUUkwtRCAgZSBvIFZpbSBtb3N0cmFyw6EgYSBsaXN0YSBkZSBjb21hbmRvcyBxdWUgZW1wZXphbiBjb24gImUiLgorCisgIDUuIEVuZ2FkYSAgZDxUQUI+ICBlIG8gVmltIGNvbXBsZXRhcsOhIG8gbm9tZSBkbyBjb21hbmRvIGEgIjplZGl0Ii4KKworICA2LiBBZ29yYSBlbmdhZGEgdW4gZXNwYWNpbyBlIG8gaW5pY2lvIGRvIG5vbWUgZHVuIGFycXVpdm86ICA6ZWRpdCBGSUwKKworICA3LiBQcmVtYSA8VEFCPi4gIFZpbSBjb21wbGV0YXLDoSBvIG5vbWUgKHNlIHPDsyBoYWkgdW4pLgorCitOT1RBOiAgTyBjb21wbGV0YWRvIGZ1bmNpb25hIGNvbiBtb2l0b3MgY29tYW5kb3MuIFPDsyBwcmVtYSBDVFJMLUQgb3UKKyAgICAgICA8VEFCPi4gIMOJIGVzcGVjaWFsbWVudGUgw7p0aWwgcGFyYSAgOmhlbHAgLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIFJFU1VNTyBEQSBMRUNDScOTTiAxLjcKKworCisgIDEuIEVzY3JpYmEgIDpoZWxwICBvdSBwcmVtYSA8RjE+IG91IDxIRUxQPiBwYXJhIGFicmktbGEgeGFuZWxhIGRlIGF4dWRhLgorCisgIDIuIEVzY3JpYmEgIDpoZWxwIGNtZCAgcGFyYSBhdG9wYXIgYXh1ZGEgc29icmUgIGNtZCAuCisKKyAgMy4gRXNjcmliYSAgQ1RSTC1XIENUUkwtVyAgcGFyYSBjaGltcGFyIGEgb3V0cmEgeGFuZWxhLgorCisgIDQuIEVzY3JpYmEgIDpxICBwYXJhIHBlY2hhLWxhIHhhbmVsYSBkZSBheHVkYS4KKworICA1LiBDcmVlIHVuIGZpY2hlaXJvIHZpbXJjIGRlIGluaWNpbyBwYXJhIGdhcmRhLWxvcyBzdXMgYXh1c3RlcyBwcmVmZXJpZG9zLgorCisgIDYuIEN1YW5kbyBlc2NyaWJhIHVuIGNvbWFuZG8gIDogIHByZW1hIENUUkwtRCBwYXJhIHZlciBwb3NpYmxlcyBvcGNpw7Nucy4KKyAgICAgUHJlbWEgPFRBQj4gcGFyYSB1dGlsaXphciB1bmhhIGRhcyBvcGNpw7NucyBkZSBjb21wbGV0YWRvLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCisgIEFxdcOtIGNvbmNsw7plIG8gdHV0b3IgZG8gVmltLiBFc3TDoSBwZW5zYWRvIHBhcmEgZGFyIHVuaGEgdmlzacOzbiBicmV2ZSBkbworICBlZGl0b3IgVmltLCBzdWZpY2llbnRlIHBhcmEgcGVybWl0aXJsbGUgdXNhLWxvIGVkaXRvciBkZSBmb3JtYSBiYXN0YW50ZQorICBzaW54ZWxhLiBFc3TDoSBtb2kgbG9ueGUgZGUgZXN0YXIgY29tcGxldG8gcG9pcyBvIFZpbSB0ZW4gbW9pdMOtc2ltb3MgbcOhaXMKKyAgY29tYW5kb3MuIExlYSBvIHNlZ3VpbnRlIG1hbnVhbCBkZSB1c3VhcmlvOiAiOmhlbHAgdXNlci1tYW51YWwiLgorCisgIFBhcmEgbGVjdHVyYXMgZSBlc3R1ZG9zIHBvc3RlcmlvcmVzLCByZWNvbcOpbmRhc2UgbyBsaWJybzoKKwlWaW0gLSBWaSBJbXByb3ZlZCAtIGRlIFN0ZXZlIE91YWxsaW5lCisJRWRpdGFkbyBwb3I6IE5ldyBSaWRlcnMKKyAgbyBwcmltZWlybyBsaWJybyBhZGljYWRvIGNvbXBsZXRhbWVudGUgYW8gVmltLiBFc3BlY2lhbG1lbnRlIMO6dGlsIHBhcmEKKyAgcHJpbmNpcGlhbnRlcy4gIFRlbiBtb2l0b3MgZXhlbXBsb3MgZSBpbWF4ZXMuCisgIFZleGEgaHR0cHM6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgRXN0ZSB0dXRvcmlhbCBmb2kgZXNjcml0byBwb3IgTWljaGFlbCBDLiBQaWVyY2UgZSBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIHV0aWxpemFuZG8gaWRlYXMgc3VibWluaXN0cmFkYXMgcG9yIENoYXJsZXMgU21pdGgsCisgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuCisgIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIE1vZGlmaWNhZG8gcGFyYSBWaW0gcG9yIEJyYW0gTW9vbGVuYWFyLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgVHJhZHVjaWRvIGRvIGluZ2zDqXMgYW8gZ2FsZWdvIHBvciBGZXJuYW5kbyBWaWxhcmnDsW8uCisgIENvcnJlbyBlbGVjdHLDs25pY286IGZlcm5hbmRvQGN2Yy51YWIuZXMuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvcjIuZ2wgYi9ydW50aW1lL3R1dG9yL3R1dG9yMi5nbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDkxMjYxCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci90dXRvcjIuZ2wKQEAgLTAsMCArMSwyMTUgQEAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz0gICAgIEIgZSBuIHYgaSBkIG8gICBhIG8gICB0IHUgdCBvIHIgICBkIG8gICBWIEkgTSAgICAgIC0gICAgVmVyc2nzbiAxLjcgICAgID0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz0gICAgICAgICAgICAgICAgICAgICAgICBDIEEgUCDNIFQgVSBMIE8gICBEIE8gVSBTICAgICAgICAgICAgICAgICAgICAgICAgICAgID0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICBIaWMgU3VudCBEcmFjb25lczogc2UgZXN0ZSDpIG8gc/phIHByaW1laXJhIGV4cG9zaWNp824gYW8gdmltLCBlCisgICAgIHByZWZpcmUgaW5pY2lhcnNlIG5vIGNhcO10dWxvIGludHJvZHVjdHVyaW8sIHBvZGUgc2HtciBwcmVtZW5kbworICAgICA6cSA8RU5URVI+IC4KKworICAgICBPIHRlbXBvIGFwcm94aW1hZG8gcmVxdWVyaWRvIHBhcmEgY29tcGxldGFyIGVzdGUgY2Fw7XR1bG8g6SBkZSAKKyAgICAgOC0xMCBtaW51dG9zLCBkZXBlbmRlbmRvIGRlIGNhbnRvIHRlbXBvIHVzZSBuYSBleHBlcmltZW50YWNp824uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVjY2nzbiAyLjEuMTogT1MgUkVYSVNUUk9TIENPTiBOT01FIAorCisKKyAgKiogQWxtYWNlbmUgZPphcyBwYWxhYnJhcyBjb3BpYWRhcyBkZSB4ZWl0byBjb25zZWN1dGl2bywgZSBsb2dvIHDpZ3VlYXMuICoqIAorCisgIDEuIE1vdmEgbyBjdXJzb3IgYXRhIGEgbGnxYSBpbmZlcmlvciBzaW5hbGFkYSBjb24gLS0tPi4KKyAKKyAgMi4gTmF2ZWd1ZSBhdGEgY2FscXVlcmEgY2Fy4WN0ZXIgZGEgcGFsYWJyYSAnWG/hbicgZSBlc2NyaWJhICAiYXlpdyAuCisKK05FTdNOSUNPOiAKKyAgICAgZGVudHJvIGRvIHJleGlzdHJvKCIpCisgICAgIGNoYW1hZG8gKGEpIAorICAgICBwZWdhICh5KWFuayAKKyAgICAgbyBpbnRlcmlvciAoaSlubmVyIAorICAgICBkYSBwYWxhYnJhICh3KW9yZAorCisgIDMuIE5hdmVndWUgY2FyYSBhIGFkaWFudGUgYXRhIGEgcGFsYWJyYSAnZ2FsZXRhcycgCisgICAgICggIGZsICBvdSAgNGZlICBvdSAgJGIgIG91ICAvZ2FsIDxFTlRFUj4gKSBlIHRlY2xlZSAgImJ5aXcgLgorCisgIDQuIE5hdmVndWUgYXRhIGNhbHF1ZXJhIGNhcuFjdGVyIGRhIHBhbGFicmEgJ1V47W8nIGUgdGVjbGVlIAorICAgICBjaXcgPEMtcj5hPEVTQz4KKworTkVN005JQ086CisgICAgIGNhbWJpYSAoYyloYW5nZQorICAgICBvIGludGVyaW9yIChpKW5uZXIKKyAgICAgZGEgcGFsYWJyYSAodylvcmQgCisgICAgIGNvIDxjb250aWRvIGRvIHJleGlzdHJvIChyKWVnaXN0ZXI+CisgICAgIGNoYW1hZG8gKGEpCisKKyAgNS4gTmF2ZWd1ZSBhdGEgY2FscXVlcmEgcHVudG8gZGEgcGFsYWJyYSAndGFydGFzJyBlIHRlY2xlZSAKKyAgICAgY2l3PEMtcj5iPEVTQz4KKworLS0tPiAgYSkgRGUgZWlxde0gZW4gYWRpYW50ZSwgWG/hbiBmaWNhcuEgZW5jYXJyZWdhZG8gZGFzIHJhY2nzbnMgZGUgZ2FsZXRhcy4KKyAgICAgIGIpIFhhIHF1ZSBsb2dvLCBVeO1vIHNvbWVudGVzIHRlcuEgcG9kZXJlcyBubyBxdWUgcmVzcGVjdGEg4XMgdGFydGFzLgorCitOT1RBOiBPIGJvcnJhZG8gdGFt6W4gZnVuY2lvbmEgbm9zIHJleGlzdHJvcywg6SBkaWNpcjogCisgICAgICAic2RpdyAgYm9ycmFy4SBhIHBhbGFicmEgYmFpeG8gbyBjdXJzb3IgZSBmaWNhcuFhIG5vIHJleGlzdHJvIHMuIAorCitSRUZFUkVOQ0lBUzogIFJleGlzdHJvcyAgICAgICAgICAgIDpoIHJlZ2lzdGVycworICAgICAgICAgICAgICBSZXhpc3Ryb3MgY29uIGNvbWU6ICA6aCBxdW90ZWEKKyAgICAgICAgICAgICAgTW92ZW1lbnRvICAgICAgICAgICAgOmggbW90aW9uLnR4dDxlbnRlcj4gL2lubmVyPGVudGVyPgorICAgICAgICAgICAgICBDVFJMLVIgICAgICAgICAgICAgICA6aCBpbnNlcnQ8ZW50ZXI+IC9DVFJMLVI8ZW50ZXI+CisgCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExlY2Np824gMi4xLjI6IE8gUkVYSVNUUk8gREUgRVhQUkVTSdNOCisKKworICoqIEluc2lyYSBvIHJlc3VsdGFkbyBkb3MgY+FjdWxvcyBzb2JyZSBhIG1hcmNoYS4gKiogCisKKyAgMS4gTW92YSBvIGN1cnNvciBhdGEgYSBsafFhIHNpbmFsYWRhIGNvbiAtLS0+LgorCisgIDIuIE5hdmVndWUgYXRhIGNhbHF1ZXJhIGNhcuFjdGVyIGRvIG76bWVybyBxdWUgYXBhcmVjZSBuYSBsafFhLiAKKworICAzLiBUZWNsZWUgIGNpdzxDLXI+PTYwKjYwKjI0PEVOVEVSPiAuCisKKyAgNC4gTmEgc2VndWludGUgbGnxYSwgZW50cmUgbm8gbW9kbyBJbnNlcmlyIGUgZW5nYWRhIGEgZGF0YSBkZSBob3hlIGNvbjogCisgICAgIDxDLXI+PXN5c3RlbSgnZGF0ZScpPEVOVEVSPgorCitOT1RBOiBU82RhbGFzIGNoYW1hZGFzIGEgc2lzdGVtYSBzb24gZGVwZW5kZW50ZXMgZG8gc2lzdGVtYSBvcGVyYXRpdm8uCisgICAgICBQb3IgZXhlbXBsbywgZW4gV2luZG93cyBwb2RlIHVzYXI6CisgICAgICBzeXN0ZW0oJ2RhdGUgL3QnKSAgb3UgIDpyIWRhdGUgL3QKKworLS0tPiBFc3F1ZWPtbiBvIG76bWVybyBleGFjdG8gZGUgc2VndW5kb3MgcXVlIHRlbiB1biBk7WE7IHNvbiA4NDYwMD8KKy0tLT4gQSBkYXRhIGRlIGhveGUg6TogCisKK05PVEE6IE8gbWVzbW8gcPNkZXNlIG9idGVyIGNvbiAgOnB1PXN5c3RlbSgnZGF0ZScpCisgICAgICBvdSwgcHJlbWVuZG8gbWVub3MgdGVjbGFzLCBjb24gIDpyIWRhdGUgLgorCitSRUZFUkVOQ0lBUzogIFJleGlzdHJvIGRlIGV4cGVyZXNp824gICAgOmggcXVvdGU9CisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExlY2Np824gMi4xLjM6IE9TIFJFWElTVFJPUyBOVU1FUkFET1MKKworCisgICoqIFByZW1hICB5eSAgZSBtYWlzICBkZCAgcGFyYSB2ZS1sbyBzZXUgZWZlY3RvIG5vcyByZXhpc3Ryb3MuICoqCisKKyAgMS4gTW92YSBvIGN1cnNvciBhdGEgYSBsafFhIHNpbmFsYWRhIGNvbiAtLS0+LgorCisgIDIuIENvcGllIGEgbGnxYSAwLCBlIGxvZ28gaW5zcGVjY2lvbmUgb3MgcmV4aXRyb3MgY29uICA6cmVnPGVudGVyPiAuCisKKyAgMy4gQm9ycmUgYSBsafFhIDAgY29uICJjZGQsIGUgbG9nbyBpbnNwZWNjaW9uZSBvcyByZXhpc3Ryb3MuCisgICAgIChPbmRlIGVzcGVyYSBxdWUgZXN0ZWEgbyBjb250aWRvIGRhIGxp8WEgMD8pCisKKyAgNC4gQ29udGlu+mUgYm9ycmFuZG8gY2FkYSBsafFhIHN1Y2VzaXZhbWVudGUsIGluc3BlY2Npb25hbmRvIG9zIHJleGlzdHJvcworICAgICBzb2JyZSBhIG1hcmNoYS4KKworTk9UQTogRGViZXLtYSBkZWNhdGFyc2UgZGUgcXVlIGFzIGxp8WFzIGJvcnJhZGFzIG3haXMgYW50aWdhcyBt83ZlbnNlIGNhcmEgYQorICAgICAgZW1iYWl4byBuYSBsaXN0YSwgY29uc29udGUgc2UgZW5nYWRlbiBhcyBub3ZhcyBsafFhcyBib3JyYWRhcy4gCisKKyAgNS4gQWdvcmEsIHBv8WEgKHApIG9zIHNlZ3VpbnRlcyByZXhpc3Ryb3MgZW4gb3JkZTogYywgNywgNCwgOCwgMi4KKyAgICAgUG9yIGV4ZW1wbG8sIHVzYW5kbyAgIjdwIC4KKworLS0tPiAwLiBFc3RhCisgICAgIDkuIGNhbWJhbGVhcgorICAgICA4LiBtZW5zYXhlIAorICAgICA3LiDpCisgICAgIDYuIGVuCisgICAgIDUuIGVpeG8KKyAgICAgNC4gdW5oYQorICAgICAzLiBndWVycmEKKyAgICAgMi4gc2VjcmV0YS4KKyAgICAgMS4gdHJpYnV0bworCitOT1RBOiBPIGJvcnJhZG8gZGUgbGnxYXMgZW50ZWlyYXMgKGRkKSBwZXJtYW5lY2UgbeFpcyB0ZW1wbyBub3MgcmV4aXN0cm9zIAorICAgICAgbnVtZXJhZG9zIGPzIGNvcGlhZG8gZGUgbGnxYXMgZW50ZWlyYXMgb3UgZGUgdGV4dG8gbeFpcyBwZXF1ZW5vLiAgIAorCitSRUZFUkVOQ0lBUzogIFJleGlzdHJvcyBudW1lcmFkb3MgICAgOmggcXVvdGUwMAorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICBMZWNjafNuIDIuMS40OiBBIEJFTEVaQSBEQVMgTUFSQ0FTCisKKworICAqKiBFdml0YW5kbyBjb250YS1sYXMgbGnxYXMgZGUgY/NkaWdvICoqCisKK05PVEE6IFVuIHByb2JsZW1hIGZyZWN1ZW50ZSBxdWUgYWNvbnRlY2UgY2FuZG8gc2UgcHJvZ3JhbWEg6SBvIGRlc3ByYXphbWVudG8KKyAgICAgIGVudHJlIHBlZGF6b3MgZGUgY/NkaWdvLiBBIHNlZ3VpbnRlIHTpY25pY2EgYXh1ZGEgYSBldml0YS1sbyBj4WxjdWxvCisgICAgICBkZSBu+m1lcm9zIGRlIGxp8WEgYXNvY2lhZG9zIGEgb3BlcmFjaW9ucyBjb21hICAiYTE0N2QgIG91CisgICAgICA6OTQ1LDEwOTFkIGEgIG91LCBpbmNsdXNvIHBlb3IsIHVzYW5kbyBwcmltZWlybworICAgICAgPEMtcj49MTA5MS05NDU8RU5URVI+IC4KKworICAxLiBNb3ZhIG8gY3Vyc29yIGF0YSBhIGxp8WEgc2luYWxhZGEgY29uIC0tLT4uCisKKyAgMi4gVmFpYSDhIHByaW1laXJhIGxp8WEgZGEgZnVuY2nzbiBlIG3hcnF1ZWEgY29uICBtYSAuCisKK05PVEE6IEEgcG9zaWNp824gZXhhY3RhIG5hIGxp8WEgTk9OIOkgaW1wb3J0YW50ZSEKKworICAzLiBOYXZlZ3VlIGF0YSBhIGZpbiBkYSBsafFhLCBlIGRlc2VndWlkbyBhdGEgYSBmaW4gZG8gYmxvcXVlIGRlIGPzZGlnbworICAgICBjb24gICQlIC4KKworICA0LiBCb3JyZSBvIGJsb3F1ZSBlIHDz8WFvIG5vIHJleGlzdHJvICdhJyBjb24gICJhZCdhIC4KKworTkVN005JQ086IAorICAgICBEZW50cm8gZG8gcmV4aXN0cm8oIikKKyAgICAgY29uIG5vbWUgZGUgcmV4aXN0cm8gKGEpIAorICAgICBwb24gbyBib3JyYWRvIChkKWVsZXRpb24KKyAgICAgZGVuZGUgbyBjdXJzb3IgYXRhIGEgbGnxYSBxdWUgY29udOluIGEgbWFyY2EoJykKKyAgICAgZGUgbm9tZSBkZSBtYXJjYSAoYSkKKworICA1LiBQZWd1ZSBvIGJsb3F1ZSBlbnRyZSBCQkIgZSBDQ0MgY29uICAiYXAgLgorCitOT1RBOiBQcmFjdGlxdWUgZXN0YSBvcGVyYWNp824gbfpsdGlwbGVzIHZlY2VzLAorICAgICAgYXRhIGNoZWdhciBhIGZhY2VsbyBmbHVpZGFtZW50ZTogIG1hJCUiYWQnYQorCistLS0+IEFBQQorICAgICBmdW5jdGlvbiBpdEdvdFJlYWxCaWdSZWFsRmFzdCgpIHsKKyAgICAgICBpZiAoIHNvbWV0aGluZ0lzVHJ1ZSApIHsKKyAgICAgICAgIGRvSXQoKQorICAgICAgIH0KKyAgICAgICAvLyB0aGUgdGF4b25vbXkgb2Ygb3VyIGZ1bmN0aW9uIGhhcyBjaGFuZ2VkIGFuZCBpdAorICAgICAgIC8vIG5vIGxvbmdlciBtYWtlcyBhbHBoYWJldGljYWwgc2Vuc2UgaW4gaXRzIGN1cnJlbnQgcG9zaXRpb24KKworICAgICAgIC8vIGltYWdpbmUgaHVuZHJlZHMgb2YgbGluZXMgb2YgY29kZQorCisgICAgICAgLy8gbmFpdmVseSB5b3UgY291bGQgbmF2aWdhdGUgdG8gdGhlIHN0YXJ0IGFuZCBlbmQgYW5kIHJlY29yZCBvcgorICAgICAgIC8vIHJlbWVtYmVyIGVhY2ggbGluZSBudW1iZXIKKyAgICAgfQorICAgICBCQkIKKyAgICAgQ0NDCisKK05PVEE6IEFzIG1hcmNhcyBlIG1haWxvcyByZXhpc3Ryb3Mgbm9uIGNvbXBhcnRlbiB1biBlc3Bhem8gY29t+m4gZGUgbm9tZXMsIAorICAgICAgZGUgeGVpdG8gcXVlIHVuIHJleGlzdHJvICdhJyDpIGNvbXBsZXRhbWVudGUgaW5kZXBlbmRlbnRlIGR1bmhhCisgICAgICBtYXJjYSAnYScuIEVuIHRyb3F1ZXMsIGlzdG8gbm9uIGFjb250ZWNlIGVudHJlIG9zIHJleGlzdHJvcworICAgICAgZSBtYWlsYXMgbWFjcm9zLgorCitSRUZFUkVOQ0lBUzogIE1hcmNhcyAgICAgICAgICAgICAgICA6aCBtYXJrcworICAgICAgICAgICAgICBNb3ZlbWVudG8gZGUgbWFyY2FzICAgOmggbWFyay1tb3Rpb25zICAoZGlmZXJlbmNpYSBlbnRyZSAnIGUgIGApCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIExlY2Np824gMi4xIFJFU1VNTworCisgIDEuIEdhcmRhciB0ZXh0byAocG9yIG1lZGlvIGRlIGNvcGlhciBvdSBib3JyYXIpLCBlIHJlY3VwZXJhbG8gKHBlZ2FyKSBkZW5kZQorICAgICB1biB0b3RhbCBkZSAyNiByZXhpc3Ryb3MgKGEteikuCisgIDIuIFBlZ2FyIHVuaGEgcGFsYnJhIGVudGVpcmEgZGVuZGUgY2FscXVlciBzaXRpbyBkZW50cm8gZHVuaGEgcGFsYXJhOiAgeWl3CisgIDMuIENhbWJpYXIgdW5oYSBwYWxhYnJhIGVudGVpcmEgZGVuZGUgY2FscXVlciBwdW50byBkZSBwYWxhYnJhOiAgICAgICAgY2l3CisgIDQuIEluc2VyaXIgdGV4dG8gZGlyZWN0YW1lbnRlIGRlbmRlIG9zIHJleGlzdHJvcyBlbiBtb2RvIEluc2VyaXI6ICAgKEMtcilhCisgIDUuIEluc2VyaS1sbyByZXN1bHRhZG8gZGUgb3BlcmFjafNucyBhcml0bel0aWNhcyBzaW1wbGVzIG5vIG1vZG8KKyAgICAgSW5zZXJpcjogIChDLXIpPTYwKjYwPEVOVEVSPgorICA2LiBJbnNlcmktbG9zIHJlc3VsdGFkb3MgZGUgY2hhbWFkYXMgYW8gc2lzdGVtYSBubyBtb2RvIEluc2VyaXI6IAorICAgICAoQy1yKT1zeXN0ZW0oJ2xzIC0xJykKKyAgNy4gSW5zcGVjY2lvbmEtbG9zIHJleGlzdHJvcyBjb24gIDpyZWcgLgorICA4LiBBcHJlbmRlLWxvIGRlc3Rpbm8gZmluYWwgZG8gYm9ycmFkbyBkZSBsafFhcyBlbnRlaXJhcyAoZGQpIG5vcworICAgICByZXhpc3Ryb3MgbnVtZXJhZG9zLCDpIGRpY2lyLCBkZXNjZW5kZW5kbyBkZW5kZSBvIHJlaXN0cm8gMSBhbyA5LiAKKyAgICAgRGVjYXRhcnNlIGRlIHF1ZSBvIGJvcnJhZG8gZGUgbGnxYXMgZW50ZWlyYXMgcHJlc+lydmFzZSBub3MgcmV4aXN0cm9zCisgICAgIG51bWVyYWRvcyBt4WlzIHRlbXBvIHF1ZSBjYWxxdWVyYSBvdXRyYSBvcGVyYWNp824uICAgCisgIDkuIEFwcmVuZGUtbG8gZGVzdGlubyBmaW5hbCBkZSB082RhbGFzIGNvcGlhcyBmZWl0YXMgbm9zIHJleGlzdHJvcyAKKyAgICAgbnVtZXJhZG9zIGUgY/NtbyBzb24gZGUgZWbtbWVyb3MuIAorIDEwLiBTaXR1YXIgbWFyY2FzIGRlbmRlIG8gbW9kbyBkZSBjb21hbmRvcyAgbVthLXpBLVowLTldIC4KKyAxMS4gTW92ZXJzZSBhIHVuYSBsafFhIGN1bmhhIG1hcmNhIGNvbiAgJyAuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICBJc3RvIGNvbmNs+mUgbyBjYXDtdHVsbyBkb3dzIGRvIFZpbSBUdXRvci4gRXN0ZSDpIHRyYWJhbGxvIGVuIHByb2dyZXNvLiAgCisgIEVzdGUgY2Fw7XR1bG8gZm9pIGVzY3JpdG8gcG9yIFBhdWwgRC4gUGFya2VyLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgVHJhZHVjaWRvIGRvIGluZ2zpcyBhbyBnYWxlZ28gcG9yIEZlcm5hbmRvIFZpbGFyafFvLgorICBDb3JyZW8gZWxlY3Ry825pY286IGZlcm5hbmRvQGN2Yy51YWIuZXMuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvcjIuZ2wudXRmLTggYi9ydW50aW1lL3R1dG9yL3R1dG9yMi5nbC51dGYtOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzkwYjhmCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci90dXRvcjIuZ2wudXRmLTgKQEAgLTAsMCArMSwyMTUgQEAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz0gICAgIEIgZSBuIHYgaSBkIG8gICBhIG8gICB0IHUgdCBvIHIgICBkIG8gICBWIEkgTSAgICAgIC0gICAgVmVyc2nDs24gMS43ICAgICA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgICAgICAgICAgICAgICAgICAgICAgQyBBIFAgw40gVCBVIEwgTyAgIEQgTyBVIFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgPQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgIEhpYyBTdW50IERyYWNvbmVzOiBzZSBlc3RlIMOpIG8gc8O6YSBwcmltZWlyYSBleHBvc2ljacOzbiBhbyB2aW0sIGUKKyAgICAgcHJlZmlyZSBpbmljaWFyc2Ugbm8gY2Fww610dWxvIGludHJvZHVjdHVyaW8sIHBvZGUgc2HDrXIgcHJlbWVuZG8KKyAgICAgOnEgPEVOVEVSPiAuCisKKyAgICAgTyB0ZW1wbyBhcHJveGltYWRvIHJlcXVlcmlkbyBwYXJhIGNvbXBsZXRhciBlc3RlIGNhcMOtdHVsbyDDqSBkZSAKKyAgICAgOC0xMCBtaW51dG9zLCBkZXBlbmRlbmRvIGRlIGNhbnRvIHRlbXBvIHVzZSBuYSBleHBlcmltZW50YWNpw7NuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxlY2Npw7NuIDIuMS4xOiBPUyBSRVhJU1RST1MgQ09OIE5PTUUgCisKKworICAqKiBBbG1hY2VuZSBkw7phcyBwYWxhYnJhcyBjb3BpYWRhcyBkZSB4ZWl0byBjb25zZWN1dGl2bywgZSBsb2dvIHDDqWd1ZWFzLiAqKiAKKworICAxLiBNb3ZhIG8gY3Vyc29yIGF0YSBhIGxpw7FhIGluZmVyaW9yIHNpbmFsYWRhIGNvbiAtLS0+LgorIAorICAyLiBOYXZlZ3VlIGF0YSBjYWxxdWVyYSBjYXLDoWN0ZXIgZGEgcGFsYWJyYSAnWG/DoW4nIGUgZXNjcmliYSAgImF5aXcgLgorCitORU3Dk05JQ086IAorICAgICBkZW50cm8gZG8gcmV4aXN0cm8oIikKKyAgICAgY2hhbWFkbyAoYSkgCisgICAgIHBlZ2EgKHkpYW5rIAorICAgICBvIGludGVyaW9yIChpKW5uZXIgCisgICAgIGRhIHBhbGFicmEgKHcpb3JkCisKKyAgMy4gTmF2ZWd1ZSBjYXJhIGEgYWRpYW50ZSBhdGEgYSBwYWxhYnJhICdnYWxldGFzJyAKKyAgICAgKCAgZmwgIG91ICA0ZmUgIG91ICAkYiAgb3UgIC9nYWwgPEVOVEVSPiApIGUgdGVjbGVlICAiYnlpdyAuCisKKyAgNC4gTmF2ZWd1ZSBhdGEgY2FscXVlcmEgY2Fyw6FjdGVyIGRhIHBhbGFicmEgJ1V4w61vJyBlIHRlY2xlZSAKKyAgICAgY2l3IDxDLXI+YTxFU0M+CisKK05FTcOTTklDTzoKKyAgICAgY2FtYmlhIChjKWhhbmdlCisgICAgIG8gaW50ZXJpb3IgKGkpbm5lcgorICAgICBkYSBwYWxhYnJhICh3KW9yZCAKKyAgICAgY28gPGNvbnRpZG8gZG8gcmV4aXN0cm8gKHIpZWdpc3Rlcj4KKyAgICAgY2hhbWFkbyAoYSkKKworICA1LiBOYXZlZ3VlIGF0YSBjYWxxdWVyYSBwdW50byBkYSBwYWxhYnJhICd0YXJ0YXMnIGUgdGVjbGVlIAorICAgICBjaXc8Qy1yPmI8RVNDPgorCistLS0+ICBhKSBEZSBlaXF1w60gZW4gYWRpYW50ZSwgWG/DoW4gZmljYXLDoSBlbmNhcnJlZ2FkbyBkYXMgcmFjacOzbnMgZGUgZ2FsZXRhcy4KKyAgICAgIGIpIFhhIHF1ZSBsb2dvLCBVeMOtbyBzb21lbnRlcyB0ZXLDoSBwb2RlcmVzIG5vIHF1ZSByZXNwZWN0YSDDoXMgdGFydGFzLgorCitOT1RBOiBPIGJvcnJhZG8gdGFtw6luIGZ1bmNpb25hIG5vcyByZXhpc3Ryb3MsIMOpIGRpY2lyOiAKKyAgICAgICJzZGl3ICBib3JyYXLDoSBhIHBhbGFicmEgYmFpeG8gbyBjdXJzb3IgZSBmaWNhcsOhYSBubyByZXhpc3RybyBzLiAKKworUkVGRVJFTkNJQVM6ICBSZXhpc3Ryb3MgICAgICAgICAgICA6aCByZWdpc3RlcnMKKyAgICAgICAgICAgICAgUmV4aXN0cm9zIGNvbiBjb21lOiAgOmggcXVvdGVhCisgICAgICAgICAgICAgIE1vdmVtZW50byAgICAgICAgICAgIDpoIG1vdGlvbi50eHQ8ZW50ZXI+IC9pbm5lcjxlbnRlcj4KKyAgICAgICAgICAgICAgQ1RSTC1SICAgICAgICAgICAgICAgOmggaW5zZXJ0PGVudGVyPiAvQ1RSTC1SPGVudGVyPgorIAorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWNjacOzbiAyLjEuMjogTyBSRVhJU1RSTyBERSBFWFBSRVNJw5NOCisKKworICoqIEluc2lyYSBvIHJlc3VsdGFkbyBkb3MgY8OhY3Vsb3Mgc29icmUgYSBtYXJjaGEuICoqIAorCisgIDEuIE1vdmEgbyBjdXJzb3IgYXRhIGEgbGnDsWEgc2luYWxhZGEgY29uIC0tLT4uCisKKyAgMi4gTmF2ZWd1ZSBhdGEgY2FscXVlcmEgY2Fyw6FjdGVyIGRvIG7Dum1lcm8gcXVlIGFwYXJlY2UgbmEgbGnDsWEuIAorCisgIDMuIFRlY2xlZSAgY2l3PEMtcj49NjAqNjAqMjQ8RU5URVI+IC4KKworICA0LiBOYSBzZWd1aW50ZSBsacOxYSwgZW50cmUgbm8gbW9kbyBJbnNlcmlyIGUgZW5nYWRhIGEgZGF0YSBkZSBob3hlIGNvbjogCisgICAgIDxDLXI+PXN5c3RlbSgnZGF0ZScpPEVOVEVSPgorCitOT1RBOiBUw7NkYWxhcyBjaGFtYWRhcyBhIHNpc3RlbWEgc29uIGRlcGVuZGVudGVzIGRvIHNpc3RlbWEgb3BlcmF0aXZvLgorICAgICAgUG9yIGV4ZW1wbG8sIGVuIFdpbmRvd3MgcG9kZSB1c2FyOgorICAgICAgc3lzdGVtKCdkYXRlIC90JykgIG91ICA6ciFkYXRlIC90CisKKy0tLT4gRXNxdWVjw61uIG8gbsO6bWVybyBleGFjdG8gZGUgc2VndW5kb3MgcXVlIHRlbiB1biBkw61hOyBzb24gODQ2MDA/CistLS0+IEEgZGF0YSBkZSBob3hlIMOpOiAKKworTk9UQTogTyBtZXNtbyBww7NkZXNlIG9idGVyIGNvbiAgOnB1PXN5c3RlbSgnZGF0ZScpCisgICAgICBvdSwgcHJlbWVuZG8gbWVub3MgdGVjbGFzLCBjb24gIDpyIWRhdGUgLgorCitSRUZFUkVOQ0lBUzogIFJleGlzdHJvIGRlIGV4cGVyZXNpw7NuICAgIDpoIHF1b3RlPQorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICBMZWNjacOzbiAyLjEuMzogT1MgUkVYSVNUUk9TIE5VTUVSQURPUworCisKKyAgKiogUHJlbWEgIHl5ICBlIG1haXMgIGRkICBwYXJhIHZlLWxvIHNldSBlZmVjdG8gbm9zIHJleGlzdHJvcy4gKioKKworICAxLiBNb3ZhIG8gY3Vyc29yIGF0YSBhIGxpw7FhIHNpbmFsYWRhIGNvbiAtLS0+LgorCisgIDIuIENvcGllIGEgbGnDsWEgMCwgZSBsb2dvIGluc3BlY2Npb25lIG9zIHJleGl0cm9zIGNvbiAgOnJlZzxlbnRlcj4gLgorCisgIDMuIEJvcnJlIGEgbGnDsWEgMCBjb24gImNkZCwgZSBsb2dvIGluc3BlY2Npb25lIG9zIHJleGlzdHJvcy4KKyAgICAgKE9uZGUgZXNwZXJhIHF1ZSBlc3RlYSBvIGNvbnRpZG8gZGEgbGnDsWEgMD8pCisKKyAgNC4gQ29udGluw7plIGJvcnJhbmRvIGNhZGEgbGnDsWEgc3VjZXNpdmFtZW50ZSwgaW5zcGVjY2lvbmFuZG8gb3MgcmV4aXN0cm9zCisgICAgIHNvYnJlIGEgbWFyY2hhLgorCitOT1RBOiBEZWJlcsOtYSBkZWNhdGFyc2UgZGUgcXVlIGFzIGxpw7FhcyBib3JyYWRhcyBtw6FpcyBhbnRpZ2FzIG3Ds3ZlbnNlIGNhcmEgYQorICAgICAgZW1iYWl4byBuYSBsaXN0YSwgY29uc29udGUgc2UgZW5nYWRlbiBhcyBub3ZhcyBsacOxYXMgYm9ycmFkYXMuIAorCisgIDUuIEFnb3JhLCBwb8OxYSAocCkgb3Mgc2VndWludGVzIHJleGlzdHJvcyBlbiBvcmRlOiBjLCA3LCA0LCA4LCAyLgorICAgICBQb3IgZXhlbXBsbywgdXNhbmRvICAiN3AgLgorCistLS0+IDAuIEVzdGEKKyAgICAgOS4gY2FtYmFsZWFyCisgICAgIDguIG1lbnNheGUgCisgICAgIDcuIMOpCisgICAgIDYuIGVuCisgICAgIDUuIGVpeG8KKyAgICAgNC4gdW5oYQorICAgICAzLiBndWVycmEKKyAgICAgMi4gc2VjcmV0YS4KKyAgICAgMS4gdHJpYnV0bworCitOT1RBOiBPIGJvcnJhZG8gZGUgbGnDsWFzIGVudGVpcmFzIChkZCkgcGVybWFuZWNlIG3DoWlzIHRlbXBvIG5vcyByZXhpc3Ryb3MgCisgICAgICBudW1lcmFkb3MgY8OzIGNvcGlhZG8gZGUgbGnDsWFzIGVudGVpcmFzIG91IGRlIHRleHRvIG3DoWlzIHBlcXVlbm8uICAgCisKK1JFRkVSRU5DSUFTOiAgUmV4aXN0cm9zIG51bWVyYWRvcyAgICA6aCBxdW90ZTAwCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExlY2Npw7NuIDIuMS40OiBBIEJFTEVaQSBEQVMgTUFSQ0FTCisKKworICAqKiBFdml0YW5kbyBjb250YS1sYXMgbGnDsWFzIGRlIGPDs2RpZ28gKioKKworTk9UQTogVW4gcHJvYmxlbWEgZnJlY3VlbnRlIHF1ZSBhY29udGVjZSBjYW5kbyBzZSBwcm9ncmFtYSDDqSBvIGRlc3ByYXphbWVudG8KKyAgICAgIGVudHJlIHBlZGF6b3MgZGUgY8OzZGlnby4gQSBzZWd1aW50ZSB0w6ljbmljYSBheHVkYSBhIGV2aXRhLWxvIGPDoWxjdWxvCisgICAgICBkZSBuw7ptZXJvcyBkZSBsacOxYSBhc29jaWFkb3MgYSBvcGVyYWNpb25zIGNvbWEgICJhMTQ3ZCAgb3UKKyAgICAgIDo5NDUsMTA5MWQgYSAgb3UsIGluY2x1c28gcGVvciwgdXNhbmRvIHByaW1laXJvCisgICAgICA8Qy1yPj0xMDkxLTk0NTxFTlRFUj4gLgorCisgIDEuIE1vdmEgbyBjdXJzb3IgYXRhIGEgbGnDsWEgc2luYWxhZGEgY29uIC0tLT4uCisKKyAgMi4gVmFpYSDDoSBwcmltZWlyYSBsacOxYSBkYSBmdW5jacOzbiBlIG3DoXJxdWVhIGNvbiAgbWEgLgorCitOT1RBOiBBIHBvc2ljacOzbiBleGFjdGEgbmEgbGnDsWEgTk9OIMOpIGltcG9ydGFudGUhCisKKyAgMy4gTmF2ZWd1ZSBhdGEgYSBmaW4gZGEgbGnDsWEsIGUgZGVzZWd1aWRvIGF0YSBhIGZpbiBkbyBibG9xdWUgZGUgY8OzZGlnbworICAgICBjb24gICQlIC4KKworICA0LiBCb3JyZSBvIGJsb3F1ZSBlIHDDs8OxYW8gbm8gcmV4aXN0cm8gJ2EnIGNvbiAgImFkJ2EgLgorCitORU3Dk05JQ086IAorICAgICBEZW50cm8gZG8gcmV4aXN0cm8oIikKKyAgICAgY29uIG5vbWUgZGUgcmV4aXN0cm8gKGEpIAorICAgICBwb24gbyBib3JyYWRvIChkKWVsZXRpb24KKyAgICAgZGVuZGUgbyBjdXJzb3IgYXRhIGEgbGnDsWEgcXVlIGNvbnTDqW4gYSBtYXJjYSgnKQorICAgICBkZSBub21lIGRlIG1hcmNhIChhKQorCisgIDUuIFBlZ3VlIG8gYmxvcXVlIGVudHJlIEJCQiBlIENDQyBjb24gICJhcCAuCisKK05PVEE6IFByYWN0aXF1ZSBlc3RhIG9wZXJhY2nDs24gbcO6bHRpcGxlcyB2ZWNlcywKKyAgICAgIGF0YSBjaGVnYXIgYSBmYWNlbG8gZmx1aWRhbWVudGU6ICBtYSQlImFkJ2EKKworLS0tPiBBQUEKKyAgICAgZnVuY3Rpb24gaXRHb3RSZWFsQmlnUmVhbEZhc3QoKSB7CisgICAgICAgaWYgKCBzb21ldGhpbmdJc1RydWUgKSB7CisgICAgICAgICBkb0l0KCkKKyAgICAgICB9CisgICAgICAgLy8gdGhlIHRheG9ub215IG9mIG91ciBmdW5jdGlvbiBoYXMgY2hhbmdlZCBhbmQgaXQKKyAgICAgICAvLyBubyBsb25nZXIgbWFrZXMgYWxwaGFiZXRpY2FsIHNlbnNlIGluIGl0cyBjdXJyZW50IHBvc2l0aW9uCisKKyAgICAgICAvLyBpbWFnaW5lIGh1bmRyZWRzIG9mIGxpbmVzIG9mIGNvZGUKKworICAgICAgIC8vIG5haXZlbHkgeW91IGNvdWxkIG5hdmlnYXRlIHRvIHRoZSBzdGFydCBhbmQgZW5kIGFuZCByZWNvcmQgb3IKKyAgICAgICAvLyByZW1lbWJlciBlYWNoIGxpbmUgbnVtYmVyCisgICAgIH0KKyAgICAgQkJCCisgICAgIENDQworCitOT1RBOiBBcyBtYXJjYXMgZSBtYWlsb3MgcmV4aXN0cm9zIG5vbiBjb21wYXJ0ZW4gdW4gZXNwYXpvIGNvbcO6biBkZSBub21lcywgCisgICAgICBkZSB4ZWl0byBxdWUgdW4gcmV4aXN0cm8gJ2EnIMOpIGNvbXBsZXRhbWVudGUgaW5kZXBlbmRlbnRlIGR1bmhhCisgICAgICBtYXJjYSAnYScuIEVuIHRyb3F1ZXMsIGlzdG8gbm9uIGFjb250ZWNlIGVudHJlIG9zIHJleGlzdHJvcworICAgICAgZSBtYWlsYXMgbWFjcm9zLgorCitSRUZFUkVOQ0lBUzogIE1hcmNhcyAgICAgICAgICAgICAgICA6aCBtYXJrcworICAgICAgICAgICAgICBNb3ZlbWVudG8gZGUgbWFyY2FzICAgOmggbWFyay1tb3Rpb25zICAoZGlmZXJlbmNpYSBlbnRyZSAnIGUgIGApCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIExlY2Npw7NuIDIuMSBSRVNVTU8KKworICAxLiBHYXJkYXIgdGV4dG8gKHBvciBtZWRpbyBkZSBjb3BpYXIgb3UgYm9ycmFyKSwgZSByZWN1cGVyYWxvIChwZWdhcikgZGVuZGUKKyAgICAgdW4gdG90YWwgZGUgMjYgcmV4aXN0cm9zIChhLXopLgorICAyLiBQZWdhciB1bmhhIHBhbGJyYSBlbnRlaXJhIGRlbmRlIGNhbHF1ZXIgc2l0aW8gZGVudHJvIGR1bmhhIHBhbGFyYTogIHlpdworICAzLiBDYW1iaWFyIHVuaGEgcGFsYWJyYSBlbnRlaXJhIGRlbmRlIGNhbHF1ZXIgcHVudG8gZGUgcGFsYWJyYTogICAgICAgIGNpdworICA0LiBJbnNlcmlyIHRleHRvIGRpcmVjdGFtZW50ZSBkZW5kZSBvcyByZXhpc3Ryb3MgZW4gbW9kbyBJbnNlcmlyOiAgIChDLXIpYQorICA1LiBJbnNlcmktbG8gcmVzdWx0YWRvIGRlIG9wZXJhY2nDs25zIGFyaXRtw6l0aWNhcyBzaW1wbGVzIG5vIG1vZG8KKyAgICAgSW5zZXJpcjogIChDLXIpPTYwKjYwPEVOVEVSPgorICA2LiBJbnNlcmktbG9zIHJlc3VsdGFkb3MgZGUgY2hhbWFkYXMgYW8gc2lzdGVtYSBubyBtb2RvIEluc2VyaXI6IAorICAgICAoQy1yKT1zeXN0ZW0oJ2xzIC0xJykKKyAgNy4gSW5zcGVjY2lvbmEtbG9zIHJleGlzdHJvcyBjb24gIDpyZWcgLgorICA4LiBBcHJlbmRlLWxvIGRlc3Rpbm8gZmluYWwgZG8gYm9ycmFkbyBkZSBsacOxYXMgZW50ZWlyYXMgKGRkKSBub3MKKyAgICAgcmV4aXN0cm9zIG51bWVyYWRvcywgw6kgZGljaXIsIGRlc2NlbmRlbmRvIGRlbmRlIG8gcmVpc3RybyAxIGFvIDkuIAorICAgICBEZWNhdGFyc2UgZGUgcXVlIG8gYm9ycmFkbyBkZSBsacOxYXMgZW50ZWlyYXMgcHJlc8OpcnZhc2Ugbm9zIHJleGlzdHJvcworICAgICBudW1lcmFkb3MgbcOhaXMgdGVtcG8gcXVlIGNhbHF1ZXJhIG91dHJhIG9wZXJhY2nDs24uICAgCisgIDkuIEFwcmVuZGUtbG8gZGVzdGlubyBmaW5hbCBkZSB0w7NkYWxhcyBjb3BpYXMgZmVpdGFzIG5vcyByZXhpc3Ryb3MgCisgICAgIG51bWVyYWRvcyBlIGPDs21vIHNvbiBkZSBlZsOtbWVyb3MuIAorIDEwLiBTaXR1YXIgbWFyY2FzIGRlbmRlIG8gbW9kbyBkZSBjb21hbmRvcyAgbVthLXpBLVowLTldIC4KKyAxMS4gTW92ZXJzZSBhIHVuYSBsacOxYSBjdW5oYSBtYXJjYSBjb24gICcgLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgSXN0byBjb25jbMO6ZSBvIGNhcMOtdHVsbyBkb3dzIGRvIFZpbSBUdXRvci4gRXN0ZSDDqSB0cmFiYWxsbyBlbiBwcm9ncmVzby4gIAorICBFc3RlIGNhcMOtdHVsbyBmb2kgZXNjcml0byBwb3IgUGF1bCBELiBQYXJrZXIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICBUcmFkdWNpZG8gZG8gaW5nbMOpcyBhbyBnYWxlZ28gcG9yIEZlcm5hbmRvIFZpbGFyacOxby4KKyAgQ29ycmVvIGVsZWN0csOzbmljbzogZmVybmFuZG9AY3ZjLnVhYi5lcy4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cg==