PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo9IFYg5CBsIGsgbyBtIG0gZSBuICB0IGkgbCBsICBoIGEgbiBkIGwgZSBkIG4gaSBuIGcgZSBuICBpICBWIGkgbSAgLSBWZXIuIDEuNSA9Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgVmltIORyIGVuIHbkbGRpZ3Qga3JhZnRmdWxsIHJlZGlnZXJhcmUgc29tIGhhciBt5W5nYSBrb21tYW5kb24sIGFsbHRm9nIKICAgICBt5W5nYSBhdHQgZvZya2xhcmEgaSBlbiBoYW5kbGVkbmluZyBzb20gZGVubmEuIERlbiBo5HIgaGFuZGxlZG5pbmdlbiDkcgogICAgIGdqb3JkIGb2ciBhdHQgZvZya2xhcmEgdGlsbHLkY2tsaWd0IG3lbmdhIGtvbW1hbmRvbiBz5SBhdHQgZHUgZW5rZWx0IHNrYQogICAgIGt1bm5hIGFuduRuZGEgVmltIHNvbSBlbiByZWRpZ2VyYXJlIGb2ciBhbGxhIORuZGFt5WwuCgogICAgIERlbiBiZXLka25hZGUgdGlkZW4gZvZyIGF0dCBzbHV0ZvZyYSBkZW5uYSBoYW5kbGVkbmluZyDkciAyNS0zMCBtaW51dGVyLAogICAgIGJlcm9lbmRlIHDlIGh1ciBteWNrZXQgdGlkIHNvbSBs5GdncyBuZWQgcOUgZXhwZXJpbWVudGVyaW5nLgoKICAgICBLb21tYW5kb25hIGkgbGVrdGlvbmVybmEga29tbWVyIGF0dCBtb2RpZmllcmEgdGV4dGVuLiBH9nIgZW4ga29waWEgYXYgZGVuCiAgICAgaORyIGZpbGVuIGF0dCD2dmEgcOUgKG9tIGR1IHN0YXJ0YWRlICJ2aW10dXRvciDkciBkZXQgaORyIHJlZGFuIGVuIGtvcGlhKS4KCiAgICAgRGV0IORyIHZpa3RpZ3QgYXR0IGtvbW1hIGlo5WcgYXR0IGRlbiBo5HIgaGFuZGxlZG5pbmdlbiDkciBrb25zdHJ1ZXJhZAogICAgIGF0dCBs5HJhIHZpZCBhbnbkbmRuaW5nLiBEZXQgYmV0eWRlciBhdHQgZHUgbeVzdGUga/ZyYSBrb21tYW5kb25hIGb2ciBhdHQKICAgICBs5HJhIGRpZyBkZW0gb3JkZW50bGlndC4gT20gZHUgYmFyYSBs5HNlciB0ZXh0ZW4gc+Uga29tbWVyIGR1IGF0dCBnbPZtbWEKICAgICBrb21tYW5kb25hIQoKICAgICBG9nJz5GtyYSBkaWcgbnUgb20gYXR0IGRpbiBDYXBzLUxvY2sgdGFuZ2VudCBJTlRFIORyIGFrdGl2IG9jaCB0cnljayBw5QogICAgIGotdGFuZ2VudGVuIHRpbGxy5GNrbGlndCBt5W5nYSBn5W5nZXIgZvZyIGF0dCBm9nJmbHl0dGEgbWFya/ZyZW4gc+UgYXR0CiAgICAgTGVrdGlvbiAxLjEgZnlsbGVyIHNr5HJtZW4gaGVsdC4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCUxla3Rpb24gMS4xOiBGTFlUVEEgTUFSS9ZSRU4KCgogICAqKiBG9nIgYXR0IGZseXR0YSBtYXJr9nJlbiwgdHJ5Y2sgcOUgdGFuZ2VudGVybmEgaCxqLGssbCBzb20gaW5kaWtlcmF0LiAqKgoJICAgICBeCgkgICAgIGsJCVRpcHM6CiAgICAgICA8IGgJIGwgPgloLXRhbmdlbnRlbiDkciB0aWxsIHbkbnN0ZXIgb2NoIGZseXR0YXIgdGlsbCB25G5zdGVyLgoJICAgICBqCQlsLXRhbmdlbnRlbiDkciB0aWxsIGj2Z2VyIG9jaCBmbHl0dGFyIHRpbGwgaPZnZXIuCgkgICAgIHYJCWotdGFuZ2VudGVuIHNlciB1dCBzb20gZW4gcGlsIG5lZC4KICAxLiBGbHl0dGEgcnVudCBtYXJr9nJlbiBw5SBza+RybWVuIHRpbGxzIGR1IGvkbm5lciBkaWcgYmVrduRtLgoKICAyLiBI5WxsIG5lZCB0YW5nZW50ZW4gcGlsIG5lZCAoaikgdGlsbHMgYXR0IGRlbiByZXBldGVyYXIuCi0tLT4gTnUgdmV0IGR1IGh1ciBkdSB0YXIgZGlnIHRpbGwgbuRzdGEgbGVrdGlvbi4KCiAgMy4gRmx5dHRhIHRpbGwgTGVrdGlvbiAxLjIsIG1lZCBoauRscCBhdiBuZWQgdGFuZ2VudGVuLgoKTm90ZXJhOiBPbSBkdSDkciBvc+RrZXIgcOUgbuVnb250aW5nIGR1IHNrcmV2LCB0cnljayA8RVNDPiBm9nIgYXR0IHBsYWNlcmEgZGlnCglkaWcgaSBOb3JtYWwtbORnZS4gU2tyaXYgc2VkYW4gb20ga29tbWFuZG90LgoKTm90ZXJhOiBQaWx0YW5nZW50ZXJuYSBib3JkZSBvY2tz5SBmdW5nZXJhLiAgTWVuIG9tIGR1IGFuduRuZGVyIGhqa2wgc+Uga29tbWVyCglkdSBhdHQga3VubmEgZmx5dHRhIG9ta3JpbmcgbXlja2V0IHNuYWJiYXJlLCBu5HIgZHUgduRsIHZhbnQgZGlnIHZpZAoJZGV0LgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICBMZWt0aW9uIDEuMjogU1RBUlRBIE9DSCBBVlNMVVRBIFZJTQoKCiAgISEgTk9URVJBOiBJbm5hbiBkdSB1dGb2ciBu5WdvbiBhdiBwdW5rdGVybmEgbmVkYW4sIGzkcyBoZWxhIGxla3Rpb25lbiEhCgogIDEuIFRyeWNrIDxFU0M+LXRhbmdlbnRlbiAoZvZyIGF0dCBzZSB0aWxsIGF0dCBkdSDkciBpIE5vcm1hbC1s5GdlKS4KCiAgMi4gU2tyaXY6CQkJOnEhIDxFTlRFUj4uCgotLS0+IERldHRhIGF2c2x1dGFyIHJlZGlnZXJhcmVuIFVUQU4gYXR0IHNwYXJhIG7lZ3JhIORuZHJpbmdhciBkdSBnam9ydC4KICAgICBPbSBkdSB2aWxsIHNwYXJhIORuZHJpbmdhcm5hIG9jaCBhdnNsdXRhIHNrcml2OgoJCQkJOndxICA8RU5URVI+CgogIDMuIE7kciBkdSBzZXIgc2thbC1wcm9tcHRlbiwgc2tyaXYga29tbWFuZG90IHNvbSB0b2cgZGlnIGluIGkgZGVuIGjkcgogICAgIGhhbmRsZWRuaW5nZW4uICBEZXQga2FuIHZhcmE6CXZpbXR1dG9yIDxFTlRFUj4KICAgICBOb3JtYWx0IHZpbGwgZHUgYW525G5kYToJCXZpbSB0dXRvciA8RU5URVI+CgotLS0+ICd2aW0nIGJldHlkZXIg9nBwbmEgcmVkaWdlcmFyZW4gdmltLCAndHV0b3InIORyIGZpbGVuIGR1IHZpbGwgcmVkaWdlcmEuCgogIDQuIE9tIGR1IGhhciBtZW1vcmVyYXQgZGVzc2Egc3RlZyBvY2gga+RubmVyIGRpZyBzauRsdnPka2VyLCBr9nIgZOUgc3RlZ2VuCiAgICAgMSB0aWxsIDMgZvZyIGF0dCBhdnNsdXRhIG9jaCBzdGFydGEgb20gcmVkaWdlcmFyZW4uIEZseXR0YSBzZWRhbiBuZWQKICAgICBtYXJr9nJlbiB0aWxsIExla3Rpb24gMS4zLgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgIExla3Rpb24gMS4zOiBURVhUIFJFRElHRVJJTkcgLSBCT1JUVEFHTklORwoKCioqIE7kciBkdSDkciBpIE5vcm1hbC1s5GdlIHRyeWNrICB4ICBm9nIgYXR0IHRhIGJvcnQgdGVja25ldCB1bmRlciBtYXJr9nJlbi4gKioKCiAgMS4gRmx5dHRhIG1hcmv2cmVuIHRpbGwgcmFkZW4gbmVkYW4gbWVkIG1hcmtlcmluZ2VuIC0tLT4uCgogIDIuIEb2ciBhdHQgcuR0dGEgZmVsZW4sIGZseXR0YSBtYXJr9nJlbiB0aWxscyBkZW4gc3TlciBw5SB0ZWNrbmV0IHNvbSBza2EKICAgICB0YXMgYm9ydC4gZml4IHRoZSBlcnJvcnMsIG1vdmUgdGhlIGN1cnNvciB1bnRpbCBpdCBpcyBvbiB0b3Agb2YgdGhlCgogIDMuIFRyeWNrIHDlCXgtdGFuZ2VudGVuIGb2ciBhdHQgdGEgYm9ydCBkZXQgZmVsYWt0aWdhIHRlY2tuZXQuCgogIDQuIFVwcHJlcGEgc3RlZyAyIHRpbGwgNCB0aWxscyBtZW5pbmdlbiDkciBrb3JyZWt0LgoKLS0tPiBLa29uIGhvcHBhZGVlIPZ2dmVyciBt5eVuZW4uCgogIDUuIE51IG7kciByYWRlbiDkciBrb3JyZWt0LCBn5SB0aWxsIExla3Rpb24gMS40LgoKTk9URVJBOiBO5HIgZHUgZ+VyIGlnZW5vbSBkZW4gaORyIGhhbmRsZWRuaW5nZW4sIGb2cnP2ayBpbnRlIGF0dCBtZW1vcmVyYSwgbORyCglnZW5vbSBhbnbkbmRuaW5nLgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgIExla3Rpb24gMS40OiBURVhUIFJFRElHRVJJTkcgLSBJTkZPR05JTkcKCgoJICoqIE7kciBkdSDkciBpIE5vcm1hbC1s5GdlIHRyeWNrICBpICBm9nIgYXR0IGluZm9nYSB0ZXh0LiAqKgoKICAxLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBkZW4gZvZyc3RhIHJhZGVuIG5lZGFuIG1lZCBtYXJrZXJpbmdlbiAtLS0+LgoKICAyLiBG9nIgYXR0IGf2cmEgZGVuIGb2cnN0YSByYWRlbiBsaWthZGFuIHNvbSBkZW4gYW5kcmEsIGZseXR0YSBtYXJr9nJlbiB0aWxsCiAgICAgZGV0IGb2cnN0YSB0ZWNrbmV0IEVGVEVSIGTkciB0ZXh0IHNrYSBpbmZvZ2FzLgoKICAzLiBUcnljayAgaSAgb2NoIHNrcml2IGluIGRldCBzb20gc2FrbmFzLgoKICA0LiBO5HIgZHUgcuR0dGF0IGV0dCBmZWwgdHJ5Y2sgPEVTQz4gZvZyIGF0dCDldGVyZ+UgdGlsbCBOb3JtYWwtbORnZS4KICAgICBVcHByZXBhIHN0ZWcgMiB0aWxsIDQgZvZyIGF0dCBy5HR0YSBtZW5pbmdlbi4KCi0tLT4gRGV0IHNha25zIGjkciAuCi0tLT4gRGV0IHNha25hcyBsaXRlIHRleHQgZnLlbiBkZW4gaORyIHJhZGVuLgoKICA1LiBO5HIgZHUga+RubmVyIGRpZyBiZWt25G0gbWVkIGF0dCBpbmZvZ2EgdGV4dCwgZ+UgdGlsbCBzYW1tYW5mYXR0bmluZ2VuCiAgICAgbmVkYW4uCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgICAgICAgTEVLVElPTiAxIFNBTU1BTkZBVFROSU5HCgoKICAxLiBNYXJr9nJlbiBmbHl0dGFzIGdlbm9tIGF0dCBhbnbkbmRhIHBpbHRhbmdlbnRlcm5hIGVsbGVyIGhqa2wtdGFuZ2VudGVybmEuCgkgaCAoduRuc3RlcikJaiAobmVkKSAgICAgICBrICh1cHApCSAgICBsICho9mdlcikKCiAgMi4gRvZyIGF0dCBzdGFydGEgVmltIChmcuVuICUtcHJvbXB0ZW4pIHNrcml2OiAgdmltIEZJTE5BTU4gPEVOVEVSPgoKICAzLiBG9nIgYXR0IGF2c2x1dGEgVmltIHNrcml2OiAgPEVTQz4gIDpxISAgPEVOVEVSPiAgZvZyIGF0dCBrYXN0YSDkbmRyaW5nYXIuCgkJICAgRUxMRVIgc2tyaXY6ICA8RVNDPgk6d3EgIDxFTlRFUj4gIGb2ciBhdHQgc3BhcmEg5G5kcmluZ2FyLgoKICA0LiBG9nIgYXR0IHRhIGJvcnQgdGVja25ldCB1bmRlciBtYXJr9nJlbiBpIE5vcm1hbC1s5GdlIHNrcml2OiAgeAoKICA1LiBG9nIgYXR0IGluZm9nYSB0ZXh0IHZpZCBtYXJr9nJlbiBpIE5vcm1hbC1s5GdlIHNrcml2OgoJIGkgICAgIHNrcml2IGluIHRleHQJPEVTQz4KCk5PVEVSQTogR2Vub20gYXR0IHRyeWNrYSA8RVNDPiBrb21tZXIgZHUgYXR0IHBsYWNlcmFzIGkgTm9ybWFsLWzkZ2UgZWxsZXIKCWF2YnJ5dGEgZXR0IGRlbHZpcyBm5HJkaWdza3JpdmV0IGtvbW1hbmRvLgoKRm9ydHPkdHQgbnUgbWVkIExla3Rpb24gMi4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJTGVrdGlvbiAyLjE6IEJPUlRUQUdOSU5HU0tPTU1BTkRPTgoKCgkgICAgKiogU2tyaXYgIGR3ICBm9nIgYXR0IHJhZGVyYSB0aWxsIHNsdXRldCBhdiBldHQgb3JkLiAqKgoKICAxLiBUcnljayAgPEVTQz4gIGb2ciBhdHQgZvZyc+RrcmEgZGlnIG9tIGF0dCBkdSDkciBpIE5vcm1hbC1s5GdlLgoKICAyLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCByYWRlbiBuZWRhbiBtYXJrZXJhZCAtLS0+LgoKICAzLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBi9nJqYW4gYXYgZXR0IG9yZCBzb20gbeVzdGUgcmFkZXJhcy4KCiAgNC4gU2tyaXYgICBkdwkgZvZyIGF0dCByYWRlcmEgb3JkZXQuCgogIE5PVEVSQTogQm9rc3TkdmVybmEgZHcga29tbWVyIGF0dCBzeW5hcyBw5SBkZW4gc2lzdGEgcmFkZW4gcOUgc2vkcm1lbiBu5HIKCWR1IHNrcml2ZXIgZGVtLiBPbSBkdSBza3JldiBu5WdvdCBmZWwsIHRyeWNrICA8RVNDPiAgb2NoIGL2cmphIG9tLgoKLS0tPiBEZXQg5HIgZXR0IG7lZ3JhIG9yZCByb2xpZ2EgYXR0IHNvbSBpbnRlIGj2ciBoZW1tYSBpIGRlbiBo5HIgbWVuaW5nZW4uCgogIDUuIFVwcHJlcGEgc3RlZ2VuIDMgb2NoIDQgdGlsbHMgbWVuaW5nZW4g5HIga29ycmVrdCBvY2ggZ+UgdGlsbCBMZWt0aW9uIDIuMi4KCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgTGVrdGlvbiAyLjI6IEZMRVIgQk9SVFRBR05JTkdTS09NTUFORE9OCgoKCSAgICoqIFNrcml2ICBkJAlm9nIgYXR0IHJhZGVyYSB0aWxsIHNsdXRldCBw5SByYWRlbi4gKioKCiAgMS4gVHJ5Y2sgIDxFU0M+ICBm9nIgYXR0IGb2cnPka3JhIGRpZyBvbSBhdHQgZHUg5HIgaSBOb3JtYWwtbORnZS4KCiAgMi4gRmx5dHRhIG1hcmv2cmVuIHRpbGwgcmFkZW4gbmVkYW4gbWFya2VyYWQgLS0tPi4KCiAgMy4gRmx5dHRhIG1hcmv2cmVuIHRpbGwgc2x1dGV0IHDlIGRlbiBy5HR0YSByYWRlbiAoRUZURVIgZGVuIGb2cnN0YSAuICkuCgogIDQuIFNrcml2ICAgIGQkICAgIGb2ciBhdHQgcmFkZXJhIHRpbGwgc2x1dGV0IHDlIHJhZGVuLgoKLS0tPiBO5WdvbiBza3JldiBzbHV0ZXQgcOUgZGVuIGjkciByYWRlbiB0duUgZ+VuZ2VyLiBkZW4gaORyIHJhZGVuIHR25SBn5W5nZXIuCgoKICA1LiBH5SB2aWRhcmUgdGlsbCBMZWt0aW9uIDIuMyBm9nIgYXR0IGb2cnN05SB2YWQgZGV0IORyIHNvbSBo5G5kZXIuCgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICBMZXNzb24gMi4zOiBLT01NQU5ET04gT0NIIE9CSkVLVAoKCiAgU3ludGF4ZW4gZvZyICBkICByYWRlcmluZ3Nrb21tYW5kb3Qg5HIgZvZsamFuZGU6CgoJIFtudW1tZXJdICAgZAlvYmpla3QJICAgIEVMTEVSCSAgICAgZAkgW251bW1lcl0gICBvYmpla3QKICBWYXI6CiAgICBudW1tZXIgLSDkciBhbnRhbGV0IHVwcHJlcG5pbmdhciBhdiBrb21tYW5kb3QgKHZhbGZyaXR0LCBzdGFuZGFyZD0xKS4KICAgIGQgLSDkciBrb21tYW5kb3QgZvZyIGF0dCByYWRlcmEuCiAgICBvYmpla3QgLSDkciB2YWQga29tbWFuZG90IGtvbW1lciBhdHQgb3BlcmVyYSBw5SAobGlzdGFkZSBuZWRhbikuCgogIEVuIGtvcnQgbGlzdGEg9nZlciBvYmpla3Q6CiAgICB3IC0gZnLlbiBtYXJr9nJlbiB0aWxsIHNsdXRldCBhdiBvcmRldCwgaW5rbHVzaXZlIGJsYW5rc3RlZ2V0LgogICAgZSAtIGZy5W4gbWFya/ZyZW4gdGlsbCBzbHV0ZXQgYXYgb3JkZXQsIEVKIGlua2x1c2l2ZSBibGFua3N0ZWdldC4KICAgICQgLSBmcuVuIG1hcmv2cmVuIHRpbGwgc2x1dGV0IHDlIHJhZGVuLgoKTk9URVJBOiAgRvZyIGRlbiDkdmVudHlyc2x5c3RuZSwgZ2Vub20gYXR0IGJhcmEgdHJ5Y2thIHDlIG9iamVrdGV0IGkKCSBOb3JtYWwtbORnZSAodXRhbiBrb21tYW5kbykgc+Uga29tbWVyIG1hcmv2cmVuIGF0dCBmbHl0dGFzIHNvbQoJIGFuZ2l2ZXQgaSBvYmpla3RsaXN0YW4uCgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQlMZWt0aW9uIDIuNDogRVRUIFVOREFOVEFHIFRJTEwgJ0tPTU1BTkRPLU9CSkVLVCcKCgoJICAgICAgICoqIFNrcml2CSBkZCAgIGb2ciBhdHQgcmFkZXJhIGhlbGEgcmFkZW4uICoqCgogIFDlIGdydW5kIGF2IGh1ciB2YW5saWd0IGRldCDkciBhdHQgdGEgYm9ydCBoZWxhIHJhZGVyLCB2YWxkZSB1cHBob3ZzbWFubmVuCiAgdGlsbCBWaSBhdHQgZGV0IHNrdWxsZSB2YXJhIGVua2xhcmUgYXR0IGJhcmEgdHJ5Y2thIGQgdHblIGflbmdlciBpIHJhZCBm9nIKICBhdHQgdGEgYm9ydCBlbiByYWQuCgogIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIGRlbiBhbmRyYSByYWRlbiBpIGZyYXNlbiBuZWRhbi4KICAyLiBTa3JpdiAgZGQgIGb2ciBhdHQgcmFkZXJhIHJhZGVuLgogIDMuIEZseXR0YSBudSB0aWxsIGRlbiBmauRyZGUgcmFkZW4uCiAgNC4gU2tyaXYgICAyZGQgICAoa29tIGlo5Wc6ICBudW1tZXIta29tbWFuZG8tb2JqZWt0KSBm9nIgYXR0IHJhZGVyYSBkZSB0duUKICAgICByYWRlcm5hLgoKICAgICAgMSkgIFJvc2VzIGFyZSByZWQsCiAgICAgIDIpICBNdWQgaXMgZnVuLAogICAgICAzKSAgVmlvbGV0cyBhcmUgYmx1ZSwKICAgICAgNCkgIEkgaGF2ZSBhIGNhciwKICAgICAgNSkgIENsb2NrcyB0ZWxsIHRpbWUsCiAgICAgIDYpICBTdWdhciBpcyBzd2VldAogICAgICA3KSAgQW5kIHNvIGFyZSB5b3UuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSBMZWt0aW9uIDIuNTogxU5HUkEtS09NTUFORE9UCgoKKiogU2tyaXYgIHUgZvZyIGF0dCDlbmdyYSBkZXQgc2VuYXN0ZSBrb21tYW5kb25hLCAgVSBm9nIgYXR0IGZpeGEgZW4gaGVsIHJhZC4gKioKCiAgMS4gRmx5dHRhIG1hcmv2cmVuIHRpbGwgc2x1dGV0IGF2IHJhZGVuIG5lZGFuIG1hcmtlcmFkIC0tLT4gb2NoIHBsYWNlcmEgZGVuCiAgICAgcOUgZGV0IGb2cnN0YSBmZWxldC4KICAyLiBTa3JpdiAgeCAgZvZyIGF0dCByYWRlcmEgZGVuIGb2cnN0YSBmZWxha3RpZ2EgdGVja25ldC4KICAzLiBTa3JpdiBudSAgdSAgZvZyIGF0dCDlbmdyYSBkZXQgc2VuYXN0ZSBr9nJkYSBrb21tYW5kb3QuCiAgNC4gUuR0dGEgZGVuIGjkciBn5W5nZW4gYWxsYSBmZWxlbiBw5SByYWRlbiBtZWQgIHgta29tbWFuZG90LgogIDUuIFNrcml2IG51ICBVICBm9nIgYXR0IOV0ZXJzdORsbGEgcmFkZW4gdGlsbCBkZXNzIHVyc3BydW5nbGlnYSB1dHNlZW5kZS4KICA2LiBTa3JpdiBudSAgdSAgbuVncmEgZ+VuZ2VyIGb2ciBhdHQg5W5ncmEgIFUgIG9jaCB0aWRpZ2FyZSBrb21tYW5kb24uCiAgNy4gVHJ5Y2sgbnUgQ1RSTC1SICho5WxsIGlubmUgQ1RSTCBzYW10aWRpZ3Qgc29tIGR1IHRyeWNrZXIgUikgbuVncmEgZ+VuZ2VyCiAgICAgZvZyIGF0dCB1cHByZXBhIGtvbW1hbmRvbmEgKOVuZ3JhIOVuZ3Jpbmdhcm5hKS4KCi0tLT4gRmlpeGEgZmVsZW4gcHDlIGRlZW4gaOTkciBtZW5pbmdlbiBvY2gg5XRlcnNrYXBhIGRlbSBtZWQg5W5ncmEuCgogIDguIERldCBo5HIg5HIgduRsZGlndCBhbnbkbmRiYXJhIGtvbW1hbmRvbi4gIEflIG51IHZpZGFyZSB0aWxsCiAgICAgTGVrdGlvbiAyIFNhbW1hbmZhdHRuaW5nLgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgICAgICBMRUtUSU9OIDIgU0FNTUFORkFUVE5JTkcKCgogIDEuIEb2ciBhdHQgcmFkZXJhIGZy5W4gbWFya/ZyZW4gdGlsbCBzbHV0ZXQgYXYgZXR0IG9yZCBza3JpdjogICAgZHcKCiAgMi4gRvZyIGF0dCByYWRlcmEgZnLlbiBtYXJr9nJlbiB0aWxsIHNsdXRldCBhdiBlbiByYWQgc2tyaXY6ICAgIGQkCgogIDMuIEb2ciBhdHQgcmFkZXJhIGVuIGhlbCByYWQgc2tyaXY6ICAgIGRkCgogIDQuIFN5bnRheGVuIGb2ciBldHQga29tbWFuZG8gaSBOb3JtYWwtbORnZSDkcjoKCiAgICAgICBbbnVtbWVyXSAgIGtvbW1hbmRvICAgb2JqZWt0ICAgRUxMRVIgICBrb21tYW5kbyAgIFtudW1tZXJdICAgb2JqZWt0CiAgICAgZORyOgogICAgICAgbnVtbWVyIC0g5HIgaHVyIG3lbmdhIGflbmdlciBrb21tYW5kb3Qga29tbWFuZG90IHNrYSByZXBldGVyYXMKICAgICAgIGtvbW1hbmRvIC0g5HIgdmFkIHNvbSBza2EgZ/ZyYXMsIHQuZXguICBkICBm9nIgYXR0IHJhZGVyYQogICAgICAgb2JqZWt0IC0g5HIgdmFkIGtvbW1hbmRvdCBza2Egb3BlcmVyYSBw5Swgc29tIHQuZXguICB3IChvcmQpLAoJCSQgKHRpbGwgc2x1dGV0IGF2IHJhZGVuKSwgZXRjLgoKICA1LiBG9nIgYXR0IOVuZ3JhIHRpZGlnYXJlIGtvbW1hbmRvbiwgc2tyaXY6ICB1IChsaXRldCB1KQogICAgIEb2ciBhdHQg5W5ncmEgYWxsYSB0aWRpZ2FyZSDkbmRyaW5nYXIgcOUgZW4gcmFkIHNrcml2OiAgVSAoc3RvcnQgVSkKICAgICBG9nIgYXR0IOVuZ3JhIOVuZ3JpbmdhciB0cnljazogIENUUkwtUgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSBMZWt0aW9uIDMuMTogS0xJU1RSQSBJTi1LT01NQU5ET1QKCgogICAqKiBTa3JpdiAgcCAgZvZyIGF0dCBrbGlzdHJhIGluIGRlbiBzZW5hc3RlIHJhZGVyaW5nZW4gZWZ0ZXIgbWFya/ZyZW4uICoqCgogIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIGRlbiBm9nJzdGEgcmFkZW4gaSBsaXN0YW4gbmVkYW4uCgogIDIuIFNrcml2ICBkZCAgZvZyIGF0dCByYWRlcmEgcmFkZW4gb2NoIGxhZ3JhIGRlbiBpIFZpbXMgYnVmZmVydC4KCiAgMy4gRmx5dHRhIG1hcmv2cmVuIHRpbGwgcmFkZW4gT1ZBTkbWUiBk5HIgZGVuIHJhZGVyYWRlIHJhZGVuIGJvcmRlIHZhcmEuCgogIDQuIE7kciBkdSDkciBpIE5vcm1hbC1s5GdlLCBza3JpdiAgICBwCSBm9nIgYXR0IGJ5dGEgdXQgcmFkZW4uCgogIDUuIFJlcGV0ZXJhIHN0ZWdlbiAyIHRpbGwgNCBm9nIgYXR0IGtsaXN0cmEgaW4gYWxsYSByYWRlciBpIHLkdHQgb3JkbmluZy4KCiAgICAgZCkgS2FuIGR1IGzkcmEgZGlnIG9ja3PlPwogICAgIGIpIFZpb2xldHRlciDkciBibOUsCiAgICAgYykgSW50ZWxsaWdlbnMgZuVzIGdlbm9tIGzkcmRvbSwKICAgICBhKSBSb3NvciDkciBy9mRhLAoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgICAgTGVzc29uIDMuMjogRVJTxFRULUtPTU1BTkRPVAoKCiAgKiogU2tyaXYgIHIgIG9jaCBldHQgdGVja2VuIGb2ciBhdHQgZXJz5HR0YSB0ZWNrbmV0IHVuZGVyIG1hcmv2cmVuLiAqKgoKICAxLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBkZW4gZvZyc3RhIHJhZGVuIG5lZGFuIG1hcmtlcmFkIC0tLT4uCgogIDIuIEZseXR0YSBtYXJr9nJlbiBz5SBhdHQgZGVuIHN05XIgcOUgZGV0IGb2cnN0YSBmZWxldC4KCiAgMy4gU2tyaXYgICByCW9jaCBzZWRhbiBkZXQgdGVja2VuIHNvbSBib3JkZSBlcnPkdHRhIGZlbGV0LgoKICA0LiBSZXBldGVyYSBzdGVnIDIgb2NoIDMgdGlsbHMgZGVuIGb2cnN0YSByYWRlbiDkciBrb3JyZWt0LgoKLS0tPiAgTuRyIGRybiBo5HIgcnVkZW4gc2tyZXZzLCB0cmlja3RlIG7lZ29uIHDlIGZpbCBrbmFwcGFyIQotLS0+ICBO5HIgZGVuIGjkciByYWRlbiBza3JldnMsIHRyeWNrdGUgbuVnb24gcOUgZmVsIGtuYXBwYXIhCgogIDUuIEflIG51IHZpZGFyZSB0aWxsIExla3Rpb24gMy4yLgoKTk9URVJBOiBLb20gaWjlZyBhdHQgZHUgc2thbGwgbORyYSBkaWcgZ2Vub20gYW525G5kbmluZywgaW50ZSBnZW5vbSBtZW1vcmVyaW5nLgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJTGVrdGlvbiAzLjM6IMRORFJBLUtPTU1BTkRPVAoKCgkgICAqKiBG9nIgYXR0IORuZHJhIGVuIGRlbCBlbGxlciBldHQgaGVsdCBvcmQsIHNrcml2ICBjdyAuICoqCgogIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIGRlbiBm9nJzdGEgcmVkYW4gbmVkYW4gbWFya2VyYWQgLS0tPi4KCiAgMi4gUGxhY2VyYSBtYXJr9nJlbiBw5SBkIGkgcmRydG4uCgogIDMuIFNrcml2ICBjdyAgb2NoIGRldCBy5HR0YSBvcmRldCAoaSBkZXQgaORyIGZhbGxldCwgc2tyaXYgImFkZW4iLikKCiAgNC4gVHJ5Y2sgPEVTQz4gb2NoIGZseXR0YSBtYXJr9nJlbiB0aWxsIG7kc3RhIGZlbCAoZGV0IGb2cnN0YSB0ZWNrbmV0IHNvbQogICAgIHNrYSDkbmRyYXMuKQoKICA1LiBSZXBldGVyYSBzdGVnIDMgb2NoIDQgdGlsbHMgZGVuIGb2cnN0YSByYWRlbiDkciBsaWthZGFuIHNvbSBkZW4gYW5kcmEuCgotLS0+IERlbiBo5HIgcmRydG4gaGFyIG7lZ3JhIG90ZiBzb20gYnJob3RydCDkbmRyYXMgbXJmIORuZHJhLWtvbWplbmRpdC4KLS0tPiBEZW4gaORyIHJhZGVuIGhhciBu5WdyYSBvcmQgc29tIGJlaPZ2ZXIg5G5kcmFzIG1lZCDkbmRyYS1rb21tYW5kb3QuCgpOb3RlcmEgYXR0ICBjdyAgaW50ZSBiYXJhIORuZHJhciBvcmRldCwgdXRhbiDkdmVuIHBsYWNlcmFyIGRpZyBpIGluZm9nbmluZ3Ns5GdlLgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgICAgTGVrdGlvbiAzLjQ6IEZMRVIgxE5EUklOR0FSIE1FRCBjCgoKICAgICAqKiDEbmRyYS1rb21tYW5kb3QgYW525G5kcyBw5SBzYW1tYSBvYmpla3Qgc29tIHJhZGVyYS4gKioKCiAgMS4gxG5kcmEta29tbWFuZG90IGZ1bmdlcmFyIHDlIHNhbW1hIHPkdHQgc29tIHJhZGVyYS4gU3ludGF4ZW4g5HI6CgogICAgICAgW251bW1lcl0gICBjICAgb2JqZWt0CSAgIEVMTEVSCSAgICBjCVtudW1tZXJdICAgb2JqZWt0CgogIDIuIE9iamVrdGVuIORyIG9ja3PlIGRlIHNhbW1hLCBzb20gdC5leC4gICB3IChvcmQpLCAkIChzbHV0ZXQgYXYgcmFkZW4pLCBldGMuCgogIDMuIEZseXR0YSB0aWxsIGRlbiBm9nJzdGEgcmFkZW4gbmVkYW4gbWFya2VyYWQgLS0+LgoKICA0LiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBkZXQgZvZyc3RhIGZlbGV0LgoKICA1LiBTa3JpdiAgYyQgIGb2ciBhdHQgZ/ZyYSByZXN0ZW4gYXYgcmFkZW4gbGlrYWRhbiBzb20gZGVuIGFuZHJhIG9jaCB0cnljawogICAgIDxFU0M+LgoKLS0tPiBTbHV0ZXQgcOUgZGVuIGjkciByYWRlbiBiZWj2dmVyIGhq5GxwIG1lZCBhdHQgZuUgZGVuIGF0dCBsaWtuYSBkZW4gYW5kcmEuCi0tLT4gU2x1dGV0IHDlIGRlbiBo5HIgcmFkZW4gYmVo9nZlciBy5HR0YXMgdGlsbCBtZWQgIGMkLWtvbW1hbmRvdC4KCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgICAgICBMRUtUSU9OIDMgU0FNTUFORkFUVE5JTkcKCgogIDEuIEb2ciBhdHQgZXJz5HR0YSB0ZXh0IHNvbSByZWRhbiBoYXIgYmxpdml0IHJhZGVyYWQsIHNrcml2ICAgcCAuCiAgICAgRGV0dGEga2xpc3RyYXIgaW4gZGVuIHJhZGVyYWRlIHRleHRlbiBFRlRFUiBtYXJr9nJlbiAob20gZW4gcmFkIHJhZGVyYWRlcwogICAgIGtvbW1lciBkZW4gYXR0IGhhbW5hIHDlIHJhZGVuIHVuZGVyIG1hcmv2cmVuLgoKICAyLiBG9nIgYXR0IGVyc+R0dGEgdGVja25ldCB1bmRlciBtYXJr9nJlbiwgc2tyaXYgICByICAgb2NoIHNlZGFuIHRlY2tuZXQgc29tCiAgICAga29tbWVyIGF0dCBlcnPkdHRhIG9yZ2luYWxldC4KCiAgMy4gxG5kcmEta29tbWFuZG90IGzldGVyIGRpZyDkbmRyYSBkZXQgYW5naXZuYSBvYmpla3RldCBmcuVuIG1hcmv2cmVuIHRpbGwKICAgICBzbHV0ZXQgcOUgb2JqZWt0ZXQuIGVnLiBTa3JpdiAgY3cgIGb2ciBhdHQg5G5kcmEgZnLlbiBtYXJr9nJlbiB0aWxsIHNsdXRldAogICAgIHDlIG9yZGV0LCBjJAlm9nIgYXR0IORuZHJhIHRpbGwgc2x1dGV0IHDlIGVuIHJhZC4KCiAgNC4gU3ludGF4ZW4gZvZyIORuZHJhLWtvbW1hbmRvdCDkcjoKCgkgW251bW1lcl0gICBjCW9iamVrdAkgICAgICBFTExFUgljICAgW251bW1lcl0gICBvYmpla3QKCkflIG51IHRpbGwgbuRzdGEgbGVrdGlvbi4KCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICBMZWt0aW9uIDQuMTogUE9TSVRJT04gT0NIIEZJTFNUQVRVUwoKCiAgKiogVHJ5Y2sgQ1RSTC1nIGb2ciBhdHQgdmlzYSBkaW4gcG9zaXRpb24gaSBmaWxlbiBvY2ggZmlsc3RhdHVzZW4uCiAgICAgVHJ5Y2sgU0hJRlQtRyBm9nIgYXR0IGZseXR0YSB0aWxsIGVuIHJhZCBpIGZpbGVuLiAqKgoKICBOb3RlcmE6IEzkc2EgaGVsYSBkZW4gbGVrdGlvbiBpbm5hbiBkdSB1dGb2ciBu5WdvdCBhdiBzdGVnZW4hIQoKICAxLiBI5WxsIG5lZCBDdHJsLXRhbmdlbnRlbiBvY2ggdHJ5Y2sgIGcgLiBFbiBzdGF0dXNyYWQgbWVkIGZpbG5hbW4gb2NoIHJhZGVuCiAgICAgZHUgYmVmaW5uZXIgZGlnIHDlIGtvbW1lciBhdHQgc3luYXMuIEtvbSBpaOVnIHJhZG51bW1yZXQgdGlsbCBTdGVnIDMuCgogIDIuIFRyeWNrIHNoaWZ0LUcgZvZyIGF0dCBmbHl0dGEgbWFya/ZyZW4gdGlsbCBzbHV0ZXQgcOUgZmlsZW4uCgogIDMuIFNrcml2IGluIG51bW1yZXQgcOUgcmFkZW4gZHUgdmFyIHDlIG9jaCB0cnljayBzZWRhbiBzaGlmdC1HLiBEZXR0YSBrb21tZXIKICAgICBhdHQgdGEgZGlnIHRpbGxiYWthIHRpbGwgcmFkZW4gZHUgdmFyIHDlIG7kciBkdSBm9nJzdCB0cnlja3RlIEN0cmwtZy4KICAgICAoTuRyIGR1IHNrcml2ZXIgaW4gbnVtbXJlbiwga29tbWVyIGRlIElOVEUgYXR0IHZpc2FzIHDlIHNr5HJtZW4uKQoKICA0LiBPbSBkdSBr5G5uZXIgZGlnIHPka2VyIHDlIGRldCBo5HIsIHV0ZvZyIHN0ZWcgMSB0aWxsIDMuCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQlMZWt0aW9uIDQuMjogU9ZLLUtPTU1BTkRPVAoKCiAgICAgKiogU2tyaXYgIC8gIGb2bGp0IGF2IGVuIGZyYXMgZvZyIGF0dCBz9mthIGVmdGVyIGZyYXNlbi4gKioKCiAgMS4gSSBOb3JtYWwtbORnZSBza3JpdiAvLXRlY2tuZXQuIE5vdGVyYSBhdHQgZGV0IG9jaCBtYXJr9nJlbiBibGlyIHN5bmxpZwogICAgIGzkbmdzdCBuZWQgcOUgc2vkcm1lbiBwcmVjaXMgc29tIG1lZCA6LWtvbW1hbmRvdC4KCiAgMi4gU2tyaXYgbnUgImZlZWVsIiA8RU5URVI+LiBEZXQgaORyIORyIG9yZGV0IGR1IHZpbGwgc/ZrYSBlZnRlci4KCiAgMy4gRvZyIGF0dCBz9mthIGVmdGVyIHNhbW1hIGZyYXMgaWdlbiwgdHJ5Y2sgaGVsdCBlbmtlbHQgIG4gLgogICAgIEb2ciBhdHQgc/ZrYSBlZnRlciBzYW1tYSBmcmFzIGlnZW4gaSBtb3RzYXR0IHJpa3RuaW5nLCB0cnljayAgU2hpZnQtTiAuCgogIDQuIE9tIGR1IHZpbGwgc/ZrYSBlZnRlciBlbiBmcmFzIGJha+V0IGkgZmlsZW4sIGFuduRuZCBrb21tYW5kb3QgID8gIGlzdORsbGV0CiAgICAgZvZyIC8uCgotLS0+ICJmZWVlbCIg5HIgaW50ZSBy5HR0IHPkdHQgYXR0IHN0YXZhIGZlbDogZmVlZWwg5HIgZXR0IGZlbC4KCk5vdGVyYTogTuRyIHP2a25pbmdlbiBu5XIgc2x1dGV0IHDlIGZpbGVuIGtvbW1lciBkZW4gYXR0IGZvcnRz5HR0YSB2aWQgYvZyamFuLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgIExla3Rpb24gNC4zOiBT1ktOSU5HIEVGVEVSIE1BVENIQU5ERSBQQVJFTlRFU0VSCgoKCSAgICAgICoqIFNrcml2ICAlICBm9nIgYXR0IGhpdHRhIGVuIG1hdGNoYW5kZSApLF0sIG9yIH0gLiAqKgoKICAxLiBQbGFjZXJhIG1hcmv2cmVuIHDlIG7lZ29uIGF2ICgsIFssIG9yIHsgcOUgcmFkZW4gbmVkYW4gbWFya2VyYWQgLS0tPi4KCiAgMi4gU2tyaXYgbnUgJS10ZWNrbmV0LgoKICAzLiBNYXJr9nJlbiBib3JkZSB2YXJhIHDlIGRlbiBtYXRjaGFuZGUgcGFyZW50ZXNlbiBlbGxlciBoYWtwYXJlbnRlc2VuLgoKICA0LiBTa3JpdiAgJSAgZvZyIGF0dCBmbHl0dGEgbWFya/ZyZW4gdGlsbGJha2EgdGlsbCBkZW4gZvZyc3RhIGhha3BhcmVudGVzZW4KICAgICAobWVkIG1hdGNobmluZykuCgotLS0+IERldCAoIGjkciDkciBlbiB0ZXN0cmFkIG1lZCAoLCBbIF0gb2NoIHsgfSBpIGRlbi4gKSkKCk5vdGVyYTogRGV0IGjkciDkciB25GxkaWd0IGFuduRuZGJhcnQgdmlkIGF2bHVzbmluZyBhdiBldHQgcHJvZ3JhbSBtZWQgaWNrZQoJbWF0Y2hhbmRlIHBhcmVudGVzZXIhCgoKCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgIExla3Rpb24gNC40OiBFVFQgU8RUVCBBVFQgxE5EUkEgRkVMCgoKCSoqIFNrcml2ICA6cy9nYW1tYWx0L255dHQvZyAgZvZyIGF0dCBlcnPkdHRhICJnYW1tYWx0IiBtZWQgIm55dHQiLiAqKgoKICAxLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCByYWRlbiBuZWRhbiBtYXJrZXJhZCAtLS0+LgoKICAyLiBTa3JpdiAgOnMvZGVubi9kZW4gPEVOVEVSPiAuIE5vdGVyYSBhdHQgZGV0IGjkciBrb21tYW5kb3QgYmFyYSDkbmRyYXIgZGVuCiAgICAgZvZyc3RhIGb2cmVrb21zdGVuIHDlIHJhZGVuLgoKICAzLiBTa3JpdiBudQkgOnMvZGVubi9kZW4vZwkgICB2aWxrZXQgYmV0eWRlciBlcnPkdHQgZ2xvYmFsdCBw5SByYWRlbi4KICAgICBEZXQg5G5kcmFyIGFsbGEgZvZyZWtvbXN0ZXIgcOUgcmFkZW4uCgotLS0+IGRlbm4gYuRzdGEgdGlkZW4gYXR0IHNlIGJsb21tb3IgYmxvbW1hIORyIGRlbm4gcOUgduVyZW4uCgogIDQuIEb2ciBhdHQg5G5kcmEgYWxsYSBm9nJla29tc3RlciBhdiBlbiB0ZWNrZW5zdHLkbmcgbWVsbGFuIHR25SByYWRlciwKICAgICBza3JpdiAgOiMsI3MvZ2FtbWFsdC9ueXR0L2cgICAgZORyICMsIyDkciBkZSB0duUgcmFkZXJuYXMgcmFkbnVtbWVyLgogICAgIFNrcml2ICA6JXMvZ2FtbXRsL255dHQvZyAgICBm9nIgYXR0IORuZHJhIHZhcmplIGb2cmVrb21zdCBpIGhlbGEgZmlsZW4uCgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICAgICAgIExFS1RJT04gNCBTQU1NQU5GQVRUTklORwoKCiAgMS4gQ3RybC1nICB2aXNhciBkaW4gcG9zaXRpb24gaSBmaWxlbiBvY2ggZmlsc3RhdHVzZW4uCiAgICAgU2hpZnQtRyAgZmx5dHRhciB0aWxsIHNsdXRldCBhdiBmaWxlbi4gRXR0IHJhZG51bW1lciBm9mxqdCAgU2hpZnQtRwogICAgIGZseXR0YXIgdGlsbCBkZXQgcmFkbnVtbXJldC4KCiAgMi4gU2tyaXZlciBtYW4gIC8JZvZsanQgYXYgZW4gZnJhcyBz9mtzIGRldCBGUkFNTcVUIGVmdGVyIGZyYXNlbi4KICAgICBTa3JpdmVyIG1hbiAgPwlm9mxqdCBhdiBlbiBmcmFzIHP2a3MgZGV0IEJBS8VUIGVmdGVyIGZyYXNlbi4KICAgICBFZnRlciBlbiBz9mtuaW5nIHNrcml2ICBuICBm9nIgYXR0IGhpdHRhIG7kc3RhIGb2cmVrb21zdCBpIHNhbW1hIHJpa3RuaW5nCiAgICAgZWxsZXIgIFNoaWZ0LU4gIGb2ciBhdHQgc/ZrYSBpIGRlbiBtb3RzYXR0YSByaWt0bmluZ2VuLgoKICAzLiBTa3JpdmVyIG1hbiAgJQlu5HIgbWFya/ZyZW4g5HIgcOUgZXR0ICAoLCksWyxdLHssIGVsbGVyIH0gIGhpdHRhcyBkZXNzCiAgICAgbWF0Y2hhbmRlIHBhci4KCiAgNC4gRvZyIGF0dCBlcnPkdHRhIGRlbiBm9nJzdGEgZ2FtbWFsdCBtZWQgbnl0dCBw5SBlbiByYWQgc2tyaXYgIDpzL2dhbW1sdC9ueXR0CiAgICAgRvZyIGF0dCBlcnPkdHRhIGFsbGEgZ2FtbWx0IG1lZCBueXR0IHDlIGVuIHJhZCBza3JpdiAgOnMvZ2FtbWx0L255dHQvZwogICAgIEb2ciBhdHQgZXJz5HR0YSBmcmFzZXIgbWVsbGFuIHJhZCAjIG9jaCByYWQgIyBza3JpdiAgOiMsI3MvZ2FtbWx0L255dHQvZwogICAgIEb2ciBhdHQgZXJz5HR0YSBhbGxhIGb2cmVrb21zdGVyIGkgZmlsZW4gc2tyaXYgIDolcy9nYW1tbHQvbnl0dC9nCiAgICAgRvZyIGF0dCBiZWty5GZ0YSB2YXJqZSBn5W5nIGzkZ2cgdGlsbCAiYyIgIDolcy9nYW1tbHQvbnl0dC9nYwoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCUxla3Rpb24gNS4xOiBIVVIgTUFOIEvWUiBFVFQgRVhURVJOVCBLT01NQU5ETwoKCiAgICoqIFNrcml2ICA6IQlm9mxqdCBhdiBldHQgZXh0ZXJudCBrb21tYW5kbyBm9nIgYXR0IGv2cmEgZGV0IGtvbW1hbmRvdC4gKioKCiAgMS4gU2tyaXYgZGV0IHbkbGJla2FudGEga29tbWFuZG90CTogIGb2ciBhdHQgcGxhY2VyYSBtYXJr9nJlbiBs5G5nc3QgbmVkCiAgICAgcOUgc2vkcm1lbiBw5SBza+RybWVuLiBEZXR0YSBs5XRlciBkaWcgc2tyaXZhIGluIGV0dCBrb21tYW5kby4KCiAgMi4gU2tyaXYgbnUgICEgICh1dHJvcHN0ZWNrZW4pLiAgRGV0dGEgbOV0ZXIgZGlnIGv2cmEgZXR0IGdvZHR5Y2tsaWd0IGV4dGVybnQKICAgICBza2Fsa29tbWFuZG8uCgogIDMuIFNvbSBldHQgZXhlbXBlbCBza3JpdiAgIGxzICAgZWZ0ZXIgISBvY2ggdHJ5Y2sgc2VkYW4gPEVOVEVSPi4gRGV0dGEga29tbWVyCiAgICAgYXR0IHZpc2EgZGlnIGVuIGxpc3RuaW5nIGF2IGRpbiBrYXRhbG9nLCBwcmVjaXMgc29tIG9tIGR1IGv2cnQgZGV0IHZpZAogICAgIHNrYWxwcm9tcHRlbi4gQW525G5kICA6IWRpciAgb20gbHMgaW50ZSBmdW5nZXJhci4KCk5vdGVyYTogIERldCDkciBt9mpsaWd0IGF0dCBr9nJhIHZpbGtldCBleHRlcm50IGtvbW1hbmRvIHNvbSBoZWxzdCBw5SBkZXQgaORyCgkgc+R0dGV0LgoKTm90ZXJhOiAgQWxsYSAgOi1rb21tYW5kb24gbeVzdGUgYXZzbHV0YXMgbWVkIGF0dCB0cnlja2EgcOUgPEVOVEVSPgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgTGVrdGlvbiA1LjI6IE1FUiBPTSBBVFQgU1BBUkEgRklMRVIKCgogICAgICoqIEb2ciBhdHQgc3BhcmEg5G5kcmluZ2FyIGdqb3JkYSBpIGVuIGZpbCwgc2tyaXYgIDp3IEZJTE5BTU4uICoqCgogIDEuIFNrcml2ICA6IWRpciAgZWxsZXIgIDohbHMgIGb2ciBhdHQgZuUgZW4gbGlzdG5pbmcgYXYgZGluIGthdGFsb2cuCiAgICAgRHUgdmV0IHJlZGFuIGF0dCBkdSBt5XN0ZSB0cnlja2EgPEVOVEVSPiBlZnRlciBkZXQgaORyLgoKICAyLiBW5GxqIGV0dCBmaWxuYW1uIHNvbSBpbnRlIHJlZGFuIGV4aXN0ZXJhciwgc29tIHQuZXguIFRFU1QuCgogIDMuIFNrcml2IG51OgkgOncgVEVTVCAgIChk5HIgVEVTVCDkciBmaWxuYW1uZXQgZHUgdmFsdC4pCgogIDQuIERldCBo5HIgc3BhcmFyIGhlbGEgZmlsZW4JKFZpbSBoYW5kbGVkbmluZ2VuKSAgdW5kZXIgbmFtbmV0IFRFU1QuCiAgICAgRvZyIGF0dCB2ZXJpZmllcmEgZGV0dGEsIHNrcml2ICAgIDohZGlyICAgaWdlbiBm9nIgYXR0IHNlIGRpbiBrYXRhbG9nCgpOb3RlcmE6IE9tIGR1IHNrdWxsZSBhdnNsdXRhIFZpbSBvY2ggc2VkYW4g9nBwbmEgaWdlbiBtZWQgZmlsbmFtbmV0IFRFU1Qgc+UKCXNrdWxsZSBmaWxlbiB2YXJhIGVuIGV4YWt0IGtvcGlhIGF2IGhhbmRsZWRuaW5nZW4gbuRyIGR1IHNwYXJhZGUgZGVuLgoKICA1LiBUYSBudSBib3J0IGZpbGVuIGdlbm9tIGF0dCBza3JpdmEgKE1TLURPUyk6ICA6IWRlbCBURVNUCgkJCQkgICBlbGxlciAoVW5peCk6ICA6IXJtIFRFU1QKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgTGVrdGlvbiA1LjM6IEVUVCBTRUxFS1RJVlQgU1BBUkEtS09NTUFORE8KCgoJKiogRvZyIGF0dCBzcGFyYSBlbiBkZWwgYXYgZW4gZmlsLCBza3JpdiAgIDojLCMgdyBGSUxOQU1OICoqCgogIDEuIMRubnUgZW4gZ+VuZywgc2tyaXYgIDohZGlyICBlbGxlciAgOiFscyAgZvZyIGF0dCBm5SBlbiBsaXN0bmluZyBhdiBkaW4KICAgICBrYXRhbG9nIG9jaCB25GxqIGV0dCBwYXNzYW5kZSBmaWxuYW1uIHNvbSB0LmV4LiBURVNULgoKICAyLiBGbHl0dGEgbWFya/ZyZW4gaPZnc3QgdXBwIHDlIGRlbiBo5HIgc2lkYW4gb2NoIHRyeWNrICBDdHJsLWcgIGb2ciBhdHQgZuUKICAgICByZWRhIHDlIHJhZG51bXJldCBw5SBkZW4gcmFkZW4uIEtPTSBJSMVHIERFVCBOVU1NUkVUIQoKICAzLiBGbHl0dGEgbnUgbORuZ3N0IG5lZCBw5SBzaWRhbiBvY2ggc2tyaXYgIEN0cmwtZyBpZ2VuLgogICAgIEtPTSBJSMVHIERFVCBSQUROVU1NUkVUIE9DS1PFIQoKICA0LiBG9nIgYXR0IEJBUkEgc3BhcmEgZW4gc2VrdGlvbiB0aWxsIGVuIGZpbCwgc2tyaXYgICA6IywjIHcgVEVTVAogICAgIGTkciAjLCMg5HIgZGUgdHblIG51bW1yZW4gZHUga29tIGlo5WcgKHRvcHBlbiwgYm90dGVuKSBvY2ggVEVTVCDkcgogICAgIGRpdHQgZmlsbmFtbi4KCiAgNS4gxG5udSBlbiBn5W5nLCBrb2xsYSBz5SBhdHQgZmlsZW4g5HIgZORyIG1lZCAgOiFkaXIgIG1lbiByYWRlcmEgZGVuIElOVEUuCgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICBMZWt0aW9uIDUuNDogVEEgRU1PVCBPQ0ggRtZSRU5BIEZJTEVSCgoKICAgICAgICoqIEb2ciBhdHQgaW5mb2dhIGlubmVo5WxsZXQgYXYgZW4gZmlsLCBza3JpdiAgIDpyIEZJTE5BTU4gKioKCiAgMS4gU2tyaXYgICA6IWRpciAgIGb2ciBhdHQgZvZyc+RrcmEgZGlnIG9tIGF0dCBURVNULWZpbGVuIGZy5W4gdGlkaWdhcmUKICAgICBmb3J0ZmFyYW5kZSDkciBrdmFyLgoKICAyLiBQbGFjZXJhIG1hcmv2cmVuIGj2Z3N0IHVwcCBw5SBkZW4gaORyIHNpZGFuLgoKTk9URVJBOiAgRWZ0ZXIgYXR0IGR1IGv2cnQgU3RlZyAzIGtvbW1lciBkdSBhdHQgc2UgTGVrdGlvbiA1LjMuCgkgRmx5dHRhIGTlIE5FRCB0aWxsIGRlbiBo5HIgbGVrdGlvbmVuIGlnZW4uCgogIDMuIFRhIG51IGVtb3QgZGluIFRFU1QtZmlsIG1lZCBrb21tYW5kb3QgICA6ciBURVNUICAgZORyIFRFU1Qg5HIgbmFtbmV0IHDlCiAgICAgZmlsZW4uCgpOT1RFUkE6ICBGaWxlbiBkdSB0YXIgZW1vdCBwbGFjZXJhcyBk5HIgbWFya/ZyZW4g5HIgcGxhY2VyYWQuCgogIDQuIEb2ciBhdHQgdmVyaWZpZXJhIGF0dCBmaWxlbiB0b2dzIGVtb3QsIGflIHRpbGxiYWthIG9jaCBub3RlcmEgYXR0IGRldCBudQogICAgIGZpbm5zIHR25SBrb3Bpb3IgYXYgTGVrdGlvbiA1LjMsIG9yZ2luYWxldCBvY2ggZmlsdmVyc2lvbmVuLgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICAgICAgIExFS1RJT04gNSBTQU1NQU5GQVRUTklORwoKCiAgMS4gIDoha29tbWFuZG8gIGv2ciBldHQgZXh0ZXJudCBrb21tYW5kby4KCiAgICAgIE7lZ3JhIGFuduRuZGJhcmEgZXhlbXBlbCDkcjoKCSAoTVMtRE9TKQkgIChVbml4KQoJICA6IWRpcgkJICAgOiFscwkJICAtICB2aXNhciBlbiBrYXRhbG9nbGlzdG5pbmcuCgkgIDohZGVsIEZJTE5BTU4gICAgOiFybSBGSUxOQU1OICAgLSAgdGFyIGJvcnQgZmlsZW4gRklMTkFNTi4KCiAgMi4gIDp3IEZJTE5BTU4gIHNwYXJhciBkZW4gYWt0dWVsbGEgVmltLWZpbGVuIG1lZCBuYW1uZXQgRklMTkFNTi4KCiAgMy4gIDojLCN3IEZJTE5BTU4gIHNwYXJhciByYWRlcm5hICMgdGlsbCAjICBpIGZpbGVuIEZJTE5BTU4uCgogIDQuICA6ciBGSUxOQU1OICB0YXIgZW1vdCBmaWxlbiBGSUxOQU1OIG9jaCBpbmZvZ2FyIGRlbiBpIGRlbiBha3R1ZWxsYSBmaWxlbgogICAgICBlZnRlciBtYXJr9nJlbi4KCgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSBMZWt0aW9uIDYuMTog1lBQTkEtS09NTUFORE9UCgoKICoqIFNrcml2ICBvICBm9nIgYXR0IPZwcG5hIGVuIHJhZCB1bmRlciBtYXJr9nJlbiBvY2ggcGxhY2VyYSBkaWcgaQogICAgSW5mb2dhLWzkZ2UuICoqCgogIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIHJhZGVuIG5lZGFuIG1hcmtlcmFkIC0tLT4uCgogIDIuIFNrcml2ICBvIChsaXRldCBvKSBm9nIgYXR0IPZwcG5hIHVwcCBlbiByYWQgTkVEQU5G1lIgbWFya/ZyZW4gb2NoIHBsYWNlcmEKICAgICBkaWcgaSBJbmZvZ2EtbW9kZS4KCiAgMy4gS29waWVyYSBudSByYWRlbiBtYXJrZXJhZCAtLS0+IG9jaCB0cnljayA8RVNDPiBm9nIgYXR0IGF2c2x1dGEKICAgICBJbmZvZ2EtbORnZXQuCgotLS0+IEVmdGVyIGR1IHNrcml2aXQgIG8gIHBsYWNlcmFkIG1hcmv2cmVuIHDlIGVuIPZwcGVuIHJhZCBpIEluZm9nYS1s5GdlLgoKICA0LiBG9nIgYXR0IPZwcG5hIHVwcCBlbiByYWQgT1ZBTkbWUiBtYXJr9nJlbiwgc2tyaXYgZXR0IHN0b3J0ICBPICwgaXN05GxsZXQKICAgICBm9nIgZXR0IGxpdGV0ICBvLiBQcvZ2YSBkZXR0YSBw5SByYWRlbiBuZWRhbi4K1nBwbmEgdXBwIGVuIHJhZCBvdmFuZvZyIGRlbm5hIGdlbm9tIGF0dCB0cnlja2EgU2hpZnQtTyBu5HIgbWFya/ZyZW4gc3TlciBo5HIuCgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCUxla3Rpb24gNi4yOiBMxEdHIFRJTEwtS09NTUFORE9UCgoKCSAgICAgKiogU2tyaXYgIGEgIGb2ciBhdHQgaW5mb2dhIHRleHQgRUZURVIgbWFya/ZyZW4uICoqCgogIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIHNsdXRldCBhdiBkZW4gZvZyc3RhIHJhZGVuIG5lZGFuIG1hcmtlcmFkIC0tLT4gZ2Vub20KICAgICBhdHQgc2tyaXYgICQJaSBOb3JtYWwtbORnZS4KCiAgMi4gU2tyaXYgZXR0ICBhICAobGl0ZXQgYSkgZvZyIGF0dCBs5GdnYSB0aWxsIHRleHQgRUZURVIgdGVja25ldCB1bmRlcgogICAgIG1hcmv2cmVuLiAgKFN0b3J0ICBBICBs5GdnZXIgdGlsbCBpIHNsdXRldCBhdiByYWRlbi4pCgpOb3RlcmE6IERldHRhIHVuZHZpa2VyIGF0dCBiZWj2dmEgc2tyaXZhICBpICwgZGV0IHNpc3RhIHRlY2tuZXQsIHRleHRlbiBhdHQKCWluZm9nYSwgPEVTQz4sIGj2Z2VycGlsLCBvY2ggc2x1dGxpZ2VuLCB4LCBiYXJhIGb2ciBhdHQgbORnZ2EgdGlsbCBpCglzbHV0ZXQgcOUgZW4gcmFkIQoKICAzLiBH9nIgbnUgZuRyZGlndCBkZW4gZvZyc3RhIHJhZGVuLiBOb3RlcmEgb2Nrc+UgYXR0IGzkZ2dhIHRpbGwg5HIgbGlrYWRhbnQKICAgICAgc29tIEluZm9nYS1s5GdlLCBlbmRhIHNraWxsbmFkZW4g5HIgcG9zaXRpb25lbiBk5HIgdGV4dGVuIGJsaXIgaW5mb2dhZC4KCi0tLT4gSORyIGthbiBkdSB0cuRuYQotLS0+IEjkciBrYW4gZHUgdHLkbmEgcOUgYXR0IGzkZ2dhIHRpbGwgdGV4dCBpIHNsdXRldCBw5SBlbiByYWQuCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICBMZWt0aW9uIDYuMzogRU4gQU5OQU4gVkVSU0lPTiBBViBFUlPEVFQKCgogICAgICAqKiBTa3JpdiBldHQgc3RvcnQgIFIgIGb2ciBhdHQgZXJz5HR0YSBmbGVyIORuIGV0dCB0ZWNrZW4uICoqCgogIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIGRlbiBm9nJzdGEgcmFkZW4gbmVkYW4gbWFya2VyYWQgLS0tPi4KCiAgMi4gUGxhY2VyYSBtYXJr9nJlbiB2aWQgYvZyamFuIGF2IGRldCBm9nJzdGEgb3JkZXQgc29tIORyIGFubm9ybHVuZGEgauRtZvZydAogICAgIG1lZCBkZW4gYW5kcmEgcmFkZW4gbWFya2VyYWQgLS0tPiAob3JkZXQgInNpc3RhIikuCgogIDMuIFNrcml2IG51ICBSICBvY2ggZXJz5HR0IHJlc3RlbiBhdiB0ZXh0ZW4gcOUgZGVuIGb2cnN0YSByYWRlbiBnZW5vbSBhdHQKICAgICBza3JpdmEg9nZlciBkZW4gZ2FtbGEgdGV4dGVuIHPlIGF0dCBkZW4gZvZyc3RhIHJhZGVuIGJsaXIgbGlrYWRhbiBzb20KICAgICBkZW4gYW5kcmEuCgotLS0+IEb2ciBhdHQgZuUgZGVuIGb2cnN0YSByYWRlbiBsaWthIHNvbSBkZW4gc2lzdGEsIGFuduRuZCB0YW5nZW50ZXJuYS4KLS0tPiBG9nIgYXR0IGblIGRlbiBm9nJzdGEgcmFkZW4gbGlrYSBzb20gZGVuIGFuZHJhLCBza3JpdiBSIG9jaCBkZW4gbnlhIHRleHRlbi4KCiAgNC4gTm90ZXJhIGF0dCBu5HIgZHUgdHJ5Y2tlciA8RVNDPiBm9nIgYXR0IGF2c2x1dGEsIHPlIGJsaXIgZXZlbnR1ZWxsCiAgICAgb2b2cuRuZHJhZCB0ZXh0IGt2YXIuCgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgICBMZWt0aW9uIDYuNDogU8RUVCBGTEFHR09SCgogICoqIFPkdHQgZW4gZmxhZ2dhIHPlIGF0dCBlbiBz9mtuaW5nIGVsbGVyIGVyc+R0dG5pbmcgaWdub3JlcmFyIHN0b3JsZWsgKioKCiAgMS4gU/ZrIGVmdGVyICJpZ25vcmUiIGdlbm9tIGF0dCBza3JpdmE6CiAgICAgL2lnbm9yZQogICAgIFJlcGV0ZXJhIGZsZXJhIGflbmdlciBnZW5vbSBhdHQgdHJ5Y2thIHDlIG4tdGFuZ2VudGVuCgogIDIuIFPkdHQgJ2ljJyAoSWdub3JlIENhc2UpIGZsYWdnYW4gZ2Vub20gYXR0IHNrcml2YToKICAgICA6c2V0IGljCgogIDMuIFP2ayBudSBlZnRlciAiaWdub3JlIiBpZ2VuIGdlbm9tIGF0dCB0cnlja2E6IG4KICAgICBSZXBlYXQgc2VhcmNoIHNldmVyYWwgbW9yZSB0aW1lcyBieSBoaXR0aW5nIHRoZSBuIGtleQoKICA0LiBT5HR0ICdobHNlYXJjaCcgYW5kICdpbmNzZWFyY2gnIGZsYWdnb3JuYToKICAgICA6c2V0IGhscyBpcwoKICA1LiBTa3JpdiBudSBpbiBz9msta29tbWFuZG90IGlnZW4sIG9jaCBzZSB2YWQgc29tIGjkbmRlcjoKICAgICAvaWdub3JlCgogIDYuIEb2ciBhdHQgdGEgYm9ydCBmcmFtaOR2bmluZ2VuIGF2IHRy5GZmYXIsIHNrcml2CiAgICAgOm5vaGxzZWFyY2gKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgICAgICBMRUtUSU9OIDYgU0FNTUFORkFUVE5JTkcKCgogIDEuIEdlbm9tIGF0dCBza3JpdmEgIG8gIPZwbm5hcyBlbiByYWQgTkVEQU5G1lIgbWFya/ZyZW4gb2NoIG1hcmv2cmVuIHBsYWNlcmFzCiAgICAgcOUgZGVuIPZwcG5hIHJhZGVuIGkgSW5mb2dhLWzkZ2UuCiAgICAgR2Vub20gYXR0IHNrcml2YSBldHQgc3RvcnQgIE8gIPZwcG5hcyByYWRlbiBPVkFORtZSIHJhZGVuIHNvbSBtYXJr9nJlbiDkcgogICAgIHDlLgoKICAyLiBTa3JpdiBldHQgIGEgIGb2ciBhdHQgaW5mb2dhIHRleHQgRUZURVIgdGVja25ldCBzb20gbWFya/ZyZW4gc3TlciBw5S4KICAgICBHZW5vbSBhdHQgc2tyaXZhIGV0dCBzdG9ydCAgQSAgbORnZ3MgdGV4dCBhdXRvbWF0aXNrdCB0aWxsIGkgc2x1dGV0IHDlCiAgICAgcmFkZW4uCgogIDMuIEdlbm9tIGF0dCBza3JpdmEgZXR0IHN0b3J0ICBSICBoYW1uYXIgZHUgaSBFcnPkdHQtbORnZSB0aWxsICA8RVNDPiAgdHJ5Y2tzCiAgICAgZvZyIGF0dCBhdnNsdXRhLgoKICA0LiBHZW5vbSBhdHQgc2tyaXZhICI6c2V0IHh4eCIgc+R0dHMgZmxhZ2dhbiAieHh4IgoKCgoKCgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgICAgTEVLVElPTiA3OiBPTi1MSU5FIEhKxExQLUtPTU1BTkRPTgoKCgkJICAgICAgKiogQW525G5kIG9uLWxpbmUgaGrkbHBzeXN0ZW1ldCAqKgoKICBWaW0gaGFyIGV0dCBvbWZhdHRhbmRlIG9uLWxpbmUgaGrkbHBzeXN0ZW0uIEb2ciBhdHQga29tbWEgaWflbmcgcHL2dmEgZXR0IGF2CiAgZGVzc2EgdHJlOgoJLSB0cnljayA8SEVMUD4gdGFuZ2VudGVuIChvbSBkdSBoYXIgbuVnb24pCgktIHRyeWNrIDxGMT4gdGFuZ2VudGVuIChvbSBkdSBoYXIgbuVnb24pCgktIHNrcml2ICAgOmhlbHAgPEVOVEVSPgoKICBTa3JpdiAgIDpxIDxFTlRFUj4gICBm9nIgYXR0IHN0cuRuZ2EgaGrkbHBm9m5zdHJldC4KCiAgRHUga2FuIGhpdHRhIGhq5GxwIG9tIG7kc3RhbiBhbGx0aW5nLCBnZW5vbSBhdHQgZ2UgZXR0IGFyZ3VtZW50IHRpbGwKICAiOmhlbHAiIGtvbW1hbmRvdC4gUHL2dmEgZGVzc2EgKGds9m0gaW50ZSBhdHQgdHJ5Y2thIDxFTlRFUj4pOgoKCTpoZWxwIHcKCTpoZWxwIGNfPFQKCTpoZWxwIGluc2VydC1pbmRleAoJOmhlbHAgdXNlci1tYW51YWwKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgICAgTEVLVElPTiA4OiBTS0FQQSBFVFQgVVBQU1RBUlRTU0tSSVBUCgoJCQkgICoqIEFrdGl2ZXJhIFZpbS0gZnVua3Rpb25lciAqKgoKICBWaW0gaGFyIG3lbmdhIGZsZXIgZnVua3Rpb25lciDkbiBWaSwgbWVuIGRlIGZsZXN0YSBhdiBkZW0g5HIgaW5ha3RpdmVyYWRlIHNvbQogIHN0YW5kYXJkLiBG9nIgYXR0IGL2cmphIGFuduRuZGEgZmxlciBmdW5rdGlvbmVyIG3lc3RlIGR1IHNrYXBhIGVuICJ2aW1yYyItZmlsLgoKICAxLiBC9nJqYSByZWRpZ2VyYSAidmltcmMiLWZpbGVuLCBkZXR0YSBiZXJvciBw5SBkaXR0IHN5c3RlbToKCTplZGl0IH4vLnZpbXJjCQkJZvZyIFVuaXgKCTplZGl0ICRWSU0vX3ZpbXJjCQlm9nIgTVMtV2luZG93cwoKICAyLiBM5HMgbnUgdGV4dGVuIGkgZXhlbXBlbCAidmltcmMiLWZpbGVuOgoKCTpyZWFkICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCgogIDMuIFNwYXJhIGZpbGVuIG1lZDoKCgk6d3JpdGUKCiAgTuRzdGEgZ+VuZyBkdSBzdGFydGFyIFZpbSBrb21tZXIgZGVuIGF0dCBhbnbkbmRhIHN5bnRheGZyYW1o5HZuaW5nLgogIER1IGthbiBs5GdnYSB0aWxsIGFsbGEgaW5zdORsbG5pbmdhciBkdSBm9nJlZHJhciB0aWxsIGRlbiBo5HIgInZpbXJjIi1maWxlbi4KCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKICBEZXR0YSBhdnNsdXRhciBoYW5kbGVkbmluZ2VuIGkgVmltLiBEZW4gdmFyIGF2c2VkZCBhdHQgZ2UgZW4ga29ydCD2dmVyc2lrdCBhdgogIHJlZGlnZXJhcmVuIFZpbSwgYmFyYSB0aWxscuRja2xpZ3QgZvZyIGF0dCBkdSBza2Ega3VubmEgYW525G5kYSByZWRpZ2VyYXJlbgogIHJlbGF0aXZ0IGVua2VsdC4gRGVuIORyIGzlbmd0IGlmcuVuIGtvbXBsZXR0IGVmdGVyc29tIFZpbSBoYXIgbeVuZ2EgbeVuZ2EgZmxlcgogIGtvbW1hbmRvbi4gTORzIGFuduRuZGFybWFudWFsZW4gaORybuRzdDogIjpoZWxwIHVzZXItbWFudWFsIi4KCiAgRvZyIHZpZGFyZSBs5HNuaW5nIHJla29tbWVuZGVyYXMgZGVuIGjkciBib2tlbjoKCVZpbSAtIFZpIEltcHJvdmVkIC0gYXYgU3RldmUgT3VhbGxpbmUKCUb2cmxhZzogTmV3IFJpZGVycwogIERlbiBm9nJzdGEgYm9rZW4gc29tIORyIGVuZGFzdCBiZWhhbmRsYXIgVmltLiBTcGVjaWVsbHQgYW525G5kYmFyIGb2cgogIG55YvZyamFyZS4gRGV0IGZpbm5zIG3lbmdhIGV4ZW1wZWwgb2NoIGJpbGRlci4KICBTZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAoKICBEZW4gaORyIGJva2VuIORyIORsZHJlIG9jaCBiZWhhbmRsYXIgbWVyIFZpIORuIFZpbSwgbWVuIHJla29tbWVuZGVyYXMgb2Nrc+U6CglMZWFybmluZyB0aGUgVmkgRWRpdG9yIC0gYXYgTGluZGEgTGFtYgoJRvZybGFnOiBPJ1JlaWxseSAmIEFzc29jaWF0ZXMgSW5jLgogIERldCDkciBlbiBicmEgYm9rIGb2ciBhdHQgbORyYSBzaWcgbuRzdGFuIGFsbHQgc29tIGR1IHZpbGwga3VubmEgZ/ZyYSBtZWQgVmkuCiAgRGVuIHNq5HR0ZSB1cHBsYWdhbiBpbmtsdWRlcmFyIG9ja3PlIGluZm9ybWF0aW9uIG9tIFZpbS4KCiAgRGVuIGjkciBoYW5kbGVkbmluZ2VuIORyIHNrcml2ZW4gYXYgTWljaGFlbCBDLiBQaWVyY2Ugb2NoIFJvYmVydCBLLiBXYXJlLAogIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBtZWQgaWTpZXIgZnLlbiBDaGFybGVzIFNtaXRoLAogIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuICBFLXBvc3Q6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KCiAgTW9kaWZpZXJhZCBm9nIgVmltIGF2IEJyYW0gTW9vbGVuYWFyLgogINZ2ZXJzYXR0IGF2IEpvaGFuIFN2ZWRiZXJnIDxqb2hhbkBzdmVkYmVyZy5jb20+Cgp+fn5+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