ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZnIgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmZyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjNTY2ODkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmZyCkBAIC0wLDAgKzEsODA5IEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9IEIgaSBlIG4gdiBlIG4gdSBlICBkYW5zIGxlICBUIHUgdCBvIHIgaSBlIGwgIGRlICBWIEkgTSAgLSAgVmVyc2lvbiAxLjUuZnIuMiA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgVmltIGVzdCB1biDpZGl0ZXVyIHRy6HMgcHVpc3NhbnQgcXVpIGEgdHJvcCBkZSBjb21tYW5kZXMgcG91ciBwb3V2b2lyCisgICAgIHRvdXRlcyBsZXMgZXhwbGlxdWVyIGRhbnMgdW4gY291cnMgY29tbWUgY2VsdWktY2ksIHF1aSBlc3QgY29u53UgcG91ciBlbgorICAgICBk6WNyaXJlIHN1ZmZpc2FtbWVudCBhZmluIGRlIHZvdXMgcGVybWV0dHJlIGQndXRpbGlzZXIgc2ltcGxlbWVudCBWaW0uCisKKyAgICAgTGUgdGVtcHMgcmVxdWlzIHBvdXIgc3VpdnJlIGNlIGNvdXJzIGVzdCBkJ2Vudmlyb24gMjUg4CAzMCBtaW51dGVzLCBzZWxvbgorICAgICBsZSB0ZW1wcyBxdWUgdm91cyBwYXNzZXJleiDgIGV4cOlyaW1lbnRlci4gIExlcyBjb21tYW5kZXMgdXRpbGlz6WVzIGRhbnMKKyAgICAgbGVzIGxl529ucyBtb2RpZmllcm9udCBsZSB0ZXh0ZS4gRmFpdGVzIHVuZSBjb3BpZSBkZSBjZSBmaWNoaWVyIGFmaW4gZGUKKyAgICAgdm91cyBlbnRyYe5uZXIgZGVzc3VzIChzaSB2b3VzIGF2ZXogbGFuY+kgInZpbXR1dG9yIiBjZWNpIGVzdCBk6WrgIHVuZQorICAgICBjb3BpZSkuCisKKyAgICAgSWwgZXN0IGltcG9ydGFudCBkZSBnYXJkZXIgZW4gdOp0ZSBxdWUgY2UgY291cnMgZXN0IGNvbud1IHBvdXIgYXBwcmVuZHJlCisgICAgIHBhciBsYSBwcmF0aXF1ZS4gIENlbGEgc2lnbmlmaWUgcXVlIHZvdXMgZGV2ZXogZXjpY3V0ZXIgbGVzIGNvbW1hbmRlcworICAgICBwb3VyIGxlcyBhcHByZW5kcmUgY29ycmVjdGVtZW50LiAgU2kgdm91cyB2b3VzIGNvbnRlbnRleiBkZSBsaXJlIGxlCisgICAgIHRleHRlLCB2b3VzIG91YmxpZXJleiBsZXMgY29tbWFuZGVzICEKKworICAgICBNYWludGVuYW50LCB26XJpZmlleiBxdWUgdm90cmUgY2xhdmllciBuJ2VzdCBQQVMgdmVyb3VpbGzpIGVuIG1hanVzY3VsZXMsCisgICAgIGV0IGFwcHV5ZXogbGEgdG91Y2hlICBqICBsZSBub21icmUgZGUgZm9pcyBzdWZmaXNhbnQgcG91ciBxdWUgbGEgbGXnb24KKyAgICAgMS4xIHJlbXBsaXNzZSBjb21wbOh0ZW1lbnQgbCfpY3Jhbi4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICBMZedvbiAxLjEgOiBEyVBMQUNFTUVOVCBEVSBDVVJTRVVSCisKKworICAqKiBQb3VyIGTpcGxhY2VyIGxlIGN1cnNldXIsIGFwcHV5ZXogbGVzIHRvdWNoZXMgaCxqLGssbCBjb21tZSBpbmRpcXXpLiAqKgorCSAgICBeCisJICAgIGsJICAgICBBc3R1Y2U6ICBMYSB0b3VjaGUgaCBlc3Qg4CBnYXVjaGUgZXQgZOlwbGFjZSDgIGdhdWNoZS4KKyAgICAgIDwgaCAgICAgIGwgPgkgICAgICBMYSB0b3VjaGUgbCBlc3Qg4CBkcm9pdGUgZXQgZOlwbGFjZSDgIGRyb2l0ZS4KKwkgICBqCQkgICAgICBMYSB0b3VjaGUgaiByZXNzZW1ibGUg4CB1bmUgZmzoY2hlIHZlcnMgbGUgYmFzLgorCSAgIHYKKyAgMS4gROlwbGFjZXogbGUgY3Vyc2V1ciBzdXIgbCfpY3JhbiBqdXNxdSfgIHZvdXMgc2VudGlyIOAgbCdhaXNlLgorCisgIDIuIE1haW50ZW5leiBsYSB0b3VjaGUgQmFzIChqKSBlbmZvbmPpZSBqdXNxdSfgIGNlIHF1J2VsbGUgc2Ugculw6HRlLgorLS0tPiBNYWludGVuYW50IHZvdXMg6nRlcyBjYXBhYmxlIGRlIHZvdXMgZOlwbGFjZXIganVzcXUn4CBsYSBsZedvbiBzdWl2YW50ZS4KKworICAzLiBFbiB1dGlsaXNhbnQgbGEgdG91Y2hlIEJhcywgYWxsZXog4CBsYSBMZedvbiAxLjIuCisKK05vdGU6IFNpIGphbWFpcyB2b3VzIGRvdXRleiBkZSBjZSBxdWUgdm91cyB2ZW5leiBkZSB0YXBlciwgYXBwdXlleiA8yWNoYXA+CisgICAgICBwb3VyIHJldmVuaXIgZW4gbW9kZSBOb3JtYWwuIFB1aXMgcmV0YXBleiBsYSBjb21tYW5kZSBxdWUgdm91cyB2b3VsaWV6LgorCitOb3RlOiBMZXMgdG91Y2hlcyBmbOljaOllcyBkZXZyYWllbnQg6WdhbGVtZW50IGZvbmN0aW9ubmVyLiBNYWlzIGVuIHV0aWxpc2FudAorICAgICAgaGprbCB2b3VzIHBvdXJyZXogdm91cyBk6XBsYWNlciBiZWF1Y291cCBwbHVzIHJhcGlkZW1lbnQsIHVuZSBmb2lzIHF1ZQorICAgICAgdm91cyBhdXJleiBwcmlzIGwnaGFiaXR1ZGUuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZedvbiAxLjIgOiBFTlRSyUUgRVQgU09SVElFIERFIFZJTQorCisKKyAhISBOT1RFOiBBdmFudCBkJ2VmZmVjdHVlciBsZXMg6XRhcGVzIGNpLWRlc3NvdXMsIGxpc2V6IHRvdXRlIGNldHRlIGxl529uICEhCisKKyAgMS4gQXBwdXlleiBsYSB0b3VjaGUJPMljaGFwPiAgKHBvdXIg6nRyZSBz+3IgZCfqdHJlIGVuIG1vZGUgTm9ybWFsKS4KKworICAyLiBUYXBlejoJCQk6cSEgPEVudHLpZT4KKworLS0tPiBDZWNpIHF1aXR0ZSBsJ+lkaXRldXIgU0FOUyBzYXV2ZXIgbGVzIGNoYW5nZW1lbnRzIHF1ZSB2b3VzIGF2ZXogZmFpdHMuCisgICAgIFNpIHZvdXMgdm91bGV6IGVucmVnaXN0cmVyIGxlcyBjaGFuZ2VtZW50cyBldCBzb3J0aXIsIHRhcGV6OgorCQkJCTp3cSA8RW50cullPgorCisgIDMuIExvcnNxdWUgbCdpbnZpdGUgZHUgJ3NoZWxsJyB2b3VzIHNlcmEgcHLpc2VudOllLCB0YXBleiBsYSBjb21tYW5kZSBxdWkKKyAgICAgdm91cyBhIGFtZW7pIGRhbnMgY2UgdHV0b3JpZWwuICBDZWxhIHBvdXJyYWl0IOp0cmU6ICAgIHZpbXR1dG9yIDxFbnRy6WU+CisgICAgIE5vcm1hbGVtZW50LCB2b3VzIHV0aWxpc2VyaWV6OgkJCSAgICB2aW0gdHV0b3IgPEVudHLpZT4KKworLS0tPiAndmltJyBsYW5jZSBsJ+lkaXRldXIsICd0dXRvcicgZXN0IGxlIGZpY2hpZXIgcXVlIHZvdXMgc291aGFpdGV6IOlkaXRlci4KKworICA0LiBTaSB2b3VzIGF2ZXogbeltb3Jpc+kgY2VzIOl0YXBlcyBldCDqdGVzIGNvbmZpYW50LCBlZmZlY3R1ZXogbGVzIOl0YXBlcworICAgICAxIOAgMyBwb3VyIHNvcnRpciBwdWlzIHJlbnRyZXIgZGFucyBsJ+lkaXRldXIuICBE6XBsYWNleiBlbnN1aXRlIGxlCisgICAgICBjdXJzZXVyIGp1c3F1J+AgbGEgTGXnb24gMS4zLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgTGXnb24gMS4zIDogyURJVElPTiBERSBURVhURSAtIEVGRkFDRU1FTlQKKworCisgKiogRW4gbW9kZSBOb3JtYWwsIGFwcHV5ZXogIHgJcG91ciBlZmZhY2VyIGxlIGNhcmFjdOhyZSBzb3VzIGxlIGN1cnNldXIuICoqCisKKyAgMS4gROlwbGFjZXogbGUgY3Vyc2V1ciBzdXIgbGEgbGlnbmUgbWFycXXpZSAtLS0+IGNpLWRlc3NvdXMuCisKKyAgMi4gUG91ciBjb3JyaWdlciBsZXMgZXJyZXVycywgZOlwbGFjZXogbGUgY3Vyc2V1ciBqdXNxdSfgIGNlIHF1J2lsIHNvaXQKKyAgICAgc3VyIHVuIGNhcmFjdOhyZSDgIGVmZmFjZXIuCisKKyAgMy4gQXBwdXlleiBsYSB0b3VjaGUJeCAgcG91ciBlZmZhY2VyIGxlIGNhcmFjdOhyZSByZWRvbmRhbnQuCisKKyAgNC4gUulw6XRleiBsZXMg6XRhcGVzIDIg4CA0IGp1c3F1J+AgY2UgcXVlIGxhIHBocmFzZSBzb2l0IGNvcnJlY3RlLgorCistLS0+IExhIHZ2YWNoZSDgIHNhdXTp6SBhdS1kZGVzc3VzIGRkZSBsYSBsdXVuZS4KKworICA1LiBNYWludGVuYW50IHF1ZSBsYSBsaWduZSBlc3QgY29ycmVjdGUsIHBhc3NleiDgIGxhIGxl529uIDEuNC4KKworTk9URTogRW4gYXZhbudhbnQgZGFucyBjZSBjb3Vycywgbidlc3NheWV6IHBhcyBkZSBt6W1vcmlzZXIsIGFwcHJlbmV6IHBhcgorICAgICAgbGEgcHJhdGlxdWUuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIExl529uIDEuNCA6IMlESVRJT04gREUgVEVYVEUgLSBJTlNFUlRJT04KKworCisJICAgKiogRW4gbW9kZSBOb3JtYWwsIGFwcHV5ZXogIGkgIHBvdXIgaW5z6XJlciBkdSB0ZXh0ZS4gKioKKworICAxLiBE6XBsYWNleiBsZSBjdXJzZXVyIHN1ciBsYSBwcmVtaehyZSBsaWduZSBtYXJxdellIC0tLT4gY2ktZGVzc291cy4KKworICAyLiBQb3VyIHJlbmRyZSBsYSBwcmVtaehyZSBsaWduZSBpZGVudGlxdWUg4CBsYSBzZWNvbmRlLCBtZXR0ZXogbGUgY3Vyc2V1cgorICAgICBzdXIgbGUgcHJlbWllciBjYXJhY3TocmUgQVBSyFMgbCdlbmRyb2l0IG/5IGluc+lyZXIgbGUgdGV4dGUuCisKKyAgMy4gQXBwdXlleiAgaSAgZXQgdGFwZXogbGVzIGNhcmFjdOhyZXMgcXVpIG1hbnF1ZW50LgorCisgIDQuIFVuZSBmb2lzIHF1J3VuZSBlcnJldXIgZXN0IGNvcnJpZ+llLCBhcHB1eWV6IDzJY2hhcD4gcG91ciByZXZlbmlyIGVuIG1vZGUKKyAgICAgTm9ybWFsLiBS6XDpdGV6IGxlcyDpdGFwZXMgMiDgIDQgcG91ciBjb3JyaWdlciBsYSBwaHJhc2UuCisKKy0tLT4gSWwgbW5xZSBjYXJhY3TocmVzIGNldHRlIC4KKy0tLT4gSWwgbWFucXVlIGRlcyBjYXJhY3TocmVzIGRhbnMgY2V0dGUgbGlnbmUuCisKKyAgNS4gVW5lIGZvaXMgcXVlIHZvdXMg6nRlcyDgIGwnYWlzZSBhdmVjIGwnaW5zZXJ0aW9uIGRlIHRleHRlLCBhbGxleiBhdQorICAgICBy6XN1bekgY2ktZGVzc291cy4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgUslTVU3JIERFIExBIExFx09OIDEKKworICAxLiBMZSBjdXJzZXVyIHNlIGTpcGxhY2UgYXZlYyBsZXMgdG91Y2hlcyBmbOljaOllcyBvdSBsZXMgdG91Y2hlcyBoamtsLgorCSBoIChnYXVjaGUpCWogKGJhcykgICAgICAgIGsgKGhhdXQpICAgICAgIGwgKGRyb2l0ZSkKKworICAyLiBQb3VyIGVudHJlciBkYW5zIFZpbSAo4CBsJ2ludml0ZSAlKSB0YXBlejogIHZpbSBGSUNISUVSIDxFbnRy6WU+CisKKyAgMy4gUG91ciBxdWl0dGVyIFZpbSB0YXBlejogIDzJY2hhcD4gOnEhIDxFbnRy6WU+ICBwb3VyIHBlcmRyZSB0b3VzIGxlcworCQkJCQkJICAgIGNoYW5nZW1lbnRzLgorCQkgICBPVSB0YXBlejogIDzJY2hhcD4gOndxIDxFbnRy6WU+ICBwb3VyIGVucmVnaXN0cmVyIGxlcworCQkJCQkJICAgIGNoYW5nZW1lbnRzLgorCisgIDQuIFBvdXIgZWZmYWNlciB1biBjYXJhY3TocmUgc291cyBsZSBjdXJzZXVyIGVuIG1vZGUgTm9ybWFsIHRhcGV6OiAgeAorCisgIDUuIFBvdXIgaW5z6XJlciBkdSB0ZXh0ZSBhdSBuaXZlYXUgZHUgY3Vyc2V1ciBlbiBtb2RlIE5vcm1hbCB0YXBlejoKKwkgaSAgIHRhcGV6IGxlIHRleHRlICAgPMljaGFwPgorCitOT1RFOiBBcHB1eWVyICA8yWNoYXA+CXZvdXMgcGxhY2UgZW4gbW9kZSBOb3JtYWwgb3UgYW5udWxlIHVuZSBjb21tYW5kZQorICAgICAgcGFydGllbGxlbWVudCB0YXDpZSBkb250IHZvdXMgbmUgdm91ZHJpZXogcGx1cy4KKworUGFzc2V6IG1haW50ZW5hbnQg4CBsYSBMZedvbiAyLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgIExl529uIDIuMSA6IEVGRkFDRU1FTlRTCisKKworCSAgICAqKiBUYXBleiAgZHcgIHBvdXIgZWZmYWNlciBqdXNxdSfgIGxhIGZpbiBkJ3VuIG1vdC4gKioKKworICAxLiBBcHB1eWV6ICA8yWNoYXA+ICBwb3VyIOp0cmUgc/tyIGQn6nRyZSBlbiBtb2RlIE5vcm1hbC4KKworICAyLiBE6XBsYWNleiBsZSBjdXJzZXVyIHN1ciBsYSBsaWduZSBtYXJxdellIC0tLT4gY2ktZGVzc291cy4KKworICAzLiBQbGFjZXogbGUgY3Vyc2V1ciBzdXIgbGUgZOlidXQgZCd1biBtb3QgcXVpIGEgYmVzb2luIGQn6nRyZSBlZmZhY+kuCisKKyAgNC4gVGFwZXogIGR3CXBvdXIgZmFpcmUgZGlzcGFyYe50cmUgY2UgbW90LgorCitOT1RFOiBMZXMgbGV0dHJlcyAgZHcgIGFwcGFyYe50cm9udCBzdXIgbGEgZGVybmnocmUgbGlnbmUgZGUgbCfpY3JhbiBsb3JzIGRlCisgICAgICB2b3RyZSBmcmFwcGUuIFNpIHZvdXMgYXZleiBtYWwgdGFw6SBxdWVscXVlIGNob3NlLCBhcHB1eWV6IDzJY2hhcD4gZXQKKyAgICAgIHJlY29tbWVuY2V6LgorCistLS0+IElsIHkgYSBxdWVscXVlcyBkcvRsZSBtb3RzIHF1aSBuJ29udCByaWVuIOAgZmFpcmUgcGFwaWVyIHN1ciBjZXR0ZSBsaWduZS4KKworICA1LiBS6XDpdGV6IGxlcyDpdGFwZXMgMyBldCA0IGp1c3F1J+AgY2UgcXVlIGxhIHBocmFzZSBzb2l0IGNvcnJlY3RlIGV0IGFsbGV6CisgICAgIOAgbGEgTGXnb24gMi4yLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCUxl529uIDIuMiA6IFBMVVMgRCdFRkZBQ0VNRU5UUworCisKKwkgICoqIFRhcGV6ICBkJAlwb3VyIGVmZmFjZXIganVzcXUn4CBsYSBmaW4gZGUgbGEgbGlnbmUuICoqCisKKyAgMS4gQXBwdXlleiAgPMljaGFwPiAgcG91ciDqdHJlIHP7ciBkJ+p0cmUgZW4gbW9kZSBOb3JtYWwuCisKKyAgMi4gROlwbGFjZXogbGUgY3Vyc2V1ciBzdXIgbGEgbGlnbmUgbWFycXXpZSAtLS0+IGNpLWRlc3NvdXMuCisKKyAgMy4gROlwbGFjZXogbGUgY3Vyc2V1ciBqdXNxdSfgIGxhIGZpbiBjb3JyZWN0ZSBkZSBsYSBsaWduZQorICAgICAoQVBSyFMgbGUgcHJlbWllciAuICkuCisKKyAgNC4gVGFwZXogIGQkCXBvdXIgZWZmYWNlciBqdXNxdSfgIGxhIGZpbiBkZSBsYSBsaWduZS4KKworLS0tPiBRdWVscXUndW4gYSB0YXDpIGxhIGZpbiBkZSBjZXR0ZSBsaWduZSBkZXV4IGZvaXMuIGNldHRlIGxpZ25lIGRldXggZm9pcy4KKworICA1LiBBbGxleiDgIGxhIExl529uIDIuMyBwb3VyIGNvbXByZW5kcmUgY2UgcXVpIHNlIHBhc3NlLgorCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICBMZedvbiAyLjMgOiBERVMgQ09NTUFOREVTIEVUIERFUyBPQkpFVFMKKworCisgIExlIGZvcm1hdCBkZSBsYSBjb21tYW5kZSBkJ2VmZmFjZW1lbnQgIGQgIGVzdCBsZSBzdWl2YW50OgorCisJIFtub21icmVdICBkICBvYmpldAkgICBPVQkgICAgIGQJW25vbWJyZV0gIG9iamV0CisgIG/5OgorICAgIG5vbWJyZSAtIGVzdCBjb21iaWVuIGRlIGZvaXMgZXjpY3V0ZXIgbGEgY29tbWFuZGUgKG9wdGlvbm5lbCwgZOlmYXV0OiAxKS4KKyAgICBkIC0gZXN0IGxhIGNvbW1hbmRlIGQnZWZmYWNlbWVudC4KKyAgICBvYmpldCAtIGVzdCBjZSBzdXIgcXVvaSBsYSBjb21tYW5kZSB2YSBvcOlyZXIgKGxpc3RlIGNpLWRlc3NvdXMpLgorCisgIFVuZSBjb3VydGUgbGlzdGUgZCdvYmpldHM6CisgICAgdyAtIGR1IGN1cnNldXIganVzcXUn4CBsYSBmaW4gZHUgbW90LCB5IGNvbXByaXMgbCdlc3BhY2UgcXVpIHN1aXQuCisgICAgZSAtIGR1IGN1cnNldXIganVzcXUn4CBsYSBmaW4gZHUgbW90LCBTQU5TIGwnZXNwYWNlIHF1aSBzdWl0LgorICAgICQgLSBkdSBjdXJzZXVyIGp1c3F1J+AgbGEgZmluIGRlIGxhIGxpZ25lLgorCitOT1RFOiBQb3VyIGxlcyBhdmVudHVyZXV4LCBsZSBzZXVsIGFwcHVpIGQnIG9iamV0ICBlbiBtb2RlIE5vcm1hbCwgc2FucworICAgICAgY29tbWFuZGUsIGTpcGxhY2UgbGUgY3Vyc2V1ciBjb21tZSBpbmRpcXXpIGRhbnMgbGEgbGlzdGUgZGVzIG9iamV0cy4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSBMZedvbiAyLjQgOiBVTkUgRVhDRVBUSU9OIMAgJ0NPTU1BTkRFLU9CSkVUJworCisJICAgICAgKiogVGFwZXoJZGQgIHBvdXIgZWZmYWNlciB1bmUgbGlnbmUgY29tcGzodGUuICoqCisKKyAgVnUgbGUgbm9tYnJlIGRlIGZvaXMgb/kgbCdvbiBlZmZhY2UgZGVzIGxpZ25lcyBjb21wbOh0ZXMsIGxlcyBjb25jZXB0ZXVycworICBkZSBWaSBvbnQgZOljaWTpIHF1J2lsIHNlcmFpdCBwbHVzIGZhY2lsZSBkZSB0YXBlciBzaW1wbGVtZW50IGRldXggZCDgIGxhCisgIHN1aXRlIHBvdXIgZWZmYWNlciB1bmUgbGlnbmUuCisKKyAgMS4gUGxhY2V6IGxlIGN1cnNldXIgc3VyIGxhIHNlY29uZGUgbGlnbmUgZGUgbGEgcGhyYXNlIGNpLWRlc3NvdXMuCisgIDIuIFRhcGV6ICBkZAlwb3VyIGVmZmFjZXIgbGEgbGlnbmUuCisgIDMuIE1haW50ZW5hbnQgYWxsZXog4CBsYSBxdWF0cmnobWUgbGlnbmUuCisgIDQuIFRhcGV6ICAyZGQgIChyYXBwZWxlei12b3VzLCBub21icmUtY29tbWFuZGUtb2JqZXQpIHBvdXIgZWZmYWNlciBsZXMKKyAgICAgZGV1eCBsaWduZXMuCisKKyAgICAgIDEpICBMZXMgcm9zZXMgc29udCByb3VnZXMsCisgICAgICAyKSAgTGEgYm91ZSBjJ2VzdCBkcvRsZSwKKyAgICAgIDMpICBMZXMgdmlvbGV0dGVzIHNvbnQgYmxldWVzLAorICAgICAgNCkgIEonYWkgdW5lIHZvaXR1cmUsCisgICAgICA1KSAgTGVzIGhvcmxvZ2VzIGRvbm5lbnQgbCdoZXVyZSwKKyAgICAgIDYpICBMZSBzdWNyZSBlc3QgZG91eAorICAgICAgNykgIFRvdXQgY29tbWUgdm91cy4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgTGXnb24gMi41IDogTCdBTk5VTEFUSU9OCisKKwkgICAgKiogVGFwZXogIHUgIHBvdXIgYW5udWxlciBsZXMgZGVybmnocmVzIGNvbW1hbmRlcy4gKioKKwkgICAgICAgKiogVGFwZXogIFUgIHBvdXIgculjdXDpcmVyIHRvdXRlIHVuZSBsaWduZS4gKioKKworICAxLiBE6XBsYWNleiBsZSBjdXJzZXVyIHN1ciBsYSBsaWduZSBtYXJxdellIC0tLT4gY2ktZGVzc291cyBldCBwbGFjZXotbGUgc3VyCisgICAgIGxhIHByZW1p6HJlIGVycmV1ci4KKyAgMi4gVGFwZXogIHggIHBvdXIgZWZmYWNlciBsZSBwcmVtaWVyIGNhcmFjdOhyZSByZWRvbmRhbnQuCisgIDMuIFB1aXMgdGFwZXogIHUgIHBvdXIgYW5udWxlciBsYSBkZXJuaehyZSBjb21tYW5kZSBleOljdXTpZS4KKyAgNC4gQ2V0dGUgZm9pcywgY29ycmlnZXogdG91dGVzIGxlcyBlcnJldXJzIGRlIGxhIGxpZ25lIGF2ZWMgbGEgY29tbWFuZGUgIHggLgorICA1LiBQdWlzIHRhcGV6IHVuICBVICBtYWp1c2N1bGUgcG91ciByZW1ldHRyZSBsYSBsaWduZSBkYW5zIHNvbiDpdGF0IGluaXRpYWwuCisgIDYuIFB1aXMgdGFwZXogIHUgIGRldXgtdHJvaXMgZm9pcyBwb3VyIGFubnVsZXIgbGUgIFUJZXQgbGVzIGNvbW1hbmRlcworICAgICBwculj6WRlbnRlcy4KKyAgNy4gTWFpbnRlbmFudCB0YXBleiAgQ3RybC1SICAobWFpbnRlbmV6IGxhIHRvdWNoZSBDdHJsIGVuZm9uY+llIHBlbmRhbnQgcXVlCisgICAgIHZvdXMgYXBwdXlleiBzdXIgUikgZGV1eC10cm9pcyBmb2lzIHBvdXIgcmVmYWlyZSBsZXMgY29tbWFuZGVzIChhbm51bGVyCisgICAgIGxlcyBhbm51bGF0aW9ucykuCisKKy0tLT4gQ29vcnJpZ2V6IGxlcyBlcnJldXJzIHN1dXIgY2NldHRlIGxpZ25lIGV0IHJlZW1ldHRlei1sZXMgYXZ2ZWMgJ2FubnVsZXInLgorCisgIDguIENlIHNvbnQgZGVzIGNvbW1hbmRlcyB0cuhzIHV0aWxlcy4gTWFpbnRlbmFudCwgYWxsZXogYXUgculzdW3pIGRlIGxhCisgICAgIExl529uIDIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICBSyVNVTckgREUgTEEgTEXHT04gMgorCisKKyAgMS4gUG91ciBlZmZhY2VyIGR1IGN1cnNldXIganVzcXUn4CBsYSBmaW4gZCd1biBtb3QgdGFwZXo6CWR3CisKKyAgMi4gUG91ciBlZmZhY2VyIGR1IGN1cnNldXIganVzcXUn4CBsYSBmaW4gZCd1bmUgbGlnbmUgdGFwZXo6CWQkCisKKyAgMy4gUG91ciBlZmZhY2VyIHRvdXRlIHVuZSBsaWduZSB0YXBlejogIGRkCisKKyAgNC4gTGUgZm9ybWF0IGQndW5lIGNvbW1hbmRlIGVuIG1vZGUgTm9ybWFsIGVzdDoKKworICAgICAgIFtub21icmVdICBjb21tYW5kZSAgb2JqZXQgICAgIE9VICAgICBjb21tYW5kZSAgW25vbWJyZV0Jb2JqZXQKKyAgICAgb/k6CisgICAgICAgbm9tYnJlIC0gZXN0IGNvbWJpZW4gZGUgZm9pcyBy6XDpdGVyIGxhIGNvbW1hbmRlCisgICAgICAgY29tbWFuZGUgLSBlc3QgY2UgcXUnaWwgZmF1dCBmYWlyZSwgcGFyIGV4ZW1wbGUJZCAgcG91ciBlZmZhY2VyCisgICAgICAgb2JqZXQgLSBlc3QgY2Ugc3VyIHF1b2kgbGEgY29tbWFuZGUgZGV2cmFpdCBhZ2lyLCBwYXIgZXhlbXBsZSB3IChtb3QpLAorCSAgICAgICAkIChqdXNxdSfgIGxhIGZpbiBkZSBsYSBsaWduZSksIGV0Yy4KKworICA1LiBQb3VyIGFubnVsZXIgZGVzIGFjdGlvbnMgcHLpY+lkZW50ZXMsIHRhcGV6OgkgICAgIHUJKHUgbWludXNjdWxlKQorICAgICBQb3VyIGFubnVsZXIgdG91cyBsZXMgY2hhbmdlbWVudHMgc3VyIHVuZSBsaWduZSB0YXBlejogIFUJKFUgbWFqdXNjdWxlKQorICAgICBQb3VyIGFubnVsZXIgbCdhbm51bGF0aW9uIHRhcGV6OgkJCSAgICAgQ3RybC1SCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICBMZedvbiAzLjEgOiBMRSBDT0xMQUdFCisKKworICAgKiogVGFwZXogIHAJcG91ciBwbGFjZXIgYXBy6HMgbGUgY3Vyc2V1ciBjZSBxdWkgdmllbnQgZCfqdHJlIGVmZmFj6S4gKioKKworICAxLiBQbGFjZXogbGUgY3Vyc2V1ciBzdXIgbGEgcHJlbWnocmUgbGlnbmUgZHUgInBv6G1lIiBjaS1kZXNzb3VzLgorCisgIDIuIFRhcGV6ICBkZAlwb3VyIGVmZmFjZXIgbGEgbGlnbmUgZXQgbGEgcGxhY2VyIGRhbnMgbGUgdGFtcG9uIGRlIFZpbS4KKworICAzLiBE6XBsYWNleiBsZSBjdXJzZXVyIHN1ciBsYSBsaWduZSBxdWkgUFLJQ8hERSBsJ2VuZHJvaXQgb/kgdm91cyB2b3VsZXoKKyAgICAgcmVtZXR0cmUgbGEgbGlnbmUgZWZmYWPpZS4KKworICA0LiBFbiBtb2RlIE5vcm1hbCwgdGFwZXogIHAgIHBvdXIgcmVtZXR0cmUgbGEgbGlnbmUuCisKKyAgNS4gUulw6XRleiBsZXMg6XRhcGVzIDIg4CA0IHBvdXIgbWV0dHJlIHRvdXRlcyBsZXMgbGlnbmVzIGRhbnMgbGUgYm9uIG9yZHJlLgorCisgICAgIGQpIEV0IHZvdXMsIHF1J2FwcHJlbmV6LXZvdXMgPworICAgICBiKSBMZXMgdmlvbGV0dGVzIHNvbnQgYmxldWVzLAorICAgICBjKSBMJ2ludGVsbGlnZW5jZSBzJ2FwcHJlbmQsCisgICAgIGEpIExlcyByb3NlcyBzb250IHJvdWdlcywKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBMZedvbiAzLjIgOiBMRSBSRU1QTEFDRU1FTlQKKworCisgKiogVGFwZXogIHIgIGV0IHVuIGNhcmFjdOhyZSBwb3VyIHJlbXBsYWNlciBsZSBjYXJhY3TocmUgc291cyBsZSBjdXJzZXVyLiAqKgorCisgIDEuIETpcGxhY2V6IGxlIGN1cnNldXIgc3VyIGxhIHByZW1p6HJlIGxpZ25lIG1hcnF16WUgLS0tPiBjaS1kZXNzb3VzLgorCisgIDIuIFBsYWNleiBsZSBjdXJzZXVyIGRlIG1hbmnocmUg4CBjZSBxdSdpbCBzdXJwbG9tYmUgbGEgcHJlbWnocmUgZXJyZXVyLgorCisgIDMuIFRhcGV6ICByICBzdWl2aSBkdSBjYXJhY3TocmUgcXVpIGRvaXQgY29ycmlnZXIgbCdlcnJldXIuCisKKyAgNC4gUulw6XRleiBsZXMg6XRhcGVzIDIgZXQgMyBqdXNxdSfgIGNlIHF1ZSBsYSBwcmVtaehyZSBsaWduZSBzb2l0IGNvcnJlY3RlLgorCistLS0+ICBRdWFuZCBjZXR0ZSBsaWduZSBhIOl06SBzYXV2aWUsIHF1ZWxxdSd1biBhIGxhaXQgZGVzIGZhdW5lcyBkZSBmcmFwcGUgIQorLS0tPiAgUXVhbmQgY2V0dGUgbGlnbmUgYSDpdOkgc2Fpc2llLCBxdWVscXUndW4gYSBmYWl0IGRlcyBmYXV0ZXMgZGUgZnJhcHBlICEKKworICA1LiBNYWludGVuYW50LCBhbGxleiDgIGxhIExl529uIDMuMy4KKworTk9URTogTidvdWJsaWV6IHBhcyBxdWUgdm91cyBkZXZyaWV6IGFwcHJlbmRyZSBwYXIgbGEgcHJhdGlxdWUsIHBhcyBwYXIKKyAgICAgIG3pbW9yaXNhdGlvbi4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgTGXnb24gMy4zIDogTEUgQ0hBTkdFTUVOVAorCisKKwkgICAgKiogUG91ciBjaGFuZ2VyIHRvdXQgb3UgcGFydGllIGQndW4gbW90LCB0YXBleiAgY3cgLioqCisKKyAgMS4gROlwbGFjZXogbGUgY3Vyc2V1ciBzdXIgbGEgcHJlbWnocmUgbGlnbmUgbWFycXXpZSAtLS0+IGNpLWRlc3NvdXMuCisKKyAgMi4gUGxhY2V6IGxlIGN1cnNldXIgc3VyIGxlIHUgZGUgbHVoa28uCisKKyAgMy4gVGFwZXogIGN3CWV0IGNvcnJpZ2V6IGxlIG1vdCAoZGFucyBub3RyZSBjYXMsIHRhcGV6ICAnaWduZScuKQorCisgIDQuIEFwcHV5ZXogPMljaGFwPiBldCBwbGFjZXotdm91cyBzdXIgbCdlcnJldXIgc3VpdmFudGUgKGxlIHByZW1pZXIKKyAgICAgY2FyYWN06HJlIHF1aSBkb2l0IOp0cmUgY2hhbmfpKS4KKworICA1LiBS6XDpdGV6IGxlcyDpdGFwZXMgMyBldCA0IGp1c3F1J+AgY2UgcXVlIGxhIHByZW1p6HJlIHBocmFzZSBzb2l0CisgICAgIGlkZW50aXF1ZSDgIGxhIHNlY29uZGUuCisKKy0tLT4gQ2V0dGUgbHVoa28gY29udGllbnQgcXVlbHF1ZXMgbXlxYSBxdWkgb250IHJpY25lIGQn6nRyZSBjaGFudHVmaXAuCistLS0+IENldHRlIGxpZ25lIGNvbnRpZW50IHF1ZWxxdWVzIG1vdHMgcXVpIG9udCBiZXNvaW4gZCfqdHJlIGNoYW5n6XMuCisKK05vdGV6IHF1ZSAgY3cgIGVmZmFjZSBsZSBtb3QgZXQgdm91cyBwbGFjZSBlbnN1aXRlIGVuIG1vZGUgSW5zZXJ0aW9uLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExl529uIDMuNCA6IFBMVVMgREUgQ0hBTkdFTUVOVFMgQVZFQyBjCisKKworICAgICoqIExlIGNoYW5nZW1lbnQgZm9uY3Rpb25uZSBhdmVjIGxlcyBt6m1lcyBvYmpldHMgcXVlIGwnZWZmYWNlbWVudC4gKioKKworICAxLiBMZSBjaGFuZ2VtZW50IGZvbmN0aW9ubmUgZGUgbGEgbeptZSBtYW5p6HJlIHF1ZSBsJ2VmZmFjZW1lbnQuCisgICAgIExlIGZvcm1hdCBlc3Q6CisKKwkgW25vbWJyZV0gIGMgIG9iamV0CSAgIE9VCSAgICAgYwlbbm9tYnJlXSAgb2JqZXQKKworICAyLiBMZXMgb2JqZXRzIHNvbnQg6WdhbGVtZW50IGxlcyBt6m1lczogIHcgKG1vdCksICQgKGZpbiBkZSBsaWduZSksIGV0Yy4KKworICAzLiBE6XBsYWNlei12b3VzIOAgbGEgcHJlbWnocmUgbGlnbmUgbWFycXXpZSAtLS0+IGNpLWRlc3NvdXMuCisKKyAgNC4gUGxhY2V6IGxlIGN1cnNldXIgc3VyIGxhIHByZW1p6HJlIGVycmV1ci4KKworICA1LiBUYXBleiAgYyQJcG91ciBjaGFuZ2VyIGxhIGZpbiBkZSBsYSBsaWduZSwgcmVuZGV6LWzgIGlkZW50aXF1ZSDgIGxhCisgICAgIHNlY29uZGUgbGlnbmUsIHB1aXMgdGFwZXogPMljaGFwPi4KKworLS0tPiBMYSBmaW4gZGUgY2V0dGUgbGlnbmUgZG9pdCDqdHJlIHJlbmR1ZSBpZGVudGlxdWUg4CBsYSBzZWNvbmRlLgorLS0tPiBMYSBmaW4gZGUgY2V0dGUgbGlnbmUgZG9pdCDqdHJlIGNvcnJpZ+llIGF2ZWMgbGEgY29tbWFuZGUJYyQgLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgUslTVU3JIERFIExBIExFx09OIDMKKworCisgIDEuIFBvdXIgcmVtZXR0cmUgZHUgdGV4dGUgcXVpIHZpZW50IGQn6nRyZSBlZmZhY+ksIHRhcGV6ICBwIC4gQ2VsYSBQbGFjZSBsZQorICAgICB0ZXh0ZSBlZmZhY+kgQVBSyFMgbGUgY3Vyc2V1ciAoc2kgdW5lIGxpZ25lIGNvbXBs6HRlIGEg6XTpIGVmZmFj6WUsIGVsbGUKKyAgICAgc2VyYSBwbGFj6WUgc291cyBsYSBsaWduZSBkdSBjdXJzZXVyKS4KKworICAyLiBQb3VyIHJlbXBsYWNlciBsZSBjYXJhY3TocmUgc291cyBsZSBjdXJzZXVyLCB0YXBleiAgciAgc3VpdmkgZHUgY2FyYWN06HJlCisgICAgIHF1aSByZW1wbGFjZXJhIGwnb3JpZ2luYWwuCisKKyAgMy4gTGUgY2hhbmdlbWVudCB2b3VzIHBlcm1ldCBkZSBjaGFuZ2VyIGwnb2JqZXQgc3DpY2lmaeksIGR1IGN1cnNldXIganVzcXUn4AorICAgICBsYSBmaW4gZGUgbCdvYmpldC4gUGFyIGV4ZW1wbGUsIHRhcGV6ICBjdwlwb3VyIGNoYW5nZXIgZHUgY3Vyc2V1cgorICAgICBqdXNxdSfgIGxhIGZpbiBkdSBtb3QsICBjJCAgcG91ciBjaGFuZ2VyIGp1c3F1J+AgbGEgZmluIGQndW5lIGxpZ25lLgorCisgIDQuIExlIGZvcm1hdCBwb3VyIGxlIGNoYW5nZW1lbnQgZXN0OgorCisJIFtub21icmVdICBjICBvYmpldAkgICBPVQkgICAgIGMJW25vbWJyZV0gIG9iamV0CisKK1Bhc3NleiBtYWludGVuYW50IOAgbGEgbGXnb24gc3VpdmFudGUuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgTGXnb24gNC4xIDogUE9TSVRJT04gRVQgyVRBVCBEVSBGSUNISUVSCisKKworICAqKiBUYXBleiBDdHJsLUcgcG91ciBhZmZpY2hlciB2b3RyZSBwb3NpdGlvbiBkYW5zIGxlIGZpY2hpZXIgZXQgc29uIOl0YXQuCisgICAgIFV0aWxpc2V6IE1hai1HIHBvdXIgdm91cyByZW5kcmUg4CB1bmUgbGlnbmUgZG9ubullIGR1IGZpY2hpZXIuICoqCisKKyAgTm90ZTogTGlzZXogdG91dGUgY2V0dGUgbGXnb24gYXZhbnQgZCdlZmZlY3R1ZXIgbCd1bmUgZGVzIOl0YXBlcyAhCisKKyAgMS4gTWFpbnRlbmV6IGVuZm9uY+llIGxhIHRvdWNoZSBDdHJsIGV0IGFwcHV5ZXogc3VyICBHIC4gIFVuZSBsaWduZSBkJ+l0YXQKKyAgICAgdmEgYXBwYXJh7nRyZSBlbiBiYXMgZGUgbCfpY3JhbiBhdmVjIGxlIG5vbSBkdSBmaWNoaWVyIGV0IGxlIG51belybyBkZSBsYQorICAgICBsaWduZSBv+SB2b3VzIOp0ZXMuICBOb3RleiBjZSBudW3pcm8sIGlsIHNlcnZpcmEgbG9ycyBkZSBsJ+l0YXBlIDMuCisKKyAgMi4gVGFwZXogIEcgIG1hanVzY3VsZSAoTWFqLUcpIHBvdXIgdm91cyByZW5kcmUg4CBsYSBmaW4gZHUgZmljaGllci4KKworICAzLiBUYXBleiBsZSBudW3pcm8gZGUgbGEgbGlnbmUgb/kgdm91cyDpdGlleiBzdWl2aSBkZSBNYWotRy4JQ2VsYSB2b3VzCisgICAgIHJhbehuZXJhIOAgbGEgbGlnbmUgb/kgdm91cyDpdGlleiBhdSBk6XBhcnQuCisgICAgIChMb3JzcXVlIHZvdXMgdGFwZXogbGVzIGNoaWZmcmVzLCBpbHMgbidhcHBhcmFpc3NlbnQgUEFTIOAgbCfpY3JhbikuCisKKyAgNC4gU2kgdm91cyB2b3VzIHNlbnRleiBwcup0IOAgZmFpcmUgY2VjaSwgZWZmZWN0dWV6IGxlcyDpdGFwZXMgMSDgIDMuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICBMZedvbiA0LjIgOiBMQSBSRUNIRVJDSEUKKworCisJICAqKiBUYXBleiAgLyAgc3VpdmkgZCd1biB0ZXh0ZSBwb3VyIHJlY2hlcmNoZXIgY2UgdGV4dGUuICoqCisKKyAgMS4gVGFwZXogbGUgY2FyYWN06HJlICAvICBlbiBtb2RlIE5vcm1hbC4gTm90ZXogcXVlIGNlbHVpLWNpIGV0IGxlIGN1cnNldXIKKyAgICAgYXBwYXJhaXNzZW50IGVuIGJhcyBkZSBsJ+ljcmFuLCBjb21tZSBsb3JzcXVlIGwnb24gdXRpbGlzZSAgOiAuCisKKyAgMi4gUHVpcyB0YXBleiAnZXJycmV1dXInIDxFbnRy6WU+LiAgQydlc3QgbGUgbW90IHF1ZSB2b3VzIHZvdWxleiByZWNoZXJjaGVyLgorCisgIDMuIFBvdXIgcmVjaGVyY2hlciDgIG5vdXZlYXUgbGUgbeptZSB0ZXh0ZSwgdGFwZXogc2ltcGxlbWVudAluIC4KKyAgICAgUG91ciByZWNoZXJjaGVyIGxlIG3qbWUgdGV4dGUgZGFucyBsYSBkaXJlY3Rpb24gb3Bwb3PpZSwgdGFwZXogIE1hai1OIC4KKworICA0LiBTaSB2b3VzIHZvdWxleiByZWNoZXJjaGVyIHVuIHRleHRlIHZlcnMgbGUgaGF1dCBkdSBmaWNoaWVyLCB1dGlsaXNleiAgPworICAgICDgIGxhIHBsYWNlIGRlICAvIC4KKworLS0tPiBlcnJldXIgbmUgcyfpY3JpdCBwYXMgImVycnJldXVyIjsgZXJycmV1dXIgZXN0IHVuZSBlcnJldXIuCisKK05vdGU6IFF1YW5kIGxhIHJlY2hlcmNoZSBhdHRlaW50IGxhIGZpbiBkdSBmaWNoaWVyLCBlbGxlIHJlcHJlbmQgYXUgZOlidXQuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkgICAgTGXnb24gNC4zIDogUkVDSEVSQ0hFIERFUyBQQVJFTlRIyFNFUyBDT1JSRVNQT05EQU5URVMKKworCisJICAgKiogVGFwZXogICUJcG91ciB0cm91dmVyIGRlcyApLCBdIG91IH0gY29ycmVzcG9uZGFudHMuICoqCisKKyAgMS4gUGxhY2V6IGxlIGN1cnNldXIgc3VyIGwndW4gZGVzICgsIFsgb3UgeyBkZSBsYSBsaWduZSBtYXJxdellIC0tLT4KKyAgICAgY2ktZGVzc291cy4KKworICAyLiBQdWlzIHRhcGV6IGxlIGNhcmFjdOhyZSAgJSAuCisKKyAgMy4gTGUgY3Vyc2V1ciBkZXZyYWl0IHNlIHBsYWNlciBzdXIgbGEgcGFyZW50aOhzZSBjb3JyZXNwb25kYW50ZS4KKworICA0LiBUYXBleiAgJSAgcG91ciByZXBsYWNlciBsZSBjdXJzZXVyIHN1ciBsJ2F1dHJlIHBhcmVudGjoc2UuCisKKy0tLT4gVm9pY2kgKCB1bmUgbGlnbmUgZGUgdGVzdCBjb250ZW5hbnQgZGVzICgsIGRlcyBbIF0gZXQgZGVzIHsgfSApKS4KKworTm90ZTogQ2V0dGUgZm9uY3Rpb25uYWxpdOkgZXN0IHRy6HMgdXRpbGUgbG9ycyBkdSBk6WJvZ2FnZSBkJ3VuIHByb2dyYW1tZSBxdWkKKyAgICAgIGNvbnRpZW50IGRlcyBwYXJlbnRo6HNlcyBk6XPpcXVpbGlicullcyAhCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCSAgICAgICBMZedvbiA0LjQgOiBVTkUgTUFOSchSRSBERSBDT1JSSUdFUiBMRVMgRVJSRVVSUworCisKKyAgKiogVGFwZXogIDpzL2FuY2llbi9ub3V2ZWF1L2cgIHBvdXIgcmVtcGxhY2VyICdhbmNpZW4nIHBhciAnbm91dmVhdScuICAqKgorCisgIDEuIETpcGxhY2V6IGxlIGN1cnNldXIgc3VyIGxhIGxpZ25lIG1hcnF16WUgLS0tPiBjaS1kZXNzb3VzLgorCisgIDIuIFRhcGV6ICA6cy9sZWUvbGUgPEVudHLpZT4gLiBOb3RleiBxdWUgY2V0dGUgY29tbWFuZGUgY2hhbmdlIHNldWxlbWVudCBsYQorICAgICBwcmVtaehyZSBvY2N1cmVuY2Ugc3VyIGxhIGxpZ25lLgorCisgIDMuIFB1aXMgdGFwZXogIDpzL2xlZS9sZS9nICBxdWkgb3Jkb25uZSBkZSBmYWlyZSB1bmUgc3Vic3RpdHV0aW9uIGdsb2JhbGUKKyAgICAgc3VyIGxhIGxpZ25lLiBDZWxhIGNoYW5nZSB0b3V0ZXMgbGVzIG9jY3VyZW5jZXMgc3VyIGxhIGxpZ25lCisKKy0tLT4gbGVlIG1laWxsZXVyIG1vbWVudCBwb3VyIHJlZ2FyZGVyIGxlZXMgZmxldXJzIGVzdCBwZW5kYW50IGxlZSBQcmludGVtcHMuCisKKyAgNC4gUG91ciBjaGFuZ2VyIHRvdXRlcyBsZXMgb2NjdXJlbmNlcyBkJ3VuIHRleHRlLCBlbnRyZSBkZXV4IGxpZ25lcywKKyAgICAgdGFwZXogIDojLCNzL2FuY2llbi9ub3V2ZWF1L2cgIG/5ICMsIyBzb250IGxlcyBudW3pcm9zIGRlcyBkZXV4IGxpZ25lcy4KKyAgICAgVGFwZXogIDolcy9hbmNpZW4vbm91dmVhdS9nICAgIHBvdXIgY2hhbmdlciBjaGFxdWUgb2NjdXJlbmNlIGRhbnMgdG91dAorCQkJCSAgICBsZSBmaWNoaWVyLgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgIFLJU1VNySBERSBMQSBMRcdPTiA0CisKKworICAxLiBDdHJsLUcgIGFmZmljaGUgdm90cmUgcG9zaXRpb24gZGFucyBsZSBmaWNoaWVyIGV0IGwn6XRhdCBkZSBjZWx1aS1jaS4KKyAgICAgTWFqLUcgIHZvdXMgcGxhY2Ug4CBsYSBmaW4gZHUgZmljaGllci4gVW4gbnVt6XJvIGRlIGxpZ25lIHN1aXZpIGRlIE1hai1HCisgICAgIHZvdXMgcGxhY2Ug4CBjZXR0ZSBsaWduZS4KKworICAyLiBUYXBlciAgLyAgc3VpdmkgZCd1biB0ZXh0ZSByZWNoZXJjaGUgY2UgdGV4dGUgdmVycyBsJ0FWQU5ULgorICAgICBUYXBlciAgPyAgc3VpdmkgZCd1biB0ZXh0ZSByZWNoZXJjaGUgY2UgdGV4dGUgdmVycyBsJ0FSUknIUkUuCisgICAgIEFwcuhzIHVuZSByZWNoZXJjaGUgdGFwZXoJbiAgcG91ciB0cm91dmVyIGwnb2NjdXJlbmNlIHN1aXZhbnRlIGRhbnMgbGEKKyAgICAgbeptZSBkaXJlY3Rpb24gb3UJTWFqLU4gIHBvdXIgcmVjaGVyY2hlciBkYW5zIGxhIGRpcmVjdGlvbiBvcHBvc+llLgorCisgIDMuIFRhcGVyICAlICBsb3JzcXVlIGxlIGN1cnNldXIgZXN0IHN1ciAgKCwgKSwgWywgXSwgeyBvdSB9ICBk6XBsYWNlCisgICAgIGNlbHVpLWNpIHN1ciBsZSBjYXJhY3TocmUgY29ycmVzcG9uZGFudC4KKworICA0LiBQb3VyIHJlbXBsYWNlciBsZSBwcmVtaWVyIGFhIHBhciBiYiBzdXIgdW5lIGxpZ25lIHRhcGV6CSA6cy9hYS9iYgorICAgICBQb3VyIHJlbXBsYWNlciB0b3VzIGxlcyBhYSBwYXIgYmIgc3VyIHVuZSBsaWduZSB0YXBlegkgOnMvYWEvYmIvZworICAgICBQb3VyIHJlbXBsYWNlciBkdSB0ZXh0ZSBlbnRyZSBkZXV4IG51belyb3MgZGUgbGlnbmUgdGFwZXoJIDojLCNzL2FhL2JiL2cKKyAgICAgUG91ciByZW1wbGFjZXIgdG91dGVzIGxlcyBvY2N1cmVuY2VzIGRhbnMgbGUgZmljaGllciB0YXBleiAgOiVzL2FhL2JiL2cKKyAgICAgUG91ciBkZW1hbmRlciB1bmUgY29uZmlybWF0aW9uIOAgY2hhcXVlIGZvaXMgYWpvdXRleiAnYycJIDolcy9hYS9iYi9nYworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCSAgICAgIExl529uIDUuMSA6IENPTU1FTlQgRVjJQ1VURVIgVU5FIENPTU1BTkRFIEVYVEVSTkUKKworCisgKiogVGFwZXogIDohICBzdWl2aSBkJ3VuZSBjb21tYW5kZSBleHRlcm5lIHBvdXIgZXjpY3V0ZXIgY2V0dGUgY29tbWFuZGUuICoqCisKKyAgMS4gVGFwZXogbGUgIDogIGZhbWlsaWVyIHBvdXIgbWV0dHJlIGxlIGN1cnNldXIgZW4gYmFzIGRlIGwn6WNyYW4uIENlbGEgdm91cworICAgICBwZXJtZXQgZGUgc2Fpc2lyIHVuZSBjb21tYW5kZS4KKworICAyLiBQdWlzIHRhcGV6IHVuICAhICAocG9pbnQgZCdleGNsYW1hdGlvbikuIENlbGEgdm91cyBwZXJtZXQgZCdleOljdXRlcgorICAgICBuJ2ltcG9ydGUgcXVlbGxlIGNvbW1hbmRlIHZhbGlkZSBwb3VyIHZvdHJlIGludGVycHLpdGV1ciAoc2hlbGwpLgorCisgIDMuIFBhciBleGVtcGxlLCB0YXBleiAgbHMgIGFwcuhzIGxlICAhICBldCBhcHB1eWV6IDxFbnRy6WU+LiBDZWNpIGFmZmljaGVyYQorICAgICBsYSBsaXN0ZSBkZXMgZmljaGllcnMgZHUgZG9zc2llciBjb3VyYW50LCBjb21tZSBzaSB2b3VzIGF2aWV6IHRhcOkgbGEKKyAgICAgY29tbWFuZGUg4CBsJ2ludml0ZSBkdSBzaGVsbC4gVXRpbGlzZXogIDohZGlyICBzaQk6IWxzICBuZSBtYXJjaGUgcGFzLgorCitOb3RlOiAgSWwgZXN0IHBvc3NpYmxlIGQnZXjpY3V0ZXIgbidpbXBvcnRlIHF1ZWxsZSBjb21tYW5kZSBleHRlcm5lIGRlIGNldHRlCisgICAgICAgbWFuaehyZS4KKworTm90ZTogIFRvdXRlcyBsZXMgY29tbWFuZGVzICA6ICBkb2l2ZW50IGZpbmlyIHBhciBsYSBmcmFwcGUgZGUgPEVudHLpZT4uCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkgTGXnb24gNS4yIDogUExVUyBERSBEyVRBSUxTIFNVUiBMJ0VOUkVHSVNUUkVNRU5UIERFIEZJQ0hJRVJTCisKKworICoqIFBvdXIgZW5yZWdpc3RyZXIgbGVzIGNoYW5nZW1lbnRzIGZhaXRzIGF1IGZpY2hpZXIsIHRhcGV6ICA6dyBGSUNISUVSIC4gKioKKworICAxLiBUYXBleiAgOiFkaXIgIG91ICA6IWxzICBwb3VyIGF2b2lyIGxhIGxpc3RlIGRlcyBmaWNoaWVycyBkdSBkb3NzaWVyCisgICAgIGNvdXJhbnQuIFZvdXMgc2F2ZXogZOlq4CBxdSdpbCBmYXV0IGFwcHV5ZXIgPEVudHLpZT4gYXBy6HMgY2VsYS4KKworICAyLiBDaG9pc2lzc2V6IHVuIG5vbSBkZSBmaWNoaWVyIHF1aSBuJ2V4aXN0ZSBwYXMgZW5jb3JlLCBwYXIgZXhlbXBsZSBURVNULgorCisgIDMuIFB1aXMgdGFwZXogIDp3IFRFU1QgIChv+SBURVNUIGVzdCBsZSBub20gcXVlIHZvdXMgYXZleiBjaG9pc2kpLgorCisgIDQuIENlbGEgc2F1dmVnYXJkZSB0b3V0IGxlIGZpY2hpZXIgKFR1dG9yaWVsIFZpbSkgc291cyBsZSBub20gVEVTVC4KKyAgICAgUG91ciBsZSB26XJpZmllciwgdGFwZXogIDohZGlyICBwb3VyIHJldmlzdWFsaXNlciBsZSBjb250ZW51IGR1IGRvc3NpZXIuCisKK05vdGV6IHF1ZSBzaSB2b3VzIHF1aXR0ZXogVmltIGV0IHkgcmV0b3VybmV6IGF2ZWMgbGUgZmljaGllciBURVNULCBjZWx1aS1jaQorc2VyYSB1bmUgY29waWUgZXhhY3RlIGR1IGNvdXJzIGF1IG1vbWVudCBv+SB2b3VzIGwnYXZleiBzYXV26S4KKworICA1LiBNYWludGVuYW50LCBlZmZhY2V6IGxlIGZpY2hpZXIgZW4gdGFwYW50IChNUy1ET1MpOiAgICA6IWRlbCBURVNUCisJCQkJCSAgIG91IChVbml4KToJICAgOiFybSBURVNUCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZedvbiA1LjMgOiBVTiBFTlJFR0lTVFJFTUVOVCBTyUxFQ1RJRgorCisKKyAgICAgKiogUG91ciBlbnJlZ2lzdHJlciB1bmUgcG9ydGlvbiBkZSBmaWNoaWVyLCB0YXBlegk6IywjdyBGSUNISUVSICoqCisKKyAgMS4gVGFwZXog4CBub3V2ZWF1ICA6IWRpciAgb3UgIDohbHMgIHBvdXIgdmlzdWFsaXNlciBsZSBjb250ZW51IGR1IGRvc3NpZXIKKyAgICAgY291cmFudCBldCBjaG9pc2lzc2V6IHVuIG5vbSBkZSBmaWNoaWVyLCB0ZWwgcXVlIFRFU1QuCisKKyAgMi4gROlwbGFjZXogbGUgY3Vyc2V1ciBqdXNxdSdlbiBoYXV0IGRlIGNldHRlIHBhZ2UgZXQgdGFwZXogIEN0cmwtRyAgcG91cgorICAgICBjb25uYe50cmUgbGUgbnVt6XJvIGRlIGNldHRlIGxpZ25lLiBOT1RFWiBDRSBOVU3JUk8gIQorCisgIDMuIFB1aXMgcmVuZGV6LXZvdXMgYXUgYmFzIGRlIGNldHRlIHBhZ2UgZXQgdGFwZXog4CBub3V2ZWF1ICBDdHJsLUcgLgorICAgICBOT1RFWiDJR0FMRU1FTlQgQ0UgTlVNyVJPICEKKworICA0LiBQb3VyIGVucmVnaXN0cmVyIFNFVUxFTUVOVCB1bmUgcG9ydGlvbiBkJ3VuIGZpY2hpZXIsIHRhcGV6ICA6IywjdyBURVNUCisgICAgIG/5ICMsIyBzb250IGxlcyBkZXV4IG51belyb3MgcXVlIHZvdXMgYXZleiBub3TpcyAoaGF1dCxiYXMpIGV0IFRFU1QgZXN0CisgICAgIGxlIG5vbSBkdSBmaWNoaWVyLgorCisgIDUuIFVuZSBmb2lzIGVuY29yZSwgdulyaWZpZXogbGEgcHLpc2VuY2UgZHUgZmljaGllciBhdmVjICA6IWRpciAgbWFpcyBORQorICAgICBMJ0VGRkFDRVogUEFTLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgTGXnb24gNS40IDogUslDVVDJUkFUSU9OIEVUIEZVU0lPTiBERSBGSUNISUVSUworCisKKwkqKiBQb3VyIGluc+lyZXIgbGUgY29udGVudSBkJ3VuIGZpY2hpZXIsIHRhcGV6CTpyIEZJQ0hJRVIgKioKKworICAxLiBUYXBleiAgOiFkaXIgIHBvdXIgdulyaWZpZXIgcXVlIHZvdHJlIGZpY2hpZXIgVEVTVCBlc3QgZW5jb3JlIGzgLgorCisgIDIuIFBsYWNleiBsZSBjdXJzZXVyIGVuIGhhdXQgZGUgY2V0dGUgcGFnZS4KKworTk9URTogIEFwcuhzIGF2b2lyIHN1aXZpIGwn6XRhcGUgMyB2b3VzIHZlcnJleiDgIGwn6WNyYW4gbGEgTGXnb24gNS4zLgorICAgICAgIETpcGxhY2V6LXZvdXMgdmVycyBsZSBiYXMganVzcXUn4CByZXZlbmlyIOAgY2V0dGUgbGXnb24uCisKKyAgMy4gTWFpbnRlbmFudCBy6WN1cOlyZXogdm90cmUgZmljaGllciBURVNUIGVuIHV0aWxpc2FudCBsYSBjb21tYW5kZSAgOnIgVEVTVAorICAgICBv+SBURVNUIGVzdCBsZSBub20gZGUgdm90cmUgZmljaGllci4KKworTk9URTogIExlIGZpY2hpZXIgcXVlIHZvdXMgculjdXDpcmV6IGVzdCBwbGFj6SBs4CBv+SBzZSB0cm91dmUgbGUgY3Vyc2V1ci4KKworICA0LiBQb3VyIHbpcmlmaWVyIHF1ZSBsZSBmaWNoaWVyIGEgYmllbiDpdOkgaW5z6XLpLCByZW1vbnRleiBldCB26XJpZmllegorICAgICBxdSdpbCB5IGEgbWFpbnRlbmFudCBkZXV4IGNvcGllcyBkZSBsYSBMZedvbiA1LjMsIGwnb3JpZ2luYWxlIGV0IGNlbGxlCisgICAgIGNvbnRlbnVlIGRhbnMgbGUgZmljaGllci4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgUslTVU3JIERFIExBIExFx09OIDUKKworCisgIDEuICA6IWNvbW1hbmRlICBleOljdXRlIHVuZSBjb21tYW5kZSBleHRlcm5lLgorCisgICAgICBRdWVscXVlcyBleGVtcGxlcyBwcmF0aXF1ZXM6CisJKE1TLURPUykJKFVuaXgpCisJIDohZGlyCQkgOiFscwkJIGFmZmljaGUgbGUgY29udGVudSBkdSBkb3NzaWVyIGNvdXJhbnQuCisJIDohZGVsIEZJQ0hJRVIgICA6IXJtIEZJQ0hJRVIgICAgZWZmYWNlIEZJQ0hJRVIuCisKKyAgMi4gIDp3IEZJQ0hJRVIgIGVucmVnaXN0cmUgbGUgZmljaGllciBWaW0gY291cmFudCBzdXIgbGUgZGlzcXVlIGF2ZWMgcG91cgorCQkgIG5vbSBGSUNISUVSLgorCisgIDMuICA6IywjdyBGSUNISUVSICBlbnJlZ2lzdHJlIGxlcyBsaWduZXMgIyDgICMgZGFucyBsZSBmaWNoaWVyIEZJQ0hJRVIuCisKKyAgNC4gIDpyIEZJQ0hJRVIgIHLpY3Vw6HJlIGxlIGZpY2hpZXIgRklDSElFUiBldCBsJ2luc+hyZSBkYW5zIGxlIGZpY2hpZXIKKwkJICBjb3VyYW50IOAgcGFydGlyIGRlIGxhIHBvc2l0aW9uIGR1IGN1cnNldXIuCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgTGXnb24gNi4xIDogTCdPVVZFUlRVUkUKKworCisqKiBUYXBleiAgbyAgcG91ciBvdXZyaXIgdW5lIGxpZ25lIHNvdXMgbGUgY3Vyc2V1ciBldCB5IGFsbGVyIGVuIEluc2VydGlvbi4gKioKKworICAxLiBE6XBsYWNleiBsZSBjdXJzZXVyIHN1ciBsYSBsaWduZSBtYXJxdellIC0tLT4gY2ktZGVzc291cy4KKworICAyLiBUYXBleiAgbyAgKG1pbnVzY3VsZSkgcG91ciBvdXZyaXIgdW5lIGxpZ25lIFNPVVMgbGUgY3Vyc2V1ciBldCB2b3VzIHkKKyAgICAgcGxhY2VyIGVuIG1vZGUgSW5zZXJ0aW9uLgorCisgIDMuIFB1aXMgcmVjb3BpZXogbGEgbGlnbmUgbWFycXXpZSAtLS0+IGV0IGFwcHV5ZXogc3VyIDzJY2hhcD4gcG91ciBxdWl0dGVyCisgICAgIGxlIG1vZGUgSW5zZXJ0aW9uLgorCistLS0+IEVuIHRhcGFudAlvICBsZSBjdXJzZXVyIHNlIG1ldCBzdXIgbGEgbGlnbmUgb3V2ZXJ0ZSwgZW4gbW9kZSBJbnNlcnRpb24uCisKKyAgNC4gUG91ciBvdXZyaXIgdW5lIGxpZ25lIGF1IERFU1NVUyBkdSBjdXJzZXVyLCB0YXBleiBzaW1wbGVtZW50IHVuICBPCisgICAgIG1hanVzY3VsZSwgcGx1dPR0IHF1J3VuICBvICBtaW51c2N1bGUuIEZhaXRlcyB1biBlc3NhaSBzdXIgbGEgbGlnbmUKKyAgICAgY2ktZGVzc291cy4KK091dnJleiB1bmUgbGlnbmUgY2ktZGVzc3VzIGVuIHRhcGFudCBNQUotTyBsb3JzcXVlIGxlIGN1cnNldXIgZXN0IGljaS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgTGXnb24gNi4yIDogTCdBSk9VVAorCisKKwkgICAgKiogVGFwZXogIGEgIHBvdXIgaW5z6XJlciBkdSB0ZXh0ZSBBUFLIUyBsZSBjdXJzZXVyLiAqKgorCisgIDEuIFBsYWNleiBsZSBjdXJzZXVyIOAgbGEgZmluIGRlIGxhIHByZW1p6HJlIGxpZ25lIG1hcnF16WUgLS0tPiBjaS1kZXNzb3VzCisgICAgIGVuIHRhcGFudAkkICBlbiBtb2RlIE5vcm1hbC4KKworICAyLiBUYXBleiB1biAgYSAgKG1pbnVzY3VsZSkgcG91ciBham91dGVyIGR1IHRleHRlIEFQUshTIGxlIGNhcmFjdOhyZSBzaXR16QorICAgICBzb3VzIGxlIGN1cnNldXIuICggQSAgbWFqdXNjdWxlIGFqb3V0ZSBkdSB0ZXh0ZSDgIGxhIGZpbiBkZSBsYSBsaWduZSkuCisKK05vdGU6IENlY2kg6XZpdGUgZGUgdGFwZXIgIGkgLCBsZSBkZXJuaWVyIGNhcmFjdOhyZSwgbGUgdGV4dGUg4CBpbnPpcmVyLAorICAgICAgPMljaGFwPiwgY3Vyc2V1ci3gLWRyb2l0ZSwgZXQgZmluYWxlbWVudAl4ICwganVzdGUgcG91ciBham91dGVyIGR1CisgICAgICB0ZXh0ZSDgIGxhIGZpbiBkJ3VuZSBsaWduZSAhCisKKyAgMy4gTWFpbnRlbmFudCwgY29tcGzpdGV6IGxhIHByZW1p6HJlIGxpZ25lLiBOb3RleiDpZ2FsZW1lbnQgcXVlIGwnYWpvdXQgZXN0CisgICAgIGlkZW50aXF1ZSBhdSBtb2RlIEluc2VydGlvbiwgaG9ybWlzIGxhIHBvc2l0aW9uIG/5IGxlIHRleHRlIGVzdCBpbnPpcukuCisKKy0tLT4gQ2V0dGUgbGlnbmUgdm91cyBwZXJtZXQgZGUgcHJhdGlxdWVyCistLS0+IENldHRlIGxpZ25lIHZvdXMgcGVybWV0IGRlIHByYXRpcXVlciBsJ2Fqb3V0IGRlIHRleHRlIGVuIGZpbiBkZSBsaWduZS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJTGXnb24gNi4zIDogVU5FIEFVVFJFIFZFUlNJT04gRFUgUkVNUExBQ0VNRU5UCisKKworICAgICAgICoqIFRhcGV6IHVuICBSICBtYWp1c2N1bGUgcG91ciByZW1wbGFjZXIgcGx1cyBkJ3VuIGNhcmFjdOhyZS4gKioKKworICAxLiBE6XBsYWNleiBsZSBjdXJzZXVyIHN1ciBsYSBwcmVtaehyZSBsaWduZSBtYXJxdellIC0tLT4gY2ktZGVzc291cy4KKworICAyLiBQbGFjZXogbGUgY3Vyc2V1ciBhdSBk6WJ1dCBkdSBwcmVtaWVyIG1vdCBxdWkgZGlmZuhyZSBkZSBsYSBzZWNvbmRlIGxpZ25lCisgICAgIG1hcnF16WUgLS0tPiAobGUgbW90ICdjZWxsZScpLgorCisgIDMuIFB1aXMgdGFwZXogIFIgIGV0IHJlbXBsYWNleiBsZSByZXN0ZSBkdSB0ZXh0ZSBkZSBsYSBwcmVtaehyZSBsaWduZSBlbgorICAgICB0YXBhbnQgcGFyIGRlc3N1cyBjZWx1aS1jaSwgZGUgbWFuaehyZSDgIHJlbmRyZSBsYSBwcmVtaehyZSBsaWduZQorICAgICBpZGVudGlxdWUg4CBsYSBzZWNvbmRlLgorCistLS0+IFBvdXIgcmVuZHJlIGNldHRlIGxpZ25lIGlkZW50aXF1ZSDgIGNlbGxlIGR1IGRlc3NvdXMgdXRpbGlzZXogbGUgY2xhdmllci4KKy0tLT4gUG91ciByZW5kcmUgY2V0dGUgbGlnbmUgaWRlbnRpcXVlIOAgbGEgc2Vjb25kZSwgdGFwZXogUiBldCBsYSBjb3JyZWN0aW9uLgorCisgIDQuIE5vdGV6IHF1ZSBsb3JzcXVlIHZvdXMgYXBwdXlleiA8yWNoYXA+LCBsZSB0ZXh0ZSBxdWkgbidhIHBhcyBlbmNvcmUg6XTpCisgICAgIHJlbXBsYWPpIHJlc3RlLgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZedvbiA2LjQgOiBSyUdMQUdFIERFUyBPUFRJT05TCisKKworICAqKiBS6Wdsb25zIHVuZSBvcHRpb24gYWZpbiBxdWUgbGEgcmVjaGVyY2hlIGV0IGxhIHN1YnN0aXR1dGlvbiBpZ25vcmVudCBsYQorICAgICBjYXNzZSBkZXMgY2FyYWN06HJlcy4gKioKKworICAxLiBSZWNoZXJjaGV6ICdpZ25vcmUnIGVuIHRhcGFudCAgL2lnbm9yZSAuCisgICAgIFLpcOl0ZXogY2VjaSBwbHVzaWV1cnMgZm9pcyBlbiB1dGlsaXNhbnQgbGEgdG91Y2hlICBuIC4KKworICAyLiBBY3RpdmV6IGwnb3B0aW9uICdpYycgKElnbm9yZXIgY2Fzc2UpIGVuIHRhcGFudCAgOnNldCBpYyAuCisKKyAgMy4gUHVpcyBwb3Vyc3VpdmV6IHZvdHJlIHJlY2hlcmNoZSBlbiB1dGlsaXNhbnQgIG4gLgorICAgICBS6XDpdGV6IGNldHRlIHJlY2hlcmNoZSBwbHVzaWV1cnMgZm9pcyBhdmVjIGxhIHRvdWNoZSAgbiAuCisKKyAgNC4gQWN0aXZleiBsZXMgb3B0aW9ucyAnaGxzZWFyY2gnIGV0ICdpbmNzZWFyY2gnIGF2ZWMgIDpzZXQgaGxzIGlzIC4KKworICA1LiBQdWlzIHJlY29tbWVuY2V6IHVuZSByZWNoZXJjaGUsIGV0IGZhaXRlcyBiaWVuIGF0dGVudGlvbiDgIGNlIHF1aSBzZQorICAgICBwcm9kdWl0OiAgL2lnbm9yZSAuCisKKyAgNi4gUG91ciBpbnRlcnJvbXByZSBsYSBtaXNlIGVuIHN1cmJyaWxsYW5jZSBkZXMgculzdWx0YXRzLCB0YXBlejoKKyAgICAgOm5vaGxzZWFyY2gKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgIFLJU1VNySBERSBMQSBMRcdPTiA2CisKKworICAxLiBUYXBlciAgbyAgb3V2cmUgdW5lIGxpZ25lIFNPVVMgbGUgY3Vyc2V1ciBldCB5IHBsYWNlIGNlbHVpLWNpIGVuIG1vZGUKKyAgICAgSW5zZXJ0aW9uLiBUYXBlciB1biAgTyAgbWFqdXNjdWxlIG91dnJlIHVuZSBsaWduZSBhdSBERVNTVVMgZGUgbGEgbGlnbmUKKyAgICAgb/kgc2UgdHJvdXZlIGxlIGN1cnNldXIuCisKKyAgMi4gVGFwZXogdW4gIGEgIHBvdXIgaW5z6XJlciBkdSB0ZXh0ZSBBUFLIUyBsZSBjYXJhY3TocmUgb/kgc2UgdHJvdXZlIGxlCisgICAgIGN1cnNldXIuIFRhcGVyIHVuCUEgIG1hanVzY3VsZSBham91dGUgZHUgdGV4dGUgYXV0b21hdGlxdWVtZW50IOAgbGEgZmluCisgICAgIGRlIGxhIGxpZ25lLgorCisgIDMuIFRhcGVyIHVuICBSICBtYWp1c2N1bGUgYWN0aXZlIGxlIG1vZGUgUmVtcGxhY2VtZW50IGp1c3F1J+AgY2UgcXVlIGxhCisgICAgIHRvdWNoZSAgPMljaGFwPiAgc29pdCBhcHB1eellIHBvdXIgZW4gc29ydGlyLgorCisgIDQuIFRhcGVyICA6c2V0IHh4eCAgYWN0aXZlIGwnb3B0aW9uICd4eHgnLgorCisKKworCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZedvbiA3IDogQUNDyURFUiDAIEwnQUlERSBFTiBMSUdORQorCisJCSAgKiogVXRpbGlzZXIgbGUgc3lzdOhtZSBkJ2FpZGUgZW4gbGlnbmUuICoqCisKKyAgVmltIGEgdW4gc3lzdOhtZSBjb21wbGV0IGQnYWlkZSBlbiBsaWduZS4gIFBvdXIgeSBhY2PpZGVyLCBlc3NheWV6IGwndW5lIGRlCisgIGNlcyB0cm9pcyBt6XRob2RlczoKKwktIGFwcHV5ZXogbGEgdG91Y2hlIDxIZWxwPiAoc2kgdm91cyBlbiBhdmV6IHVuZSkKKwktIGFwcHV5ZXogbGEgdG91Y2hlIDxGMT4gKHNpIHZvdXMgZW4gYXZleiB1bmUpCisJLSB0YXBleiAgOmhlbHAgPEVudHLpZT4KKworICBUYXBleiAgOnEgPEVudHLpZT4gIHBvdXIgZmVybWVyIGxhIGZlbup0cmUgZCdhaWRlLgorCisgIFZvdXMgcG91dmV6IGFjY+lkZXIg4CBsJ2FpZGUgc3VyIOAgcGV1IHBy6HMgbidpbXBvcnRlIHF1ZWwgc3VqZXQgZW4gZG9ubmFudAorICBkZXMgYXJndW1lbnRzIOAgbGEgY29tbWFuZGUgIDpoZWxwIC4gRXNzYXlleiBwYXIgZXhlbXBsZSAobidvdWJsaWV6IHBhcworICBkJ2FwcHV5ZXIgc3VyIDxFbnRy6WU+KToKKworCTpoZWxwIHcKKwk6aGVscCBjXzxUCisJOmhlbHAgaW5zZXJ0LWluZGV4CisJOmhlbHAgdXNlci1tYW51YWwKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExl529uIDggOiBDUslFUiBVTiBTQ1JJUFQgREUgRMlNQVJSQUdFCisKKwkJICAqKiBBY3RpdmVyIGxlcyBmb25jdGlvbm5hbGl06XMgZGUgVmltLiAqKgorCisgIFZpbSBhIGJlYXVjb3VwIHBsdXMgZGUgZm9uY3Rpb25uYWxpdOlzIHF1ZSBWaSwgbWFpcyBsYSBwbHVwYXJ0IGRlIGNlbGxlcy1jaQorICBzb250IGTpc2FjdGl26WVzIHBhciBk6WZhdXQuICBQb3VyIGNvbW1lbmNlciDgIGxlcyB1dGlsaXNlciwgdm91cyBkZXZlegorICBjcullciB1biBmaWNoaWVyICJ2aW1yYyIuCisKKyAgMS4gQ29tbWVuY2V6IOAg6WRpdGVyIGxlIGZpY2hpZXIgInZpbXJjIi4gQ2VjaSBk6XBlbmQgZGUgdm90cmUgc3lzdOhtZToKKwk6ZWRpdCB+Ly52aW1yYwkJCXBvdXIgVW5peAorCTplZGl0ICRWSU0vX3ZpbXJjCQlwb3VyIE1TLVdpbmRvd3MKKworICAyLiBJbnTpZ3JleiBtYWludGVuYW50IGxlIHRleHRlIGR1IGZpY2hpZXIgInZpbXJjIiBkJ2V4ZW1wbGU6CisJOnJlYWQgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KKworICAzLiBFbnJlZ2lzdHJleiBsZSBmaWNoaWVyIGF2ZWM6CisJOndyaXRlCisKKyAgTGEgcHJvY2hhaW5lIGZvaXMgcXVlIHZvdXMgZOltYXJyZXJleiBWaW0sIGxlIHN1cmxpZ25hZ2Ugc3ludGFjdGlxdWUgc2VyYQorICBhY3RpdukuIFZvdXMgcG91dmV6IGFqb3V0ZXIgdG91cyB2b3MgculnbGFnZXMgcHLpZuly6XMgZGFucyBjZSBmaWNoaWVyLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCisgIENlY2kgY29uY2x1dCBsZSBUdXRvcmllbCBWaW0uICBMZSBidXQg6XRhaXQgZGUgdm91cyBkb25uZXIgdW4gYnJlZiBhcGVy53UgZGUKKyAgbCfpZGl0ZXVyIFZpbSwganVzdGUgYXNzZXogcG91ciB2b3VzIHBlcm1ldHRyZSBkJ3V0aWxpc2VyIGwn6WRpdGV1cgorICByZWxhdGl2ZW1lbnQgZmFjaWxlbWVudC4gIElsIGVzdCBsb2luIGQn6nRyZSBjb21wbGV0LCB2dSBxdWUgVmltIGEgYmVhdWNvdXAKKyAgYmVhdWNvdXAgcGx1cyBkZSBjb21tYW5kZXMuICBVbiBNYW51ZWwgZGUgbCd1dGlsaXNhdGV1ciBlc3QgZGlzcG9uaWJsZSBlbgorICBhbmdsYWlzOiAgOmhlbHAgdXNlci1tYW51YWwgLgorCisgIFBvdXIgY29udGludWVyIOAgZOljb3V2cmlyIGV0IOAgYXBwcmVuZHJlIFZpbSwgaWwgZXhpc3RlIHVuIGxpdnJlIHRyYWR1aXQgZW4KKyAgZnJhbudhaXMuIElsIHBhcmxlIHBsdXMgZGUgVmkgcXVlIGRlIFZpbSwgbWFpcyBwb3VycmEgdm91cyDqdHJlIHV0aWxlLgorCUwn6WRpdGV1ciBWaSAtIENvbGxlY3Rpb24gUHLpY2lzIGV0IGNvbmNpcyAtIHBhciBBcm5vbGQgUm9iYmlucworCclkaXRldXI6IE8nUmVpbGx5IEZyYW5jZQorCUlTQk46IDItODQxNzctMTAyLTQKKworICBEZXV4IGxpdnJlcyBlbiBhbmdsYWlzIHNvbnQg6WdhbGVtZW50IG1lbnRpb25u6XMgZGFucyBsYSB2ZXJzaW9uIG9yaWdpbmFsZQorICBkZSBjZSB0dXRvcmllbCwgZG9udCB1biBxdWkgdHJhaXRlIHNw6WNpZmlxdWVtZW50IGRlIFZpbS4gTWVyY2kgZGUgdm91cyB5CisgIHLpZulyZXIgc2kgdm91cyDqdGVzIGludOlyZXNz6S4KKworICBDZSB0dXRvcmllbCBhIOl06SDpY3JpdCBwYXIgTWljaGFlbCBDLiBQaWVyY2UgZXQgUm9iZXJ0IEsuIFdhcmUgZGUgbCfJY29sZQorICBkZXMgTWluZXMgZHUgQ29sb3JhZG8gZXQgcmVwcmVuZCBkZXMgaWTpZXMgZm91cm5pZXMgcGFyIENoYXJsZXMgU21pdGgsCisgIFVuaXZlcnN06SBkJ8l0YXQgZHUgQ29sb3JhZG8uICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBNb2RpZmnpIHBvdXIgVmltIHBhciBCcmFtIE1vb2xlbmFyLgorCisgIFRyYWR1aXQgZW4gRnJhbudhaXMgcGFyIEFkcmllbiBCZWF1LCBlbiBhdnJpbCAyMDAxLgorICBFLW1haWw6CXZlcnNpb24uZnJhbmNhaXNlQGZyZWUuZnIKKyAgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDI5Cit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K