MS4gSU5UUk9EVcfDTwoKV2luZSDpIHVtIHByb2dyYW1hIHF1ZSBwZXJtaXRlIGV4ZWN1dGFyIHByb2dyYW1hcyBNaWNyb3NvZnQgV2luZG93cyAKKGluY2x1aW5kbyBleGVjdXThdmVpcyBET1MsIFdpbmRvd3MgMy54IGUgV2luMzIpIG5vIFVuaXguCkNvbnN0aXR17WRvIGRlIHVtIHByb2dyYW1hIGNhcnJlZ2Fkb3IgKGxvYWRlcikgcXVlIGNhcnJlZ2EgZSBleGVjdXRhIAp1bSBiaW7hcmlvIE1pY3Jvc29mdCBXaW5kb3dzLCBlIHVtYSBiaWJsaW90ZWNhIChjaGFtYWRhIFdpbmVsaWIpIHF1ZSAKaW1wbGVtZW50YSBjaGFtZGFzIGRhIEFQSSBkbyBXaW5kb3dzIHVzYW5kbyBvIGVxdWl2YWxlbnRlcyBkbyBVbml4IApvdSBkbyBYMTEuIEEgYmlibGlvdGVjYSB0YW1i6W0gcG9kZSBzZXIgdXNhZGEgcGFyYSBwb3J0YXIgY/NkaWdvIApXaW4zMiBlbSBleGVjdXThdmVpcyBuYXRpdm9zIFVuaXguCgpXaW5lIOkgc29mdHdhcmUgbGl2cmUsIGxpYmVyYWRvIHNlZ3VuZG8gYSBHTlUgTEdQTDsgdmVqYSBvIGFycXVpdm8gCkxJQ0VOx0EgcGFyYSBkZXRhbGhlcy4KCjIuzU5JQ0lPIFLBUElETwoKU2VtcHJlIHF1ZSBzZSBjb21waWxhIG9zIGZvbnRlcywg6SByZWNvbWVuZGFkbyB1c2FyIG8gV2luZSBJbnN0YWxsZXIgCnBhcmEgY29uc3RydWlyIGUgaW5zdGFsYXIgbyBXaW5lLiBFc3RhbmRvIG5vIGRpcmV083JpbyBkZSBtYWlzIGFsdG8Kbu12ZWwgZG8gZm9udGUgZG8gV2luZSAocXVlIGNvbnTpbSBlc3RlIGFycXVpdm8pLCBleGVjdXRlOgoKLi90b29scy93aW5laW5zdGFsbAoKRXhlY3V0ZSBwcm9ncmFtYXMgY29uZm9ybWUgIndpbmUgW29w5/Vlc10gcHJvZ3JhbWEiLiBQYXJhIG1haW9yZXMgCmluZm9ybWHn9WVzIGUgcmVzb2x15+NvIGRlIHByb2JsZW1hcywgbGVpYSBvIHJlc3RhbnRlIGRlc3RlIGFycXVpdm8sIAphIHDhZ2luYSAibWFuIiBkbyBXaW5lIChtYW4gd2luZSksIG9zIGFycXVpdm9zIGluY2x17WRvcyBubyBkaXJldPNyaW8gCmRlIGRvY3VtZW50YefjbyBkbyBmb250ZSBkbyBXaW5lICh2ZWphICJET0NVTUVOVEFUSU9OIiksIGUgZXNwZWNpYWxtZW50ZSAKYSBhYnVuZOJuY2lhIGRlIGluZm9ybWHn428gZW5jb250cmFkYSBlbSBodHRwOi8vd3d3LndpbmVocS5vcmcuCgozLlJFUVVFUklNRU5UT1MKClBhcmEgY29tcGlsYXIgZSBleGVjdXRhcm8gV2luZSwgdm9j6iBkZXZlIHRlciBvIHNlZ3VpbnRlOgoKCQlMaW51eCB2ZXJz428gMi4wLjM2IG91IHN1cGVyaW9yCgkJRnJlZUJTRCA0Lnggb3UgRnJlZUJTRCA1LUNVUlJFTlQgb3UgcG9zdGVyaW9yCgkJU29sYXJpcyB4ODYgMi41IG91IHBvc3RlcmlvcgoJCU5ldEJTRC1jdXJyZW50CgpDb21vIG8gV2luZSByZXF1ZXIgc3Vwb3J0IGEgdGFyZWZhcyBhIG7tdmVsIGRlIGtlcm5lbCBwYXJhIGV4ZWN1dGFyLCAKc29tZW50ZSBvcyBzaXN0ZW1hcyBvcGVyYWNpb25haXMgYWNpbWEgbWVuY2lvbmFkb3Mgc+NvIHN1cG9ydGFkb3MuCk91dHJvcyBzaXN0ZW1hcyBvcGVyYWNpb25haXMgcXVlIHN1cG9ydGFyZW0gdGFyZWZhcyBkbyBrZXJuZWwgcG9kZXLjbyAKdGVyIHN1cG9ydGUgbm8gZnV0dXJvLgoKSW5mb3JtYef1ZXMgcGFyYSBvIExpbnV4OgpFbnF1YW50byBvIExpbnV4IDIuMi54IGRldmUgY29udGludWFyIGVtIHVzbyBlIExpbnV4IDIuMC54IHBvZGVy4Qpjb250aW51YXIgZW0gdXNvICh2ZXJz9WVzIGFudGlnYXMgMi4wLnggbWFsIGZ1bmNpb25hbWVudG8gcmVsYWNpb25hZG9zIGEKdGFyZWZhcyksIHNlcuEgbXVpdG8gbWVsaG9yIHRlciB1bSBrZXJuZWwgbWFpcyBhdHVhbGl6YWRvIGNvbW8gMi40LnguCgpJbmZvcm1h5/VlcyBwYXJhIG8gRnJlZUJTRDoKQ2VydGlmaXF1ZS1zZSBkZSB0ZXIgYXMgb3Dn9WVzIFVTRVJfTERULCBTWVNWU0hNLCBTWVNWU0VNOyBlIFNZU1ZNU0csIApsaWdhZGFzIGFvIGtlcm5lbC4gTWFpcyBpbmZvcm1h5/VlcyBlbmNvbnRyYW0tc2UgZW06IApmdHA6Ly9mdHAuZnJlZWJzZC5vcmcvcHViL0ZyZWVCU0QvcG9ydHMvcG9ydHMvZW11bGF0b3JzL3dpbmUvCgpJbmZvcm1h5/VlcyBwYXJhIG8gU29sYXJpczoKVm9j6iBwcm92YXZlbG1lbnRlIG5lY2Vzc2l0YXLhIGNvbnN0cnVpciBvIFdpbmUgY29tIGFzIGZlcnJhbWVudGFzIEdOVSAKKGdjYywgZ2FzLCBldGMuKS4gQXZpc286IGluc3RhbGFyIGdhcyBOwk8gYXNzZWd1cmEgcXVlIHNlcuEgdXNhZG8gcGVsbyAKZ2NjLiBSZWNvbXBpbGFyIG8gZ2NjIGRlcG9pcyBkZSBpbnN0YWxhciBvIGdhcyBvdSBjcmlhciB1bWEgbGlnYefjbyBhbyBjYywgYXMgZSAKbGQgcGFyYSBhcyBmZXJyYW1lbnRhcyBnbnUg6SBkaXRvIHNlciBuZWNlc3PhcmlvLgoKSW5mb3JtYef1ZXMgcGFyYSBvIE5ldEJTRDoKQ2VydGlmaXF1ZS1zZSB0ZXIgYXMgb3Dn9WVzIFVTRVJfTERULCBTWVNWU0hNLCBTWVNWU0VNLCBlIFNZU1ZNU0cgCmxpZ2FkYXMgYW8ga2VybmVsLgoKClNpc3RlbWEgZGUgYXJxdWl2byBzdXBvcnRhZG9zOgpPIFdpbmUgZGV2ZXLhIGV4ZWN1dGFyIG5hIG1haW9yaWEgZG9zIHNpc3RlbWEgZGUgYXJxdWl2by4gQ29udHVkbywgbyBXaW5lIGZhbGhhIAphbyBpbmljaWFyIHNlIHVtc2RvcyBmb3IgdXNhZG8gcGFyYSBvIGRpcmV083JpbyAvdG1wLiBBbGd1bnMgcHJvYmxlbWFzIGRlIApjb21wYXRpYmlsaWRhZGUgZm9yYW0gcmVsYXRhZG9zIGFjZXNzYW5kbyBhcnF1aXZvcyB1c2FuZG8gbyBTYW1iYS4gVGFtYultLCAKY29tbyBvIE5URlMgYXBlbmFzIHBvZGUgc2VyIHVzYWRvIHNlZ3VyYW1lbnRlIGNvbSBhY2Vzc28gZGUgc29tZW50ZSBsZWl0dXJhIHBvcgplbnF1YW50bywgc29tb3MgY29udHLhcmlvcyBhbyB1c28gZG8gTlRGUywgcG9pcyBvcyBwcm9ncmFtYXMgV2luZG93cyBwcmVjaXNhbSBkZSAKYWNlc3NvIOAgZXNjcml0YSBlbSBxdWFzZSB0dWRvLgpObyBjYXNvIGRlIGFycXVpdm9zIE5URlMsIGNvcGllLW9zIGVtIHVtIGxvY2FsIGVtIHF1ZSBzZSBwb3NzYSBlc2NyZXZlci4KClJlcXVpc2l0b3MgYuFzaWNvczoKVm9j6iBuZWNlc3NpdGEgdGVyIGluc3RhbGFkb3Mgb3MgYXJxdWl2b3MgZGUgaW5jbHVz428gcGFyYSBkZXNlbnZvbHZpbWVudG8gZW0gWDExCihjYWxsZWQgeGxpYjZnLWRldiBubyBEZWJpYW4gZSBYRnJlZTg2LWRldmVsIG5vIFJlZEhhdCkuCgpSZXF1aXNpdG9zIHBhcmEgYXMgZmVycmFtZW50YXMgZGUgY29uc3RydefjbzoKRW0gc2lzdGVtYXMgeDg2IG8gZ2NjID49IDIuNy4yIOkgcmVxdWVyaWRvLgpWZXJz9WVzIGFudGVyaW9yZXMg4CAyLjcuMi4zIHBvZGVy428gdGVyIHByb2JsZW1hcyBxdWFuZG8gY2VydG9zIGFycXVpdm9zIHPjbyAKY29tcGlsYWRvcyBjb20gb3B0aW1pemHn428sIGZyZXF1ZW50ZW1lbnRlIGRldmlkbyBhIHByb2JsZW1hcyBnZXJlbmNpYW1lbnRvIGRlIAphcnF1aXZvcyBkZSBjYWJl52FsaG8uIEF0dWFsbWVudGUgbyBwZ2NjIG7jbyB0cmFiYWxoYSBjb20gbyBXaW5lLiBBIGNhdXNhIGRlc3RlIApwcm9ibGVtYSDpIGRlc2NvbmhlY2lkYS4KCk5hdHVyYWxtZW50ZSBxdWUgbmVjZXNzaXRhIGRvICJtYWtlIiAoY29tdW1lbnRlIG8gR05VIG1ha2UpLgoKVGFtbultIHByZWNpc2EgZG8gZmxleCB2ZXJz428gMi41IG91IHBvc3RlcmlvciBlIGRvIGJpc29uLgpTZSBlc3RpdmVyIHVzYW5kbyBSZWRIYXQgb3UgRGViaWFuLCBpbnN0YWxlIG9zIHBhY290ZXMgZG8gZmxleCBlIGRvIGJpc29uLgoKQmlibGlvdGVjYXMgZGUgc3Vwb3J0ZSBvcGNpb25haXM6ClNlIGRlc2VqYXIgbyBzdXBvcnRlIGRlIGltcHJlc3PjbyBkbyBDVVBTLCBwb3IgZmF2b3IgaW5zdGFsZSBvcyBwYWNvdGVzCmN1cHMgZSBjdXBzLWRldmVsLgoKUGFyYSBvIHByb2Nlc3NhbWVudG8gYXV0b23hdGljbyBkb3Mgc2NyaXB0cyBkZSB0ZXN0ZSwgdGFtYultIHByZWNpc2Fy4QpkbyBzdXBvcnRlIGEgY2FiZedhbGhvcyBkbyBsaWJwZXJsIChwYWNvdGUgbGlicGVybC1kZXYgbm8gRGViaWFuKS4KClBhcmEgb3MgcmVxdWVzaXRvcyBubyBjYXNvIGRlIHRlciBhIGludGVu5+NvIGRlIGNvbnRydWlyIGEgZG9jdW1lbnRh5+NvLCB2ZWphIAphIHNl5+NvICJET0NVTUVOVEHHw08iLgoKNC5DT01QSUxBx8NPCgpObyBjYXNvIGRlIGVzY29saGVyIG7jbyB1c2FyIG8gd2luZWluc3RhbGwsIGV4ZWN1dGUgb3MgY29tYW5kb3MgYSBzZWd1aXIKcGFyYSBjb25zdHJ1aXIgbyBXaW5lOgoKLi9jb25maWd1cmUKbWFrZSBkZXBlbmQKbWFrZQoKSXN0byBjb25zdHJ1aXLhIG8gcHJvZ3JhbWEgIndpbmUiIGUgc3Vwb3J0ZSBhIHbhcmlhcyBiaWJsaW90ZWNhcy9iaW7hcmlvcy4KTyBwcm9ncmFtYSAid2luZSIgY2FycmVnYXLhIGUgZXhlY3V0YXLhIGV4ZWN1dOF2ZWlzIGRvIFdpbmRvd3MuCkEgYmlibGlvdGVjYSAibGlid2luZSIgKCJ3aW5lbGliIikgcG9kZSBzZXIgdXNhZGEgcGFyYSBjb21waWxhciBlIGxpZ2FyIApj82RpZ28tZm9udGUgZG8gV2luZG93cyBzb2IgbyBVbml4LgoKUGFyYSB2ZXIgYXMgb3Dn9WVzIGRlIGNvbXBpbGHn428gZGEgY29uZmlndXJh5+NvLCByb2RlIC4vY29uZmlndXJlIC0taGVscC4KClBhcmEgYXR1YWxpemFyIHBhcmEgdW1hIG5vdmEgZGlzdHJpYnVp5+NvIHVzYW5kbyBhcnF1aXZvcyBkZSByZW1lbmRvIChwYXRjaCksCnByaW1laXJvIG11ZGUgcGFyYSBvIGRpcmV083JpbyBkZSBtYWlzIGFsdG8gbu12ZWwgZGEgZGlzdHJpYnVp5+NvIChxdWUgCmNvbnTpbSBvIGFycXVpdm8gUkVBRE1FKS4gQSBzZWd1aXIgZmHnYSB1bSAibWFrZSBjbGVhbiIsIGUgcmVtZW5kZSBhIApkaXN0cmlidWnn428gY29tOgoKCWd1bnppcCAtYyBwYXRjaC1maWxlIHwgcGF0Y2ggLXAxCgpvbmRlICJwYXRjaC1maWxlIiDpIG8gbm9tZSBkbyBhcnF1aXZvIGRlIHJlbWVuZG8gcGF0Y2ggKGFsZ28gY29tbwpXaW5lLmFhbW1kZC5kaWZmLmd6KS4gUG9kZSBlbnTjbyByZWV4ZWN1dGFyICIuL2NvbmZpZ3VyZSIsIGUgZGVwb2lzIApleGVjdXRhciAibWFrZSBkZXBlbmQgJiYgbWFrZSIKCjUuQ09ORklHVVJBx8NPCgpVbWEgdmV6IHF1ZSBvIFdpbmUgZXN0ZWphIGNvbnN0cnXtZG8gY29ycmV0YW1lbnRlLCB2b2PqIHBvZGUgZXhlY3V0YXIKIm1ha2UgaW5zdGFsbCI7IGFzc2ltIGly4SBpbnN0YWxhciBvIGV4ZWN1dOF2ZWwgZG8gd2luZSwgYXMgcOFnaW5hcyAKIm1hbiIgZG8gV2luZSwgZSBhbGd1bnMgb3V0cm9zIGFycXVpdm9zIG5lY2Vzc+FyaW9zLgoKTuNvIGVzcXVl52EgZGUgZGVzaW5zdGFsYXIgcHJpbWVpcmFtZW50ZSBxdWFscXVlciBpbnN0YWxh5+NvIHBy6XZpYSBkbyAKV2luZSBxdWUgcG9zc2EgY29uZml0YW50ZS4gVGVudGUgcXVhbHF1ZXIgdW0gZG9zIGNvbWFuZG9zICJkcGtnIC1yIHdpbmUiIG91ICJycG0gLWUgd2luZSIgb3UgIm1ha2UgdW5pbnN0YWxsIiBhbnRlcyBkZSAKaW5zdGFsYXIuCgpTZSB2b2PqIHF1aXNlciBsZXIgYSBkb2N1bWVudGHn428gZm9ybmVjaWRhIGNvbSBhIGZvbnRlIGRvIFdpbmUsIAp2ZWphIGEgc2Xn428gIkRPQ1VNRU5UQcfDTyIuCgpPIFdpbmUgcmVxdWVyIHVtIGFycXVpdm8gZGUgY29uZmlndXJh5+NvIGNoYW1hZG8gImNvbmZpZyIgbm8gZGlyZXTzcmlvIAp+Ly53aW5lLiBPIGZvcm1hdG8gZGVzdGUgYXJxdWl2byDpIGV4cGxpY2FkbyBlbSAibWFuIHdpbmUuY29uZiIKKGRvY3VtZW50YXRpb24vd2luZS5jb25mLm1hbikuCk8gYXJxdWl2byBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnIGNvbnTpbSB1bSBleGVtcGxvIGRlIGFycXVpdm8gZGUgCmNvbmZpZ3VyYefjbyBwYXJhIHNlciBhZGFwdGFkbyBlIGNvcGlhZG8gcGFyYSBhIGxvY2FsaXph5+NvIGFudGVyaW9ybWVudGUKbWVuY2lvbmFkYS4KClZlamEgYSDhcmVhIGRlIHN1cG9ydGUgZW0gaHR0cDovL3d3dy53aW5laHEub3JnLyBwYXJhIG1haXMgc3VnZXN09WVzIApzb2JyZSBhIGNvbmZpZ3VyYedhby4KCk5vIGNhc28gZGUgZXJyb3MgZGUgY2FyZ2EgZGEgYmlibGlvdGVjYQooZXg6ICJFcnJvciB3aGlsZSBsb2FkaW5nIHNoYXJlZCBsaWJyYXJpZXM6IGxpYm50ZGxsLnNvIiksIGNlcnRpZmlxdWUtc2UKZGUgYWRpY2lvbmFyIG8gY2FtaW5obyBkYSBiaWJsaW90ZWNhIGEgL2V0Yy9sZC5zby5jb25mIGUgZXhlY3V0YXIKbGRjb25maWcgY29tbyByb290LgoKNi5FWEVDVVRBUiBQUk9HUkFNQVMKCkFvIGludm9jYXIgbyBXaW5lLCB2b2PqIHBvZGUgZXNwZWNpZmljYXIgbyBjYW1pbmhvIGNvbXBsZXRvIGRvIGV4ZWN1dOF2ZWwsCm91IHNvbWVudGUgdW0gbm9tZSBkZSBhcnF1aXZvLgoKUG9yIGV4ZW1wbG86ICBwYXJhIGV4ZWN1dGFyIGEgUGFjaepuY2lhOgoJd2luZSBzb2wJCQkodXNhbmRvIG8gY2FtaW5obyBkZSBwZXNxdWlzYSBjb21vCgl3aW5lIHNvbC5leGUgICAgICAgICAgICAgICAgICAgICBlc3BlY2lmaWNhZG8gbm8gYXJxdWl2byBjb25maWcpCgoJd2luZSBjOlxcd2luZG93c1xcc29sLmV4ZQkodXNhbmRvIHVtIG5vbWUgZGUgYXJxdWl2byBET1MpCgoJd2luZSAvdXNyL3dpbmRvd3Mvc29sLmV4ZQkodXNhbmRvIHVtIG5vbWUgZGUgYXJxdWl2byBVbml4KQoKICAgICAgICB3aW5lIHNvbC5leGUgL3BhcmFtZXRlcjEgLXBhcmFtZXRlcjIgcGFyYW1ldGVyMwoJCQkJICAgKGNoYW1hbmRvIG8gcHJvZ3JhbWEgY29tIHBhcuNtZXRyb3MpCgpOb3RhOiBvIGNhbWluaG8gZG8gYXJxdWl2byBzZXLhIHRhbWLpbSBhZGljaW9uYWRvIGFvIGNhbWluaG8gCnF1YW5kbyB1bSBub21lIGNvbXBsZXRvIGZvciBmb3JuZWNpZG8gbmEgbGluaGEgZGUgY29tYW5kby4KCk8gV2luZSBhaW5kYSBu428gZXN04SBjb21wbGV0bywgZW50428gduFyaW9zIHByb2dyYW1hcyBwb2RlcuNvIGZ1bmNpb25hciBtYWwuCkRlc2RlIHF1ZSB2b2PqIGFqdXN0ZSBjb3JyZXRhbWVudGUgbyB3aW5lZGJnIGRlIGFjb3JkbyBjb20gbyBhcnF1aXZvCmRvY3VtZW50YXRpb24vZGVidWdnZXIuc2dtbCwgdm9j6iBpcuEgZW50cmFyIG5vIGRlcHVyYWRvciBkZSBtb2RvIHF1ZSBwb3NzYSAKaW52ZXN0aWdhciBlIHJlcGFyYXIgbyBwcm9ibGVtYS4gUGFyYSBtYWlzIGluZm9ybWHn428gY29tbyBmYXplciBpc3RvLCBwb3IgZmF2b3IKbGVpYSBvIGFycXVpdm8gZG9jdW1lbnRhdGlvbi9kZWJ1Z2dpbmcuc2dtbC4KClZvY+ogZGV2ZSBmYXplciB1bWEgY/NwaWEgZGUgc2VndXJhbudhIGRlIHRvZG9zIG9zIHNldXMgYXJxdWl2b3MgaW1wb3J0YW50ZXMKcXVlIG8gV2luZSBwb3NzYSBhY2Vzc2FyLCBvdSB1c2FyIHVtYSBj83BpYSBlc3BlY2lhbCBkZWxlcyBjb20gbyBXaW5lLCBwb2lzIApob3V2ZXJhbSBhbGd1bnMgY2Fzb3MgZGUgY29ycnVw5+NvIGRlIGFycXVpdm9zIHJlcG9ydGFkb3MgcG9yIHVzdeFyaW9zLiBOw08gCmV4ZWN1dGUgbyBFeHBsb3JlciwgcG9yIGV4ZW1wbG8sIHNlIHZvY+ogbuNvIHRpdmVyIHVtIGPzcGlhIGRlIHNlZ3VyYW7nYSAKYXByb3ByaWFkYSwgY29tbyBlbGUgcmVub21laWEvY3JpcHBsZXMgZGl2ZXJzb3MgZGlyZXTzcmlvcyDgcyB2ZXplcy4gTWVzbW8gCmV4ZWN1dGFyIG91dHJvcyBhcGxpY2F0aXZvcyBNUyB0YWlzIGNvbW8gcG9yIGV4ZW1wbG8gbyBNZXNzZW5nZXIg6SBzZWd1cm8sCnBvcnF1ZSBjYXJyZWdhIG8gRXhwbG9yZXIgZGUgYWxndW0gbW9kby4gRXN0ZSBjb3JydXDn428gZW0gcGFydGljdWxhciAKKCEkISQhJCEkLnBmcikgcG9kZSBhbyBtZW5vcyBwYXJjaWFsbWVudGUgc2VyIHJlcGFyYWRvIHVzYW5kbyAKaHR0cDovL2hvbWUubmV4Z28uZGUvYW5kaS5tb2hyL2Rvd25sb2FkL2RlY29ycnVwdF9leHBsb3JlciAKCjcuIERPQ1VNRU5UQcfDTwoKQWxndW1hIGRvY3VtZW50YefjbyAoduFyaW9zIGd1aWFzIGRvIFdpbmUsIGV0Yy4pIHBvZGVtIHNlciBlbmNvbnRyYWRvcyBubwpkaXJldPNyaW8gZG9jdW1lbnRhdGlvbi8gKGFwZXNhciBkZSB0YW1i6W0gZXN0YXIgZGlzcG9u7XZlbCBlbSBXaW5lSFEpLgoKU2UgcXVpemVyIHByb2Nlc3NhciBhcnF1aXZvcyBTR01MIHF1ZSBs4SBlc3TjbywgZW50428gZXhlY3V0ZSAibWFrZSBkb2MiIApubyBkaXJldPNyaW8gZG9jdW1lbnRhdGlvbi8uCkZhemVyIGlzdG8gcmVxdWVyIHF1ZSBvcyBwYWNvdGVzIGRhcyBkaXRhcyBmZXJyYW1lbnRhcyBzZ21sIChwYXJhIGRiMmh0bWwsIApkYjJwcywgZGIycGRmKToKRGViaWFuOgkJZG9jYm9vay11dGlscwpNYW5kcmFrZTogCXNnbWwtdG9vbHMtQS5CLkMtRERtZGsKU3VTRToJCWRvY2JrdGxzLUEuQkIuQy1ERAoKOC4gT0JURU5ETyBNQUlTIElORk9STUHHw08KCldXVzoJVW1hIGdyYW5kZSBxdWFudGlkYWRlIGRlIGluZm9ybWHn428gc29icmUgbyBXaW5lIGVzdOEgZGlzcG9uaXZlbCAKICAgICAgICBwZWxvIFdpbmVIUSBlbSBodHRwOi8vd3d3LndpbmVocS5vcmcvIDogduFyaW9zIGd1aWFzIGRvIFdpbmUsCgliYXNlIGRlIGRhZG9zIGRlIGFwbGljYef1ZXMsIHJhc3RyZWFtZW50byBkZSBlcnJvcy4gRXN0ZSDpIAoJcHJvdmF2ZWxtZW50ZSBvIG1lbGhvciBwb250byBwYXJhIGNvbWXnYXIuCgpGQVE6CUEgV2luZSBGQVEgZXN04SBsb2NhbGl6YWRhIGVtIGh0dHA6Ly93d3cud2luZWhxLm9yZy9GQVEKClVzZW5ldDoJUG9kZS1zZSBkaXNjdXRpciB083BpY29zIHJlbGFjaW9uYWRvcyBhbyBXaW5lIGUgb2J0ZXIgYWp1ZGEgZW0KCWNvbXAuZW11bGF0b3JzLm1zLXdpbmRvd3Mud2luZS4KCkJ1Z3M6CVJlbGF0ZSBlcnJvcyBhbyBXaW5lIEJ1Z3ppbGxhIGVtIGh0dHA6Ly9idWdzLndpbmVocS5vcmcKCVBvciBmYXZvciBwZXNxdWlzZSBhIGJhc2UgZGUgZGFkb3MgZG8gYnVnemlsbGEgcGFyYSB2ZXJpZmljYXIgc2UgCglzZXUgcHJvYmxlbWEgauEgdGVuaGEgc2lkbyBlbmNvbnRyYWRvLCBhbnRlcyBkZSBlbnZpYXIgdW0gCglyZWxhdPNyaW8gZG8gZXJyby4gVm9j6iBwb2RlIHRhbWLpbSBhZml4YXIgcmVsYXTzcmlvcyBkbyBlcnJvIGVtCgljb21wLmVtdWxhdG9ycy5tcy13aW5kb3dzLndpbmUuIFBvciBmYXZvciBsZWlhIG8gYXJxdWl2byAKCWRvY3VtZW50YXRpb24vYnVncy5zZ21sIHBhcmEgdmVyIHF1YWwgaW5mb3JtYefjbyDpIHJlcXVlcmlkYS4gCgpJUkM6CUEgYWp1ZGEgb25saW5lIGVzdOEgZGlzcG9u7XZlbCBlbSAjV2luZUhRIGVtIGlyYy5mcmVlbm9kZS5uZXQuCgpDVlM6CU8g4XJ2b3JlIGRlIGRlc2Vudm9sdmltZW50byBhdHVhbCBkbyBXaW5lIGVzdOEgZGlzcG9u7XZlbCBwb3IgQ1ZTLgoJVuEgZW0gaHR0cDovL3d3dy53aW5laHEub3JnL2N2cyBwYXJhIG1haXMgaW5mb3JtYefjby4KCk1haWxpbmcgTGlzdHM6CglI4SBkaXZlcnNhcyBsaXN0YXMgZGUgbWVuc2FnZW5zIHBhcmEgY29sYWJvcmFkb3JlcyBubyBkZXNlbnZvbHZpbWVudG8gCglkbyBXaW5lOyB2ZWphIGh0dHA6Ly93d3cud2luZWhxLm9yZy9mb3J1bXMgcGFyYSBtYWlzIGluZm9ybWHn428uCgpTZSB2b2PqIGFkaWNpb25hciBhbGdvLCBvdSByZXBhcmFyIHVtIGVycm8sIGVudmllIHBvciBmYXZvciB1bSByZW1lbmRvCihubyBmb3JtYXRvICdkaWZmIC11Jykg4CBsaXN0YSB3aW5lLXBhdGNoZXNAd2luZWhxLm9yZyBwYXJhIGluY2x1c+NvIG5hIApwcvN4aW1hIGRpc3RyaWJ1aefjby4KCi0tCkFsZXhhbmRyZSBKdWxsaWFyZApqdWxsaWFyZEB3aW5laHEub3JnCgotLQpUcmFkdefjbyBwYXJhIFBvcnR1Z3XqcyBkbyBCcmFzaWw6IE1hcmNlbG8gRHVhcnRlCg==