<?xml version="1.0" encoding="UTF-8"?>
<zaznam xmlns="http://portal.gov.cz/rejstriky/ISRS/1.2/"><data><identifikator><idSmlouvy>617429</idSmlouvy><idVerze>657349</idVerze></identifikator><odkaz>https://smlouvy.gov.cz/smlouva/657349</odkaz><casZverejneni>2016-11-25T11:53:22+01:00</casZverejneni><smlouva><subjekt><datovaSchranka>jwaeuen</datovaSchranka><nazev>Krajská nemocnice Liberec, a.s.</nazev><ico>27283933</ico><adresa>Husova 357/10, 46001 Liberec, CZ</adresa></subjekt><smluvniStrana><nazev>EastHORN Clinical Services+in CEE limited</nazev><ico>HE253002</ico><adresa>Kyvelis 7, Office 102, P.C.1087</adresa></smluvniStrana><predmet>Smlouva o klinickém hodnocení</predmet><datumUzavreni>2016-09-12</datumUzavreni><cisloSmlouvy>S2016/00631/00</cisloSmlouvy><hodnotaBezDph>2307000</hodnotaBezDph></smlouva><prilohy><priloha><data>77u/RSBmbCBTIFQNCkM6aW5sQ0VsU0VyLGljczVpbkNFRQ0KUHJvdG9jb2wgbnVtYmVyOiBBWlQtMDAxIEVhc3RIT1JOIHN0dWR5IGNvZGU6IDMzMDEgVHlwZSBvZiBjb250cmFjdDogQ2xpbmljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBjb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtMDAxIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSZXB1YmxpYyBTcG9uc29yOiBBWlRoZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGhlcmFwaWVzIEluYy4NCkNMSU5JQ0FMIFNUVURZIEFHUkVFTUVOVA0KUHJvdG9jb2wgTm86IEFaVC0wMDEgKCJ0aGUgUHJvdG9jb3InKQ0KSW52ZXN0aWdhdGlvbmFsIG1lZGljaW5hbCBwcm9kdWN0ICgidGhlDQpJTVAiKTogQUxaVC1PUGwNClNNTE9VVkEgTyBLTElOSUNLw4lNDQpIT0ROT0NFTsONDQpQcm90b2tvbCDEjS46IEFaVC0wMDEgKCJQcm90b2tvbCIpDQpIb2Rub2NlbsO9IGzDqcSNaXbDvSBwxZnDrXByYXZlayAo4oCeSG9kbm9jZW7DqQ0KbMOpxI1pdm8iKTogQUxaVC1PUGwNClNwb25zb3I6CVphZGF2YXRlbDoNCkFaVGhlcmFwaWVzLCBJbmMuLCA1MDEgQm95bHN0b24gU3RyZWV0LCBTdWl0xJsgNjEwMiwgQm9zdG9uLCBNQSAwMjExNiwgVVNBIGFjdGluZyBieSBpdHMNCmxlZ2FsbHkgYXV0aG9yaXplZCByZXByZXNlbnRhdGl2ZSAvIEFaVGhlcmFwaWVzLCBJbmMuLCA1MDEgQm95bHN0b24gU3RyZWV0LCBTdWl0xJsgNjEwMiwgQm9zdG9uLA0KTUEgMDIxMTYsIFVTQSBqZWRuYWrDrWPDrSBwcm9zdMWZZWRuaWN0dsOtbSBzdsOpaG8gesOhc3R1cGNlOg0KaGVyZWluYWZsZXIgInRoZSBTcG9uc29yIiwJZMOhbGUgamVuIOKAnlphZGF2YXRlbCIsDQpyZXByZXNlbnRlZCB1cG9uIHRoZSBwb3dlciBvZiBhdHRvbWV5IHphc3RvdXBlbsO9IG5hIHrDoWtsYWTEmyBwbG7DqSBtb2NpIChQxZnDrWxvaGEgxI0uDQooQXBwZW5kaXggTm8uIDMpIGdpdmVuIHRvOgkzKSB1ZMSbbGVuw6kgc3BvbGXEjW5vc3RpOg0KRWFzdEhPUk4gQ2xpbmljYWwgU2VydmljZXMgaW4gQ0VFIExpbWl0ZWQNCkt5dmVsaXMgNywgT2ZmaWNlIDEwMiwuIFAuQy4gMTA4NywgTmljb3NpYSwgQ3lwcnVzIC8gS3lwcg0KQ291cnQgUmVnaXN0cmF0aW9uIE51bWJlcjogSEUyNTMwMDINClRheCBJRC9EScSMOiBDWTEwMjUzMDAyVQ0KcmVwcmVzZW50ZWQgYnkgTWFsZ29yemF0YSBTemVyc3plbmlld3NrYSwgTUQsIEV4ZWN1dGl2ZSBIZWFkIC96YXN0b3VwZW7DoSBNVURyLg0KTWFsZ29yemF0YSBTemVyc3plbmlld3NrYSwgamVkbmF0ZWxlbQ0KYW5kCWENCkNSTzoJQ1JPOg0KRWFzdEhPUk4gQ2xpbmljYWwgU2VydmljZXMgaW4gQ0VFIExpbWl0ZWQNCkt5dmVsaXMgNywgT2ZmaWNlIDEwMiwuIFAuQy4gMTA4NywgTmljb3NpYSwgQ3lwcnVzIC8gS3lwcg0KQ291cnQgUmVnaXN0cmF0aW9uIE51bWJlcjogSEUgMjUzMDAyDQpUYXggSUQgLyBEScSMOiBDWTEwMjUzMDAyVQ0KcmVwcmVzZW50ZWQgYnkgTWFsZ29yemF0YSBTemVyc3plbmlld3NrYSwgTUQsIEV4ZWN1dGl2ZSBIZWFkIC8gemFzdG91cGVuw6EgTVVEci4NCk1hbGdvcnphdGEgU3plcnN6ZW5pZXdza2EsIGplZG5hdGVsZW0NCmhlcmVpbmFmdGVyICJ0aGUgQ1JPIiwJZMOhbGUgamVuIOKAnkNSTyIsDQoxIG9mMzUJS2knYWlza8OhIG5lbW9jbmljZSBMaWJlcmVjIGEucy4tDQpDemVjaCBSY3B1YmxpYw0KZmluw6FsIHZlcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3TDumNvbCBudW1iZXI6IEFaVC1PT0kgRWFzdEhPUk4gc3R1ZHkgY29kZTogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OiBDbGlpaWljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBjb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09JIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSZXB1YmxpYyBTcG9uc29yOiBBWlRoZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGhlcmFwaWVzIEluYy4NCmFuZA0KSW5zdGl0dXRpb246CVpkcmF2b3RuaWNrw6kgemHFmWkvZW7DrToNCktyYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjIGEucy4NCkFkZHJlc3MgLyBBZHJlc2E6IEh1c292YSAxMCwgTGliZXJlYywgNDYwIDYzDQpDemVjaCBSZXB1YmxpYyAvIMSMZXNrw6EgUmVwdWJsaWthDQpJRC9JxIw6IDI3MjgzOTMzDQpUYXggSUQvREnEjDogQ1o2OTkwMDM5OTMNCnJlcHJlc2VudGVkIGJ5IEx1ZMSbayBOZcSNZXNhbsO9LE0uRC4sIE1CQSAvDQpKZWRuYWrDrWPDrS96YXN0b3VwZW7DoSBNVURyLiBMdWRrZW0gTmXEjWVzYW7DvW0sIE1CQSwgZ2VuZXLDoWxuw61tIMWZZWRpdGVsZW0gYQ0KbcOtc3RvcMWZZWRzZWRvdSBwxZllZHN0YXZlbnN0dmEvIFZpY2UtRGlyZWN0b3Igb2YgdGhlIEJvYXJkIGFuZCBHZW5lcmFsIE1hbmFnZXINCmhlcmVpbmFmdGVyICJ0aGUgSW5zdGl0dXRpb24iCWTDoWxlIGplbiAiWmRyYXZvdG5pY2vDqSB6YcWZw616ZW7DrSINCmFuZA0KUHJpbmNpcGFsIEludmVzdGlnYXRvcjoJSGxhdm7DrSB6a291xaFlasOtY8OtOg0KQWRkcmVzcyAvIEFkcmVzYTogSHVzb3ZhIDEwLCBMaWJlcmVjLCA0NjAgNjMNCkN6ZWNoIFJlcHVibGljIC8gxIxlc2vDoSByZXB1Ymxpa2ENCkRhdGUgb2YgQmlydGggLyBEYXR1bSBuYXIuOg0KaGVyZWluYWZ0ZXIgInRoZSBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIiBkw6FsZSBqZW4g4oCeSGxhdm7DrSB6a291xaFlasOtY8OtJw0KVGhlIGFib3ZlIGRlZmluZWQgcGFydGllcyBoYXZlIGNvbmNsdWRlZAlWw73FoWUgdXZlZGVuw6kgc21sdXZuw60gc3RyYW55IHV6YXbDrXJhasOtIHYNCmluIGFjY29yZGFuY2Ugd2l0aAlzb3VsYWR1IHMNCnByb3YuIG5vLiAxNzQ2LzIgb2YgQWN0IG5vLiA4OS8yMDEyIENvSUkuLAl1c3Rhbm92ZW7DrW0gwqcgMTc0Niwgb2RzdC4gMiB6w6Frb25hIMSNLg0KQ2l2aWwgQ29kZSwgYXMgYW1lbmRlZCAoaGVyZWluYWZ0ZXIgIkNpdmlsCTg5LzIwMTIgU2IuLCBvYsSNYW5za8OpaG8gesOha29uw61rdSB2IHBsYXRuw6ltDQpDb2RlIiksIEFjdCBuby4gMzc4LzIwMDcgQ29JSS4sIG9uIERydWdzCXpuxJtuw60gKGRhbGUgamVuICJPYsSNYW5za8O9IHrDoWtvbsOtayIpLCB6w6Frb25hDQphbmQgYW1lbmRtZW50cyBvZiBvdGhlciByZWxhdGVkIGFjdHMsIGFzCcSNLiAzNzgvMjAwNyBTYi4sIG8gbMOpxI1pdmVjaCBhIG8gem3Em27DoWNoDQphbWVuZGVkIGFuZCBwcm92LiAxMiwgc2VjdGlvbiAyLCBEZWNyZWUJbsSba3RlcsO9Y2ggc291dmlzZWrDrWPDrWNoIHrDoWtvbsWvLCB2IHBsYXRuw6ltDQpOby4gMjI2LzIwMDggQ29JSS4sIG9uIEdvb2QgQ2xpbmljYWwJem7Em27DrSBhIMKnIDEyLCBvZHN0LiAyIHZ5aGzDocWha3kgxI0uIDIyNi8yMDA4DQpQcmFjdGljZSBhbmQgZGV0YWlsZWQgY29uZGl0aW9ucyBmb3IgZHJ1ZwlTYi4sIG8gc3Byw6F2bsOpIGtsaW5pY2vDqSBwcmF4aSBhIGJsacW+xaHDrWNoDQp0cmlhbHMsIGFzIGFtZW5kZWQsCXBvZG3DrW5rw6FjaCBrbGluaWNrw6lobyBob2Rub2NlbmkgbMOpxI1pdsO9Y2gNCjJvZjM1DQpDemVjaCBSZXB1YmxpYw0KZmluYSkgdmVyc2lvaWkgMS4wIGRhdGVkIDAzMDgyMDE2DQoMRSBmbCBTIFQNCkM6aW5sQ0VsU0VyLGljczVpbkNFRQ0KUHJvdG9jb2wgbnVtYmVyOiBBWlQtT09JIEVhc3RIT1JOIHN0dWR5IGNvZGU6IDMzMDEgVHlwZSBvZiBjb250cmFjdDsgQ2xpbmljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBjb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09JIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE7IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSZXB1YmxpYyBTcG9uc29yOiBBWlRiZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGJlcmFwaWVzIEluYy4NCnRoaXMgQ2xpbmljYWwgU3R1ZHkgQWdyZWVtZW50IG9uIGV2YWx1YXRpb24NCm9mIGh1bWFuIG1lZGljaW5hbCBkcnVnIChoZXJlaW5hZnRlciAidGhlDQpBZ3JlZW1lbnQiKQ0KcMWZw61wcmF2a8WvLCB2IHBsYXRuw6ltIHpuxJtuaSwNCnR1dG8gU21sb3V2dSBvIGtsaW5pY2vDqW0gaG9kbm9jZW5pDQpodW3DoW5uw61obyBsw6nEjWl2w6lobyBwxZnDrXByYXZrdSAoZMOhbGUgamVuDQoiU21sb3V2YSIpDQoxLiBTdWJqZWN0IGFuZCBwdXJwb3NlIG9mIHRoZSBBMnJlZW1lbnQNCmEpCVRoZSBzdWJqZWN0IG9mIHRoaXMgQWdyZWVtZW50IGlzIHRoZQ0KcGVyZm9ubmFuY2Ugb2YgYSBjbGluaWNhbCB0cmlhbCBvZiBodW1hbg0KbWVkaWNpbmFsIGRydWcgIkEgcGhhc2UgSUlJIFNhZmV0eSBhbmQNClxlZmZpY2FjeSBzdHVkeSBvZiBBTFpULU9QbGluIHN1YmplY2xzDQp3aXRoIGV2aWRlbmNlIG9mIGVhcmx5IEFsemhlw61tZXIncw0KZGlzZWFzZSIgKGhlcmVpbmFmdGVyICJ0aGUgU3R1ZHkiKS4NCmIpCVRoZSBwdXJwb3NlIG9mIHRoaXMgQWdyZWVtZW50IGlzIHRvDQpzdGlwdWxhdGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yDQpwZXJmb25uYW5jZSBvZiB0aGUgU3R1ZHkgYW5kIHRvIHNldCBmb3J0aA0KcmlnaHRzIGFuZCBvYmxpZ2F0aW9ucyBmb3IgcGVyZm9ubmFuY2Ugb2YNCnRoZSBTdHVkeSBhbmQgcHJvY2Vzc2luZyBvZiBpdHMgcmVzdWx0cy4NCmMpCVRoZSBTcG9uc29yIGFuZCB0aGUgQ1JPIGNvbmZpcm0gdGhhdA0Kbm8gYWRkaXRpb25hbCBzZXBhcmF0ZSBjb250cmFjdCB3aXRoIHRoZQ0KUHJpbmNpcGFsIEludmVzdGlnYXRvciBvciBhbnkgb3RoZXINCmVtcGxveWVlIG9mIHRoZSBJbnN0aXR1dGlvbiByZWdhcmRpbmcgdGhpcw0KdHJpYWwgd2FzIHNpZ25lZCBvciB3aWxsIGJlIHNpZ25lZC4NCjIuIFBsw6FjZSBhbmQgdGltZSBvZiBwZXJmb3JtYW5jZSBvZiB0aGUNClN0dWR5DQooYSkgVGhlIFN0dWR5IHdpbGwgYmUgY29uZHVjdGVkIG9uIHRoZQ0KYmFzaXMgb2YgdGhlIEFwcHJvdmFsIGlzc3VlZCBieSB0aGUNClN0YXRlIEluc3RpdHV0ZSBmb3IgRHJ1ZyBDb250cm9sDQooQXBwZW5kaXggTm8uIDEgb2YgdGhpcyBBZ3JlZW1lbnQpDQphbmQgQXBwcm92YWwgb2YgdGhlIEV0aGljcyBDb21taXR0ZWUNCmZvciBNdWx0aWNlbnRyZSBUcmlhbHMgYW5kIExvY2FsIEV0aGljcw0KQ29tbWl0dGVlIChBcHBlbmRpeCBOby4gMiBvZiB0aGlzDQozDQoxLglQxZllZG3Em3QgYSDDusSNZWwgU21sb3V2eQ0KYSkgUMWZZWRtxJt0ZW0gdMOpdG8gU21sb3V2eSBqZSBwcm92ZWRlbmkNCmtsaW5pY2vDqWhvIGhvZG5vY2VuaSBodW3DoW5uw61obyBsw6nEjWl2w6lobw0KcMWZw61wcmF2a3Ug4oCeIEtsaW5pY2vDqSBob2Rub2NlbmkgZsOhemUgSUlJDQpwb3NpdHp1amljaSBiZXpwZcSNbm9zdCBhIMO6xI1pbm5vc3QgQUxaVC1PUEkgdQ0KcGFjaWVudMWvIHMgcHJva8OhemFuw71tIHBvxI3DoXRlxI1uaW0gc3RhZGllbQ0KQWx6aGVpbWVyb3Z5IG5lbW9jw60nIChkw6FsZSBqZW4g4oCeS2xpbmlja8OpDQpob2Rub2NlbmkiKS4NCmIpCcOaxI1lbGVtIHTDqXRvIFNtbG91dnkgamUgc3Rhbm92aXQNCnBvZG3DrW5reSBrIHByb3ZlZGVuaSBLbGluaWNrw6lobw0KaG9kbm9jZW5pIGEgdnltZXppdCBwcsOhdmENCmEgcG92aW5ub3N0aSBzbWx1dm7DrWNoIHN0cmFuIHBybw0KcHLFr2LEm2ggS2xpbmlja8SbaG8gaG9kbm9jZW5pIGENCnpwcmFjb3bDoW5pIGplaG8gdsO9c2xlZGvFry4NCmMpCVphZGF2YXRlbCBhIENSTyB0w61tdG8gcHJvaGxhxaF1amksIMW+ZQ0KbmV1emF2xZllbGkgYW5pIG5ldXphdsWZb3UgcyBIbGF2bsOtbQ0KemtvdcWhZWrDrWPDrW0gYW5pIHMgamluw71tDQp6YW3Em3N0bmFuY2VtCVpkcmF2b3RuaWNrw6lobw0KemHFmcOtemVuaSBqYWtvdWtvbGkgamlub3Ugc2VwYXLDoXRuw60NCnNtbG91dnUgdmUgdnp0YWh1IGsgdG9tdXRvDQpLbGluaWNrw6ltdSBob2Rub2NlbmkuDQoyLglNw61zdG8gYSDEjWFzIHByb3ZlZGVuaSBLbGluaWNrw6lobw0KaG9kbm9jZW7DrQ0KKGEpIEtsaW5pY2vDqSBob2Rub2NlbmkgYnVkZSBwcm92ZWRlbm8gbmENCnrDoWtsYWTEmyBwxZnDrXNsdcWhbsOpaG8gcG92b2xlbmkgdnlkYW7DqWhvDQpTdMOhdG7DrW0gw7pzdGF2ZW0gcHJvIGtvbnRyb2x1IGzDqcSNaXYgKFDFmcOtbG9oYSDEjS4NCjEgdMOpdG8gU21sb3V2eSksIHNvdWhsYXN1IGV0aWNrw6kga29taXNlIHBybw0KbXVsdGljZW50cmlja8OhIGtsaW5pY2vDoSBob2Rub2NlbmkgYSBtw61zdG7DrQ0KZXRpY2vDqSBrb21pc2UgKFDFmcOtbG9oYSDEjS4gMiB0w6l0byBTbWxvdXZ5KS4NCktpJ2Fqc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuLQ0KQ3plY2ggUmVwdWJsaWMNCmZpbsOhbCB2ZXJzaW9uIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3TDumNvbCBudW1iZXI6IEFaVC1PT0kgRWFzdEhPUk4gc3R1ZHkgY29kZTogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OiBDbGluaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGNvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dGlvbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT0kgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb25zb3I6IEFaVGhlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUaGVyYXBpZXMgSW5jLg0KQWdyZWVtZW50KS4NCihiKQlUaGUgSW5zdGl0dXRpb24gdW5kZXJ0YWtlcyB0byBjb25kdWN0CShiKSBaZHJhdm90bmlja8OpIHphxZlpemVuw60gc2UgemF2YXp1amUgcHJvdsOpc3QNCnRoZSBTdHVkeSBhdCB0aGUgRGVwYXJ0bWVudCBvZglLbGluaWNrw6kgaG9kbm9jZW5pIG5hIG9kZMSbbGVuaSBQc3ljaGlhdHJpZSB2DQpQc3ljaGlhdHJ5IG9mIEtyYWpza8OhIG5lbW9jbmljZQlLcmFqc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuLCBIdXNvdmEgMTAsDQpMaWJlcmVjIGEucy4sIEh1c292YSAxMCwgTGliZXJlYywgNDYwCUxpYmVyZWMsIDQ2MCA2MywgxIxlc2vDoSBSZXB1Ymxpa2EgKCBkw6FsZSBqZW4NCjYzLCBDemVjaCBSZXB1YmxpYyAoIGhlcmVpbmFmdGVyICJ0aGUJ4oCeTcOtc3RvIGhvZG5vY2VuaSIpIHBvZCB2ZWRlbsOtbSBIbGF2bsOtaG8NClNpdGUiKSBsZWQgYnkgdGhlIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IuCXprb3XFoWVqw61jw61oby4gUGxuxJtuaSBwb3Zpbm5vc3RpIEhsYXZuw61obw0KUGVyZm9ybWFuY2Ugb2Ygb2JsaWdhdGlvbnMgb2YgdGhlCXprb3XFoWVqw61jw61obyBzdGFub3ZlbsO9Y2ggdG91dG8gU21sb3V2b3UNClByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgZXN0YWJsaXNoZWQgYnkJYnVkZSB6YWppxaF0xJtubyBaZHJhdm90bmlja8O9bSB6YcWZw616ZW7DrW0sDQp0aGlzIEFncmVlbWVudCBzaGFsbCBiZSBlbnN1cmVkIGJ5IHRoZQlqYWtvxb50byBqZWhvIHphbcSbc3RuYXZhdGVsZW0gdiByw6FtY2kNCkluc3RpdHV0aW9uIGluIHRoZSBjYXBhY2l0eSBvZiBoaXMvaGVyCXByYWNvdm7Em3Byw6F2bsOtY2ggdnp0YWjFry4NCmVtcGxveWVyIHdpdGhpbiB0aGUgbGFib3VyIGxhdw0KcmVsYXRpb25zLg0KKGMpIE7DoWJvciBzdWJqZWt0xa8gS2xpbmlja8OpaG8gaG9kbm9jZW7DrQ0KKGMpCVRoZSBlbnJvbG1lbnQgb2YgU3R1ZHkgc3ViamVjdHMJKGTDoWxlIGplbiDigJ5TdWJqZWt0eSBob2Rub2NlbmkiKSBieSBtxJtsIHBvZGxlDQooaGVyZWluYWZ0ZXIgInRoZSBTdHVkeSBzdWJqZWN0cyIpIGlzCXDFmWVkcG9rbGFkdSB6YcSNw610IHYgxI1lcnZudSAyMDE2IGEgc2tvbsSNaXQNCnByZXN1bWVkIHRvIHN0YXJ0IGluIEp1bmUgMjAxNiBhbmQgd2lsbAl2IMO6bm9ydSAyMDE3LCBwxZnDrXBhZG7EmyBkxZnDrXZlLCBwb2t1ZCBidWRlDQplbmQgaW4gRmVicnVhcnkgMjAxNyBvciBlYXJsaWVyIGlmIHRoZQlkb3Nhxb5lbm8gcG/FvmFkb3ZhbsOpaG8gcG/EjXR1IFN1Ympla3TFrw0KcmVxdWlyZWQgbnVtYmVyIG9mIFN0dWR5IHN1YmplY3RzIGlzCWhvZG5vY2VuaSwgYSB0byBwb2RsZSB0b2hvLCBrdGVyw6Egc2t1dGXEjW5vc3QNCmFjaGlldmVkLCB3aGljaGV2ZXIgaGFwcGVucyBmaXJzdC4gVGhlCW5hc3RhbmUgZMWZw612ZS4gTyB2w712b2ppIG7DoWJvcnUgU3ViamVrdMWvDQpTcG9uc29yL0NSTyBzaGFsbCBpbmZvcm0gdGhlCWhvZG5vY2VuaSBidWRlIFphZGF2YXRlbC9DUk8gWmRyYXZvdG5pY2vDqQ0KSW5zdGl0dXRpb24gYWJvdXQgdGhlIFN0dWR5IHN1YmplY3RzCXphxZnDrXplbmkgaW5mb25ub3ZhdCwgcG9rdWQgdGFrIG5lbsOtIHXEjWluxJtubw0KZW5yb2xtZW50IHByb2dyZXNzLCBpZiBub3QgdHJhY2tlZCBpbiB0aGUJd2Vib3bDvW0gSVQgc3lzdMOpbWVtLiBQxZllZHBva2zDoWRhbsO9DQp3ZWItYmFzZWQgSVQgc3lzdGVtcy4gVGhlIGVzdGltYXRlZAl0ZXJtw61uIGRva29uxI1lbmkgS2xpbmlja8OpaG8gaG9kbm9jZW5pIGplDQp0cmlhbCB0ZXJtaW5hdGlvbiBpcyBOb3ZlbWJlciAyMDE4LglsaXN0b3BhZCAyMDE4Lg0KMy4gRWxlbWVudGFydiBjb25kaXRpb25zIGZvcgkzLiBaw6FrbGFkbsOtIHBvZG3DrW5rdiBwcm92ZWRlbsOtDQpwZXJmb3JtYW5jZSBvZiB0aGUgU3R1ZHYJS2xpbmlja8OpaG8gaG9kbm9jZW7DrQ0KNG9mMzUNCkN6ZWNoIFJlcHVibGljDQpmaW5hKSB2ZXJzaW9paSAxLjAgZGF0ZWQgMDMwODIwMTYNCgxFIGZsIFMgVA0KQzppbmxDRWxTRXIsaWNzNWluQ0VFDQpQcm90b2NvbCBudW1iZXI6IEFaVC1PT2wgRWFzdEhPUk4gc3R1ZHkgY29kZTogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OyBDbGluaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGNvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dGlvbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT2wgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb2lpc29yOiBBWlRoZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGhlcmFwaWVzIEluYy4NCmEpIFRoZSBJbnN0aXR1dGlvbiBhbmQgdGhlIFByaW5jaXBhbA0KSW52ZXN0aWdhdG9yIHNoYWxsIGNvbmR1Y3QgdGhlIFN0dWR5IGluDQpjb21wbGlhbmNlIHdpdGggdGhlIGFwcGxpY2FibGUgbGF3cyBhbmQNCnJlZ3VsYXRpb25zIG9mIHRoZSBDemVjaCBSZXB1YmxpYywgaW5jbHVkaW5nDQpidXQgbm90IGxpbWl0ZWQgdG8sIHRoZSBBY3Qgb24gRHJ1Z3MgTm8uDQozNzgvMjAwNyBDb2xsLiwgYXMgYW1lbmRlZCBhbmQgQWN0IE5vLg0KMzcyLzIwMTEgQ29sbC4sIG9uIGhlYWx0aCBzZXJ2aWNlcywgYXMNCmFtZW5kZWQuLCBEZWNyZWUgTm8uIDIyNi8yMDA4IENvbGwuLA0Kc3BlY2lmeWluZyBHb29kIENsaW5pY2FsIFByYWN0aWNlIGFuZA0KZGV0YWlsZWQgY29uZGl0aW9ucyBmb3IgZHJ1ZyB0cmlhbHMsIGFzDQphbWVuZGVkIGJ5IHN1YnNlcXVlbnQgcmVndWxhdGlvbnMuIFRoZQ0KU3R1ZHkgd2lsbCBiZSBjYXJyaWVkIG91dCBpbiBjb21wbGlhbmNlIHdpdGgNCnRoZSBiYXNpYyBjb25kaXRpb25zIGFuZCBwcmluY2lwbGVzIHNwZWNpZmllZA0KaW4gdGhlIGZvbGxvd2luZyBkb2N1bWVudHM6DQphKSBaZHJhdm90bmlja8OpIHphxZlpemVuw60gYSBIbGF2bsOtIHprb3XFoWVqw61jw60NCmpzb3UgcG92aW5uaSBLbGluaWNrw6kgaG9kbm9jZW5pIHByb3bDqXN0DQp2IHNvdWxhZHUgcyBwbGF0bsO9bWkgcHLDoXZuw61taSBwxZllZHBpc3kgxIxlc2vDqQ0KcmVwdWJsaWt5LCB6ZWptw6luYSB6w6Frb25lbSBvIGzDqcSNaXZlY2ggxI0uDQozNzgvMjAwNyBTYi4sIHYgcGxhdG7DqW0gem7Em25pLCBhIHrDoWtvbmVtIMSNLg0KMzcyLzIwMTEgU2IuLCBvIHpkcmF2b3Ruw61jaCBzbHXFvmLDoWNoLA0KdiBwbGF0bsOpbSB6bsSbbsOtLCB2eWhsw6HFoWtvdSDEjS4gMjI2LzIwMDggU2IuLCBvDQpzcHLDoXZuw6kga2xpbmlja8OpIHByYXhpIGEgYmxpxb7FocOtY2ggcG9kbcOtbmvDoWNoDQprbGluaWNrw6lobyBob2Rub2NlbmkgbMOpxI1pdsO9Y2ggcMWZw61wcmF2a8WvLA0KdiBwbGF0bsOpbSB6bsSbbmkuIEtsaW5pY2vDqSBob2Rub2NlbmkgYnVkZSBkw6FsZQ0KcHJvdmVkZW5vIHYgc291bGFkdSBzZSB6w6FrbGFkbsOtbWkNCnBvZG3DrW5rYW1pIGEgcHJpbmNpcHkgc3Rhbm92ZW7DvW1pDQp2IG7DoXNsZWR1asOtY8OtY2ggZG9rdW1lbnRlY2g6DQooaSkJQXBwcm92YWwgdG8gY29uZHVjdCB0aGUgU3R1ZHkgaXNzdWVkDQpieSB0aGUgU3RhdGUgSW5zdGl0dXRlIGZvciBEcnVnIENvbnRyb2wNCmFuZCBvdGhlciBpbnN0aXR1dGlvbnMgbGlzdGVkIGluIEFydGljbGUgMg0KKGEpIGhlcmVvZjsNCihpaSkJUHJvdG9jb2wgYW5kIGFueSBhbWVuZG1lbnRzIG9yDQpzdXBwbGVtZW50cyB0aGVyZXRvOw0KKGlpaSkJIkludmVzdGlnYXRvciBCcm9jaHVyZSIgY29udGFpbmluZyBhbGwNCmN1cnJlbnRseSBrbm93biBpbmZvcm1hdGlvbiBhYm91dCB0aGUNCklNUCB1c2VkIGZvciB0aGUgU3R1ZHkgYW5kIGl0cyBmZWF0dXJlcy4NClRoZSBCcm9jaHVyZSBzaGFsbCBiZSBkZWxpdmVyZWQgdG8gdGhlDQpQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGJ5IHRoZSBDUk8gYW5kDQpzaGFsbCBiZSBtYWRlIGEgcGFydCBvZiB0aGUgU3R1ZHkNCmRvY3VtZW50YXRpb247DQooaXYpCWFsbCBjb25kaXRpb25zIHNwZWNpZmllZCBpbiB0aGUgU3RhdGVtZW50DQpvZiB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvcjsNCih2KQl0aGUgSUNIIEhhcm1vbml6ZWQgVHJpcGFydGl0xJsNCkd1aWRlbGluZSBmb3IgR29vZCBDbGluaWNhbCBQcmFjdGljZQ0KKCJJQ0ggR3VpZGVsaW5lcyIpLg0KKGkpCXBvdm9sZW7DrSBrIHByb3ZlZGVuw60gS2xpbmlja8OpaG8NCmhvZG5vY2VuaSB2eWRhbsOpbSBTdMOhdG7DrW0gw7pzdGF2ZW0gcHJvDQprb250cm9sdSBsw6nEjWl2IGEgZGFsxaHDrW1pIGluc3RpdHVjZW1pDQp1dmVkZW7DvW1pIHZlIMSNbMOhbmt1IDIgcGlzbS4gKGEpIHTDqXRvDQpTbWxvdXZ5Ow0KKGlpKQlQcm90b2tvbHUgYSBqZWhvIGRvZGF0Y8OtY2ggbmVibw0KZG9wbMWIY8OtY2g7DQooaWlpKQlzb3Vib3J1IGluZm9ybWFjw60gcHJvIHprb3XFoWVqw61jw61obw0K4oCeSW52ZXN0aWdhdG9yIEJyb2NodXJlIiBvYnNhaHVqw61jw61tIHbFoWVjaG55DQp2IHNvdcSNYXNub3N0aSB6bsOhbcOpIGluZm9ybWFjZSBvDQpIb2Rub2NlbsOpbSBsw6nEjWl2dSBwb3XFvml0w6ltIHYgcsOhbWNpDQpLbGluaWNrw6lobyBob2Rub2NlbsOtIGEgamVobyB2bGFzdG5vc3RlY2guDQpTb3Vib3IgaW5mb3JtYWPDrSBidWRlIEhsYXZuw61tdQ0KemtvdcWhZWrDrWPDrW11IGRvZMOhbiBwcm9zdMWZZWRuaWN0dsOtbSBDUk8gYQ0KYnVkZSBzb3XEjcOhc3RpIGRva3VtZW50YWNlIEtsaW5pY2vDqWhvDQpob2Rub2NlbsOtOw0KKGl2KQl2ZcWha2Vyw71jaCBwb2Rtw61ua8OhY2ggc3Rhbm92ZW7DvWNoDQp2IFByb2hsw6HFoWVuw60gSGxhdm7DrWhvIHprb3XFoWVqw61jw61obzsNCih2KQlIYXJtb25pem92YW7DqSB0cmlwYXJ0aXRuw60gc23Em21pY2kgSUNILQ0KR0NQIHBybyBzcHLDoXZub3Uga2xpbmlja291IHByYXhpICjigJ5zbcSbbWljZQ0KSUNIIikuDQo0LiBPYmxsMmF0aW9ucyBvZiB0aGUgSW5zdGl0dXRpb24gYW5kIHRoZSA0LiBQb3Zpbm5vc3RpIFpkcmF2b3RuaWNrw6lobyB6YcWZw616ZW7DrSBhDQpQcmluY2lwYWwgSW52ZXN0bDJhdG9yCUhsYXZuw61obyAva291xaFlasOtY8OtaG8NCjVvZjM1DQpDemVjaCBSZXB1YmxpYw0KZmluYSkgdmVyc2lvaWkgMS4wIGRhdGVkIDAzMDgyMDE2DQoMRSBmbCBTIFQNCkM6aW5sQ0VsU0VyLGljczVpbkNFRQ0KUHJvdG9jb2wgbnVtYmVyOiBBWlQtT09sIEVhc3RIT1JOIHN0dWR5IGNvZGU6IDMzMDEgVHlwZSBvZiBjb250cmFjdDogQ2xpbmljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBjb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09sIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSZXB1YmxpYyBTcG9uc29yOiBBWlRiZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGJlcmFwaWVzIEluYy4NClRoZSBJbnN0aXR1dGlvbiBhbmQgdGhlIFByaW5jaXBhbAlaZHJhdm90bmlja8OpIHphxZnDrXplbsOtIGEgSGxhdm5pIHprb3XFoWVqw61jw60gc2UNCkludmVzdGlnYXRvciB1bmRlcnRha2U6CXphdmF6dWppOg0KKGEpCXRvIG9idGFpbiB0aGUgbmVjZXNzYXJ5IG51bWJlciBvZiBTdHVkeQkoYSkgemFqaXN0aXQgbmV6Ynl0bsO9IHBvxI1ldCBTdWJqZWt0xa8NCnN1YmplY3RzIChzZWUgQXJ0aWNsZSA1IChhKSBoZXJlb2YpIC0JaG9kbm9jZW5pICh2aXouIMSNbMOhbmVrIDUgcGlzbS4gKGEpIHTDqXRvDQptZWV0aW5nIHRoZSBpbmNsdXNpb24gYW5kIGV4Y2x1c2lvbglTbWxvdXZ5KSB2eWhvdnVqw61jw61jaCBrcml0w6lyacOtbSBwcm8NCmNyaXRlcmlhIHNwZWNpZmllZCBpbiB0aGUgUHJvdG9jb2wgaW4gYQl6YcWZYXplbmkgYSB2eWxvdcSNZW5pIHV2ZWRlbsO9bQ0KdGltZWx5IG1hbm5lciBpbiBvcmRlciB0byBtZWV0IHRoZQl2IFByb3Rva29sdSB0YWssIGFieSBieWwgZG9kcsW+ZW4gxI1hc292w70NClN0dWR5IFNjaGVkdWxlOwlwbMOhbiBLbGluaWNrw6lobyBob2Rub2Nlbmk7DQooYikJdG8gY29uZHVjdCBhbmQgc3VwZXJ2aXNlIHRoZSBTdHVkeSBhdAkoYikgcHJvdsOhZMSbdCBhIGRvaGzDrcW+ZXQgbmEgS2xpbmlja8OpDQp0aGUgU2l0ZTsJaG9kbm9jZW5pIHYgTcOtc3TEmyBob2Rub2Nlbmk7DQooYykJdG8gZnVsbHkgY29vcGVyYXRlIHdpdGggdGhlIFNwb25zb3IgYW5kCShjKSBrIHBsbsOpIHNvdcSNaW5ub3N0aSBzZSBaYWRhdmF0ZWxlbSBhIENSTw0KdGhlIENSTyBpbiB0aGUgcGVyZm9ubmFuY2Ugb2YgdGhlCXDFmWkgcHJvdsOhZMSbbmkgS2xpbmlja8SbaG8gaG9kbm9jZW7DrSwNClN0dWR5LCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwJdsSNZXRuxJsgcG92b2xlbsOtIGsgbsOhdsWhdMSbdsOhbSBNw61zdGENCnBlbm5pdHRpbmcgU2l0ZSB2aXNpdHMsIHByZXBhcmluZyBhbmQJaG9kbm9jZW5pLCBrIHbEjWFzbsOpIHDFmcOtcHJhdsSbIGEgcMWZZWRsb8W+ZW5pDQpzdWJtaXR0aW5nIENhc2UgUmVwb3J0IEZvbm5zIG9uIGEJesOhem5hbcWvIFN1Ympla3TFryBob2Rub2NlbmkgKENhc2UNCnRpbWVseSBiYXNpcyBhbmQgcHJvdmlkaW5nIGFjY2VzcyB0bwlSZXBvcnQgRm9ybSkgYSBrIHBvc2t5dG51dGkgcMWZw61zdHVwdSBrDQpTdHVkeSBSZWNvcmRzOwl6w6F6bmFtxa9tIEtsaW5pY2vEm2hvIGhvZG5vY2VuaTsNCihkKQl0byBhZGhlcmUgdG8gdGhlIFByb3RvY29sIGR1cmluZyB0aGUJKGQpIGRvZHLFvm92YXQgdiBwcsWvYsSbaHUgS2xpbmlja8OpaG8NClN0dWR5IGFuZCByZXBvcnQgYW55IGRldmlhdGlvbnMgZnJvbQlob2Rub2NlbmkgUHJvdG9rb2wgYSBuYWhsw6FzaXQgdmXFoWtlcsOpDQp0aGUgUHJvdG9jb2wgdG8gdGhlIENSTyBhbmQgdG8ga2VlcAlvZGNoeWxreSBvZCBQcm90b2tvbHUgQ1JPIGEgdsOpc3QNCnJlY29yZHMgb2Ygc3VjaCBkZXZpYXRpb25zOwl6w6F6bmFteSBvIHTEm2NodG8gb2RjaHlsa8OhY2g7DQooZSkJdG8gZ3VhcmFudGVlIHRoYXQgbm8gbWVtYmVyIG9mIHRoZQkoZSkgemFqaXN0aXQsIGFieSDFvsOhZG7DvSDEjWxlbiB0w71tdSBLbGluaWNrw6lobw0KU3R1ZHkgdGVhbSBmb3IgdGhpcyBTdHVkeSAoaSkgaXMgdW5kZXIgYQlob2Rub2NlbmkgKGkpIG5lbcSbbCBzbWx1dm7DrSBuZWJvIGppbsO9DQpjb250cmFjdHVhbCBvciBvdGhlciBvYmxpZ2F0aW9uIG9yCXrDoXZhemVrLCBrdGVyw70gYnkgYnlsIG5lc2x1xI1pdGVsbsO9IHMgamVobw0KbGltaXRhdGlvbiB0aGF0IHdvdWxkIGJlIGluY29tcGF0aWJsZQlwb3Zpbm5vc3RtaSBwb2RsZSB0w6l0byBTbWxvdXZ5OyAoaWkpDQp3aXRoIHRoZWlyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMJbmVtxJtsIGZpbmFuxI1uw60gbmVibyBqaW7DvSBwb2RpaSB2ZSB2enRhaHUNCkFncmVlbWVudDsgKGlpKSBoYXMgYSBmaW5hbmNpYWwgb3Igb3RoZXIJayBDUk8gbmVibyBaYWRhdmF0ZWxpIGFuaSBmaW5hbsSNbsOtIG5lYm8NCnNoYXJlIGluIHRoZSBDUk8gb3IgU3BvbnNvciBvciBhCWppbsO9IHrDoWplbSBuYSB2w71zbGVka3UgS2xpbmlja8OpaG8NCmZpbmFuY2lhbCBvciBvdGhlciBpbnRlcmVzdCBpbiB0aGUgcmVzdWx0IG9mCWhvZG5vY2VuaSwga3RlcsO9IGJ5IGJ5bCB6cMWvc29iaWzDvQ0KdGhlIFN0dWR5IHRoYXQgbWlnaHQgaW5mbHVlbmNlIGl0cwlvdmxpdm5pdCBqZWhvIG9iamVrdGl2bsOtIHbDvXNsZWRlazsNCmluZGVwZW5kZW50IHJlc3VsdDsJKGYpIEhsYXZuaSB6a291xaFlasOtY8OtIGplIHBvdmluZW4gbmVwcm9kbGVuxJsNCihmKQlUaGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciBpcyBvYmxpZ2VkIHRvCWhsw6FzaXQgQ1JPIG5lYm8gdXLEjWVuw6kgc3RyYW7EmyB6cMWvc29iZW0NCmluZm9ybSB0aGUgQ1JPIG9yIGluZGljYXRlZCBwYXJ0eQlhIHZlIGxoxa90xJsgc3Rhbm92ZW7DqSBQcm90b2tvbGVtIG5lYm8NCndpdGhvdXQgZGVsYXkgaW4gYSB3YXkgYW5kIHdpdGhpbiB0aGUJdiBzb3Vib3J1IGluZm9ybWFjaSBwcm8gemtvdcWhZWrDrWPDrWhvDQpsaW1pdCBkZWZpbmVkIGJ5IHRoZSBQcm90b2NvbCBvciB0aGUJa2HFvmRvdSB6w6F2YcW+bm91IG5lxb7DoWRvdWPDrSBwxZnDrWhvZHUsIGtlDQpJbnZlc3RpZ2F0b3IncyBCcm9jaHVyZSBvZiBhbnkgc2VyaW91cwlrdGVyw6kgZG9qZGUgdiBwcsWvYsSbaHUgS2xpbmlja8SbaG8NCmFkdmVyc2UgZXZlbnQgb2NjdXJyaW5nIGluIHRoZSBjb3Vyc2Ugb2YJaG9kbm9jZW5pLCBzIHbDvWppbWtvdSB0xJtjaCBwxZnDrWhvZCwga3RlcsOpDQp0aGUgU3R1ZHksIGV4Y2VwdCBmb3IgdGhlIGV2ZW50cwlQcm90b2tvbCBuZWJvIHNvdWJvciBpbmZvcm1hY8OtIHBybw0KZGVzaWduYXRlZCBieSB0aGUgUHJvdG9jb2wgb3IgdGhlCXprb3XFoWVqw61jw61obyBvem5hxI11asOtIHphIHDFmcOtaG9keQ0KSW52ZXN0aWdhdG9yJ3MgQnJvY2h1cmUgYXMgZXZlbnRzIG5vdAluZXZ5xb5hZHVqw61jw60gbmVwcm9kbGVuw6kgaGzDocWhZW5pLiBEw6FsZQ0KNm9mMzUJS2knYWlza8OhIG5lbW9jbmljZSBMaWJlcmVjIGEucy4tDQpDemVjaCBSY3B1YmxpYw0KZmluw6FsIHZlcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3TDumNvbCBudW1iZXI6IEFaVC1PT0kgRWFzdEhPUk4gc3R1ZHkgY29kZTogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OiBDamluaWVhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGVvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dGlvbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT0kgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb25zb3I6IEFaVGhlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUaGVyYXBpZXMgSW5jLg0KcmVxdWlyaW5nIGltbWVkaWF0ZSBub3RpZmljYXRpb24uDQpGdXJ0aGVyLCB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciBhbmQNCnRoZSBTcG9uc29yL0NSTyBhY3QgaW4gYWNjb3JkYW5jZQ0Kd2l0aCDCpyA1OCBvZiB0aGUgQWN0IG9uIERydWdzIE5vLg0KMzc4LzIwMDcgQ29sbC4sIGFzIGFtZW5kZWQuDQo1LiBTdHVkeSBJbml0bGF0aW9uIGFuZCBTdWJqZWN0IEVucm9JSW1lbnQNCkhsYXZuw60gemtvdcWhZWrDrWPDrSBhIFphZGF2YXRlbC9DUk8NCnBvc3R1cHVqaSB2IHNvdWxhZHUgcyDCpyA1OCB6w6Frb25hIMSNLg0KMzc4LzIwMDcgU2IuLCBvIGzDqcSNaXZlY2gsIHYgcGxhdG7DqW0gem7Em25pLg0KNS4gWmFow6FqZW7DrSBLbGluaWNrw6lobyBob2Rub2NlbsOtIGEgbsOhYm9yDQpTdWJqZWt0xa8gaG9kbm9jZW7DrQ0KKGEpCVRoZSBhbnRpY2lwYXRlZC9hbGxvd2VkIG51bWJlciBvZgkoYSkgUMWZZWRwb2tsw6FkYW7DvS9zY2h2w6FsZW7DvSBwb8SNZXQNClN0dWR5IHN1YmplY3RzIGVucm9sbGVkIHNoYWxsIGJlIHwuIFRoZQl6YcWZYXplbsO9Y2ggU3ViamVrdMWvIGhvZG5vY2VuaSBqZQ0KZW5yb2xsbWVudCBpcyBjb21wZXRpdGl2ZSBhbmQgc2hhbGwgYmUJbsOhYm9yIGplIGtvbXBldGl0aXZuw60gYSBidWRlIHVrb27EjWVuIHBvDQp0ZXJtaW5hdGVkIHVwb24gcmVhY2hpbmcgdGhlIGRlc2lyZWQJZG9zYcW+ZW5pIHBvxb5hZG92YW7DqWhvIGNlbGtvdsOpaG8gcG/EjXR1DQp0b3RhbCBudW1iZXIgb2YgU3R1ZHkgc3ViamVjdHMgYXQgdGhlCVN1Ympla3TFryBob2Rub2NlbmkgdiBNw61zdMSbIGhvZG5vY2VuaQ0KU2l0ZSBvciwgaW4gdGhlIGNhc2Ugb2YgYSBtdWx0aWNlbnRlcgluZWJvIHYgcsOhbWNpIGNlbGtvdsOpaG8gbWV6aW7DoXJvZG7DrWhvDQpzdHVkeSwgaW4gdG90YWwgZm9yIHRoZSBTdHVkeS4JbsOhYm9ydSBkbyBLbGluaWNrw6lobyBob2Rub2NlbsOtLg0KKGIpCUJlZm9yZSBlbnJvbGxpbmcgZWFjaCBzdWJqZWN0IGludG8gdGhlCShiKSBQxZllZCB6YcWZYXplbsOtbSBrYcW+ZMOpaG8gU3ViamVrdHUNClN0dWR5LCB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciBzaGFsbAlob2Rub2NlbmkgZG8gS2xpbmlja8OpaG8gaG9kbm9jZW5pIG11c8OtDQpvYnRhaW4gYW4gYXBwcm92ZWQgSW5mb3JtZWQgQ29uc2VudAlIbGF2bsOtIHprb3XFoWVqw61jw60gesOtc2thdCBzY2h2w6FsZW7DvQ0Kc2lnbmVkIGJ5IGVhY2ggU3R1ZHkgc3ViamVjdC4JaW5mb3Jtb3ZhbsO9IHNvdWhsYXMgcG9kZXBzYW7DvQ0KU3ViamVrdGVtIGhvZG5vY2VuaS4NCihjKQlJZiByZXF1ZXN0ZWQgYnkgdGhlIFNwb25zb3Igb3IgdGhlIENSTywJKGMpIEJ1ZGUtbGkgWmFkYXZhdGVsIG5lYm8gQ1JPIHZ5xb5hZG92YXQsDQp0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciBzaGFsbCBhdHRlbmQJesO6xI1hc3Ruw60gc2UgSGxhdm7DrSB6a291xaFlasOtY8OtIHNjaMWvemt5DQphbmQgcGFydGljaXBhdGUgaW4gYW4gSW52ZXN0aWdhdG9yJ3MJemtvdcWhZWrDrWPDrWNoIG5lYm8gamluw6kgemFoYWpvdmFjw60NCm1lZXRpbmcgb3Igb3RoZXIgaW5pdGlhdGlvbiBtZWV0aW5nLCBpZglzY2jFr3preSwgYSB0byB6YSBwxZllZHBva2xhZHUsIMW+ZSBIbGF2bmkNCnRoZSBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHJlY2VpdmVzIGEJemtvdcWhZWrDrWPDrSBvYmRyxb7DrSBwxZlpbcSbxZllbsOpIGEgbmV6Ynl0bsOpDQpjb21wZW5zYXRpb24gZm9yIHJlYXNvbmFibGUgYW5kCXbDvWRhamUgbmEgY2VzdHUgYSB1Ynl0b3bDoW7DrSBzcG9qZW7DqQ0KbmVjZXNzYXJ5IHRyYXZlbCBhbmQgbG9kZ2luZyBleHBlbnNlcwlzIMO6xI1hc3TDrSBuYSB0YWtvdsOpIHNjaMWvemNlIChzY2jFr3prw6FjaCksDQppbmN1cnJlZCB0byBhdHRlbmQgc3VjaCBtZWV0aW5nKHMpLgnDmsSNdGVua3kgdnp0YWh1asOtY8OtIHNlIGsgdGFrb3bDqSBzY2jFr3pjZQ0KUmVjZWlwdHMgZm9yIGV4cGVuc2VzIGluY3VycmVkIHRvIGF0dGVuZAkoc2Noxa96a8OhbSkgbXVzZWrDrSBiw710IHDFmWVkbG/FvmVueQ0Kc3VjaCBtZWV0aW5nKHMpIG11c3QgYmUgc3VibWl0dGVkCXYgc291bGFkdSBzIHBvc2t5dG51dMO9bWkgcG9reW55DQphY2NvcmRpbmcgdG8gdGhlIGluc3RydWN0aW9ucyBwcm92aWRlZAlvcmdhbml6w6F0b3JhIHNjaMWvemt5LiDDmmhyYWRhIGJ1ZGUNCmJ5IHRoZSBJbnZlc3RpZ2F0b3IgbWVldGluZyBvcmdhbml6ZXIuCXBvc2t5dG51dGEgZG8gdMWZaWNldGkgKDMwKSBkbsWvIG9kIGRvcnXEjWVuw60NClJlaW1idXJzZW1lbnRzIHdpbGwgYmUgcHJvdmlkZWQJcMWZw61zbHXFoW7DqSBwb2Ryb2Juw6kgZG9rdW1lbnRhY2UgdMSbY2h0bw0Kd2l0aGluIHRoaXJ0eSAoMzApIGRheXMgb2YgcmVjZWl2aW5nCXbDvWRhasWvLCBqZcW+IGJ1ZGUgcMWZZWRsb8W+ZW5hIGEgc2NodsOhbGVuYQ0KcmVsZXZhbnQgYW5kIGFwcHJvdmVkIGRldGFpbGVkCXZlIHNqZWRuYW7DqW0gcm96c2FodSBhIHVqZWRuYW7DqSBwb2RvYsSbLA0KZG9jdW1lbnRhdGlvbiBvZiBzdWNoIGV4cGVuc2VzLg0KN29mMzUNCkN6ZWNoIFJjcHVibGljDQpmaW7DoWwgdmVyc2lvaWkgMS4wIGRhdGVkIDAzMDgyMDE2DQoMRSBmbCBTIFQNCkM6aW5sQ0VsU0VyLGljczVpbkNFRQ0KUHJvdG9jb2wgbnVtYmVyOiBBWlQtT09sIEVhc3RIT1JOIHN0dWR5IGNvZGU6IDMzMDEgVHlwZSBvZiBjb250cmFjdDsgQ2xpbmljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBjb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09sIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSZXB1YmxpYyBTcG9uc29yOiBBWlRoZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGhlcmFwaWVzIEluYy4NCjYuIFRoZSBJTVAvIFN1RERsaWVzDQooYSkgVGhlIFNwb25zb3IsIG9uIGEgZnJlZS1vZi1jaGFyZ2UgYmFzaXMsDQpzaGFsbCBzdXBwbHkgZGlyZWN0bHkgb3IgdGhyb3VnaCB0aGUNCkNSTywgb3IgYW5vdGhlciBkdWx5IGF1dGhvcml6ZWQgYWdlbnQNCm9mIHRoZSBTcG9uc29yLCB0aGUgSW5zdGl0dXRpb24gYW5kIHRoZQ0KUHJpbmNpcGFsIEludmVzdGlnYXRvciB3aXRoIHRoZSBJTVANCmRlc2NyaWJlZCBpbiB0aGUgUHJvdG9jb2wuIFRoZSBJTVAgc2hhbGwNCmJlIHRyZWF0ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHBhciAxOSwNCnNlY3Rpb24gMSwgc3Vic2VjdGlvbiBkKSBvZiBEZWNyZWUgbm8uDQoyMjYvMjAwOCBDb2xsLiwgb24gR29vZCBDbGluaWNhbA0KUHJhY3RpY2UsIGFzIGFtZW5kZWQsIGFuZCBpbg0KY29tcGxpYW5jZSB3aXRoIGluc3RydWN0aW9ucyBvZiB0aGUNClN0YXRlIEluc3RpdHV0ZSBmb3IgRHJ1ZyBDb250cm9sIExFSy0xMg0KYW5kIHNoYWxsIGJlIHVzZWQgc29sZWx5IGluIGFjY29yZGFuY2UNCndpdGggdGhlIFByb3RvY29sIGFuZCBtYXkgbm90IGJlIHVzZWQNCmZvciBhbnkgb3RoZXIgcHVycG9zZXMuIFRoZSBJbnN0aXR1dGlvbg0Kc2hhbGwgY29tcGx5IHdpdGggYWxsIGxhd3MgYW5kDQpyZWd1bGF0aW9ucyBnb3Zlcm5pbmcgdGhlIGRpc3Bvc2l0aW9uDQphbmQgZGVzdHJ1Y3Rpb24gb2YgdGhlIElNUCBhbmQgYW55DQppbnN0cnVjdGlvbnMgZnJvbSB0aGUgQ1JPIHRoYXQgYXJlIG5vdA0KaW5jb25zaXN0ZW50IHdpdGggc3VjaCBsYXdzIGFuZA0KcmVndWxhdGlvbnMuDQo2LiBIb2Rub2NlbsOpIGzDqcSNaXZvIC8gRG9kw6F2a3kgbWF0ZXJpw6FsdQ0KKGEpIFphZGF2YXRlbCBwb3NreXRuZSB6ZGFybWEgcMWZw61tbyDEjWkNCnByb3N0xZllZG5pY3R2w61tIENSTywgcMWZw61wYWRuxJsgamluw6lobw0KxZnDoWRuxJsgem1vY27Em27DqWhvIHrDoXN0dXBjZS4NClpkcmF2b3RuaWNrw6ltdSB6YcWZw616ZW7DrSBhIEhsYXZuw61tdQ0KemtvdcWhZWrDrWPDrW11IEhvZG5vY2Vuw6kgbMOpxI1pdm8gcG9wc2Fuw6kNCnYgUHJvdG9rb2x1LiBTIEhvZG5vY2Vuw71tIGzDqcSNaXZlbQ0KYnVkZSBuYWtsw6Fkw6FubyB2IHNvdWxhZHUgcyDCpyAxOSwgb2RzdC4gMSwNCnBpc20uIGQpIHZ5aGzDocWha3kgxI0uIDIyNi8yMDA4IFNiLiwgbw0Kc3Byw6F2bsOpIGtsaW5pY2vDqSBwcmF4aSwgdiBwbGF0bsOpbSB6bsSbbsOtIGENCmRsZSBwb2t5bnUgU1VLTCBMRUstMTIgYSBidWRlDQpwb3XFvml0byB2w71ocmFkbsSbIHYgc291bGFkdSBzIFByb3Rva29sZW0NCmEgbmVzbWkgYsO9dCB1xb5pdG8gayBqaW7DvW0gw7rEjWVsxa9tLg0KWmRyYXZvdG5pY2vDqSB6YcWZw616ZW5pIGplIHBvdmlubm8NCmRvZHLFvm92YXQgdmXFoWtlcsOpIHByw6F2bsOtIHDFmWVkcGlzeSBhDQp6w6Frb255LCBrdGVyw71taSBzZSDFmcOtZMOtIG5ha2zDoWTDoW5pDQpzIGhvZG5vY2Vuw71taSBsw6nEjWl2eSBhIGplamljaCBsaWt2aWRhY2UsIGENCnZlxaFrZXLDqSBwb2t5bnkgQ1JPLCBrdGVyw6kgbmVqc291DQpzIHTEm21pdG8gcHLDoXZuw61taSBwxZllZHBpc3kgdiByb3pwb3J1Lg0KKGIpIFRoZSBTcG9uc29yIHNoYWxsIGVuc3VyZSB0aGUNCmRlc3RydWN0aW9uIG9mIHVudXNlZCBJTVAgYXQgaXRzIG93bg0KcmVhc29uYWJsZSBleHBlbnNlLiBUaGUgU3BvbnNvciAvIENSTw0Kd2lsbCBwcm92aWRlIGRlbGl2ZXJpZXMgb2YgdGhlIElNUCB0byB0aGUNCnBoYXJtYWN5IG9mIHRoZSBJbnN0aXR1dGlvbiB0byB0aGUNCmFkZHJlc3M6IEh1c292YSAxMCwgTGliZXJlYywgNDYwIDYzLA0KQ3plY2ggUmVwdWJsaWMuIFRoZSByZXNwb25zaWJsZSBwZXJzb24NCm9mIHRoZSBwaGFybWFjeSB3aWxsIHRha2UsIGNoZWNrIChlLmcuDQpmb3IgZGFtYWdlIG9yIHdoZXRoZXIgYW55IHJlcXVpcmVtZW50cw0KZm9yIHRyYW5zcG9ydGF0aW9uIGhhdmUgYmVlbiBtZXQpLA0KY29uZmlybSByZWNlaXB0IG9mIHRoZSBzaGlwbWVudCBhbmQNCnN0b3JlIHRoZSBJTVAuIFRoZSBpbnZlc3RpZ2F0b3Igd2lsbCB0aGVuDQp0YWtlIGRlbGl2ZXJ5IG9mIHRoZSBJTVAgb24gdGhlIGJhc2lzIG9mDQphbiBvcmRlciBmb3JtIHRvIHRoZSBTaXRlLCB3aGVyZSBoZS9zaGUNCnRha8OpcyBmdWxsIHJlc3BvbnNpYmlsaXR5IGZvciBpdC4gVGhlDQpTcG9uc29yIC8gdGhlIENSTyBpcyBvYmxpZ2VkIHRvIG5vdGlmeQ0KdGhlIHBoYXJtYWN5IGFib3V0IHRoZSBzaGlwbWVudCBpbg0KOA0KKGIpIFphZGF2YXRlbAl6YWppc3RpCWxpa3ZpZGFjaQ0KbmVzcG90xZllYm92YW7DqWhvIEhvZG5vY2Vuw6lobyBsw6nEjWl2YSBuYQ0Kc3bDqSB2bGFzdG5pIHDFmWltxJvFmWVuw6kgbsOha2xhZHkuDQpaYWRhdmF0ZWwgLyBDUk8gYnVkZSBwb3NreXRvdmF0DQpkb2TDoXZreSBIb2Rub2NlbsOpaG8gbMOpxI1pdmEgZG8gbMOpa8Ohcm55DQpaZHJhdm90bmlja8OpaG8gemHFmcOtemVuaSBuYSBhZHJlc3U6DQpIdXNvdmEgMTAsIExpYmVyZWMsIDQ2MCA2MywgxIxlc2vDoQ0KcmVwdWJsaWthLiBPZHBvdsSbZG7DoSBvc29iYSBsw6lrw6FybnkNCkhvZG5vY2Vuw6kgbMOpxI1pdm8gcMWZZXZlem1lLCB6a29udHJvbHVqZQ0KKHBybyBwxZnDrXBhZCBwb8Wha296ZW5pIG5lYm8gemRhIGJ5bHkNCnNwbG7Em255IHbFoWVjaG55IHBvxb5hZGF2a3kgbmEgcMWZZXByYXZ1KSwNCnBvdHZyZMOtIHDFmWlqZXRpIHrDoXNpbGt5IGEgSG9kbm9jZW7DqQ0KbMOpxI1pdm8gdXNrbGFkbmkuIFBhayB6a291xaFlasOtY8OtDQpIb2Rub2NlbsOpIGzDqcSNaXZvIHDFmWV2ZXptZSBuYSB6w6FrbGFkxJsNCm9iamVkbsOhdmt5IG5hIE3DrXN0byBob2Rub2NlbmksIGtkZSBqZSB6YQ0KbsSbaiBwbG7DqSB6b2Rwb3bEm2Ruw70uIFphZGF2YXRlbCAvIENSTyBqZQ0KcG92aW5lbiBvem7DoW1pdCBsw6lrw6Ftw6kgesOhc2lsa3UgcMWZZWRlbQ0KS2knYWpza8OhIG5lbW9jbmljZSBMaWJlcmVjIGEucy4tDQpDemVjaCBSZXB1YmxpYw0KZmluYWx2ZXJzaW9uIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PbCBFYXN0SE9STiBzdHVkeSBjb2RlOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q6IENsaW5pY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PbCBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOiAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmNwdWJsaWMgU3BvbnNvcjogQVpUaGVyYXBpY3MgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRoZXJhcGljcyBJbmMuDQphZHZhbmNlIGVpdGhlciBieSBlbWFpbCBvciB0ZWxlcGhvbmUgdiBwxZlpbcSbxZllbsOpbSDEjWFzb3bDqW0gdGVybWludSwgYSB0byBidcSPDQpudW1iZXIuCWUtbWFpbGVtIG5lYm8gdGVsZWZvbmlja3kuDQooYykJVGhlIFNwb25zb3Igc2hhbGwgcHJvdmlkZSB0aGUNCkluc3RpdHV0aW9uIGFuZCB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvcg0Kd2l0aCBzdHVkeSBkb2N1bWVudGF0aW9uLCBpbmNsdWRpbmcgdGhlDQpJbnZlc3RpZ2F0b3IgQnJvY2h1cmUsIHRoZSBQcm90b2NvbCBhbmQNCmEgdGVtcGxhdGUgb2YgdGhlIENhc2UgUmVwb3J0IEZvcm0NCihoZXJlaW5hZnRlciAidGhlIENSRiIpLg0KKGQpDQpBbGwgZHJ1ZyBwcm9jZWR1cmVzIG5lZWQgdG8gYmUNCmRvY3VtZW50ZWQgYW5kIGhlbGQgaW4gdGhlIFN0dWR5DQpkb2N1bWVudGF0aW9uLg0KKGMpCVphZGF2YXRlbCBwb3NreXRuZSBaZHJhdm90bmlja8OpbXUNCnphxZnDrXplbmkgYSBIbGF2bsOtbXUgemtvdcWhZWrDrWPDrW11DQpzdHVkaWpuw60gZG9rdW1lbnRhY2ksIHbEjWV0bsSbIHNvdWJvcnUNCmluZm9ybWFjaSBwcm8gemtvdcWhZWrDrWPDrWhvLiBQcm90b2tvbHUgYQ0KZm9ybXVsw6HFmcWvIHrDoXpuYW3FryBTdWJqZWt0dSBob2Rub2NlbmkNCihkw6FsZSBqZW4g4oCeQ1JGIikuDQooZCkNClZlxaFrZXLDqSBwcm9jZWR1cnkgcyBIb2Rub2NlbsO9bSBsw6nEjWl2ZW0NCm11c2Vqw60gYsO9dCB6ZG9rdW1lbnRvdsOhbnkgYSB1Y2hvdsOhdsOhbnkgdmUNCnN0dWRpam7DrSBkb2t1bWVudGFjaS4NCjcuIFN0dWR5IE1lZGljYWwgUmVjb3Jkcw0KKGEpCVRoZSB0ZXJtICJTdHVkeSBNZWRpY2FsIFJlY29yZHMiIHNoYWxsDQptZWFuIGFsbCByZWNvcmRzIHJlbGF0ZWQgdG8gU3R1ZHkNCnN1YmplY3RzIGFuZCBhbGwgZG9jdW1lbnRhdGlvbg0Kc3RpcHVsYXRlZCBieSBhcHBsaWNhYmxlIGxlZ2FsDQpyZWd1bGF0aW9ucyAod2hldGhlciBpbiB3cml0dGVuIG9yDQplbGVjdHJvbmljIGZvcm3DoXQpIHJlbGF0ZWQgdG8gdGhlIGNvbmR1Y3QNCm9mdGhlIFN0dWR5Lg0KKGIpCUFsbCBTdHVkeSBNZWRpY2FsIFJlY29yZHMgbXVzdCBiZQ0KcmV0YWluZWQgZm9yIGEgcGVyaW9kIG9mIGZpZnRlZW4gKDE1KQ0KeWVhcnMgZnJvbSB0aGUgY29tcGxldGlvbiBvZiBTdHVkeSBieQ0KdGhlIEluc3RpdHV0aW9uLg0KNy4gU3R1ZGlqbsOtIHpkcmF2b3Ruw60gesOhL25hbXYNCihhKQlQb2ptZW0g4oCec3R1ZGlqbsOtIHpkcmF2b3Ruw60gesOhem5hbXkiIHNlDQpyb3p1bcOtIHZlxaFrZXLDqSB6w6F6bmFteSBTdWJqZWt0xa8NCmhvZG5vY2Vuw60gYSB2ZcWha2Vyw6EgZG9rdW1lbnRhY2UNCnN0YW5vdmVuw6EgcHLDoXZuw61taSBwxZllZHBpc3kgKGHFpQ0KdiBww61zZW1uw6ltLCDEjcOtIGVsZWt0cm9uaWNrw6ltIGZvcm3DoXR1KQ0Kdnp0YWh1asOtY8OtIHNlIGsgcHJvdsOhZMSbbsOtIEtsaW5pY2vDqWhvDQpob2Rub2NlbmkuDQooYikJVmXFoWtlcsOpIHN0dWRpam7DrSB6ZHJhdm90bsOtIHrDoXpuYW15DQptdXNlasOtIGLDvXQgdWNob3bDoXbDoW55IHBvIG9iZG9iw60NCnBhdG7DoWN0aSAoMTUpIGxldCBvZCBkb2tvbsSNZW7DrSBLbGluaWNrw6lobw0KaG9kbm9jZW5pIFpkcmF2b3RuaWNrw71tIHphxZnDrXplbsOtbS4NCihjKSBUaGUgSW5zdGl0dXRpb24gYW5kIHRoZSBQcmluY2lwYWwJKGMpIFpkcmF2b3RuaWNrw6kgemHFmcOtemVuaSBhIEhsYXZuw60gemtvdcWhZWrDrWPDrQ0KSW52ZXN0aWdhdG9yIHVuZGVydGFrZXMgdGhhdCBhbGwJc2UgemF2YXp1amUsIMW+ZSB2ZcWha2Vyw6kgaW5mb3JtYWNlDQppbmZvcm1hdGlvbiBwcm92aWRlZCBieSB0aGUgSW5zdGl0dXRpb24JcG9za3l0bnV0w6kgWmRyYXZvdG5pY2vDvW0gemHFmcOtemVuw61tIGENCmFuZCB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciBvbiB0aGUJSGxhdm7DrW0gemtvdcWhZWrDrWPDrW0gbmEgesOha2xhZMSbIHTDqXRvDQpiYXNpcyBvZiB0aGlzIEFncmVlbWVudCwgaW5jbHVkaW5nIGFsbAlTbWxvdXZ5LCB2xI1ldG7EmyB2ZcWha2Vyw71jaCBzdHVkaWpuw61jaA0KU3R1ZHkgTWVkaWNhbCBSZWNvcmRzIGFuZCBTdHVkeQl6ZHJhdm90bsOtY2ggesOhem5hbcWvIGEgdsO9c2xlZGvFrw0KcmVzdWx0cywgc2hhbGwgYmUgdHJ1ZSwgYWNjdXJhdGUgYW5kCUtsaW5pY2vDqWhvIGhvZG5vY2VuaSwgYnVkb3UgcHJhdmRpdsOpLA0KOW9mMzUNCkN6ZWNoIFJjcHVibGljDQpmaW7DoWwgdmVyc2lvaWkgMS4wIGRhdGVkIDAzMDgyMDE2DQoMRSBmbCBTIFQNCkM6aW5sQ0VsU0VyLGljczVpbkNFRQ0KUHJvdMO6Y29sIG51bWJlcjogQVpULU9PSSBFYXN0SE9STiBzdHVkeSBjb2RvOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q7IENsaWlpaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGVvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dGlvbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT0kgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb25zb3I6IEFaVGJlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUYmVyYXBpZXMgSW5jLg0KY29tcGxldGUuCXDFmWVzbsOpIGEgw7pwbG7DqS4NCjguIEZpbmFuY2lhbCBzZXR0bGVtZW50DQpBSWwgcGF5bWVudHMsIHdoaWNoIHRoZSBDUk8gcHJvdmlkZXMgdG8NCnRoZSBJbnN0aXR1dGlvbiBhbmQgdGhlIHByaW5jaXDDoWwgSW52ZXN0aWdhdG9yDQpvbiBiZWhhbGYgb2YgdGhlIFNwb25zb3IsIGFyZSBzcGVjaWZpZWQgaW4NCnRoZSBidWRnZXQgYXR0YWNoZWQgdG8gdGhpcyBBZ3JlZW1lbnQgYXMNCkV4aGliaXQgQSwgd2hpY2ggdXBvbiB0aGlzIHJlZmVyZW5jZQ0KcmVwcmVzZW50cyBhbiBpbnRlZ3LDoWwgcGFydCBvZiB0aGlzIEFncmVlbWVudA0KKGhlcmVpbmFmdGVyICJ0aGUgQnVkZ2V0IikuDQpDb250cmFjdHVhbCBwYXJ0aWVzIGFncmVlLCB0aGF0IHRoZSB0b3RhbA0KYW1vdW50LCB3aGljaCBjYW4gYmUgcGFpZCB1bmRlciBjb25kaXRpb24NCm9mIHRoaXMgQWdyZWVtZW50IHdoZW4gY29tcGxldGVkDQplbnJvbG1lbnQgaXMgYXBwcm94aW1hdGVseSAyMzA3MDAwIENaSy4NCjguIEZpbmFuxI1uw60gdnlyb3Zuw6Fuw60NClZlxaFrZXLDqSBwbGF0YnksIGt0ZXLDqSBDUk8gam3DqW5lbQ0KWmFkYXZhdGVsZSB1aHJhZMOtIFpkcmF2b3RuaWNrw6ltdSB6YcWZw616ZW5pIGENCkhsYXZuw61tdSB6a291xaFlasOtY8OtbXUsIGpzb3Ugc3Rhbm92ZW55IHYNCnJvenBvxI10dSBwxZlpbG/FvmVuw6ltIGsgdMOpdG8gU21sb3V2xJsgamFrbw0KUMWZw61sb2hhIEEsIGt0ZXLDoSBwxZllZHN0YXZ1amUgbmVkw61sbm91IHNvdcSNw6FzdA0KU21sb3V2eSAoZMOhbGUgamVuIOKAnlJvenBvxI1ldCIpLg0KU21sdXZuw60gc3RyYW55IHTDrW10byBzamVkbsOhdmFqw60sIMW+ZSBjZWxrb3bDoQ0KxI3DoXN0a2EsIGt0ZXLDoSBtxa/FvmUgYsO9dCB6YSBwb2Rtw61uZWsgdMOpdG8NClNtbG91dnkgdnlwbGFjZW5hIHDFmWkgcMWZZWRwb2tsYWR1IHNwbG7Em25pDQpuw6Fib3J1IGplIHDFmWlibGnFvm7EmyAyMzA3MDAwS8SNLg0KOS4gSW5zcGVjdGlvbnMgYW5kIEF1ZGx0cwk5LiBJbnNwZWtjZSBhIGF1ZGx0dg0KKGEpCVRoZSBTcG9uc29yIGFuZCB0aGUgQ1JPLCBvciB0aGVpciBkdWx5CShhKSBaYWRhdmF0ZWwgYSBDUk8sIHDFmWlwYWRuZSBqZWppY2ggxZnDoWRuxJsNCmF1dGhvcml6ZWQgYWdlbnRzLCBhcyB3ZWxsIGFzIGNvbXBldGVudAl6bW9jbsSbbmkgesOhc3R1cGNpLCBzdGVqbsSbIGpha28gcMWZw61zbHXFoW7DqQ0KcmVndWzDoXRvcnkgYWdlbmNpZXMsIHNoYWxsIHVwb24gcHJpb3IJa29udHJvbG7DrSDDusWZYWR5LCBtYWppIHByw6F2byBwbw0Kbm90aWZpY2F0aW9uIGhhdmUgdGhlIHJpZ2h0IHRvIGluc3BlY3QgdGhlCXDFmWVkY2hvesOtbSBvem7DoW1lbmkgcHJvdsOpc3QgaW5zcGVrY2kNClNpdGUgYW5kIGFsbCBTdHVkeSBNZWRpY2FsIFJlY29yZHMuCU3DrXN0YSBob2Rub2NlbmkgYSB2ZcWha2Vyw71jaCBzdHVkaWpuw61jaA0KSW5mb3JtYXRpb24gb2J0YWluZWQgZnJvbSBpbnNwZWN0aW9ucwl6ZHJhdm90bsOtY2ggesOhem5hbcWvLiBJbmZvcm1hY2UgesOtc2thbsOpDQpwZXJmb3JtZWQgYnkgdGhlIFNwb25zb3Igb3IgQ1JPIG1heQl6IGluc3Bla2NpIHByb3ZlZGVuw71jaCBaYWRhdmF0ZWxlbQ0KYmUgc2hhcmVkIGFtb25nIHRoZSBTcG9uc29yLCB0aGUgQ1JPCW5lYm8gQ1JPIG1vaG91IGLDvXQgc2TDrWxlbnkgbWV6aQ0KYW5kIHRoZWlyIHJlc3BlY3RpdmUgZHVseSBhdXRob3JpemVkCXphZGF2YXRlbGVtLCBDUk8gYSBqZWppY2ggxZnDoWRuxJsNCnJlcHJlc2VudGF0aXZlcy4gVXBvbiB0aGUgQ1JPIG9yIHRoZQl6bW9jbsSbbsO9bWkgesOhc3R1cGNpLiBOYSDFvsOhZG9zdCBDUk8NClNwb25zb3IncyByZXF1ZXN0LCB0aGUgSW5zdGl0dXRpb24gc2hhbGwJbmVibyBaYWRhdmF0ZWxlIHBvc2t5dG5lIFpkcmF2b3RuaWNrw6kNCnByb3ZpZGUgdGhlIENSTyBhbmQvb3IgdGhlIFNwb25zb3IJemHFmcOtemVuw60gQ1JPIGEvbmVibyBaYWRhdmF0ZWxpIGtvcGllDQpjb3BpZXMgb2YgYW55IGluZm9ubmF0aW9uIHJlcXVlc3RlZCBieSwJdmXFoWtlcsO9Y2ggaW5mb3JtYWNpIHZ5xb7DoWRhbsO9Y2gNCnByb3ZpZGVkIHRvIG9yIHJlY2VpdmVkIGJ5IGFueQlqYWvDvW1rb2xpIHDFmcOtc2x1xaFuw71tIGtvbnRyb2xuw61tDQpjb21wZXRlbnQgcmVndWzDoXRvcnkgYWdlbmN5LgnDusWZYWRlbSwgamltIHBvc2t5dG51dMO9Y2ggxI1pIGppbWkNCm9iZHLFvmVuw71jaC4NCihiKQlJZiBhbnkgc3VjaCBpbnNwZWN0aW9uIGRpc2Nsb3NlcyBhbnkJKGIpIFBva3VkIG7Em2t0ZXLDoSB0YWtvdsOhIGluc3Bla2NlIG9kaGFsw60NCm5vbi1jb21wbGlhbmNlIHdpdGggdGhpcyBBZ3JlZW1lbnQsCW5lc291bGFkIHMgdG91dG8gU21sb3V2b3UsIGpzb3UNCnRoZSBTcG9uc29yIGFuZC9vciB0aGUgQ1JPIGlzIGVudGl0bGVkCVphZGF2YXRlbCBhL25lYm8gQ1JPIG9wcsOhdm7Em25pDQoxMG9mMzUJS2knYWlza8OhIG5lbW9jbmljZSBMaWJlcmVjIGEucy4tDQpDemVjaCBSY3B1YmxpYw0KZmluw6FsIHZlcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PbCBFYXN0SE9STiBzdHVkeSBjb2RvOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q7IENsaW5pY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PbCBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOiAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvbnNvcjogQVpUYmVyYXBpZXMgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRiZXJhcGllcyBJbmMuDQp0byBzZWN1cmUgY29tcGxpYW5jZSBpbiBhY2NvcmRpbmcgdG8gcG9zdHVwb3ZhdCBwb2RsZSDEjWzDoW5rdSAxOCwgb2RzdC4gKGIpDQpBcnRpY2xlIDE4LCBwYXJhLiAoYikgbGV0dGVyIGkpLglwaXNtLiBpKS4NCjEwLiBEZWJhcm1lbnQgQ2VydGlmaWNhdGxvbg0KVGhlIEluc3RpdHV0aW9uIGhlcmVieSBjZXJ0aWZpZXMgdGhhdCBuZWl0aGVyDQp0aGUgSW5zdGl0dXRpb24sIGFuZCBpZiBzdWNoIGEgZmFjdCBtYXkgYmUNCmtub3duIGJ5IHRoZSBleGVydGlvbiBvZiByZWFzb25hYmxlIGVmZm9ydHMsDQpub3IgYW55IG9mIGl0cyBlbXBsb3llZXMsIGFnZW50cywgU3ViLQ0KSW52ZXN0aWdhdG9ycywgY29udHJhY3RvcnMsIG9yIGFueSBvdGhlcg0KcGVyc29uIG9yIGVudGl0eSB1c2VkIGluIGFueSBjYXBhY2l0eSBpbg0KY29ubmVjdGlvbiB3aXRoIHRoZSBTdHVkeSBoYXMgYmVlbg0KZGViYXJyZWQgZnJvbSBwZXJmb3JtaW5nIGFueSBjbGluaWNhbCB0cmlhbHMNCm9mIGh1bWFuIGRydWdzIC8gbWVkaWNhbCBkZXZpY2VzIG9yDQpvdGhlcndpc2UgcHJvaGliaXRlZCBvciBkaXNxdWFsaWZpZWQgZnJvbQ0KcGFydGljaXBhdGluZyBpbiB0aGUgcGhhcm1hY2V1dGljYWwgaW5kdXN0cnkNCmJ5IHJlZ3Vsw6F0b3J5IGF1dGhvcml0aWVzLiBJZiBhbnkgc3VjaCBwZXJzb24NCm9yIGVudGl0eSBiZWNvbWVzIGRlYmFycmVkIG9yIGlzIHRoZSBzdWJqZWN0DQpvZiBhIGRlYmFubmVudCBwcm9jZWVkaW5nIGF0IGFueSB0aW1lDQpkdXJpbmcgdGhpcyBTdHVkeSwgdGhlIEluc3RpdHV0aW9uIHNoYWxsDQppbW1lZGlhdGVseSBub3RpZnkgdGhlIENSTyBpbiB3cml0aW5nLg0KMTAuIFBvdHZyemVuw60gbyBuZWV4aXN0ZW5jaSB6w6FrYXp1IMSNaW5ub3N0aQ0KWmRyYXZvdG5pY2vDqSB6YcWZw616ZW7DrSB0w61tdG8gcG90dnJ6dWplLCDFvmUgYW5pDQpaZHJhdm90bmlja8OpbXUgemHFmcOtemVuw60sIGEgcG9rdWQgbXUgdGFrb3bDoQ0Kc2t1dGXEjW5vc3QgbcWvxb5lIGLDvXQgcMWZaSB2eW5hbG/FvmVuw60NCnDFmWltxJvFmWVuw6lobyDDunNpbGkgem7DoW1hIGFuaSDFvsOhZG7DqW11IHogamVobw0KemFtxJtzdG5hbmPFrywgesOhc3R1cGPFrywgc3BvbHV6a291xaFlasOtY8OtY2gsDQpkb2RhdmF0ZWzFryDEjWkgamluw71jaCBvc29iIG5lYm8gc3ViamVrdMWvDQp2eXXFvsOtdmFuw71jaCB2amFrw6lrb2xpIGZ1bmtjaSB2ZSBzcG9qaXRvc3RpIHMNCnTDrW10byBLbGluaWNrw71tIGhvZG5vY2Vuw61tIG5lYnlsIHVkxJtsZW4NCnrDoWtheiDEjGlubm9zdGkgdiBvYmxhc3RpIHByb3bDoWTEm25pIGtsaW5pY2vDvWNoDQpob2Rub2NlbmkJaHVtw6FubsOtY2gJbMOpxI1pdsO9Y2gNCnDFmcOtcHJhdmvFry96ZHJhdm90bmlja8O9Y2ggcHJvc3TFmWVka8WvLCBhbmkgamluw70NCnBvZG9ibsO9IHrDoWtheiBwxa9zb2JlbsOtIHZlIGZhcm1hY2V1dGlja8OpbQ0KcHLFr215c2x1IHplIHN0cmFueSBwxZnDrXNsdcWhbsO9Y2gga29udHJvbG7DrWNoDQrDusWZYWTFry4gUG9rdWQga2R5a29saSB2IHByxa9ixJtodSB0b2hvdG8NCktsaW5pY2vDqWhvIGhvZG5vY2VuaSBidWRlIG7Em2t0ZXLDqSB0YWtvdsOpDQpvc29ixJsgbmVibyBzdWJqZWt0dSB1ZMSbbGVuYSBzYW5rY2UgesOha2F6dQ0KbmVibyBzZSBzdGFuZSBzdWJqZWt0ZW0gxZnDrXplbsOtIG8gdWTEm2xlbsOtDQp6w6FrYXp1LCBtdXPDrSBvIHRvbSBaZHJhdm90bmlja8OpIHphxZnDrXplbsOtDQpuZXByb2RsZW7EmyBww61zZW1uxJsgaW5mb3Jtb3ZhdCBDUk8uDQoxMS4gQ29uZmlkZW50bGFsaXR2IGFuZCBOb24tVXNlLg0KUGVyc29uw6FsIERhdGEgUHJvdGVjdGlvbg0KKGEpIEFsbCBpbmZvcm1hdGlvbiBwcm92aWRlZCB0byB0aGUNCkluc3RpdHV0aW9uIGJ5IHRoZSBDUk8sIHRoZSBTcG9uc29yIG9yDQphbnkgcmVwcmVzZW50YXRpdmUgb2YgZWl0aGVyIG9mIHRoZW0NCihpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uLCB0aGUgdGVybXMNCm9mIHRoaXMgQWdyZWVtZW50LCB0aGUgUHJvdG9jb2wsIHRoZQ0KSW52ZXN0aWdhdG9yIGJyb2NodXJlLCB0aGUgSU1QLCBhbnkNCnRyYWRlIHNlY3JldCkgc2hhbGwgYmUgZGVlbWVkIHRoZSBzb2xlDQpwcm9wZXJ0eSBhbmQgY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIG9mDQp0aGUgU3BvbnNvciwgYW5kIHRoZSBJbnN0aXR1dGlvbiBzaGFsbCBub3QNCmRpc2Nsb3NlIHRvIGFueSB0aGlyZCBwYXJ0eSBvciB1c2Ugc3VjaA0KMTENCjExLiBExa92xJtybm9zdCBhIHrDoWtheiBwb3XFvml0w60gaW5mb3JtYWPDrS4NCk9jaHJhbmEgb3NvYm7DrWNoIMWvZGFpxa8NCihhKSBWZcWha2Vyw6kgaW5mb25uYWNlIHBvc2t5dG51dMOpDQpaZHJhdm90bmlja8OpbXUgemHFmcOtemVuw60gemUgc3RyYW55IENSTywNClphZGF2YXRlbGUgbmVibyBuxJtrdGVyw6lobyBqZWppY2gNCnrDoXN0dXBjZSAodsSNZXRuxJsgbWouIHBvZG3DrW5layB0w6l0bw0KU21sb3V2eSwgUHJvdG9rb2x1LCBzb3Vib3J1IGluZm9ybWFjw60NCnBybyB6a291xaFlasOtY8OtaG8uIEhvZG5vY2Vuw6lobyBsw6nEjWl2YSBhDQpqYWvDqWhva29saSBvYmNob2Ruw61obyB0YWplbXN0dsOtKSBqc291DQpwb3Zhxb5vdsOhbnkgemEgdsO9aHJhZG7DrSB2bGFzdG5pY3R2w60gYQ0KZMWvdsSbbcOpIGluZm9ybWFjZSBaYWRhdmF0ZWxlIGENClpkcmF2b3RuaWNrw6kgemHFmcOtemVuaSBuZXNtaSB0eXRvDQpRZjM1CUtpJ2Fpc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuLQ0KQ3plY2ggUmNwdWJsaWMNCmZpbsOhbCB2ZXJzaW9paSAxLjAgZGF0ZWQgMDMwODIwMTYNCgxFIGZsIFMgVA0KQzppbmxDRWxTRXIsaWNzNWluQ0VFDQpQcm90b2NvbCBudW1iZXI6IEFaVC1PT0kgRWFzdEhPUk4gc3R1ZHkgY29kZTogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OyBDbGluaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGNvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dGlvbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT0kgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb25zb3I6IEFaVGJlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUYmVyYXBpZXMgSW5jLg0KaW5mb3JtYXRpb24gZm9yIGFueSBwdXJwb3NlIG90aGVyIHRoYW4NCnRoZSBjb25kdWN0IG9mIHRoZSBTdHVkeS4NCihiKSBBbGwgaW5mb3JtYXRpb24gZ2VuZXJhdGVkIGJ5IHRoZQ0KUHJpbmNpcGFsIEludmVzdGlnYXRvciBhbmQvb3IgdGhlDQpJbnN0aXR1dGlvbiBpbiBjb25uZWN0aW9uIHdpdGggdGhlIFN0dWR5DQooaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiwgYWxsIFN0dWR5DQpSZWNvcmRzIGFuZCBDYXNlIFJlcG9ydCBGb3JtcywgYnV0DQpleGNsdWRpbmcgc3R1ZHkgc3ViamVjdCByZWNvcmRzKSBzaGFsbA0KYmUgZGVlbWVkIHRoZSBzb2xlIHByb3BlcnR5IGFuZA0KY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIG9mIHRoZSBTcG9uc29yDQphbmQsIGZyb20gdGhlIGRhdGUgb2YgcmVjZWlwdCB1bnRpbCB0aGUNCkluc3RpdHV0aW9uIHNoYWxsIG5vdCBkaXNjbG9zZSB0byBhbnkgdGhpcmQNCnBhcnR5IG9yIHVzZSBzdWNoIGluZm9ybWF0aW9uIGZvciBhbnkNCnB1cnBvc2Ugb3RoZXIgdGhhbiB0aGUgY29uZHVjdCBvZiB0aGUNClN0dWR5IG9yIHRoZSBwdWJsaWNhdGlvbiBvZiBTdHVkeSByZXN1bHRzDQppbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlvbiAxMi4NCihjKSBOb3R3aXRoc3RhbmRpbmcgdGhlIGZvcmVnb2luZywgdGhlDQpvYmxpZ2F0aW9uIG9mIGNvbmZpZGVudGlhbGl0eSBhbmQgbm9uLQ0KdXNlIHNldCBmb3J0aCBhYm92ZSBpbiBzZWN0aW9uIChhKSBhbmQgKGIpDQphYm92ZSBzaGFsbCBub3QgYXBwbHkgdG8gdGhlIGV4dGVudCB0aGF0Og0KaW5mb3JtYWNlIHNkxJtsb3ZhdCB0xZlldMOtbSBvc29iw6FtIGFuaSBqZQ0Kdnl1xb7DrXZhdCBwcm8gamluw70gw7rEjWVsIG5lxb4gcHJvdsOhZMSbbmkNCktsaW5pY2vDqWhvIGhvZG5vY2VuaS4NCihiKQlWZcWha2VyxJsgaW5mb3JtYWNlIHppc2thbsSbIEhsYXZuw61tDQp6a291xaFlasOtY8OtbSBhL25lYm8gWmRyYXZvdG5pY2vDvW0NCnphxZnDrXplbsOtbSB2IHNvdXZpc2xvc3RpIHMgS2xpbmlja8OpbQ0KaG9kbm9jZW7DrW0gKHbEjWV0bsSbIG1qLiB2ZcWha2Vyw71jaA0Kc3R1ZGlqbsOtY2ggesOhem5hbcWvIGEgesOhem5hbcWvIFN1Ympla3TFrw0KaG9kbm9jZW7DrSwgYWxlIHMgdnlsb3XEjWVuw61tIHpkcmF2b3RuaWNrw6kNCmRva3VtZW50YWNlIFN1Ympla3TFryBob2Rub2NlbsOtKSBidWRvdQ0KcG92YcW+b3bDoW55IHphIHbDvWhyYWRuw60gdmxhc3RuaWN0dsOtIGENCmTFr3bEm23DqSBpbmZvbm5hY2UgWmFkYXZhdGVsZSBhIG9kIGRhdGENCmplamljaCBvYmRyxb5lbsOtIG5lc23DrSBaZHJhdm90bmlja8OpDQp6YcWZw616ZW5pIHR5dG8gaW5mb25uYWNlIHNkxJtsb3ZhdCB0xZlldMOtbQ0Kb3NvYsOhbSBhbmkgamUgdnl1xb7DrXZhdCBwcm8gamluw70gw7rEjWVsIG5lxb4NCnByb3bDoWTEm25pIEtsaW5pY2vDqWhvIGhvZG5vY2VuaSBuZWJvDQp6dmXFmWVqbsSbbsOtIHbDvXNsZWRrxa8gS2xpbmlja8OpaG8NCmhvZG5vY2Vuw60gdiBzb3VsYWR1IHMgxI1sw6Fua2VtIDEyIHTDqXRvDQpTbWxvdXZ5Lg0KKGMpCUJleiBvaGxlZHUgbmEgcMWZZWRjaG96w60gdXN0YW5vdmVuw60gc2UNCnRhdG8gcG92aW5ub3N0IHphY2hvdsOhbsOtIGTFr3bEm3Jub3N0aSBhDQpuZXBvdcW+aXTDrSBpbmZvbm5hY8OtIHNob3JhIHN0YW5vdmVuw6Egdg0KcMOtc20uIChhKSBhIChiKSBuZXVwbGF0bsOtLCBqZXN0bGnFvmU6DQooaSkJVGhlIFNwb25zb3Igb3IgdGhlIENSTyBnaXZlcw0KdGhlIEluc3RpdHV0aW9uIHdyaXR0ZW4gcGVybWlzc2lvbg0KdG8gdXNlIG9yIGRpc2Nsb3NlIGFueSBzdWNoDQpjb25maWRlbnRpYWwgaW5mb3JtYXRpb247IG9yDQooaWkpCXBhcnRpY3VsYXIgaW5mb25uYXRpb24gaXMgcmVxdWlyZWQNCmJ5IGxhdyBvciByZWd1bGF0aW9uIHRvIGJlDQpkaXNjbG9zZWQgdG8gdGhlIEV0aGljcw0KQ29tbWl0dGVlLCB0aGUgU3R1ZHkgc3ViamVjdCwNCmNvbXBldGVudCByZWd1bMOhdG9yeSBhdXRob3JpdGllcy4NClNwb25zb3IgYW5kIENSTyBoZXJlYnkNCmFja293bGVkZ2UgdGhhdCB0aGUgSW5zdGl0dXRpb24gaXMNCm9ibGlnZWQgdG8gcHVibGlzaCB0aGlzIEFncmVlbWVudA0KcHVyc3VhbnQgdG8gQWN0IG5vLiAzNDAvMjAxNSBTYi4sDQpvbiBBZ3JlZW1lbnRzIFJlZ2lzdGVyLg0KSW5mb3JtYXRpb24gd2hpY2ggY29uc3RpdHV0ZXMNCjEyDQooaSkJWmFkYXZhdGVsIG5lYm8gQ1JPIHBvc2t5dG5lDQpaZHJhdm90bmlja8OpbXUgemHFmcOtemVuaSBww61zZW1uxJsNCnN2b2xlbsOtIHBvdcW+w610IG5lYm8gc2TEm2xpdCB0YWtvdsOpDQpkxa92xJttw6kgaW5mb3JtYWNlOyBuZWJvDQooaWkpCWplIHNkxJtsZW7DrSB1csSNaXTDqSBpbmZvbm5hY2UgZXRpY2vDqQ0Ka29taXNpLiBTdWJqZWt0dSBob2Rub2NlbsOtLA0KcMWZw61zbHXFoW7DvW0ga29udHJvbG7DrW0gw7rFmWFkxa9tDQp2ecW+YWRvdsOhbm8gcHLDoXZuw61tIG5lYm8gamluw71tDQpwxZllZHBpc2VtLiBaYWRhdmF0ZWwgYSBDUk8NCnTDrW10byBiZXJvdSBuYSB2xJtkb23DrSwgxb5lDQpaZHJhdm90bmlja8OpIHphxZnDrXplbsOtIGplIHBvdmlubm8NCnp2ZcWZZWpuaXQgdHV0byBzbWxvdXZ1IHYgc291bGFkdQ0Kc2UgesOhay4gxI0uIDM0MC8yMDE1LCBvIHJlZ2lzdHJ1DQpzbWx1di4gWnZlxZllam7Em27DrSBuZXBvZGzDqWhhasOtDQpLaSdhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMgYS5zLi0NCkN6ZWNoIFJlcHVibGljDQpmaW7DoWwgdmVyc2lvbiAxLjAgZGF0ZWQgMDMwODIwMTYNCgxFIGZsIFMgVA0KQzppbmxDRWxTRXIsaWNzNWluQ0VFDQpQcm90b2NvbCBudW1iZXI6IEFaVC1PT0kgRWFzdEhPUk4gc3R1ZHkgY29kZTogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OiBDbGluaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGNvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dGlvbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT0kgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb25zb3I6IEFaVGJlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUYmVyYXBpZXMgSW5jLg0KdHJhZGUgc2VjcmV0IG9mIGVpdGhlciBwYXJ0eSBpcw0KZXhlbXB0IGZyb20gdGhlIHB1YmxpY2F0aW9uLg0KVHJhZGUgc2VjcmV0cyBmb3IgdGhlIHB1cnBvc2VzIG9mDQp0aGlzIEFncmVlbWVudCBpbmNsdWRlLCBidXQgYXJlDQpub3QgbGltaXRlZCB0bywgdGhlIGRlc2lnbiBvZg0KaW5kaXZpZHVhXSB2aXNpdHMgZGVzY3JpYmVkIGluIHRoZQ0KcGF5bWVudCB0YWJsZS9zIGluIEF0dGFjaG1lbnQgQSwNCnRoZSBtaW5pbXVtIGVucm9sbG1lbnQgZ29hbCwNCmV4cGVjdGVkIG51bWJlciBvZiBzdHVkeSBzdWJqZWN0cw0KZW5yb2xsZWQgYW5kIHRoZSBleHBlY3RlZCBkdXJhdGlvbg0Kb2YgdGhlIHN0dWR5LiBQZXJzb27DoWwgZGF0YSBvZg0KaW5kaXZpZHVhbHMgYXJlIGFsc28gZXhlbXB0IGZyb20NCnB1YmxpY2F0aW9uLCB1bmxlc3MgdGhleSBoYXZlIGJlZW4NCnByZXZpb3VzbHkgcHVibGlzaGVkIGluIGFub3RoZXINCnB1YmxpYyByZWdpc3Rlci4gVGhlIEluc3RpdHV0aW9uIGlzDQpvYmxpZ2VkIHRvIHB1Ymxpc2ggdGhpcyBBZ3JlZW1lbnQNCmluIGFjY29yZGFuY2Ugd2l0aCB0aGUgYXJ0aWNsZQ0KYWJvdmUuIFNob3VsZCB0aGUgSW5zaXR1dGlvbiBmYWlsDQp0byBwdWJsaXNoIHRoaXMgQWdyZWVtZW50IHdpdGhpbg0KMTUgZGF5cyBmcm9tIHRoZSBFZmZlY3RpdmUgRGF0ZSwgaXQNCm1heSBiZSBwdWJsaXNoZWQgYnkgdGhlIFNwb25zb3INCm9yIENSTy4NCihpaWkpIGlmIHNoYXJpbmcgb2Ygc29tZSBpbmZvcm1hdGlvbiBvcg0KcHVibGlzaGluZyBvZiB0aGUgY29udHJhY3QgaXMNCnJlcXVlc3RlZCBvbiB0aGUgYmFzaXMgb2YNCmNvcnJlc3BvbmRpbmcgbG9jYWwgbGVnaXNsYXRpb24sIGluDQp0aGlzIGNhc2UgaXMgdGhlIHRleHQgb2YgcGFyYWdyYXBoDQooZCkgYmVsb3cgbm90IGFwcGxpY2FibGUuDQrDumRhamUsIGt0ZXLDqSB0dm/FmcOtIG9iY2hvZG7DrQ0KdGFqZW1zdHbDrSBuxJtrdGVyw6kgemUgc21sdXZuw61jaA0Kc3RyYW4uIE9iY2hvZG7DrW0gdGFqZW1zdHbDrW0gc2UNCmRsZSB0w6l0byBzbWxvdXZ5IHJvenVtw60gemVqbcOpbmENCmRlc2lnbiBqZWRub3RsaXbDvWNoIG7DoXbFoXTEm3YNCnV2ZWRlbsO9IHYgcGxhdGVibsOtIHRhYnVsY2UgLw0KcGxhdGVibsOtY2ggdGFidWxrw6FjaCB2IHDFmcOtbG96ZSBBLA0KbWluaW3DoWxuw60gY8OtbG92w70gcG/EjWV0IHphxZlhemVuw60sDQpvxI1la8OhdmFuw70gcG/EjWV0IHN1Ympla3TFrw0KayB6YcWZYXplbsOtIGEgb8SNZWvDoXZhbsOhIGTDqWxrYQ0KdHJ2w6Fuw60gc3R1ZGllLiBEw6FsZSBuZWJ1ZG91DQp6dmXFmWVqbsSbbnkgb3NvYm7DrSDDumRhamUNCmZ5emlja8O9Y2ggb3NvYiwgbGVkYcW+ZSBqc291IGrDrcW+DQp6dmXFmWVqbsSbbnkgdiBqaW7DqW0gdmXFmWVqbsSbDQpwxZnDrXBzdHVwbsOpbSByZWdpc3RydS4gWmENCnp2ZcWZZWpuxJtuw60gdMOpdG8gc21sb3V2eSBkbGUNCnDFmWVkY2hvesOtaG8gb2RzdGF2Y2Ugb2Rwb3bDrWTDoQ0KWmRyYXZvdG5pY2vDqSB6YcWZw616ZW7DrS4gTmVuw60tbMOtDQpzbWxvdXZhCXpkcmF2b3RuaWNrw71tDQp6YcWZw616ZW7DrW0genZlxZllam7Em25hIHZlIGxoxa90xJsgMTUNCmRuxa8gb2QgRGF0YSDDusSNaW5ub3N0aSwganNvdSBrDQpqZWrDrW11IHp2ZcWZZWpuxJtuw60gb3Byw6F2bsSbbsOtIENSTw0KxIzDrSBaYWRhdmF0ZWwuDQooacOtw60pIGplIHNkxJtsZW7DrSB1csSNaXTDqSDDrW5mb25uYWNlIMSNw60NCnp2ZcWZZWpuxJtuw60gc21sb3V2eSB2ecW+YWRvdsOhbm8NCm5hIHrDoWtsYWTEmyBwxZnDrXNsdcWhbsOpaG8gcHLDoXZuw61obw0KcMWZZWRwaXN1LCBwxZlpxI1lbcW+IHYgdGFrb3bDqW0NCnDFmcOtcGFkxJsgc2UgbmV1cGxhdG7DrSDDunByYXZhDQp1dmVkZW7DoSB2IG9kc3RhdmNpIChkKSBuw63FvmUuDQooZCkgVG8gdGhlIGV4dGVudCB0aGF0IGFueSB1c2Ugb3IgZMOtc2Nsb3N1cmUNCm9mIHN1Y2ggY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGlzDQpkZXNpcmVkLCB0aGUgSW5zdGl0dXRpb24gc2hhbGwgcHJvbXB0bHkNCm5vdGlmeSB0aGUgQ1JPIGluIHdyaXRpbmcgYW5kIHNoYWxsIG5vdA0KdXNlIG9yIGRpc2Nsb3NlIGFueSBzdWNoIGluZm9ybWF0aW9uDQp1bnRpbCB0aGUgQ1JPIGdpdmVzIHdyaXR0ZW4gY29uc2VudCBvciwNCmluIHRoZSBjYXNlIG9mIGxlZ2FsbHkgcmVxdWlyZWQNCmRpc2Nsb3N1cmUsIGV4aGF1c3RzIGFueSBsZWdhbCBhY3Rpb25zIGl0DQptYXkgdGFrZSB0byBwcmV2ZW50IG9yIGxpbWl0IHRoZQ0KcmVxdWVzdGVkIGRpc2Nsb3N1cmUuDQoxMw0KSmVzdGxpxb5lIGplIHBvxb5hZG92w6FubyB6cMWZw61zdHVwbsSbbsOtDQp0YWtvdsO9Y2ggZMWvdsSbbcO9Y2ggaW5mb3JtYWPDrS4NClpkcmF2b3RuaWNrw6kgemHFmcOtemVuw60gbXVzw60gbmVwcm9kbGVuxJsNCnDDrXNlbW5vdSBmb3Jtb3UgdXbEm2RvbWl0IENSTyBhIG5lc23DrQ0KdHl0byBpbmZvcm1hY2UgcG91xb7DrXQgYW5pIHpwxZnDrXN0dXBuaXQsDQpkb2t1ZCBDUk8gbmVwb3NreXRuZSBww61zZW1uw70gc291aGxhcw0KbmVibyBkb2t1ZCB2IHDFmcOtcGFkxJsgenDFmcOtc3R1cG7Em27DrQ0KdnnFvmFkb3ZhbsOpaG8gcHLDoXZuw61taSBwxZllZHBpc3kNCm5ldnnEjWVycMOhIHZlxaFrZXLDqSBwcsOhdm7DrSBrcm9reSwga3RlcsOpDQptxa/FvmUgcMWZaWptb3V0IGsgemFtZXplbsOtIG5lYm8gb21lemVuw60NCnRha3RvIHZ5xb5hZG92YW7DqWhvIHpwxZnDrXN0dXBuxJtuw60uDQo7CUtpJ2Fqc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuLQ0KQ3plY2ggUmVwdWJsaWMNCmZpbsOhbCB2ZXJzaW9uIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3TDumNvbCBudW1iZXI6IEFaVC1PT0kgRWFzdEhPUk4gc3R1ZHkgY29kbzogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OyBDbGlpaWljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBlb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09JIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSZXB1YmxpYyBTcG9uc29yOiBBWlRiZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGJlcmFwaWVzIEluYy4NCihlKQlUaGUgSW5zdGl0dXRpb24gc2hhbGwgYmUgcmVzcG9uc2libGUgZm9yDQplbnN1cmluZyB0aGF0IGl0cyBlbXBsb3llZXMsIGNvbnRyYWN0b3JzDQphbmQgYWdlbnRzIGFyZSBvYmxpZ2F0ZWQgdG8gdGhlc2Ugc2FtZQ0KdGVybXMgb2YgY29uZmlkZW50aWFsaXR5IGFuZCBub24tdXNlLg0KKGYpCVRoZSB0ZXJtcyBvZiBjb25maWRlbnRpYWxpdHkgYW5kIG5vbi0NCnVzZSBzZXQgZm9ydGggaGVyZWluIHNoYWxsIHN1cGVyc2VkZSBhbnkNCnByaW9yIHRlcm1zIG9mIGNvbmZpZGVudGlhbGl0eSBhbmQgbm9uLQ0KdXNlIGFncmVlZCB0byBieSB0aGUgcGFydGllcyBpbg0KY29ubmVjdGlvbiB3aXRoIHRoaXMgU3R1ZHkuDQooZykgQWxsIENvbmZpZGVudGlhbCBJbmZvbm5hdGlvbiBjb250YWluaW5nDQpwZXJzb27DoWwgZGF0YSBzaGFsbCBiZSBoYW5kbGVkIGluDQphY2NvcmRhbmNlIHdpdGggYWxsIGFwcGxpY2FibGUgbGF3LA0KaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8gUGVyc29uw6FsDQpEYXRhIFByb3RlY3Rpb24gQWN0Tm8uIDEwMS8yMDAwIENvbGwuLA0KYXMgYW1lbmRlZC4NCjEyLiBEYXRhIGFuZCBQdWJsaWNhdGlvbnMNCihlKQlaZHJhdm90bmlja8OpIHphxZnDrXplbsOtIG5lc2Ugb2Rwb3bEm2Rub3N0DQp6YSB0bywgxb5lIHphamlzdGksIGFieSBqZWhvIHphbcSbc3RuYW5jaSwNCmRvZGF2YXRlbMOpIGEgesOhc3R1cGNpIGJ5bGkgemF2w6F6w6FuaQ0Kc3Rlam7DvW1pIHBvZG3DrW5rYW1pIGTFr3bEm21vc3RpIGENCm5lcG91xb5pdMOtIGluZm9ybWFjw60uDQooZikJUG9kbcOtbmt5IGTFr3bEm21vc3RpIGEJbmVwb3XFvml0aQ0KaW5mb3JtYWPDrSB1dmVkZW7DqSB2IHTDqXRvIFNtbG91dsSbDQpuYWhyYXp1asOtIHZlxaFrZXLDqSBkxZnDrXbEm2rFocOtCXBvZG3DrW5reQ0KZMWvdsSbbW9zdGkgYSBuZXBvdcW+aXTDrQlpbmZvcm1hY8OtDQpkb2hvZG51dMOpIHNtbHV2bsOtbWkJc3RyYW5hbWkNCnYgc291dmlzbG9zdGkgcyB0w61tdG8JS2xpbmlja8O9bQ0KaG9kbm9jZW7DrW0uDQooZykJVmXFoWtlcsOpIGTFr3bEm23DqSBpbmZvbm5hY2Ugb2JzYWh1asOtY8OtDQpvc29ibsOtIMO6ZGFqZSBtdXPDrSBiw710IHpwcmFjb3bDoXbDoW55DQp2IHNvdWxhZHUgcyB2ZcWha2Vyw71taSBwbGF0bsO9bWkgcHLDoXZuw61taQ0KcMWZZWRwaXN5LCB2xI1ldG7EmyB6w6Frb25hIG8gb2NocmFuxJsNCm9zb2Juw61jaCDDumRhasWvIMSNLiAxMDEvMjAwMCBTYi4sDQp2IHBsYXRuw6ltIHpuxJtuw60uDQoxMi4gw5pkYWplIGEgcHVibGlrb3bDoW7DrQ0KKGEpIFRoZSBJbnN0aXR1dGlvbiBhbmQgdGhlIFByaW5jaXBhbA0KSW52ZXN0aWdhdG9yIHVuZGVydGFrZSB0byBjb25zdWx0IHdpdGgNCnRoZSBTcG9uc29yIHJlZ2FyZGluZyB0aGUgcHVibGljYXRpb24NCm9mIGFueSBkb2N1bWVudCByZWdhcmRpbmcgdGhlIGNvdXJzZQ0Kb3IgcmVzdWx0cyBvZiB0aGUgU3R1ZHkgYXQgbGVhc3QgNjAgZGF5cw0KYmVmb3JlIHB1Ymxpc2hpbmcgaXQgb3IgYmVmb3JlIGxlY3R1cmluZy4NCkNvbXBsZXRlIG9yIHBhcnRpYWwgcmVzdWx0cyBvZiB0aGUgU3R1ZHkNCndpbGwgbm90IGJlIHB1Ymxpc2hlZCBieSB0aGUgSW5zdGl0dXRpb24NCm9yIHRoZSBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHVubGVzcw0KcHJpb3Igd3JpdHRlbiBjb25zZW50IGlzIG9idGFpbmVkIGZyb20NCnRoZSBTcG9uc29yLg0KKGEpIFpkcmF2b3RuaWNrw6kgemHFmcOtemVuw60gYSBIbGF2bsOtIHprb3XFoWVqw61jw60NCnNlIHphdmF6dWrDrSwgxb5lIHB1Ymxpa2FjaSBqYWvDqWtvbGl2DQpvZGJvbcOpIHByw6FjZSBvIHByxa9ixJtodSDEjWkgdsO9c2xlZGPDrWNoDQpLbGluaWNrw6lobyBob2Rub2NlbsOtIHByb2plZG5hasOtIHNlDQpaYWRhdmF0ZWxlbSBuZWptw6luxJsgNjAgZG7FryBwxZllZA0KcMWZZWTDoW7DrW0gcHVibGlrYWNlIGRvIHRpc2t1IG5lYm8gcMWZZWQNCmtvbsOhbsOtbSBwxZllZG7DocWha3kuIFbDvXNsZWRreQ0KS2xpbmlja8OpaG8gaG9kbm9jZW7DrSBuZWJvIGplamljaCDEjcOhc3QNCm5lYnVkb3UgWmRyYXZvdG5pY2vDvW0gemHFmcOtemVuw61tIMSNaQ0KSGxhdm7DrW0gemtvdcWhZWrDrWPDrW0gcHVibGlrb3bDoW55IGJleg0KcMWZZWRjaG96w61obyBww61zZW1uw6lobyBzb3VobGFzdQ0KWmFkYXZhdGVsZS4NClRoZSBJbnN0aXR1dGlvbiBhbmQgdGhlIFByaW5jaXBhbCBaZHJhdm90bmlja8OpIHphxZnDrXplbsOtIGEgSGxhdm7DrSB6a291xaFlasOtY8OtDQpJbnZlc3RpZ2F0b3IgdW5kZXJzdGFuZCB0aGF0IGFueSBiZXJvdSBuYSB2xJtkb23DrSwgxb5lIMW+w6FkbsOhIG9kYm9ybsOhDQpzY2llbnTDrWZpYyBwdWJsaWNhdGlvbiByZWdhcmRpbmcgcHVibGlrYWNlIGsgb2JqZXbFr20gxI1pIGhvZG5vY2Vuw6ltdQ0KMTRvZjM1CUtpJ2Fpc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuLQ0KQ3plY2ggUmNwdWJsaWMNCmZpbsOhbCB2ZXJzaW9paSAxLjAgZGF0ZWQgMDMwODIwMTYNCgxFIGZsIFMgVA0KQzppbmxDRWxTRXIsaWNzNWluQ0VFDQpQcm90w7pjb2wgbnVtYmVyOiBBWlQtT09JIEVhc3RIT1JOIHN0dWR5IGNvZG86IDMzMDEgVHlwZSBvZiBjb250cmFjdDsgQ2xpaWlpY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgZW9udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PSSBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOiAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvbnNvcjogQVpUaGVyYXBpZXMgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRoZXJhcGllcyBJbmMuDQpkaXNjb3ZlcmllcyBvciB0aGUgSU1QIHdpbGwgbm90IGJlDQpwdWJsaXNoZWQgYnkgdGhlIEluc3RpdHV0aW9uIG9yIHRoZQ0KUHJpbmNpcGFsIEludmVzdGlnYXRvciBiZWZvcmUgdGhlDQpTcG9uc2/FpXMgYXBwbGljYXRpb24gZm9yIGEgcGF0ZW50LA0KcHJvdmlkaW5nIHN1Y2ggYXBwbGljYXRpb24gZm9yIGEgcGF0ZW50DQppcyBhcHBsaWNhYmxlIHdpdGggcmVnYXJkIHRvIHRoZQ0KY2hhcmFjdGVyIG9mIHRoZSBTdHVkeSByZXN1bHRzLg0KKGIpIFRoZSBTcG9uc29yIHNoYWxsIGhhdmUgdGhlIHJpZ2h0IHRvDQpwdWJsaXNoIGFueSBkYXRhIGFuZCBpbmZvcm1hdGlvbiBmcm9tDQp0aGUgU3R1ZHkgKGluY2x1ZGluZyBkYXRhIGFuZA0KaW5mb3JtYXRpb24gZ2VuZXJhdGVkIGJ5IHRoZSBQcmluY2lwYWwNCkludmVzdGlnYXRvcikgd2l0aG91dCB0aGUgY29uc2VudCBvZiB0aGUNCkluc3RpdHV0aW9uLg0KbMOpxI1pdsOpbXUgcMWZw61wcmF2a3UgbmVzbcOtIGLDvXQNClpkcmF2b3RuaWNrw71tIHphxZnDrXplbsOtbSBuZWJvIEhsYXZuw61tDQp6a291xaFlasOtY8OtbSB2eWTDoW5hIHDFmWVkIHBvZMOhbsOtbQ0Kxb7DoWRvc3RpIFphZGF2YXRlbGUgbyBwYXRlbnRvdm91DQpwxZlpaGzDocWha3UsIHBva3VkIHZ6aGxlZGVtIGsgcG92YXplDQp2w71zbGVka8WvIEtsaW5pY2vDqWhvIGhvZG5vY2VuaSBidWRlDQpwb2TDoW5pIHRha292w6kgcMWZaWhsw6HFoWt5IHDFmWljaMOhemV0IHYNCsO6dmFodS4NCihiKSBaYWRhdmF0ZWwgbcOhIHByw6F2byB6dmXFmWVqbml0IGxpYm92b2xuw6kNCsO6ZGFqZSBhIGluZm9ubmFjZSB6IEtsaW5pY2vDqWhvDQpob2Rub2NlbmkgKHbEjWV0bsSbIMO6ZGFqw7ogYSBpbmZvcm1hY2kNCnZ5dHZvxZllbsO9Y2ggWmRyYXZvdG5pY2vDvW0gemHFmcOtemVuw61tIGENCkhsYXZuw61tIHprb3XFoWVqw61jw61tKSBiZXogc291aGxhc3UNClpkcmF2b3RuaWNrw6lobyB6YcWZw616ZW5pLg0KKGMpIFRoZSBDUk8gYW5kIHRoZSBTcG9uc29yIG11c3QgYXBwcm92ZSwNCmluIHdyaXRpbmcsIGFueSBwcmVzcyBzdGF0ZW1lbnRzIG9yDQphbnN3ZXJzIHRvIHJlcG9ydGVycyBvciBmaW5hbmNpYWwNCmFuYWx5c3RzIGJ5IHRoZSBJbnN0aXR1dGlvbiByZWdhcmRpbmcgdGhlDQpTdHVkeSBvciBJTVAgYmVmb3JlIHRoZSBzdGF0ZW1lbnRzIGFyZQ0KcmVsZWFzZWQuDQpUaGUgSW5zdGl0dXRpb24gc2hhbGwgbm90IHVzZSB0aGUgbmFtZSBvZiB0aGUNCkNSTywgdGhlIFNwb25zb3Igb3IgYW55IG9mIHRoZWlyIHJlc3BlY3RpdmUNCmVtcGxveWVlcyBvciBhZ2VudHMgaW4gYW55IGFkdmVydGlzaW5nIG9yIGENCnNhbGVzIHByb21vdGlvbmFsIG1hdGVyaWFsIG9yIGluIGFueQ0KcHVibGljYXRpb24gd2l0aG91dCB0aGUgcHJpb3Igd3JpdHRlbiBjb25zZW50DQpvZiB0aGUgQ1JPIG9yIHRoZSBTcG9uc29yLCBhcyB0aGUgY2FzZSBtYXkNCmJlLiBUaGUgQ1JPIGFuZCB0aGUgU3BvbnNvciBzaGFsbCBub3QgdXNlDQp0aGUgbmFtZSBvZiB0aGUgSW5zdGl0dXRpb24gb3IgYW55IG9mIGl0cw0KZW1wbG95ZWVzIG9yIGFnZW50cyBpbiBhbnkgc2FsZXMNCnByb21vdGlvbmFsIG1hdGVyaWFsIG9yIHB1YmxpY2F0aW9uIHdpdGhvdXQNCnByaW9yIHdyaXR0ZW4gY29uc2VudCBvZiB0aGUgSW5zdGl0dXRpb24uDQooYykgVGlza292w6Egc2TEm2xlbmksIHDFmcOtcGFkbsSbIGpha8Opa29saXYNCm9kcG92xJtkaSB2xa/EjWkgbm92aW7DocWZxa9tIG5lYm8gZmluYW7EjW7DrW0NCmFuYWx5dGlrxa9tIHplIHN0cmFueSBaZHJhdm90bmlja8OpaG8NCnphxZnDrXplbmksIHTDvWthasOtY8OtIHNlIEtsaW5pY2vDqWhvIGhvZG5vY2Vuw60NCm5lYm8gSG9kbm9jZW7DqWhvIGzDqcSNaXZhLCBtdXPDrSBiw710IHDFmWVkDQp6dmXFmWVqbsSbbsOtbSBww61zZW1uxJsgc2NodsOhbGVueSBDUk8gYQ0KWmFkYXZhdGVsZW0uDQpaZHJhdm90bmlja8OpIHphxZnDrXplbsOtIG5lc23DrSB1xb7DrXQgam3DqW5vDQpDUk8sIFphZGF2YXRlbGUgYW5pIMW+w6FkbsOpaG8gamVqaWNoDQp6YW3Em3N0bmFuY2UgbmVibyB6w6FzdHVwY2UgdiDFvsOhZG7DqW0NCnJla2xhbW7DrW0gxI1pIHByb3BhZ2HEjW7DrW0gbWF0ZXJpw6FsdSBhbmkNCnYgxb7DoWRuw6kgcHVibGlrYWNpIGJleiBwxZllZGNob3rDrWhvDQpww61zZW1uw6lobyBzb3VobGFzdSBDUk8sIG5lYm8NClphZGF2YXRlbGUuIENSTyBhIFphZGF2YXRlbCBuZXNtxJtqw60NCnXFvml0IGptw6lubyBaZHJhdm90bmlja8OpaG8gemHFmcOtemVuw60gYW5pDQrFvsOhZG7DqWhvIGplaG8gemFtxJtzdG5hbmNlIG5lYm8gesOhc3R1cGNlDQp2IMW+w6FkbsOpbSBwcm9wYWdhxI1uw61tIG1hdGVyacOhbHUgbmVibw0KcHVibGlrYWNpIGJleiBwxZllZGNob3rDrWhvIHDDrXNlbW7DqWhvDQpzb3VobGFzdSBaZHJhdm90bmlja8OpaG8gemHFmcOtemVuw60uDQoxNSBvZjM1DQpDemVjaCBSY3B1YmxpYw0KZmluw6FsIHZlcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3TDumNvbCBudW1iZXI6IEFaVC1PT0kgRWFzdEhPUk4gc3R1ZHkgY29kZTogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OyBDamlpaWllYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBlb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09JIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSZXB1YmxpYyBTcG9uc29yOiBBWlRoZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGhlcmFwaWVzIEluYy4NCjEzLiBBbnRpLWJyaWJlcnkgUnVsZXMNCihhKQlUaGUgSW5zdGl0dXRpb24gYW5kIHRoZSBQcmluY2lwYWwNCkludmVzdGlnYXRvciBhZ3JlZSB0aGF0IHRoZSBJbnN0aXR1dGlvbg0KYW5kIHRoZSBJbnZlc3RpZ2F0b3IncyBqdWRnbWVudCB3aXRoDQpyZXNwZWN0IHRvIHRoZSBhZHZpY2UgYW5kIGNhcmUgb2YgZWFjaA0KU3R1ZHkgc3ViamVjdCB3aWxsIG5vdCBiZSBhZmZlY3RlZCBieQ0KdGhlIGNvbXBlbnNhdGlvbiB0aGUgSW5zdGl0dXRpb24NCnJlY2VpdmVzIGZyb20gdGhpcyBBZ3JlZW1lbnQsIHRoYXQgc3VjaA0KY29tcGVuc2F0aW9uIGRvZXMgbm90IGV4Y2VlZCB0aGUgZmFpcg0KbWFya2V0IHZhbHVlIG9mIHRoZSBzZXJ2aWNlcyB0aGV5IGFyZQ0KcHJvdmlkaW5nLCBhbmQgdGhhdCBubyBwYXltZW50cyBhcmUNCmJlaW5nIHByb3ZpZGVkIHRvIHRoZSBJbnN0aXR1dGlvbiBmb3IgdGhlDQpwdXJwb3NlIG9mIGluZHVjaW5nIHRoZSBJbnN0aXR1dGlvbiB0bw0KcHVyY2hhc2Ugb3IgcHJlc2NyaWJlIGFueSBkcnVncywNCmRldmljZXMgb3Igb3RoZXIgcHJvZHVjdHMuDQooYikJSWYgdGhlIFNwb25zb3Igb3IgdGhlIENSTyBwcm92aWRlIGFueQ0KZHJ1Z3MsIHByb2R1Y3RzIG9yIGl0ZW1zIGZvciB1c2UgaW4gdGhlDQpTdHVkeSBmcmVlIG9mIGNoYXJnZSwgdGhlIEluc3RpdHV0aW9uIGFuZA0KdGhlIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgYWdyZWUgdGhhdCB0aGUNCkluc3RpdHV0aW9uIHdpbGwgbm90IGJpbGkgYW55IFN0dWR5DQpzdWJqZWN0LCBpbnN1cmVyIG9yIGdvdmVtbWVudGFsDQphZ2VuY3ksIG9yIGFueSBvdGhlciB0aGlyZCBwYXJ0eSwgZm9yDQpzdWNoIGZyZWUgcHJvZHVjdHMgb3IgaXRlbXMuIFRoZQ0KSW5zdGl0dXRpb24gYW5kIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3INCmFncmVlIHRoYXQgdGhleSB3aWxsIG5vdCBiaWxpIGFueSBzdWJqZWN0LA0KaW5zdXJlciwgb3IgZ292ZW1tZW50YWwgYWdlbmN5IGZvciBhbnkNCnZpc2lMcywgc2VydmljZXMgb3IgZXhwZW5zZXMgaW5jdXJyZWQNCmR1cmluZyB0aGUgU3R1ZHkgZm9yIHdoaWNoIHRoZQ0KSW5zdGl0dXRpb24gaGFzIHJlY2VpdmVkIGNvbXBlbnNhdGlvbg0KZnJvbSB0aGUgU3BvbnNvciBvciB0aGUgQ1JPLg0KMTMuIFByb3Rpa29ydXDEjW7DrSB6w6FzYWR5DQooYSkJWmRyYXZvdG5pY2vDqSB6YcWZw616ZW5pIGEgSGxhdm5pIHprb3XFoWVqw61jw60NCnNvdWhsYXPDrSwgxb5lIMO6c3VkZWsgWmRyYXZvdG5pY2vDqWhvDQp6YcWZw616ZW5pIGEgSGxhdm7DrWhvIHprb3XFoWVqw61jw61obywgcG9rdWQNCmpkZSBvIHBvcmFkZW5zdHbDrSBhIHDDqcSNaSBvIGthxb5kw70gU3ViamVrdA0KaG9kbm9jZW7DrSwgbmVidWRlIG92bGl2bsSbbiDDumhyYWRvdQ0KesOtc2thbm91IG5hIHrDoWtsYWTEmyB0w6l0byBTbWxvdXZ5LCBhIGTDoWxlDQpzbWx1dm7DrSBzdHJhbnkgcG90dnJ6dWppLCDFvmUga29tcGVuemFjZQ0KZGxlIHTDqXRvIFNtbG91dnkgbmVwxZllc2FodWplIHJlw6Fsbm91IHRyxb5uw60NCmhvZG5vdHUgc2x1xb5lYiwga3RlcsOpIFpkcmF2b3RuaWNrw6kNCnphxZnDrXplbmkgcG9za3l0dWplIGEgxb5lIMW+w6FkbsOpIHBsYXRieSBuZWpzb3UNCnBvc2t5dG92w6FueSB6YSDDusSNZWxlbSBwxZlpbcSbdA0KWmRyYXZvdG5pY2vDqSB6YcWZw616ZW5pIG5lYm8gSGxhdm7DrWhvDQp6a291xaFlasOtY8OtaG8gayBuw6FrdXB1IG5lYm8gcMWZZWRlcGlzb3bDoW5pDQpqYWvDvWNoa29saXYgbMOpxI1pdiwgemRyYXZvdG5pY2vDvWNoDQpwcm9zdMWZZWRrxa8gbmVibyBqaW7DvWNoIHByb2R1a3TFry4NCihiKQlQb2t1ZCBaYWRhdmF0ZWwgbmVibyBDUk8gcG9za3l0bm91DQpqYWvDoWtvbGl2IGzDqcSNaXZhLCBwcm9kdWt0eSBuZWJvIGppbsOpDQpwxZllZG3Em3R5IHBybyBwb3XFvml0aSB2IEtsaW5pY2vDqW0NCmhvZG5vY2VuaSB6ZGFybWEuIFpkcmF2b3RuaWNrw6kgemHFmcOtemVuw60gYQ0KSGxhdm7DrSBrb3XFoWVqaWPDrSBzb3VobGFzw60sIMW+ZSBuZWJ1ZG91DQrFvsOhZGF0IMO6aHJhZHUgcG8gxb7DoWRuw6ltIFN1Ympla3R1DQpob2Rub2NlbmksIHBvamnFocWlb3ZuxJsgbmVibyBqYWvDqWtvbGkgamluw6kNCnTFmWV0w60gc3RyYW7EmyB6YSB0eXRvIHpkYXJtYSBwb3NreXRudXTDoQ0KbMOpxI1pdmEsIHByb2R1a3R5IG5lYm8gamluw6kgcMWZZWRtxJt0eS4NClpkcmF2b3RuaWNrw6kgemHFmcOtemVuw60gYSBIbGF2bmkgemtvdcWhZWrDrWPDrQ0Kc291aGxhc8OtLCDFvmUgbmVidWRvdSDFvsOhZGF0IMO6aHJhZHUgcG8NCsW+w6FkbsOpbSBTdWJqZWt0dSBob2Rub2NlbsOtLCBwb2ppxaHFpW92bsSbDQpuZWJvIGppbsOpIHTFmWV0w60gc3RyYW7EmyB6YSBqYWvDqWtvbGl2DQpuw6F2xaF0xJt2eSwgc2x1xb5ieSBuZWJvIHbDvWRhamUgdnpuaWtsw6kgdg0KcHLFr2LEm2h1IEtsaW5pY2vDqWhvIGhvZG5vY2Vuw60sIHphIGt0ZXLDqQ0Kb2JkcsW+ZWxpIMO6aHJhZHUgb2QgWmFkYXZhdGVsZSBuZWJvIENSTy4NCihjKSBUaGUgSW5zdGl0dXRpb24gYW5kIHRoZSBQcmluY2lwYWwJKGMpWmRyYXZvdG5pY2vDqSB6YcWZw616ZW7DrSBhIEhsYXZuw60gemtvdcWhZWrDrWPDrQ0KSW52ZXN0aWdhdG9yIGhlcmVieSBkZWNsYXJlIHRoYXQgdGhleSBhcmUJdMOtbXRvIHByb2hsYcWhdWppLCDFvmUganNvdSBzaSB2xJtkb21pLCDFvmUNCmF3YXJlIHRoYXQsIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgbGF3cwl2IHNvdWxhZHUgcyBwcsOhdm7DrW0gxZnDoWRlbSDEjGVza8OpDQpvZiB0aGUgQ3plY2ggUmVwdWJsaWMgYW5kIG5vcm1zIG9mIHJlcHVibGlreSBhIG5vcm1hbWkgbWV6aW7DoXJvZG7DrWhvIHByw6F2YQ0KaW50ZW1hdGlvbmFsIGxhdywgaXQgaXMgY29tcGxldGVseQlqZSB6Y2VsYSB6YWvDoXrDoW5vIHBvc2t5dG5vdXQsIG5hYsOtZG5vdXQNCnByb2hpYml0ZWQgdG8gcHJvdmlkZSwgb2ZmZXIsIG9yCW5lYm8gc2NodsOhbGl0IHBvc2t5dG51dGkgxI1laG9rb2xpdg0KMTZvZjM1CUtpJ2Fpc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuLQ0KQ3plY2ggUmVwdWJsaWMNCmZpbmEpIHZjcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3TDumNvbCBudW1iZXI6IEFaVC1PT0kgRWFzdEhPUk4gc3R1ZHkgY29kbzogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OyBDbGlpaWljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBlb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09JIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSZXB1YmxpYyBTcG9uc29yOiBBWlRiZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGJlcmFwaWVzIEluYy4NCmF1dGhvcml6ZSB0aGUgcHJvdmlzaW9uIG9mIGFueXRoaW5nIG9mDQp2YWx1ZSB0byBhbnkgcHVibGljIG9mZmljaWFsLCBlaXRoZXINCmRpcmVjdGx5IG9yIHRocm91Z2ggaW50ZXJtZWRpYXJpZXMsIGZvcg0KdGhlIHB1cnBvc2Ugb2YgaW5mbHVlbmNpbmcgYW55IGFjdCBvcg0KZGVjaXNpb24gb3Igb3RoZXIgb2ZmaWNpYWwgYWN0aW9uIG9mIHRoZQ0KcGVyc29uLCBvciBpbiBvcmRlciB0byBvYnRhaW4gYW4gdW5mYWlyDQphZHZhbnRhZ2UuIFRoaXMgcHJvaGliaXRpb24gaW5jbHVkZXMsDQpidXQgaXMgbm90IGxpbWl0ZWQgdG8sIHByb3ZpZGluZywgb2ZmZXJpbmcNCm9yIGFwcHJvdmluZyBhbnkgdHJhbnNmZXIgb2YgZmluYW5jaWFsDQpjb250cmlidXRpb24sIGFzIHdlbGwgYXMgdGhlIHBlcmZvcm1hbmNlDQpvZiBub24tbW9uZXRhcnksIHN1Y2ggYXMgZ2lmdHMsIGdyYW50cw0Kb3IgdGVuZGVycyB0byBzZWVrIGVtcGxveW1lbnQsIHRvDQppbmZsdWVuY2UgYSBwdWJsaWMgb2ZmaWNpYWwgb3IgdG8gc2VlayBhbg0KdW5mYWlyIGFkdmFudGFnZS4NCihkKSBTaG91bGQgdGhlIFNwb25zb3IgYXNjZXJ0YWluIHRoYXQgdGhlDQpJbnN0aXR1dGlvbiBhbmQvb3IgdGhlIFByaW5jaXBhbA0KSW52ZXN0aWdhdG9yIGhhdmUgdmlvbGF0ZWQgb2JsaWdhdGlvbnMNCnNldCBmb3J0aCBpbiB0aGlzIEFydGljbGUsIHRoZSBTcG9uc29yDQphbmQvb3IgdGhlIENSTyBtYXkgdGVybWluYXRlIHRoaXMNCkFncmVlbWVudCBpbiBhY2NvcmRhbmNlIHdpdGggQXJ0LiAxOA0KaGVyZW9mLg0KMTQuIEludmVudGlvbnMNClRoZSBJbnN0aXR1dGlvbiBoZXJlYnkgYWNrbm93bGVkZ2VzIHRoYXQNCnRoZSBTcG9uc29yIHNoYWxsIG93biB0aGUgZXhjbHVzaXZlIHJpZ2h0IHRvDQphbnkgYW5kIGFsbCBpbnZlbnRpb25zIG9yIGRpc2NvdmVyaWVzLA0Kd2hldGhlciBwYXRlbnRhYmxlIG9yIG5vdCwgd2hpY2ggYXJlDQpjb25jZWl2ZWQgb3IgcmVkdWNlZCB0byBwcmFjdGljZSBkdXJpbmcgdGhlDQpjb3Vyc2Ugb2YgdGhlIFN0dWR5IGJ5IHRoZSBQcmluY2lwYWwNCkludmVzdGlnYXRvciBvciB0aGUgSW5zdGl0dXRpb24sIGFueSBzdWItDQppbnZlc3RpZ2F0b3Igb3IgYW55IG9mIHJlc3BlY3RpdmUgZW1wbG95ZWVzDQpvciBhZ2VudHMgb2YgdGhlIEluc3RpdHV0aW9uLiBUaGUgSW5zdGl0dXRpb24NCnNoYWxsIHByb21wdGx5IG5vdGlmeSB0aGUgQ1JPIGluIHdyaXRpbmcgb2YNCmFueSBzdWNoIGludmVudGlvbiBvciBkaXNjb3ZlcnkgYW5kIHNoYWxsDQpmdWxseSBjb29wZXJhdGUgd2l0aCB0aGUgU3BvbnNvciBhbmQgdGhlDQpDUk8gdG8gdHJhbnNmZXIgYW55IHJpZ2h0cyB0aGVyZWluIHRvIHRoZQ0KU3BvbnNvciBhbmQgdG8gb2J0YWluIHBhdGVudHMgb3Igb3RoZXIgbGVnYWwNCnByb3RlY3Rpb25zIHRoZXJlb24uIFRoZSBJbnN0aXR1dGlvbiBzaGFsbA0KdW5kZXJ0YWtlIGFsbCBhY3Rpb25zLCBpbmNsdWRpbmcgYW4NCjE3DQpjZW5uw6lobyDDusWZZWRuw61tIG9zb2LDoW0sIGEgdG8gamFrIHDFmcOtbW8sDQp0YWsgcHJvc3TFmWVkbmljdHbDrW0genByb3N0xZllZGtvdmF0ZWxlLCB6YQ0Kw7rEjWVsZW0gb3ZsaXZuxJtuw60gamVkbsOhbmkgbmVibyByb3pob2RudXRpDQrEjWkgamluw71jaCDDumtvbsWvIMO6xZllZG7DrSBvc29ieSwgbmVibyB6YQ0Kw7rEjWVsZW0gesOtc2vDoW5pIG5lb3Byw6F2bsSbbsOpIHbDvWhvZHkuDQpUZW50byB6w6FrYXogc2Ugdnp0YWh1amUgemVqbcOpbmEgbmENCnDFmcOtcGFkeSBwb3NreXRvdsOhbsOtLCBuYWLDrXplbsOtIG5lYm8NCnNvdWhsYXN1IHMgcMWZZXZvZGVtIHBlbsSbxb5uw61obyBwbG7Em27DrSwNCnN0ZWpuxJsgamFrbyBwbG7Em25pIG5lcGVuxJvFvml0w6lobywgbmFwxZnDrWtsYWQNCmRhcsWvLCBwxZnDrXNwxJt2a8WvIG5lYm8gbmFiw61kZWsNCmsgcHJhY292bsOtbXUgdXBsYXRuxJtuw60sIHphIMO6xI1lbGVtDQpvdmxpdm7Em25pIMO6xZllZG7DrSBvc29ieSBuZWJvIHrDrXNrw6Fuw60NCm5lb3Byw6F2bsSbbsOpIHbDvWhvZHkuDQpkKVYgcMWZw61wYWTEmywgxb5lIFphZGF2YXRlbCB6amlzdMOtLCDFvmUgc2UNClpkcmF2b3RuaWNrw6kgemHFmcOtemVuw60gYS9uZWJvIEhsYXZuw60NCnprb3XFoWVqw61jw60gcG9ydcWhaWxpIHBvdmlubm9zdGkgdXZlZGVuw6kNCnYgdG9tdG8gxI1sw6Fua3UsIGpzb3UgWmFkYXZhdGVsIGEvbmVibyBDUk8NCm9wcsOhdm7Em25pIHVrb27EjWl0IHBsYXRub3N0IHTDqXRvIFNtbG91dnkNCnYgc291bGFkdSBzIMSMSS4gMTggdMOpdG8gU21sb3V2eS4NCjE0LiBWdm7DoWxlenYNClpkcmF2b3RuaWNrw6kgemHFmcOtemVuw60gdMOtbXRvIHBvdHZyenVqZSwgxb5lDQpaYWRhdmF0ZWwgYnVkZSBtw610IHbDvWhyYWRuw60gcHLDoXZvIGtlIHbFoWVtDQp2eW7DoWxlesWvbSBuZWJvIG9iamV2xa9tLCBiZXogb2hsZWR1IG5hDQpqZWppY2ggcGF0ZW50b3ZhdGVsbm9zdCwga3RlcsOpIGJ1ZG91DQp2IHByxa9ixJtodSBLbGluaWNrw6lobyBob2Rub2NlbsOtDQp2eXByYWNvdsOhbnkgbmVibyB1dmVkZW55IGRvIHByYXhlDQpIbGF2bsOtbSB6a291xaFlasOtY8OtbSBuZWJvIFpkcmF2b3RuaWNrw71tDQp6YcWZw616ZW7DrW0sIGpha8O9bWtvbGkgc3BvbHV6a291xaFlasOtY8OtbQ0KbmVibyB6YW3Em3N0bmFuY2kgbmVibyB6w6FzdHVwY2kNClpkcmF2b3RuaWNrw6lobyB6YcWZw616ZW7DrS4gWmRyYXZvdG5pY2vDqQ0KemHFmcOtemVuw60gYnVkZSBvIHRha292w6ltIHZ5bsOhbGV6dSBuZWJvDQpvYmpldnUgbmVwcm9kbGVuxJsgcMOtc2VtbsSbIGluZm9ybW92YXQNCkNSTyBhIGJ1ZGUgcGxuxJsgc3BvbHVwcmFjb3ZhdCBzZQ0KWmFkYXZhdGVsZW0gYSBDUk8sIGFieSBwcsOhdmEgayBuxJttdQ0KcMWZZXZlZGwgbmEgWmFkYXZhdGVsZSBhIHrDrXNrYWwgcHJvIG7Em2oNCnBhdGVudHkgbmVibyBqaW5vdSBwcsOhdm7DrSBvY2hyYW51Lg0KUWYzNQlLaSdhaXNrw6EgbmVtb2NuaWNlIExpYmVyZWMgYS5zLi0NCkN6ZWNoIFJjcHVibGljDQpmaW7DoWwgdmVyc2lvaWkgMS4wIGRhdGVkIDAzMDgyMDE2DQoMRSBmbCBTIFQNCkM6aW5sQ0VsU0VyLGljczVpbkNFRQ0KUHJvdG9jb2wgbnVtYmVyOiBBWlQtT09sIEVhc3RIT1JOIHN0dWR5IGNvZG86IDMzMDEgVHlwZSBvZiBjb250cmFjdDsgQ2xpaWlpY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PbCBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOiAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvbnNvcjogQVpUYmVyYXBpZXMgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRiZXJhcGllcyBJbmMuDQphZ3JlZW1lbnQgdHJhbnNmZXJyaW5nIGludGVsbGVjdHVhbCBwcm9wZXJ0eQ0KcmlnaHRzLCB3aGljaCBhcmUgbmVjZXNzYXJ5IG9yIGFkdmlzYWJsZSBpbg0Kb3JkZXIgdG8gdHJhbnNmZXIgYWxsIGludGVsbGVjdHVhbCBwcm9wZXJ0eQ0KcmlnaHRzIHRvIHRoZSBTcG9uc29yLiBBZ3JlZW1lbnRzDQp0cmFuc2ZlcnJpbmcgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBzaGFsbA0KYmUgY29uY2x1ZGVkIGZyZWUgb2YgY2hhcmdlLg0KWmRyYXZvdG5pY2vDqSB6YcWZaXplbmkgcG9kbmlrbmUgdmXFoWtlcsOpDQprcm9reSwgdsSNZXRuxJsgdXphdsWZZW5pIHNtbG91dnkgcMWZZXbDoWTEm2rDrWPDrQ0KcHLDoXZhIGR1xaFldm7DrWhvIHZsYXN0bmljdHbDrSwga3RlcsOpIGpzb3UNCm5lemJ5dG7DqSBuZWJvIMO6xI1lbG7DqSBrIHDFmWV2b2R1IHByw6F2DQpkdcWhZXZuw61obyB2bGFzdG5pY3R2w60gbmEgWmFkYXZhdGVsZS4NClNtbG91dnkgcMWZZXbDoWTEm2rDrWPDrSBwcsOhdmEgZHXFoWV2bsOtaG8NCnZsYXN0bmljdHbDrSBidWRvdSB1emF2w61yw6FueSBiZXpwbGF0bsSbLg0KMTUuIFN1YmplY3QgSW5qdXJ5IFJlaW1idXJzZW1lbnQJMTUuIE7DoWhyYWRhIMWha29kdiBuYSB6ZHJhdsOtIFN1Ympla3R1DQpob2Rub2NlbsOtDQpUaGUgU3BvbnNvciBzaGFsbCByZWltYnVyc2UgdGhlIEluc3RpdHV0aW9uCVphZGF2YXRlbCBuYWhyYWTDrSBaZHJhdm90bmlja8OpbXUgemHFmcOtemVuaQ0KZm9yIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBjb3N0czoJbsOhc2xlZHVqw61jw60gZG9kYXRlxI1uw6kgbsOha2xhZHk6DQooYSkJYWxsIHJlYXNvbmFibGUgYW5kIGN1c3RvbWFyeSBjb3N0cwkoYSkgdmXFoWtlcsOpIHDFmWltxJvFmWVuw6kgYSBvYnZ5a2zDqSBuw6FrbGFkeQ0KaW5jdXJyZWQgYnkgdGhlIEluc3RpdHV0aW9uIGFuZAl2eW5hbG/FvmVuw6kgWmRyYXZvdG5pY2vDvW0gemHFmcOtemVuw61tIGENCmFzc29jaWF0ZWQgd2l0aCB0aGUgZGlhZ25vc2lzIG9mIGFuCXNwb2plbsOpIHMgZGlhZ27Ds3pvdSBuZcW+w6Fkb3Vjw60gcMWZw61ob2R5DQphZHZlcnNlIGV2ZW50IMOtbnZvbHZpbmcgdGhlIElNUCBvcgl2IHNvdXZpc2xvc3RpIHMgSG9kbm9jZW7DvW0gbMOpxI1pdmVtIG5lYm8NClByb3RvY29sIHByb2NlZHXFmWU7IGFuZAlwcm9jZWR1cm91IHBvZGxlIFByb3Rva29sdTsgYQ0KKGIpCWFsbCByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkgY29zdHMJKGIpIHZlxaFrZXLDqSBwxZlpbcSbxZllbsOpIGEgb2J2eWtsw6kgbsOha2xhZHkNCmluY3VycmVkIGZvciBhIHRyZWF0bWVudCBvZiBhbiBpbmp1cnkgdG8JdnluYWxvxb5lbsOpIG5hIGzDqcSNYnUgxaFrb2R5IG5hIHpkcsOhdmkNCnRoZSBTdHVkeSBzdWJqZWN0IGlmIGFuIGFkdmVyc2UgZXZlbnQJU3ViamVrdHUgaG9kbm9jZW7DrSwgamVzdGxpxb5lIGRhbsOhDQp3YXMgcmVsYXRlZCB0byB0aGUgYWRtaW5pc3RyYXRpb24gb2YgdGhlCW5lxb7DoWRvdWPDrSBwxZnDrWhvZGEgc291dmlzZWxhIHMgcG9kw6Fuw61tDQpJTVAgb3IgYSBQcm90b2NvbCBwcm9jZWR1xZllOyBwcm92aWRlZC4JSG9kbm9jZW7DqWhvIGzDqcSNaXZhIG5lYm8gcHJvY2VkdXJvdQ0KaG93ZXZlciwgdGhhdDoJcG9kbGUgUHJvdG9rb2x1LCBvdsWhZW0gemEgcMWZZWRwb2tsYWR1LA0Kxb5lOg0KKGlpKQl0aGUgYWR2ZXJzZSBldmVudCBpcyBub3QNCmF0dHJpYnV0YWJsZSB0byB0aGUgbmVnbGlnZW5jZSBvcgkoaWkpIG5lxb7DoWRvdWPDrSBwxZnDrWhvZGEgbmVuw60gemF2aW7Em25hDQptaXNjb25kdWN0IGJ5IHRoZSBQcmluY2lwYWwJb3BvbWVudXTDrW0gbmVibyBwb2NoeWJlbsOtbQ0KSW52ZXN0aWdhdG9yLCB0aGUgSW5zdGl0dXRpb24sIG9yCUhsYXZuw61obyB6a291xaFlasOtY8OtaG8sDQphbnkgU3ViaW52ZXN0aWdhdG9yIG9yIGFnZW50IG9mCVpkcmF2b3RuaWNrw6lobyB6YcWZaXplbmkgbmVibw0KZWl0aGVyb2Z0aGVtOwluxJtrdGVyw6lobyBqZWppY2ggc3BvbHV6a291xaFlamljw61obw0KKGlpaSkJdGhlIGFkdmVyc2UgZXZlbnQgaXMgbm90CcSNaSB6w6FzdHVwY2U7DQphdHRyaWJ1dGFibGUgdG8gYW55IHVuZGVybHlpbmcJKGlpaSkgbmXFvsOhZG91Y8OtIHDFmcOtaG9kYSBuZW5pIHphdmluxJtuYQ0KaWxsbmVzcyBvZiB0aGUgU3R1ZHkgc3ViamVjdCwJamFrw71ta29saXYgcMWZZWRjaG96w61tDQp3aGV0aGVyIHByZXZpb3VzbHkgZGlhZ25vc2VkIG9yCW9uZW1vY27Em27DrW0gU3ViamVrdHUgaG9kbm9jZW7DrSwNCm5vdDsJYmV6IG9obGVkdSBuYSB0bywgemRhIGJ5bG8gxI1pDQooaXYpCXRoZSBJTVAgb3IgdGhlIFByb3RvY29sCW5lYnlsbyBkxZnDrXZlIGRpYWdub3N0aWtvdsOhbm87DQpwcm9jZWR1xZllIHdhcyBhZG1pbmlzdGVyZWQgaW4JKGl2KSBIb2Rub2NlbsOpIGzDqcSNaXZvIG5lYm8gcHJvY2VkdXJhDQoxOG9mMzUJS2knYWlza8OhIG5lbW9jbmljZSBMaWJlcmVjIGEucy4tDQpDemVjaCBSY3B1YmxpYw0KZmluw6FsIHZlcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PbCBFYXN0SE9STiBzdHVkeSBjb2RvOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q7IENsaW5pY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PbCBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOyAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvbnNvcjogQVpUYmVyYXBpZXMgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRiZXJhcGllcyBJbmMuDQphY2NvcmRhbmNlIHdpdGggdGhlIFByb3RvY29sOyBhbmQJZGxlIFByb3Rva29sdSBieWx5IGFwbGlrb3bDoW55DQoodmkpIHRoZSBpbmp1cnkgKGluY2x1ZGluZyBkZWF0aCkgaGFzCXYgc291bGFkdSBzIFByb3Rva29sZW07IGENCm5vdCBiZWVuIGNhdXNlZCB3aG9sbHkgb3IgcGFydGx5CSh2aSkgcG/FoWtvemVuaSB6ZHLDoXZpICh2xI1ldG7EmyBzbXJ0aSkNCmJ5IHRoZSB0cmlhbCBzdWJqZWN0IG9yIGJ5IGhpcy9oZXIJbmVieWxvIHpwxa9zb2Jlbm8gemNlbGEgbmVibw0KbGVnYWwgZ3VhcmRpYW4uIFRoaXMgc2hhbGwgbm90CcSNw6FzdGXEjW7EmyBzdWJqZWt0ZW0gaG9kbm9jZW5pDQphcHBseSBpbiBjYXNlcyB3aGVyZSB0aGUJbmVibyBqZWhvIHrDoWtvbm7DvW0gesOhc3R1cGNlbS4NCkluc3RpdHV0aW9uIGhhcyBjb25zaXN0ZW50bHkgYW5kCVRvIG5lcGxhdGkgdiBwxZnDrXBhZGVjaCwga2R5DQpkdWx5IGNvbnRlc3RlZCBzdWNoIHN1YmplY8WlcwlaZHJhdm90bmlja8OpIHphxZnDrXplbsOtIGTFr3NsZWRuxJsgYQ0KY2xhaW0gZm9yIGRhbWFnZXMgaW5jdXJyZWQJxZnDoWRuxJsgbmFwYWRhbG8gdHZyemVuaSBzdWJqZWt0dQ0KdGhlcmVieSBpbiB0aGUgcmVsZXZhbnQgbGl0aWdhdGlvbiwJaG9kbm9jZW7DrSB2IGRhbsOpbSBzb3VkbsOtbSBzcG9ydSwNCnBhcnRpY3VsYXJseSBieSBzdGF0aW5nIGFuZAl6ZWptw6luYSB0w61tLCDFvmUgdXbDoWTEm2xvIGENCnByb3ZpbmcgKGluIGNvb3BlcmF0aW9uIHdpdGggdGhlCWRva2zDoWRhbG8gKHZlIHNwb2x1cHLDoWNpIHNlDQpTcG9uc29yIGFuZC9vciB0aGUgUHJpbmNpcGFsCVphZGF2YXRlbGVtIGEgLyBuZWJvIEhsYXZuw61tDQpJbnZlc3RpZ2F0b3IsIGlmIHJlcXVpcmVkKSBhbGwgZmFjdHMJemtvdcWhZWrDrWPDrW0sIHYgcMWZw61wYWTEmyBwb3TFmWVieSkNCmNvbmNlcm5pbmcgdGhlIGZhdWx0IHdoZXJlYnkgdGhlCXZlxaFrZXLDqSBza3V0ZcSNbm9zdGkgdMO9a2Fqw61jw60gc2UNCnRyaWFsIHN1YmplY3Qgb3IgaGlzL2hlciBsZWdhbAlwb2NoeWJlbmksIGtkeSBzdWJqZWt0IGhvZG5vY2VuaQ0KZ3VhcmRpYW4gd2hvbGx5IG9yIHBhcnRseSBjYXVzZWQJbmVibyBqZWhvIHrDoWtvbm7DvSB6w6FzdHVwY2UgemNlbGENCnN1Y2ggZGFtYWdlLCB1c2luZyBhbGwgYXZhaWxhYmxlCW5lYm8gesSNw6FzdGkgemFwxZnDrcSNaW5pbGkgdGFrb3bDqQ0KbWVhbnMgb2YgZGVmZW5zZSAoaW5jbHVkaW5nCXBvxaFrb3plbmksIHMgdnl1xb5pdMOtbSB2xaFlY2gNCnJlZ3VsYXIgYW5kIGluIGp1c3RpZmllZCBjYXNlcyBhbHNvCWRvc3R1cG7DvWNoIHByb3N0xZllZGvFryBvYnJhbnkNCmV4dHJhb3JkaW5hcnkgcmVtZWRpZXMpIGFuZCwJKHbEjWV0bsSbIHByYXZpZGVsbsO9Y2ggYSB2DQpkZXNwaXRlIHRoZSBmb3JlZ29pbmcsIHN1Y2ggdHJpYWwJb2TFr3ZvZG7Em27DvWNoIHDFmcOtcGFkZWNoIGkNCnN1YmplY3QgaGFzIGJlZW4gZmluYWxseSBhbmQJbWltb8WZw6FkbsO9Y2ggb3ByYXZuw71jaA0KZWZmZWN0aXZlbHkgYXdhcmRlZCBieSB0aGUJcHJvc3TFmWVka8WvKSwgYSBwxZllc3RvIGJ5bGEgc3ViamVrdHUNCnJlbGV2YW50IGNvdXJ0IHRoZSBkYW1hZ2VzIHRvIGJlCWhvZG5vY2VuaSBwcmF2b21vY27EmyB1ZMSbbGVuYQ0KcGFpZCBieSB0aGUgSW5zdGl0dXRpb24JcMWZw61zbHXFoW7DvW0gc291ZGVtIG7DoWhyYWRhIMWha29keSwNCm5vdHdpdGhzdGFuZGluZyB0aGUgZmF1bHQJa3RlcsOhIG3DoSBiw710IHVocmF6ZW5hDQp3aGVyZWJ5IHRoZSB0cmlhbCBzdWJqZWN0IGNhdXNlZAlaZHJhdm90bmlja8O9bSB6YcWZw616ZW7DrW0gYmV6DQooY29udHJpYnV0ZWQgdG8pIHRoZSBvY2N1cnJlbmNlCW9obGVkdSBuYSB6YXZpbsSbbmksIGtkeSBzdWJqZWt0DQpvZiBzdWNoIGRhbWFnZS4JaG9kbm9jZW5pIHpwxa9zb2JpbCAocMWZaXNwxJtsIGspDQp2em5payB0YWtvdsOpIMWha29keS4NCjE2LiBJbnN1cmFuY2UJMTYuIFBvamnFoXTEm27DrQ0KVGhlIFNwb25zb3IgaGVyZXRvIGFja25vd2xlZGdlcywgdGhhdCBpbglaYWRhdmF0ZWwgcHJvaGxhxaF1amUsIMW+ZSB2IHNvdWxhZHUgcyDCpyA1MiwNCmFjY29yZGFuY2Ugd2l0aCDCpyA1MiwgcGFyLiAzLCBsZXR0ZXIgZikgQWN0IG9uCW9kc3QuIDMsIHBpc20uIGYpIHrDoWtvbmEgxI0uIDM3OC8yMDA3IFNiLiwgbw0KRHJ1Z3MgTm8uIDM3OC8yMDA3IENvbGwuLCBhcyBhbWVuZGVkLAlsw6nEjWl2ZWNoLCB2IHBsYXRuw6ltIHpuxJtuw60sIHphamlzdGlsIG5hIGNlbG91DQpjb250cmFjdCBJbnN1cmFuY2Ugb2YgbGlhYmlsaXR5IGZvciBkYW1hZ2UJZG9idSBwcm92w6FkxJtuw60gS2xpbmlja8OpaG8gaG9kbm9jZW5pDQpmb3IgdGhlIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3IgYW5kIHRoZQlwb2ppxaF0xJtuaSBvZHBvdsSbZG5vc3RpIHphIMWha29kdSBwcm8gSGxhdm7DrWhvDQpTcG9uc29yIGhhcyBiZWVuIGVuc3VyZWQgZm9yIHRoZSBTdHVkeSwJemtvdcWhZWrDrWPDrWhvIGEgWmFkYXZhdGVsZSwgamVob8W+DQpUaGlzIHBvbGljeSBhbHNvIGR1bHkgY292ZXJzIGNvbXBlbnNhYmxlCXByb3N0xZllZG5pY3R2w61tIGplIHphamnFoXTEm25vIGkgb2TFoWtvZG7Em25pDQoxOW9mMzUJS2knYWlza8OhIG5lbW9jbmljZSBMaWJlcmVjIGEucy4tDQpDemVjaCBSY3B1YmxpYw0KZmluw6FsIHZlcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PbCBFYXN0SE9STiBzdHVkeSBjb2RvOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q7IENsaWlpaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGNvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dGlvbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT2wgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb25zb3I6IEFaVGJlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUYmVyYXBpZXMgSW5jLg0KZGVhdGggb2YgdGhlIFN0dWR5IHN1YmplY3Qgb3IgY29tcGVuc2F0aW9uDQpvZiB0aGUgc3ViamVjdCBpbiBvYXNlIG9mIGluanVyeSByZXN1bHRpbmcNCmZyb20gYW5kIHN1c3RhaW5lZCBpbiBjb3Vyc2Ugb2YNCnBlcmZvcm1hbmNlIG9mIHRoZSBTdHVkeS4NCnYgcMWZw61wYWTEmyBzbXJ0aSBTdWJqZWt0dSBob2Rub2NlbsOtIG5lYm8NCnYgcMWZw61wYWTEmyDFoWtvZHkgdnpuaWtsw6kgbmEgemRyYXbDrSBTdWJqZWt0dQ0KaG9kbm9jZW7DrSB2IGTFr3NsZWRrdSBwcm92w6FkxJtuw60gS2xpbmlja8OpaG8NCmhvZG5vY2Vuw60uDQoxNy4gSW5kZW1uaWZpY2F0aW9uDQooYSkgSW4gY29uc8OtZGVyYXRpb24gb2YgdGhlIHBlcmZvcm1hbmNlIG9mDQp0aGUgb2Jsw61nYXTDrW9ucyBzZXQgZm9ydGggaGVyZcOtbiBieSB0aGUNClByaW5jaXBhbCBJbnZlc3RpZ2F0b3IsIHRoZSBJbnN0aXR1dGlvbiBhbmQNCmVtcGxveWVlcyBvZiB0aGUgSW5zdGl0dXRpb24gKGNvbGxlY3RpdmVseSwNCiJJbmRlbW5pdGVlcyIpLCB0aGUgU3BvbnNvciBzaGFsbCBpbmRlbW5pZnkNCmVhY2ggSW5kZW1uaXRlZSBmb3IgYW55IGRhbWFnZXMgYW5kIGluanVyeQ0KY2F1c2VkIChjb2xsZWN0aXZlbHkgIkxvc3MiKSB3aMOtY2ggbWF5DQphcsOtc2UgZnJvbSBhIFN0dWR5IHN1YmplY3QgY2xhw61tIG9yIHN1aXQNCmFsbGVnw61uZyBwaHlzw61jYWwgaW5qdXJ5IHRvIGEgU3R1ZHkgc3ViamVjdA0KYXLDrXPDrW5nIGZyb20gYXBwbMOtY2F0w61vbiBvZiB0aGUgSU1QIG9yIGFueQ0KcHJvY2VkdcWZZSBhZG3DrW7DrXN0ZXJlZCBpbiBhY2NvcmRhbmNlIHfDrXRoDQp0aGUgUHJvdG9jb2w7IHByb3bDrWRlZCwgaG93ZXZlciB0aGF0Og0KKGkpIHRoZSBJbmRlbW5pdGVlcyBzaGFsbCBoYXZlIGNvbXBsw61lZA0Kd8OtdGggYWxsIGFwcGzDrWNhYmxlIGxhd3MgYW5kIHJlZ3VsYXRpb25zDQoow61uY2x1ZMOtbmcgb2J0YcOtbmluZyBJbmZvbm5lZCBDb25zZW50cw0KRm9ybSksIHRoZSBQcm90b2NvbCBhbmQgYWxsDQpyZWNvbW1lbmRhdGlvbnMgZnVtaXNoZWQgYnkgdGhlDQpTcG9uc29yIG9yIHRoZSBDUk8gZm9yIHRoZSB1c2UgYW5kDQphZG3DrW7DrXN0cmF0aW9uIG9mIGFueSBJTVA7DQoow63DrSkgdGhlIFNwb25zb3Igw61zIHByb21wdGx5IG5vdGlmaWVkIGluDQp3csOtdMOtbmcgb2YgYW55IHN1Y2ggY2xhw61tOw0KKGnDrcOtKXRoZSBJbmRlbW5pdGVlcyBjb29wZXJhdGUgZnVsbHkgaW4gdGhlDQrDrW52ZXN0w61nYXTDrW9uIGFuZCBkZWZlbnNlIG9mIGFueSBzdWNoDQpjbGHDrW07DQoow612KXRoZSBTcG9uc29yIHJldGHDrW5zIHRoZSByw61naHQgdG8gZGVmZW5kDQphbnkgY2xhw61tIG9yIHN1aXQgaW4gYW55IG1hbm5lciBpdA0KZGVlbXMgYXBwcm9wcmlhdGU7IGFuZA0KKHYpIHRoZSBTcG9uc29yIHNoYWxsIGhhdmUgdGhlIHNvbGUgcsOtZ2h0IHRvDQpzZXR0bGUgdGhlIGNsYcOtbTsgcHJvdsOtZGVkLCBob3dldmVyLCB0aGF0DQoyMA0KMTcuIE7DoWhyYWRhIMWha29kdg0KKGEpIFNlIHrFmWV0ZWxlbSBuYSBwbG7Em27DrSBwb3Zpbm5vc3RpDQp1dmVkZW7DvWNoIHYgdMOpdG8gU21sb3V2xJsgSGxhdm7DrW0NCnprb3XFoWVqw61jw61tLiBaZHJhdm90bmlja8O9bSB6YcWZw616ZW7DrW0gYQ0KemFtxJtzdG5hbmNpIFpkcmF2b3RuaWNrw6lobyB6YcWZw616ZW7DrQ0KKHNwb2xlxI1uxJsg4oCeWmFqacWhdMSbbsOpIG9zb2J5IikgWmFkYXZhdGVsDQprYcW+ZG91IFphamnFoXTEm25vdSBvc29idSBvZMWha29kbsOtIHphIMWha29kdSBhDQp6cMWvc29iZW5vdSDDumptdSAoc3BvbGXEjW7EmyDigJ7FoGtvZGEiKSwga3RlcsOpDQpieSBtb2hseSB2eXBseW5vdXQgeiBuw6Fyb2t1IFN1Ympla3R1DQpob2Rub2NlbsOtIG5lYm8gdMWZZXTDrSBzdHJhbnkgcG/FvmFkdWrDrWPDrW0NCm7DoWhyYWR1IMWha29keSBuYSB6w6FrbGFkxJsgxaFrb2R5IG5hIHpkcmF2w60NClN1Ympla3R1IGhvZG5vY2Vuw60gdnlwbMO9dmFqw61jw60geiBwb2TDoW7DrQ0KSG9kbm9jZW7DqWhvIGzDqcSNaXZhIG5lYm8gamFrw6lob2tvbGl2DQpwb3N0dXB1IHByb3ZlZGVuw6lobyB2IHNvdWxhZHUgcyBQcm90b2tvbGVtLA0Kb3bFoWVtIHphIHDFmWVkcG9rbGFkdSwgxb5lOg0KKMOtKSBaYWppxaF0xJtuw6kgb3NvYnkgZG9kcsW+ZWx5IHZlxaFrZXLDqSBwbGF0bsOpDQpwcsOhdm7DrSBwxZllZHBpc3kgKHbEjWV0bsSbIHrDrXNrw6Fuw60NCmluZm9ybW92YW7DqWhvIHNvdWhsYXN1KS4gUHJvdG9rb2wgYQ0KdmXFoWtlcsOhIHDDrXNlbW7DoSBkb3BvcnXEjWVuw60gZGFuw6ENClphZGF2YXRlbGVtIG5lYm8gQ1JPIHBybyB1xb7DrXbDoW7DrSBhDQpwb2TDoXbDoW7DrSBIb2Rub2NlbsOpaG8gbMOpxI1pdmE7DQooacOtKSBaYWRhdmF0ZWwgYnVkZSBvIGthxb5kw6ltIHRha292w6ltDQpuw6Fyb2t1IG5lcHJvZGxlbsSbIHDDrXNlbW7EmyBpbmZvcm1vdsOhbjsNCihpaWkpIFphamnFoXTEm27DqSBvc29ieSBidWRvdSB1IGthxb5kw6lobw0KdGFrb3bDqWhvIG7DoXJva3UgcGxuxJsgc3BvbHVwcmFjb3ZhdCBuYQ0KdnnFoWV0xZlvdsOhbsOtIGEgcHJvY2VzbsOtIG9icmFuxJs7DQoow612KSBaYWRhdmF0ZWwgc8OtIHBvbmVjaMOhdsOhIHByw6F2byBwcm9jZXNuxJsgc2UNCmJyw6FuaXQgcHJvdGkgamFrw6ltdWtvbGkgbsOhcm9rdSDEjWkgxb5hbG9ixJssDQpqYWsgYnVkZSBwb3Zhxb5vdmF0IHphIHZob2Ruw6ksIGENCih2KSBaYWRhdmF0ZWwgbcOhIHbDvWhyYWRuw60gcHLDoXZvIG7DoXJvaw0Kdnlwb8WZw6FkYXQsIG92xaFlbSB6YSBwxZllZHBva2xhZHUsIMW+ZQ0KUWYzNQlLaSdhaXNrw6EgbmVtb2NuaWNlIExpYmVyZWMgYS5zLi0NCkN6ZWNoIFJjcHVibGljDQpmaW7DoWwgdmVyc2lvaWkgMS4wIGRhdGVkIDAzMDgyMDE2DQoMRSBmbCBTIFQNCiheXkhPUm4NCkM6aW5sQ0VsU0VyLGljczVpbkNFRQ0KUHJvdG9jb2wgbnVtYmVyOiBBWlQtT09sIEVhc3RIT1JOIHN0dWR5IGNvZG86IDMzMDEgVHlwZSBvZiBjb250cmFjdDsgQ2xpbmljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBjb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09sIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE7IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSY3B1YmxpYyBTcG9uc29yOiBBWlRoZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGhlcmFwaWVzIEluYy4NCnRoZSBTcG9uc29yIHNoYWxsIG5vdCBhZGluaXQgZmF1bHQgb24gdGhlCW5lcMWZaXB1c3TDrSB6YXZpbsSbbmkgam3DqW5lbSBaYWppxaF0xJtuw71jaA0KSW5kZW1uaXRlZXMnIGJlaGFsZiB3aXRob3V0IHRoZQlvc29iIGJleiBwxZllZGNob3rDrWhvIHDDrXNlbW7DqWhvIHN2b2xlbmkNCkluZGVtbml0ZWVzJyBhZHZhbmNlIHdyaXR0ZW4JWmFqacWhdMSbbsO9Y2ggb3NvYi4NCnBlcm1pc3Npb24uDQooYikgTm90d2l0aHN0YW5kaW5nIHRoZSBhZm9yZW1lbnRpb25lZCwgdGhlDQpTcG9uc29yJ3Mgb2JsaWdhdGlvbiBvZiBpbmRlbW5pZmljYXRpb24NCnNoYWxsIG5vdCBleHRlbmQgdG8gYW55IExvc3MgdG8gdGhlIGV4dGVudA0Kc3VjaCBMb3NzIGFyaXNlcyBmcm9tIHRoZSBuZWdsaWdlbmNlLA0Kd2lsbGZ1bCBtYWxmZWFzYW5jZSBvciBtYWxwcmFjdGljZSBieSBhbnkNCm9mIHRoZSBJbmRlbW5pdGVlcywgaXQgYmVpbmcgdW5kZXJzdG9vZCB0aGF0DQp0aGUgYWRtaW5pc3RyYXRpb24gb2YgYW55IHN1YnN0YW5jZSBpbg0KYWNjb3JkYW5jZSB3aXRoIHRoZSBQcm90b2NvbCBzaGFsbCBub3QNCmNvbnN0aXR1dGUgbmVnbGlnZW5jZSBvciBtYWxwcmFjdGljZSBmb3INCnB1cnBvc2VzIG9mIHRoaXMgQWdyZWVtZW50Lg0KMTguIFN0dWR5IC8gQTJyZWVtZW50IFRlcm1sbmF0aW9uDQooYSkgVGhlIFN0dWR5IHNoYWxsIGJlIGVuZGVkIGJ5IGRlbGl2ZXJpbmcNCmNvbXBsZXRlbHkgYW5kIGNvcnJlY3RseSBmaWxsZWQgZGF0YSBpbg0KZWxlY3Ryb25pYyBjYXNlIHJlcG9ydCBmb3JtcyAoQ1JGcykgb2YgYWxsDQpTdHVkeSBzdWJqZWN0cywgYW5zd2VyaW5nIGFsbCBxdWVyaWVzIGFuZA0KY2xhcmlmaWNhdGlvbnMgYnkgdGhlIEluc3RpdHV0aW9uIGFuZCB0aGUNClByaW5jaXBhbCBJbnZlc3RpZ2F0b3IsIGFuZCBmb2xsb3dpbmcgZnVsbA0Kc291cmNlIGRhdGEgdmVyaWZpY2F0aW9uIGJ5IHRoZSBjbGluaWNhbA0KbW9uaXRvciBhY2NvcmRpbmcgdG8gdGhlIG1vbml0b3JpbmcgcGlhbi4NCihiKSBUaGUgU3BvbnNvciBvciB0aGUgdGhlIEluc3RpdHV0aW9uIGlzDQplbnRpdGxlZCB0byB0ZXJtaW5hdGUgdGhlIGNvbnRyYWN0IGluIHdyaXR0ZW4NCndheSBhbm5vdW5jaW5nIHRoaXMgdG8gb3RoZXIgY29udHJhY3RlZA0KcGFydGllcywgZWZmZWN0aXZlIG9uIHRoZSBkYXkgbm90aWNlIGhhcyBiZWVuDQpkZWxpdmVyZWQgdG8gdGhlIGxhc3Qgb2YgY29udHJhY3RlZCBwYXJ0aWVzIGluDQpjYXNlcyBhcyBmb2xsb3dzOg0KKGIpIEJleiBvaGxlZHUgbmEgcMWZZWRjaG96w60gw7pwcmF2dSBzZQ0KWmFkYXZhdGVsb3ZhIHBvdmlubm9zdCBuw6FocmFkeSDFoWtvZHkNCm5ldnp0YWh1amUgbmEgxb7DoWRub3UgxaFrb2R1IHYgdGFrb3bDqSBtw63FmWUsIHZlDQprdGVyw6kgdnlwbMO9dsOhIHogbmVkYmFsb3N0aSwgw7pteXNsbsOpaG8NCnByb3RpcHLDoXZuw61obyBqZWRuw6FuaSBuZWJvIG5lb2Rib23DqWhvDQpwb3N0dXB1IG7Em2t0ZXLDqSB6ZSBaYWppxaF0xJtuw71jaCBvc29iLCBwxZlpxI1lbcW+DQpzZSByb3p1bcOtLCDFvmUgcG9kw6FuaSBqYWvDqWtvbGl2IGzDoXRreQ0KdiBzb3VsYWR1IHMgUHJvdG9rb2xlbSBuZXDFmWVkc3RhdnVqZSBwcm8NCsO6xI1lbHkgdMOpdG8gU21sb3V2eSBuZWRiYWxvc3QgYW5pIG5lb2Rib23DvQ0KcG9zdHVwLg0KMTguIFVrb27EjWVuw60gS2xpbmlja8OpaG8gaG9kbm9jZW7DrSAvDQpTbWxvdXZ5DQooYSkJS2xpbmlja8OpIGhvZG5vY2VuaSBidWRlIHVrb27EjWVubw0KcMWZZWTDoW7DrW0gw7pwbG7DqSBhIHNwcsOhdm7DqSB2eXBsbsSbbsO9Y2ggZGF0DQp2IGVsZWt0cm9uaWNrw71jaCBmb3JtdWzDocWZw61jaCB6w6F6bmFtxa8NCnN1Ympla3TFryBob2Rub2NlbmkgKENSRikgdsWhZWNoDQpTdWJqZWt0xa8gaG9kbm9jZW5pLCB6b2Rwb3bDqXplbsOtbSB2xaFlY2gNCmRvdGF6xa8gYSB2eXN2xJt0bGVuw60gemUgc3RyYW55DQpaZHJhdm90bmlja8OpaG8gemHFmcOtemVuaSBhIEhsYXZuw61obw0KemtvdcWhZWrDrWPDrWhvLCDDunBsbsO9bSBvdsSbxZllbsOtbQ0KemRyb2pvdsO9Y2ggZGF0IGtsaW5pY2vDvW0gbW9uaXRvcmVtDQpwb2RsZSBtb25pdG9yYcSNbmlobyBwbMOhbnUuDQooYikJWmFkYXZhdGVsIG5lYm8gWmRyYXZvdG5pY2vDqSB6YcWZw616ZW5pIGpzb3UNCm9wcsOhdm7Em25pIG9kc3RvdXBpdCBvZCB0w6l0byBTbWxvdXZ5DQpww61zZW1uw71tIG96bsOhbWVuw61tIHTDqXRvIHNrdXRlxI1ub3N0aQ0Kb3N0YXRuw61tIHNtbHV2bsOtbSBzdHJhbsOhbSBhIHRvDQpzIMO6xI1pbm5vc3RpIG9kZSBkbmUgZG9ydcSNZW7DrSBww61zZW1uw6lobw0Kb3puw6FtZW7DrSBwb3NsZWRuw60gemUgc21sdXZuw61jaCBzdHJhbiwgYQ0KdG8gdiBuw6FzbGVkdWrDrWPDrWNoIHDFmcOtcGFkZWNoOg0KKGkpIGFueSBvZiB0aGUgQ29udHJhY3QgcGFydGllcyBkb2VzIG5vdCAoaSkgcG9rdWQgbsSba3RlcsOhIHNtbHV2bsOtIHN0cmFuYSBuZXBsbsOtDQptZWV0IHNvbWUgcHJvdmlzaW9uIG9mIHRoaXMJbsSba3RlcsOpIHogdXN0YW5vdmVuaSB0w6l0byBzbWxvdXZ5DQoyMSBvZjM1CUtpJ2Fpc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuDQpDemVjaCBSY3B1YmxpYw0KZmluw6FsIHZlcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PSSBFYXN0SE9STiBzdHVkeSBjb2RlOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q7IENsaW5pY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PSSBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOyAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvaWlzb3I6IEFaVGJlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUYmVyYXBpZXMgSW5jLg0KY29udHJhY3QgYW5kIGRvZXMgbm90IGVsaW1pbmF0ZSB0aGUNCmRpc2NyZXBhbmNpZXMgd2l0aGluIDYwIGRheXMgYWZ0ZXINCm9idGFpbmluZyBhIHdyaXR0ZW4gcmVxdWVzdCB0byBkbyBzbzsNCihpaSkJYSBjb21wZXRlbnQgY291cnQgYWRqdWRpY2F0ZXMgYW55DQpDb250cmFjdCBwYXJ0eSBpcyBiYW5rcnVwdGVkIGluDQphY2NvcmRhbmNlIHdpdGggdGhlIEluc29sdmVuY3kgQWN0DQpuby4gMTgyLzIwMDYgQ29sbC4sIGFzIGFtZW5kZWQ7DQooaWlpKQlhbnkgb2YgdGhlIENvbnRyYWN0IHBhcnRpZXMgY2Vhc2VzDQp0byBiZSBhdXRob3Jpc2VkIHRvIHB1cnN1ZSBpdHMNCmFjdGl2aXRpZXMgd2l0aGluIHRoZSBmaWVsZCBpbg0KY29uY2VtOw0KKGl2KQl0aGUgcmlzayBpbmN1cnJlZCBieSB0aGUgc3ViamVjdHMNCmluY3JlYXNlcyBzaWduaWZpY2FudGx5Ow0KKHYpCXRoZSBuZWNlc3NhcnkgYXV0aG9yaXNhdGlvbiwNCmFwcHJvdmFsLCBjb25zZW50IG9yIGV4Y2VwdGlvbiBhcmUNCnJldm9rZWQgb3Igc3VzcGVuZGVkLCBvciBleHBpcmVzDQp3aXRob3V0IHByb2xvbmdhdGlvbjsNCih2aSkJaWYgdGhlIEluc3RpdHV0aW9uIGFuZCAvIG9yIFByaW5jaXBhbA0KSW52ZXN0aWdhdG9yIHZpb2xhdGVzIHRoZSBvYmxpZ2F0aW9ucw0KbGFpZCBkb3duIGluIEFydGljbGUgMTMgb2YgdGhlDQpBZ3JlZW1lbnQuDQpJbiBhbnkgb3RoZXIgY2FzZSwgdGhlIEFncmVlbWVudCBtYXkNCmJlIHRlcmluaW5hdGVkIGJ5IHdyaXR0ZW4gbXV0dWFsDQphZ3JlZW1lbnQgb3Igbm90aWNlLCB3aXRoIHRoZSBwZXJpb2QNCm9mIG5vdGljZSBiZWluZyAzMCBkYXlzIGZyb20gdGhlIGRheQ0KZm9sbG93aW5nIHRoZSBkYXkgb2YgZGVsaXZlcnkgb2YgdGhlDQpub3RpY2UgdG8gdGhlIGxhc3Qgb2YgQ29udHJhY3QgcGFydGllcy4NCmEgbmVvZHN0cmFuaSB6w6F2YWRuw70gc3RhdiBhbmkgdmUgbGjFr3TEmw0KNjAtdGkgZG7FryBvZCBkb3J1xI1lbmkgcGlzZW1uw6kgdsO9enZ5DQprIG7DoXByYXbEmzsNCihpaSkJcG9rdWQgcMWZw61zbHXFoW7DvSBzb3VkIHJvemhvZG5lLCDFvmUgamUNCm7Em2t0ZXLDoSBzbWx1dm7DrSBzdHJhbmEgdiDDunBhZGt1IGRsZQ0KaW5zb2x2ZW7EjW5paG8gesOha29uYSDEjS4gMTgyLzIwMDYNClNiLiwgdiBwbGF0bsOpbSB6bsSbbmk7DQooaWlpKQlwb2t1ZCBuxJtrdGVyw6Egc21sdXZuw60gc3RyYW5hDQpwb3pidWRlIG9wcsOhdm7Em27DrSBrIHDFr3NvYmVuaSB2IGRhbsOpDQpvYmxhc3RpOw0KKGl2KQlidWRlLWxpIHJpemlrbyBwcm8gU3ViamVrdHkNCmhvZG5vY2VuaSBuZcO6bcSbbcSbIHp2w73FoWVubzsNCih2KQlwb2t1ZCBwb3TFmWVibsOpIG9wcsOhdm7Em27DrSwgcG92b2xlbsOtLA0Kc291aGxhcyBuZWJvIHbDvWppbWthIGJ1ZGUNCnJldm9rb3bDoW5vLCBqZWhvIHBsYXRub3N0DQpzdXNwZW5kb3bDoW5hLCBuZWJvIHVwbHluZS1sw60gZG9iYSwNCm5hIGt0ZXJvdSBieWxvIHZ5ZMOhbm8gYmV6DQpwxZnDrXNsdcWhbsOpaG8gcHJvZGxvdcW+ZW7DrTsNCih2aSkJcG9rdWQgWmRyYXZvdG5pY2vDqSB6YcWZw616ZW7DrSBhL25lYm8NCkhsYXZuw60gemtvdcWhZWrDrWPDrSBwb3J1xaHDrSB6w6F2YXpreQ0Kc3Rhbm92ZW7DqSB2ZSDEjWwuIDEzIHTDqXRvIFNtbG91dnkuDQpWIG9zdGF0bsOtY2ggcMWZw61wYWRlY2ggbHplIHRydsOhbsOtIHNtbG91dnkNCnVrb27EjWl0IHDDrXNlbW5vdSBkb2hvZG91IG5lYm8NCnbDvXBvdsSbZMOtLCBwxZlpxI1lbcW+IHbDvXBvdsSbZG7DrSBsaMWvdGEgxI1pbsOtDQozMCBkbsWvIGEgcG/EjcOtbsOhIGLEm8W+ZXQgZG5lbSBuw6FzbGVkdWrDrWPDrW0NCnBvIGRvcnXEjWVuw60gdsO9cG92xJtkaSBwb3NsZWRuw60gc21sdXZuw60NCnN0cmFuxJsuDQooYykgSWYgdGhlIEluc3TDrXR1dMOtb24ncyBwYXJ0w61jaXBhdMOtb24gw61uIHRoZQ0KU3R1ZHkgb3IgdGhlIFN0dWR5IMOtdHNlbGYgaXMgdGVybWluYXRlZCwgdGhlDQpJbnN0aXR1dGlvbiBzaGFsbCBub3QgcGVybWl0IGZ1cnRoZXINCmVucm9sbG1lbnQgb2YgU3R1ZHkgc3ViamVjdHMgaW50byB0aGUgU3R1ZHksDQpjYXVzZSB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvciB0byBjZWFzZQ0KdHJlYXRtZW50IHdpdGggdGhlIElNUCB0byB0aGUgZXh0ZW50DQptZWRpY2FsbHkgcGVybWlzc2libGUsIGFuZCByZXR1cm4gYWxsIHRoZQ0KSU1QIGluIGFjY29yZGFuY2Ugd2l0aCBpbnN0cnVjdGlvbnMNCnByb3ZpZGVkIGJ5IHRoZSBDUk8gYW5kIHJlZ3Vsw6F0b3J5DQpyZXF1aXJlbWVudHMuDQoyMg0KUG9rdWQgw7rEjWFzdCBaZHJhdm90bmlja8OpaG8gemHFmcOtemVuw60gdg0KS2xpbmlja8OpbSBob2Rub2NlbsOtIG5lYm8gS2xpbmlja8OpDQpob2Rub2NlbsOtIHNhbW90bsOpIGJ1ZGUgdWtvbsSNZW5vLg0KWmRyYXZvdG5pY2vDqSB6YcWZw616ZW7DrSBuZXNtw60gcG92b2xpdCBkYWzFocOtDQpuw6Fib3IgU3ViamVrdMWvIGhvZG5vY2Vuw60sIG11c8OtIHphamlzdGl0LA0KYWJ5IEhsYXZuw60gemtvdcWhZWrDrWPDrSB1a29uxI1pbCBsw6nEjWJ1DQpIb2Rub2NlbsO9bSBsw6nEjWl2ZW0gZG8gdMOpIG3DrXJ5LCBkbyBqYWvDqQ0KdG8gYnVkZSB6IG1lZGljw61uc2vDqWhvIGhsZWRpc2thDQpwxZnDrXB1c3Ruw6ksIGEgbXVzw60gdmXFoWtlcsOpIEhvZG5vY2Vuw6kNCmzDqcSNaXZvIHZyw6F0aXQgdiBzb3VsYWR1IHMgcG9reW55IENSTyBhDQp6w6Frb25uw71taSBwb8W+YWRhdmt5Lg0KOwlLaSdhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMgYS5zLi0NCkN6ZWNoIFJlcHVibGljDQpmaW7DoWwgdmVyc2lvbiAxLjAgZGF0ZWQgMDMwODIwMTYNCgxFIGZsIFMgVA0KQzppbmxDRWxTRXIsaWNzNWluQ0VFDQpQcm90b2NvbCBudW1iZXI6IEFaVC1PT2wgRWFzdEhPUk4gc3R1ZHkgY29kbzogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OyBDbGlpaWljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBjb250cmFjdDogQ1JPIC0gSW5zdGl0dXRpb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09sIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSY3B1YmxpYyBTcG9uc29yOiBBWlRoZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGhlcmFwaWVzIEluYy4NCihkKSBJbiB0aGUgZXZlbnQgb2YgdGVybWluYXRpb24gb2YgdGhlIFN0dWR5LA0KcGF5aW5lbnRzIHdpbGwgYmUgbWFkZSBmb3IgYWxsIHNlcnZpY2VzDQpyZXF1aXJlZCBieSB0aGUgUHJvdG9jb2wgdGhhdCBoYXZlIGJlZW4NCnBlcmZvcm1lZCB1cCB0byB0aGUgZWZmZWN0aXZlIGRhdGUgb2YNCnRlbm5pbmF0aW9uIG9mIHRoZSBTdHVkeSBhbmQgaW4gY29ubmVjdGlvbg0Kd2l0aCB0aGUgU3R1ZHkgYXMgcmVxdWlyZWQgdW5kZXIgdGhlDQpQcm90b2NvbCBhbmQgY29udGVtcGxhdGVkIGluIHRoZSBCdWRnZXQuIElmDQphbnkgYWR2YW5jZSBvciBvdGhlciBwYXltZW50cyBleGNlZWQgdGhlDQphbW91bnQgb3dlZCBmb3Igc2VydmljZXMgcGVyZm9ybWVkIHVuZGVyDQp0aGUgUHJvdG9jb2wsIHRoZSBJbnN0aXR1dGlvbiBzaGFsbCBwcm9tcHRseQ0KcmV0xa9tIHRoZSBleGNlc3MgYmFsYW5jZSB0byB0aGUgQ1JPLg0KMTkuCUFzc2kybm1lbnQNCihhKQlBbnkgYXNzaWdubWVudCBvZiB0aGlzIEFncmVlbWVudCBvcg0KYW55IHJpZ2h0cyBvciBvYmxpZ2F0aW9ucyBoZXJldW5kZXIgYnk6DQooaSkJVGhlIEluc3RpdHV0aW9uIHRvIGEgdGhpcmQgcGFydHkNCnNoYWxsIHJlcXVpcmUgdGhlIHByaW9yIHdyaXR0ZW4NCmNvbnNlbnQgb2YgdGhlIENSTyBhbmQgdGhlDQpTcG9uc29yOyBhbmQNCihpaSkJVGhlIENSTyB0byBhbnkgdGhpcmQgcGFydHkgb3RoZXINCnRoYW4gdGhlIFNwb25zb3Igc2hhbGwgcmVxdWlyZSB0aGUNCnByaW9yIHdyaXR0ZW4gY29uc2VudCBvZiB0aGUNClNwb25zb3IsIGJ1dCBzaGFsbCBub3QgcmVxdWlyZSB0aGUNCmFwcHJvdmFsIG9mIHRoZSBJbnN0aXR1dGlvbi4NCihiKQlUaGUgSW5zdGl0dXRpb24gYW5kIHRoZSBDUk8gaGVyZWJ5DQphY2tub3dsZWRnZSB0aGF0IHRoZSBTcG9uc29yIG1heQ0KYXNzaWduIHRvIGl0c2VsZiBvciBhIHRoaXJkIHBhcnR5DQpyZXNwb25zaWJpbGl0eSBmb3IgYW55IG9yIGFsbCBvZiB0aGUNCkNSTydzIHJpZ2h0cyBhbmQgb2JsaWdhdGlvbnMgaGVyZXVuZGVyDQpieSB3cml0dGVuIG5vdGljZSB0byB0aGUgSW5zdGl0dXRpb24gYW5kDQp0aGUgQ1JPLg0KMjAuCVN1c3BlbnNvcnkgQ29uZGl0aW9uDQooZCkgViBwxZlpcGFkxJsgdWtvbsSNZW5pIEtsaW5pY2vDqWhvDQpob2Rub2NlbsOtIGJ1ZG91IHByb3ZlZGVueSDDumhyYWR5IHphDQp2xaFlY2hueSBzbHXFvmJ5IHZ5xb5hZG92YW7DqSBQcm90b2tvbGVtLA0Ka3RlcsOpIGJ5bHkgcmVhbGl6b3bDoW55IGHFviBkbyBkYXRhDQrDusSNaW5ub3N0aSB1a29uxI1lbsOtIEtsaW5pY2vDqWhvIGhvZG5vY2VuaQ0KdiBzb3V2aXNsb3N0aSBzIEtsaW5pY2vDvW0gaG9kbm9jZW7DrW0gYSB2DQpzb3VsYWR1IHMgcG/FvmFkYXZreSBQcm90b2tvbHUgYQ0KcMWZZWRwb2tsYWR5IHYgUm96cG/EjXR1LiBQb2t1ZCBqYWvDqWtvbGkNCnrDoWxvaG92w6kgbmVibyBqaW7DqSBwbGF0YnkgcMWZZXPDoWhub3UNCmRsdcW+bm91IMSNw6FzdGt1IHphIHNsdcW+YnkgcmVhbGl6b3ZhbsOpDQpwb2RsZSBQcm90b2tvbHUsIFpkcmF2b3RuaWNrw6kgemHFmcOtemVuaQ0KcMWZZXBsYXRlayBuZXByb2RsZW7EmyB2csOhdMOtIENSTy4NCjE5LglQxZlldm9kDQooYSkJSmFrw71rb2xpIHDFmWV2b2QgdMOpdG8gU21sb3V2eSBuZWJvDQpqYWvDvWNoa29saSBwcsOhdiDEjWkgcG92aW5ub3N0aSBwb2RsZSB0w6l0bw0KU21sb3V2eToNCihpKSBaZHJhdm90bmlja8O9bSB6YcWZw616ZW7DrW0gbmEgdMWZZXTDrQ0Kc3RyYW51IHZ5xb5hZHVqZSBwxZllZGNob3rDrSBww61zZW1uw70NCnNvdWhsYXMgQ1JPIGEgWmFkYXZhdGVsZTsgYQ0KKMOtaSkgQ1JPIG5hIGppbm91IHTFmWV0w60gc3RyYW51IG5lxb4NClphZGF2YXRlbGUgdnnFvmFkdWplIHDFmWVkY2hvesOtDQpww61zZW1uw70gc291aGxhcyBaYWRhdmF0ZWxlLA0KYXbFoWFrIG5ldnnFvmFkdWplIHNjaHbDoWxlbsOtDQpaZHJhdm90bmlja8O9bSB6YcWZw616ZW7DrW0uDQooYikJWmRyYXZvdG5pY2vDqSB6YcWZw616ZW5pIGEgQ1JPIHTDrW10bw0KcG90dnJ6dWppLCDFvmUgWmFkYXZhdGVsIGplIG9wcsOhdm7Em24NCnDDrXNlbW7DvW0gb3puw6FtZW7DrW0gWmRyYXZvdG5pY2vEm211DQp6YcWZw616ZW7DrSBhIENSTyBwxZlldnrDrXQgxI1pIG5hIHTFmWV0w60gc3RyYW51DQpwxZlldsOpc3Qgb2Rwb3bEm2Rub3N0IHphIG7Em2t0ZXLDoSBuZWJvDQp2ZcWha2Vyw6EgcHLDoXZhIGEgcG92aW5ub3N0aSBDUk8gcG9kbGUNCnTDqXRvIFNtbG91dnkuDQoyMC4JT2RrbMOhZGFjw60gcG9kbcOtbmthDQpUaGlzIEFncmVlbWVudCB0YWvDqXMgZWZmZWN0IHVwb24gVGF0byBTbWxvdXZhIG5hYsO9dsOhIMO6xI1pbm5vc3RpIHYgb2thbcW+aWt1DQoyM29mMzUJS2knYWlza8OhIG5lbW9jbmljZSBMaWJlcmVjIGEucy4NCkN6ZWNoIFJjcHVibGljDQpmaW7DoWwgdmVyc2lvaWkgMS4wIGRhdGVkIDAzMDgyMDE2DQoMRSBmbCBTIFQNCkM6aW5sQ0VsU0VyLGljczVpbkNFRQ0KUHJvdMO6Y29sIG51bWJlcjogQVpULU9PSSBFYXN0SE9STiBzdHVkeSBjb2RlOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q6IENsaWlpaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGVvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dF1vbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT0kgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb25zb3I6IEFaVGhlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUaGVyYXBpZXMgSW5jLg0KcmVnaXN0cmF0aW9uIG9mIHRoZSBBZ3JlZW1lbnQgaW4gdGhlDQpBZ3JlZW1lbnRzIFJlZ2lzdGVyIGluIGFjY29yZGFuZSB3aXRoIEFjdA0Kbm8uIDM0MC8yMDE1IENvbGwuLCBvbiBBZ3JlZW1lbnRzDQpSZWdpc3Rlci4gVGhlIHBhcnRpZXMgaGVyZWJ5IGFncmVlIHRoYXQgdGhlaXINCnJlbGF0aW9ucyBzaGFsbCBiZSBnb3ZlcmVuZWQgYnkgdGhpcw0KQWdyZWVtZW50IGFzIG9mIHRoZSBkYXRlIG9mIHNpZ25hdHXFmWUgYnkgdGhlDQpsYXN0IHBhcnR5IHRvIHRoaXMgQWdyZWVtZW50ICh0aGUgLMKjZmZlY3RpdmUNCkRhdGUnKikgcHJvdmlkaW5nIGEgcG9zaXRpdmUgZGVjaXNpb24gb2YgdGhlDQpjb21wZXRlbnQgTXVsdGljZW50cmUgRXRoaWNzIENvbW1pdHRlZQ0KYW5kIExvY2FsIEV0aGljcyBDb21taXR0ZWUgYW5kIEFwcHJvdmFsDQp0byBjb25kdWN0IFN0dWR5IGlzc3VlZCBieSB0aGUgU3RhdGUNCkluc3RpdHV0ZSBmb3IgRHJ1ZyBDb250cm9sIG9yIG5vdCByZWplY3RpbmcNCnRoZSBTdHVkeSwgc3ViamVjdCB0byB0aGUgbWFuZGF0b3J5DQpub3RpZmljYXRpb24gbGlhYmlsaXR5IGFyZSBhdmFpbGFibGUuDQp6dmXFmWVqbsSbbmkgdiByZWdpc3RydSBzbWx1diBkbGUgesOha29uYSDEjS4NCjM0MC8yMDE1IFNiLiwgbyByZWdpc3RydSBzbWx1di4gU3RyYW55IHTDrW10bw0Kc2plZG7DoXZhasOtLCDFvmUgamVqaWNoIHZ6w6FqZW1uw6EgcHLDoXZhIGENCnBvdmlubm9zdGkgc2UgdG91dG8gc21sb3V2b3UgxZnDrWRpIGppxb4gb2QgZGF0YQ0KamVqw61obyBwb2RwaXN1IHBvc2xlZG7DrSB6ZSBzdHJhbiB0w6l0byBTbWxvdXZ5DQooZMOhbGUgamVuICxKKWF0dW0gw7rEjWlubm9zdGkiKSB6YSBwxZllZHBva2xhZHUsDQrFvmUgYnlsbyBvYmRyxb5lbm8ga2xhZG7DqSByb3pob2RudXRpIGV0aWNrw6kNCmtvbWlzZSBwcm8gbXVsdGljZW50cmlja8OhIGtsaW5pY2vDoQ0KaG9kbm9jZW5pLCBwxZnDrXNsdcWhbsOpIG3DrXN0bsOtIGV0aWNrw6kga29taXNlIGENCnBvdm9sZW5pIHByb3ZlZGVuaSBLbGluaWNrw6lobyBob2Rub2NlbmkNCnZ5ZGFuw6lobyBTdMOhdG7DrW0gw7pzdGF2ZW0gcHJvIGtvbnRyb2x1IGzDqcSNaXYNCm5lYm8gbmV6YW3DrXRudXTDrW0gS2xpbmlja8OpaG8gaG9kbm9jZW7DrSwNCmt0ZXLDqSBwb2Rsw6low6Egb2hsw6HFoWVuaS4uDQoyMS4gR292ZXJuaW4yIExhdw0KKGEpCVRoaXMgQWdyZWVtZW50IHNoYWxsIGJlIGludGVycHJldGVkIGluDQphY2NvcmRhbmNlIHdpdGggbGF3cyBvZiB0aGUgQ3plY2gNClJlcHVibGljLg0KKGIpCUxlZ2FsIHJlbGF0aW9ucyB0aGF0IGFyZSBub3Qgc3BlY2lmaWNhbGx5DQpyZWd1bGF0ZWQgaGVyZWluIHNoYWxsIGJlIGdvdmVtZWQgYnkNCmFwcGxpY2FibGUgcHJvdmlzaW9ucyBvZnRoZSBDaXZpbCBDb2RlLg0KKGMpCUFueSBkaXNwdXRlcyB1bnNldHRsZWQgYnkgYSBtdXR1YWwNCmNvb3BlcmF0aW9uIHdpbGwgYmUgcmVmZXJyZWQgdG8gYW5kDQpyZXNvbHZlZCBieSB0aGUgY29tcGV0ZW50IGNvdXJ0IG9mIHRoZQ0KQ3plY2ggUmVwdWJsaWMuDQoyMS4gUm96aG9kbsOpIHByw6F2bw0KKGEpCVRhdG8gc21sb3V2YSBidWRlIHZ5a2zDoWTDoW5hIHYgc291bGFkdQ0KcyBwcsOhdm7DrW1pIHDFmWVkcGlzeSDEjGVza8OpIHJlcHVibGlreS4NCihiKQlQcsOhdm7DrSB2enRhaHkgdsO9c2xvdm7EmyBuZXVwcmF2ZW7DqSB2IHTDqXRvDQpzbWxvdXbEmyBzZSDFmcOtZGkgcMWZw61zbHXFoW7DvW1pIHVzdGFub3ZlbsOtbWkNCk9ixI1hbnNrw6lobyB6w6Frb27DrWt1Lg0KKGMpCUsgcHJvamVkbsOhbmkgYSByb3pob2RvdsOhbmkgcMWZw61wYWRuw71jaA0Kc3BvcsWvLCBrdGVyw6kgbmVidWRvdSB2ecWZZcWhZW55IHZ6w6FqZW1ub3UNCnNwb2x1cHJhY8OtIGpzb3UgcMWZw61zbHXFoW7DqSBzb3VkbsOtIG9yZ8OhbnkNCsSMZXNrw6kgcmVwdWJsaWt5Lg0KMjIuIEZpbmFsIHByb3Zpc2lvbnMNCihhKQlUaGlzIEFncmVlbWVudCBpcyBtYWRlIGluIGZvdXINCmlkZW50aWNhbCBjb3BpZXM7IGVhY2ggUGFydHkgc2hhbGwNCnJlY2VpdmUgb25lIG9yaWdpbsOhbC4NCihiKQlUaGlzIEFncmVlbWVudCBtYXkgb25seSBiZSBtb2RpZmllZA0KYW5kIGFtZW5kZWQgYnkgY29tbW9uIGNvbnNlbnQsIHdpdGgNCmEgd3JpdHRlbiBhbWVuZG1lbnQgaGVyZXRvLg0KKGMpCUluIGNhc2Ugb2YgZGlzY3JlcGFuY2llcyBiZXR3ZWVuIHRoZQ0KQ3plY2ggYW5kIEVuZ2xpc2ggdmVyc2lvbnMgb2YgdGhlDQoyNA0KMjIuIFrDoXbEm3JlxI1uw6EgdXN0YW5vdmVuw60NCihhKQlUYXRvIFNtbG91dmEgamUgdnlob3RvdmVuYSB2ZSDEjXR5xZllY2gNCnN0ZWpub3Bpc2VjaDsga2HFvmTDoSBzbWx1dm7DrSBzdHJhbmEgb2JkcsW+w60NCmplZGVuIHN0ZWpub3Bpcy4NCihiKQlUdXRvIFNtbG91dnUgbHplIG3Em25pdCBhIGRvcGzFiG92YXQNCnBvdXplIGRvaG9kb3Ugc21sdXZuw61jaCBzdHJhbiB2ZSBmb3JtxJsNCnDDrXNlbW7DqWhvIGRvZGF0a3UgayB0w6l0byBTbWxvdXbEmy4NCihjKQlWIHDFmcOtcGFkxJsgbmVzb3VsYWR1IG1lemkgxI1lc2tvdSBhDQphbmdsaWNrb3UgdmVyemkgdMOpdG8gU21sb3V2eSBqZQ0KUWYzNQlLaSdhaXNrw6EgbmVtb2NuaWNlIExpYmVyZWMgYS5zLi0NCkN6ZWNoIFJlcHVibGljDQpmaW5hKSB2Y3JzaW9paSAxLjAgZGF0ZWQgMDMwODIwMTYNCgxFIGZsIFMgVA0KQzppbmxDRWxTRXIsaWNzNWluQ0VFDQpQcm90b2NvbCBudW1iZXI6IEFaVC1PT0kgRWFzdEhPUk4gc3R1ZHkgY29kZTogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OiBDbGluaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGNvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dGlvbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT0kgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb25zb3I6IEFaVGhlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUaGVyYXBpZXMgSW5jLg0KQWdyZWVtZW50LCB0aGUgQ3plY2ggdmVyc2lvbiBwcmV2YWlscy4NCihkKSBBbGwgY29ycmVzcG9uZGVuY2UgYW5kIHJlcG9ydHMgaW4NCmNvbm5lY3Rpb24gd2l0aCB0aGlzIFN0dWR5IHNoYWxsIGJlIHNlbnQNCnRvIHRoZSBhZGRyZXNzIG9yIGZheCBudW1iZXIgb2YgdGhlDQpjb21wYW55IEVhc3RIT1JOIENsaW5pY2FsIFNlcnZpY2VzDQppbiBDRUUsIEx0ZC4sIFUgRHJ1xb5zdHZhIHByw6FjZSA0My83MzQsDQoxNDAgMDAgUHJhaGEgNCwgQ3plY2ggUmVwdWJsaWMsIGZheDoNCis0MjAgMjQ0IDQ2MiAyNzEuDQpyb3pob2R1amljaSDEjWVza8OhIHZlcnplLg0KKGQpIFZlxaFrZXLDoSBrb3Jlc3BvbmRlbmNlIGEgb3puw6FtZW7DrSB2ZQ0Kc3Bvaml0b3N0aSBzIHTDrW10byBLbGluaWNrw71tIGhvZG5vY2Vuw61tDQptdXPDrSBiw710IHphc8OtbMOhbnkgbmEgYWRyZXN1IG5lYm8gZmF4b3bDqQ0KxI3DrXNsbyBzcG9sZcSNbm9zdGkgRWFzdEhPUk4gQ2xpbmljYWwNClNlcnZpY2VzIGluIENFRSwgcy5yLm8uLCBVIERydcW+c3R2YSBQcsOhY2UNCjQzLzczNCwgMTQwIDAwLCBQcmFoYSA0LCDEjGVza8OhIHJlcHVibGlrYSwNCmZheDorNDIwIDI0NCA0NjIgMjcxLg0KMjUgb2YzNQ0KQ3plY2ggUmVwdWJsaWMNCmZpbmEpIHZlcnNpb24gMS4wIGRhdGVkIDAzMDgyMDE2DQoMCUUgZmwgUyBUICheLmleSE9Sbg0KCUM6aW5sQ0VsU0VyLGljOzVpbkNFRQ0KUHJvdMO6Y29sIG51bWJlcjogQVpULU9PSQnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PSQ0KRWFzdEhPUk4gc3R1ZHkgY29kbzogMzMwMQlFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxDQpUeXBlIG9mIGNvbnRyYWN0OyBDbGlpaWljYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBlb250cmFjdDoJVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLQ0KQ1JPIC0gSW5zdGl0dXRdb24gLSBJbnZlc3RpZ2F0b3IJSW5zdGl0dWNlIC1aa291xaFlasOtY8OtDQpTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaAlKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2ENClJlcHVibGljCVphZGF2YXRlbDogQVpUaGVyYXBpZXMgSW5jLg0KU3BvbnNvcjogQVpUaGVyYXBpZXMgSW5jLgkNCigxKSBTcG9uc29yIC8gWmFkYXZhdGVsOgkNCm5hIHrDoWtsYWTEmyBwbG7DqSBtb2NpCURhdGUgLyBEYXR1bQ0KYmFzZWQgb24gdGhlIHBvd2VyIG9mIGF0dG9tZXkJDQpFYXN0SE9STiBDbGluaWNhbCBTZXJ2aWNlcwlpbg0KQ0VFCUxpbWl0ZWQNCk1hbGdvcnphdGEgU3plcnN6ZW5pZXdza2EsIE1EDQpFeGVjdXRpdmUgSGVhZCAvIEplZG5hdGVsDQooMikgQ1JPOg0KTVVEci4gTWFsZ29yemF0YSBTemVyc3plbmlld3NrYQlEYXRlIC8gRGF0dW0NCkV4ZWN1dGl2ZSBIZWFkIC8gSmVkbmF0ZWwNCigzKSBJbnN0bHR1dGxvbiAvIFpkcmF2b3RuaWNrw6kNCnphxZnDrXplbmk6DQpNVURyLiBMdWTEm2sgTmXEjWVzYW7DvSwgTUJBLAlEYXRlIC8gRGF0dW0NClZpY2UtRGlyZWN0b3Igb2YgdGhlIEJvYXJkIGFuZA0KR2VuZXJhbCBNYW5hZ2VyLyBtw61zdG9wxZllZHNlZGENCnDFmWVkc3RhdmVuc3R2YSBhIGdlbmVyw6FsbsOtIMWZZWRpdGVsDQooNCkgUHJpbmNpcGFsIEludmVzdGxnYXRvciAvIEhsYXZuaQ0KemtvdcWhZWrDrWPDrToNCkN6ZWNoIFJjcHVibGljDQpmaW7DoWwgdmVyc2lvaWkgMS4wIGRhdGVkIDAzMDgyMDE2DQoMRSBmbCBTIFQNCkM6aW5sQ0VsU0VyLGljczVpbkNFRQ0KUHJvdMO6Y29sIG51bWJlcjogQVpULU9PSSBFYXN0SE9STiBzdHVkeSBjb2RvOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q7IENsaWlpaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGVvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dF1vbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT0kgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb25zb3I6IEFaVGhlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUaGVyYXBpZXMgSW5jLg0KQXBwZW5kaXhlczoNCkFwcGVuZGl4IEEgLSBCdWRnZXQNCkFwcGVuZGl4IE5vLiAxOiBBcHByb3ZhbCBvZiB0aGUgU3RhdGUNCkluc3RpdHV0ZSBmb3IgRHJ1ZyBDb250cm9sDQpBcHBlbmRpeCBOby4gMjogQXBwcm92YWwgb2YgdGhlIEV0aGljDQpDb21taXR0ZWUgZm9yIE11bHRpY2VudHJpYyBUcmlhbHMgYW5kIExvY2FsDQpFdGhpY3MgQ29tbWl0dGVlDQpQxZnDrWxvaHk6DQpQxZlpbG9oYSBBIC0gUm96cG/EjWV0DQpQxZnDrWxvaGEgxI0uIDE6IFBvdm9sZW7DrSBTdMOhdG7DrWhvIMO6c3RhdnUgcHJvDQprb250cm9sdSBsw6nEjWl2DQpQxZnDrWxvaGEgxI0uIDI6IFNjaHbDoWxlbsOtIGV0aWNrb3Uga29taXNpIHBybw0KbXVsdGljZW50cmlja8OhIGtsaW5pY2vDoSBob2Rub2NlbmkgYSBtaXN0bmkNCmV0aWNrb3Uga29taXNpDQpBcHBlbmRpeCBOby4gMyBQb3dlciBvZiBBdHRvbWV5Og0KRWFzdEhPUk4gQ2xpbmljYWwgU2VydmljZXMgaW4gQ0VFDQpMaW1pdGVkDQpFYXN0SE9STiBDbGluaWNhbCBTZXJ2aWNlcyBpbiBDRUUsIHMuci5vLg0KUMWZaWxvaGEgxI0uIDM6IFBsbsOhIG1vYzoNCkVhc3RIT1JOIENsaW5pY2FsIFNlcnZpY2VzIGluIENFRSBMaW1pdGVkDQpFYXN0SE9STiBDbGluaWNhbCBTZXJ2aWNlcyBpbiBDRUUsIHMuci5vLg0KMjcgb2YzNQ0KQ3plY2ggUmNwdWJsaWMNCmZpbsOhbCB2ZXJzaW9paSAxLjAgZGF0ZWQgMDMwODIwMTYNCgxFIGZsIFMgVA0KKF5eSE9Sbg0KQzppbmxDRWxTRXIsaWNzNWluQ0VFDQpQcm90w7pjb2wgbnVtYmVyOiBBWlQtT09JIEVhc3RIT1JOIHN0dWR5IGNvZG86IDMzMDEgVHlwZSBvZiBjb250cmFjdDsgQ2xpaWlpY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgZW9udHJhY3Q6IENSTyAtIEluc3RpdHV0XW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PSSBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOiAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvbnNvcjogQVpUYmVyYXBpZXMgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRiZXJhcGllcyBJbmMuDQpBcHBlbmRpeCBBIC8gUMWZw61sb2hhIEENCkJ1ZGdldCBhbmQgcGF5bWVudCBjb25kaXRpb25zIGluIEV1cm8gLyBSb3pwb8SNZXQgYSBwbGF0ZWJuw60gcG9kbcOtbmt5IHYgRXVybw0KCQkNCgkJDQoJCQ0KCQkNCgkJDQoJCXJIDQoJLWcJDQpVCQlKDQoJCQ0KCQlKDQoxCQlNDQoyOG9mMzUJYS5zLQ0KQ3plY2ggUmNwdWJsaWMNCmZpbsOhbCB2ZXJzaW9paSAxLjAgZGF0ZWQgMDMwODIwMTYNCgxFIGZsIFMgVA0KQzppbmxDRWxTRXIsaWNzNWluQ0VFDQpQcm90w7pjb2wgbnVtYmVyOiBBWlQtT09JIEVhc3RIT1JOIHN0dWR5IGNvZGU6IDMzMDEgVHlwZSBvZiBjb250cmFjdDogQ2ppbmllYWwgU3R1ZHkgQWdyZWVtZW50IC0gU2l0ZSBlb250cmFjdDogQ1JPIC0gSW5zdGl0dXRdb24gLSBJbnZlc3RpZ2F0b3IgU2l0ZSBudW1iZXI6IDMtMDA3CcSMw61zbG8gcHJvdG9rb2x1OiBBWlQtT09JIEVhc3RIT1JOIMSNw61zbG8gcHJvamVrdHU6IDMzMDEgVHlwIHNtbG91dnk6IFNtbG91dmEgbyBLSCAtIFNtbG91dmEgcyBjZW50cmVtOiBDUk8gLSBJbnN0aXR1Y2UgLVprb3XFoWVqw61jw60gxIzDrXNsbyBjZW50cmE6IDMtMDA3DQpuYW1lOiBDb3VudHJ5OiBDemVjaCBSZXB1YmxpYyBTcG9uc29yOiBBWlRoZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGhlcmFwaWVzIEluYy4NClBheW1lbnQgZGV0YWlsczoNCihhKSBQYXltZW50IG9mIHRoZSByZW11bmVyYXRpb24gd2lsbCBiZSBtYWRlIGJ5DQpiYW5rIHRyYW5zZmVyIHRvIHRoZSBmb2xsb3dpbmcgYWNjb3VudDoNClBsYXRlYm7DrSDDumRhamU6DQooYSkgUGxhdGJ5IMO6aHJhZCBidWRvdSBwcm92w6FkxJtueSBiYW5rb3YNCnDFmWV2b2RlbSBuYSBuw6FzbGVkdWrDrWPDrSDDusSNZXQ6DQphY2NvdW50IGhvbGRlcjogL2Ryxb5pdGVsIMO6xI10dTogS3JhanNrw6ENCm5lbW9jbmljZSBMaWJlcmVjLCBhLnMuDQphY2NvdW50IG5vLjogLyDEjS4gw7rEjXR1OiAzNjYzMTQ2MS8wMTAwDQpiYW5rOiAvIGJhbmthOiBLb21lcsSNbsOtIGJhbmthLCBhLnMuICwNCnBvYm/EjWthIHYgTGliZXJjaQ0KQklDIChTV0lGVCkgQ29kZTogLyBrw7NkIEJJQyAoU1dJRlQpOg0KS09NQkNaUFBYWFgNCklCQU46LyBJQkFOOg0KQ1olMDEwMDAwMDAwMDAwMzY2MzE0NjENClRheCBudW1iZXIsIGlmIGFwcGxpY2FibGU6IC8gRGHFiG92w6kgxI3DrXNsbywNCmplLWxpIHDFmWlkxJtsZW5vOiBDWjY5OTAwMzk5M18NClJlZmVyZW5jZSBzeW1ib2w6IG9yIEludm9pY2UgbnVtYmVyDQovVmFyaWFiaWxuw60gc3ltYm9sOiBuZWJvIMSNw61zbG8gZmFrdHVyeQ0KMjkgb2YzNQ0KQ3plY2ggUmNwdWJsaWMNCmZpbsOhbCB2ZXJzaW9paSAxLjAgZGF0ZWQgMDMwODIwMTYNCgxFIGZsIFMgVA0KQzppbmxDRWxTRXIsaWNzNWluQ0VFDQpQcm90b2NvbCBudW1iZXI6IEFaVC1PT2wgRWFzdEhPUk4gc3R1ZHkgY29kZTogMzMwMSBUeXBlIG9mIGNvbnRyYWN0OiBDbGluaWNhbCBTdHVkeSBBZ3JlZW1lbnQgLSBTaXRlIGNvbnRyYWN0OiBDUk8gLSBJbnN0aXR1dGlvbiAtIEludmVzdGlnYXRvciBTaXRlIG51bWJlcjogMy0wMDcJxIzDrXNsbyBwcm90b2tvbHU6IEFaVC1PT2wgRWFzdEhPUk4gxI3DrXNsbyBwcm9qZWt0dTogMzMwMSBUeXAgc21sb3V2eTogU21sb3V2YSBvIEtIIC0gU21sb3V2YSBzIGNlbnRyZW06IENSTyAtIEluc3RpdHVjZSAtWmtvdcWhZWrDrWPDrSDEjMOtc2xvIGNlbnRyYTogMy0wMDcNCm5hbWU6IENvdW50cnk6IEN6ZWNoIFJlcHVibGljIFNwb2lpc29yOiBBWlRoZXJhcGllcyBJbmMuCUptw6lubyA6IFplbcSbOiDEjGVza8OhIHJlcHVibGlrYSBaYWRhdmF0ZWw6IEFaVGhlcmFwaWVzIEluYy4NCihiKSBUaGUgQ1JPIHNoYWxsIG1ha2UgYSBwYXltZW50IGZvcg0KcGVyZm9taWFuY2Ugb2YgdGhpcyBTdHVkeSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlc2UNCmNvbmRpdGlvbnM6DQooaSkJVGhlIGJ1ZGdldCBkZWZtZXMgdGhlIG1heGltdW0gYW1vdW50IHRoYXQNCndpbGwgYmUgcGFpZCBmb3IgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBTdHVkeS4NCihpaSkJUmVtdW5lcmF0aW9uIHdpbGwgYmUgZWxpZ2libGUgZm9yDQpwYXltZW7FpXBheWJsZSBvbmx5IGZvciB0aGUgYWN0dWFsIG51bWJlciBvZg0KdmlzaXRzIGFuZCBwcm9jZWR1cmVzIHBlcmZvcm1lZCBpbg0KYWNjb3JkYW5jZSB3aXRoIHRoZSBQcm90b2NvbCwgdGhpcyBBZ3JlZW1lbnQNCmFuZCBlbnRlcmVkIGludG8gYW4gZWxlY3Ryb25pYyBkYXRhIGNhcHR1cmUNCnN5c3TDqW0gYnkgZWxlY3Ryb25pYyBDUkYgYW5kIHZlcmlmaWVkIGJ5IHRoZQ0KbW9uaXRvciBhY2NvcmRpbmcgdG8gdGhlIGFwcGxpY2FibGUNCk1vbml0b3JpbmcgUGlhbi4gSW4gbm8gZXZlbnQgc2hhbGwgcGF5bWVudA0KZm9yIHN1Y2ggdmlzaXRzIGFuZCBwcm9jZWR1cmVzIGV4Y2VlZCB0aGUNCm1heGltdW0gYnVkZ2V0IHBlciB0aGUgU3R1ZHkgc3ViamVjdC4NCihpaWkpVG8JYmUgZWxpZ2libGUgZm9yIHRoZSBwYXltZW50LCBhbGwgZGF0YQ0Kc3VibWl0dGVkIG11c3QgYmUgY29tcGxldGUgYW5kIGNvcnJlY3QuIEZvcg0KZGF0YSB0byBiZSBjb21wbGV0ZSBhbmQgY29ycmVjdCwgZWFjaCBTdHVkeQ0Kc3ViamVjdCBtdXN0IGhhdmUgc2lnbmVkIGFuIEVDLWFwcHJvdmVkDQpJbmZvcm1lZCBDb25zZW50IEZvcm0gYW5kIGFsbCBwcm9jZWR1cmVzDQpkZXNpZ25hdGVkIGluIHRoZSBQcm90b2NvbCBtdXN0IGhhdmUgYmVlbg0KY2FycmllZCBvdXQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBQcm90b2NvbC4NCihpdmpUaGUgYW1vdW50IHBlciB2aXNpdHMgaW5jbHVkZXMvY292ZXJzOg0KKGIpIENSTyBwb3NrdnRuZSBmaW5hbsSNbmkgw7pocmFkdSB6YSBwcm92ZWRlbmkNCktsaW5pY2vDqWhvIGhvZG5vY2VuaSBuYSB6w6FrbGFkxJsgdMSbY2h0bw0KcG9kbWluZWs6DQooaSkJUm96cG/EjWV0IHN0w6Fub3ZpIG1heGltw6FsbmkgxI3DoXN0a3UsIGt0ZXLDoQ0KYnVkZSB2eXBsYWNlbmEgemEgcHJvdmVkZW7DrSBLbGluaWNrw6lobw0KaG9kbm9jZW7DrS4NCihpaSkJw5pocmFkYSBidWRlIHByb3ZlZGVuYSBwb3V6ZSB6YSBza3V0ZcSNbsO9DQpwb8SNZXQgbsOhdsWhdMSbdiBhIHZ5xaFldMWZZW5pIHByb3ZlZGVuw71jaCB2IHNvdWxhZHUNCnMgUHJvdG9rb2xlbSwgdG91dG8gU21sb3V2b3UgYSB6YWRhbsO9Y2ggZG8NCmVsZWt0cm9uaWNrw6lobyBzeXN0w6ltdSBwcm8gc2LEm3IgZGF0IHBvbW9jaQ0KZWxla3Ryb25pY2vDqWhvIENSRiBhIHprb250cm9sb3ZhbsO9Y2gNCm1vbml0b3JlbSB2IHNvdWxhZHUgc3BsYXRuw71tIG1vbml0b3JvdmFjw61tDQpwbMOhbmVtLiBQbGF0YmEgemEgdHl0byBuw6F2xaF0xJt2eSBhIHZ5xaFldMWZZW5pDQp2IMW+w6FkbsOpbSBwxZnDrXBhZMSbIG5lcMWZZXPDoWhuZSBtYXhpbcOhbG5pDQpyb3pwb8SNZXQgbmFqZWRlbiBTdWJqZWt0IGhvZG5vY2VuaS4NCihpaWkpCU7DoXJvayBuYSDDumhyYWR1IHZ6bmlrbmUgdGVoZHksIGJ1ZG91LWxpDQpwxZllZGFuw6Egw7pwbG7DoSBhIHNwcsOhdm7DoSBkYXRhLiBBYnkgYnlsYSBkYXRhDQrDunBsbsOhIGEgc3Byw6F2bsOhLCBtdXPDrSBrYcW+ZMO9IFN1Ympla3QgaG9kbm9jZW5pDQpwb2RlcHNhdCBmb3JtdWzDocWZIGluZm9ubm92YW7DqWhvIHNvdWhsYXN1DQpzY2h2w6FsZW7DvSBldGlja291IGtvbWlzw60gYSB2ZcWha2Vyw6kgcHJvY2VkdXJ5DQp1csSNZW7DqSB2IFByb3Rva29sdSBtdXNlasOtIGLDvXQgcHJvdmVkZW55IHYNCnNvdWxhZHUgcyBQcm90b2tvbGVtLg0KKGl2KQlQbGF0YnkgemEgbsOhdsWhdMSbdnkgemFobXVqw60vcG9rcsO9dmFqaToNCsO6aHJhZHkgemEgdnnFoWV0xZllbsOtLCBrdGVyw6EganNvdSBkbGUNClByb3Rva29sdSBzb3XEjcOhc3RpIEtsaW5pY2vDqWhvIGhvZG5vY2Vuw60NCmEgbmVqc291IHNhbW9zdGF0bsSbIHNwZWNpZmlrb3bDoW5hLA0Kw7pocmFkeSB6YSBwb3NreXRvdsOhbsOtIGtvcGnDrSBvc3bEm2TEjWVuaSBhDQpqaW7DvWNoIGRva2xhZMWvICh2xI1ldG7EmyBha3R1YWxpem92YW7DvWNoDQp2ZXJ6aSksIGt0ZXLDqSBqc291IHBvdMWZZWJuw6kgcHJvIHByb3ZlZGVuaQ0KS2xpbmlja8OpaG8gaG9kbm9jZW7DrSwNCmpha8O9a29saXYgcG9wbGF0ZWsgemEgcG91xb7DrXbDoW7DrSBwb8SNw610YcSNZQ0KYSBzb2Z0d2FydSBQb3NreXRvdmF0ZWxlIGEvbmVibw0KSGxhdm7DrWhvIHprb3XFoWVqw61jw61obyB6YSDDusSNZWxlbQ0KdWNob3bDoW5pIFN0dWRpam7DrWNoIHpkcmF2b3Ruw61jaA0KesOhem5hbcWvLCBobMOhxaFlbmkgYSBzdHVkaWpuw60ga29tdW5pa2FjZS4NClBvc2t5dG92YXRlbCBhIEhsYXZuaSB6a291xaFlasOtDQpLaSdhanNrw6EgbmVtb2NuaWNlIExpYmVyZWMgYS5zLi0NCnJlbXVuZXJhdGlvbiBmb3IgZXhhbWluYXRpb25zIHdoaWNoIGFyZSBwYXJ0DQpvZiB0aGUgU3R1ZHkgYWNjb3JkaW5nIHRvIHRoZSBQcm90b2NvbDsgdGhlc2UNCmFyZSBub3Qgc2VwYXJhdGVseSBzcGVjaWZpZWQsDQpyZW11bmVyYXRpb24gZm9yIHByb3ZpZGluZyBjb3BpZXMgb2YNCmNlcnRpZmljYXRlcyBhbmQgb3RoZXIgZG9jdW1lbnRzIChpbmNsdWRpbmcNCnVwZGF0ZWQgdmVyc2lvbnMpIHdoaWNoIGFyZSBuZWNlc3NhcnkgZm9yDQpwZXJmb3JtYW5jZSBvZiB0aGUgU3R1ZHksDQphbnkgZmVlIGZvciB1c2luZyB0aGUgSW5zdGl0dXRpb24ncyBhbmQvb3INClByaW5jaXBhbCBJbnZlc3RpZ2F0b3IncyBjb21wdXRlcnMgYW5kDQpzb2Z0d2FyZSBmb3IgdGhlIHB1cnBvc2Ugb2YgbWFpbnRhaW5pbmcgdGhlDQpTdHVkeSBtZWRpY2FsIHJlY29yZHMsIHJlcG9ydGluZyBhbmQgU3R1ZHkNCmNvbW11bmljYXRpb24uIFRoZSBJbnN0aXR1dGlvbiBhbmQgdGhlDQpQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGNvbmZpcm0gdGhhdCB0aGV5IGhhdmUNCjMwb2YzNQ0KQ3plY2ggUmVwdWJsaWMNCmZpbsOhbCB2ZXJzaW9uIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PbCBFYXN0SE9STiBzdHVkeSBjb2RlOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q7IENsaW5pY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PbCBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOiAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvbnNvcjogQVpUYmVyYXBpZXMgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRiZXJhcGllcyBJbmMuDQpvYnRhaW5lZCBhbGwgbmVjZXNzYXJ5IGxpY2Vuc2UgcmlnaHRzIGFuZA0KcGVybWlzc2lvbiB0byB1c2UgdGhlIGV4dGVtYWwgdmVuZG/FpXMNCnNvZnR3YXJlIGZvciB0aGUgcHVycG9zZXMgb2YgdGhlIFN0dWR5Lg0KQXJjaGl2aW5nIGFjY29yZGluZyB0byBwb2ludCA3Yi4NCih2KSBXaGVuIGRhdGEgYXJlIHJldmlld2VkIGJ5IHRoZSBtb25pdG9yDQpkdXJpbmcgYSBzY2hlZHVsZWQgU2l0ZSB2aXNpdCwgdGhlIFByaW5jaXBhbA0KSW52ZXN0aWdhdG9yIHNoYWxsIGhhdmUgYWxsIGF2YWlsYWJsZSBkYXRhDQpvYnRhaW5lZCB1cCB0byB0aGUgZW5kIG9mIHRoZSBwcmVjZWRpbmcgZGF5DQpjb21wbGV0ZSBhbmQgcmVhZHkgZm9yIGV2YWx1YXRpb24uDQpwb3R2cnp1asOtLCDFvmUgesOtc2thbGkgdmXFoWtlcsOhIG5lemJ5dG7DoQ0KbGljZW7EjW7DrSBwcsOhdmEgYSBvcHLDoXZuxJtuw60gayBwb3XFvsOtdsOhbsOtDQpzb2Z0d2FydSBleHRlbcOtaG8gZG9kYXZhdGVsZSB6YSDDusSNZWxlbQ0KcHJvdmVkZW7DrSBLbGluaWNrw6lobyBob2Rub2NlbsOtLg0KQXJjaGl2YWNpIGRsZSBib2R1IDdiLg0KKHYpIFDFmcOtIGtvbnRyb2xlIGRhdCBixJtoZW0gcGzDoW5vdmFuw6kgbsOhdsWhdMSbdnkNCk3DrXN0YSBob2Rub2NlbsOtIG1vbml0b3JlbSBtdXPDrSBtw610IEhsYXZuw60NCnprb3XFoWVqw61jw60gdmXFoWtlcsOhIGRvc3R1cG7DoSBkYXRhIHrDrXNrYW7DoSBhxb4gZG8NCmtvbmNlIHDFmWVkY2hvesOtaG8gZG5lIGEgdG8ga29tcGxldG7DrSBhDQpwxZlpcHJhdmVuw6EgayB2eWhvZG5vY2Vuw60uDQoodsOtKSBObyBwYXltZW50IHfDrWxsIGJlIG1hZGUgZm9yIHbDrXPDrXRzIG9mIFN0dWR5ICh2w60pIE7DoXbFoXTEm3Z5IFN1Ympla3TFryBob2Rub2NlbsOtLCBrdGVyw6kgYnlseSBuYQ0Kc3ViamVjdHMgZm91bmQgw61uZWxpZ8OtYmxlIHVwb24gcmV2w61ldyBvZiB0aGXDrXIgesOha2xhZMSbIGtvbnRyb2x5IENSRiBhIHpkcm9qb3bDqSBkb2t1bWVudGFjZQ0KQ2FzZSBSZXBvcnQgRm9ybXMgYW5kIHNvdXJjZSBkb2N1bWVudHMuIHZ5aG9kbm9jZW55IGpha28gbmV2aG9kbsOpLCBuZWJ1ZG91IGhyYXplbnkuDQoodsOtw60pICJTY3JlZW4gRmHDrWx1cmUiIHNoYWxsIG1lYW4gYSBTdHVkeSBzdWJqZWN0DQp3aG8NCndhcyBub3Qgb2J2w61vdXNseSDDrW5lbGlnw61ibGUsDQpoYXMgY29tcGxldGVkIHRoZSBTY3JlZW7DrW5nIFZpc2l0DQpwcm9jZWR1cmVzIGFzIG91dGzDrW5lZCBpbiB0aGUgUHJvdG9jb2wNCihpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgdGhlIGluZm9ubmVkDQpjb25zZW50IHByb2Nlc3MpIGFuZA0KaXMgbm90IHJhbmRvbWlzZWQgaW50byB0aGUgc3R1ZHkgYXMgaXQgZmFpbGVkDQp0byBtZWV0IHRoZSBjcml0ZXJpYSBmb3IgcmFuZG9taXNhdGlvbiBhbmQNCmhhcyBub3QgcmVjZWl2ZWQgYW55IGRvc2Ugb2YgdGhlIFN0dWR5DQpEcnVnLg0Kd2lsbCBiZSByZWltYnVyc2VkIGluIGxpbmUgd2l0aCB0aGUNCmRlZmluaXRpb24gaW4gcGF5bWVudCB0YWJsZQ0Kc2NyZWVuIGZhaWx1cmUgY2FzZXMgd2lsbCBiZSBwYWlkIHVwIHRvIDEwDQpjYXNlcyB0aGFuIG9uIGEgY2FzZSBieSBjYXNlIGJhc2lzIGFzc2Vzc2VkDQpieSB0aGUgQ1JPL3Nwb25zb3INClBheW1lbnQgZm9yIHNjcmVlbiBmYWlsdXJlcyB3aWxsIGJlIG1hZGUNCmJ5IENSTyBhZnRlciBDUk8gaGFzIHJlY2VpdmVkIGFuZA0KcmV2aWV3ZWQgYWxsIGFwcHJvcHJpYXRlIGVDUkZzIChkYXRhIGhhcw0KYmVlbiBlbnRlcmVkLCBvciBkb2N1bWVudGF0aW9uIG9mDQpwcm9jZWR1cmVzIGNvbXBsZXRlZCkgaW4gYWRkaXRpb24gdG8gYW55DQpvdGhlciBpbmZvcm1hdGlvbiB0aGF0IGlzIHJlcXVlc3RlZCBieQ0KU3BvbnNvciB0byBhcHByb3ByaWF0ZWx5IGRvY3VtZW50IHRoZQ0KU3R1ZHkgc3ViamVjdCBzY3JlZW5pbmcgcHJvY2VkdXJlcy4NClBheW1lbnQgZm9yIGFsbCBzY3JlZW4gY29tcGVuc2F0aW9uIHdpbGwNCjMxIG9mMzUNCih2aWkpIOKAnk5lw7pzcMSbxaFuw70gc2tyaW5pbmsiIHpuYW1lbsOhIFN1Ympla3QNCmhvZG5vY2Vuw60sIGt0ZXLDvQ0KLQl6amV2bsSbIG5lYnlsIG5ldmhvZG7DvQ0KLQlzcGxuaWwgcHJvY2VkdXJ5IFNrcsOtbmlua292w6kgbsOhdsWhdMSbdnkNCnBvZGxlIHByb3Rva29sdSAodsSNZXRuxJsgcHJvY2VzdQ0KaW5mb3Jtb3ZhbsOpaG8gc291aGxhc3UgYSB0byBiZXogdnlqw61ta3kpDQphDQotCW5lbsOtIHJhbmRvbcOtem92w6FuIGRvIHN0dWRpZSwgcHJvdG/FvmUNCm5lc3BsbmlsIGtyaXRlcmlhIHBybyByYW5kb23DrXphY2kgYQ0KbmVvYmRyxb5lbCDFvsOhZG5vdSBkw6F2a3UgaG9kbm9jZW7DqWhvDQpsw6nEjWl2w6lobyBwxZnDrXByYXZrdS4NCi0JYnVkZSB1aHJhemVuIGRsZSBkZWZpbmljZSB2IHBsYXRlYm7DrQ0KdGFidWxjZQ0KLQlidWRlIHByb3BsYWNlbm8gYcW+IDEwIG5lw7pzcMSbxaFuw71jaA0Kc2tyw61uw61ua8WvLCBwb3TDqSBwb2RsZSB6aG9kbm9jZW7DrSBrYcW+ZMOpaG8NCnDFmcOtcGFkdSBhIHNjaHbDoWxlbsOtIENSTy96YWRhdmF0ZWxlbQ0KUGxhdGJhIHphIG5lw7pzcMSbxaFuw6kgc2tyw61uw61ua3kgYnVkZSBwcm92ZWRlbmENClNtbHV2bsOtIHbDvXprdW1ub3Ugb3JnYW5pemFjaSAoQ1JPKSBwb3TDqSwNCmNvIENSTyBvYmRyxb7DrSBhIHprb250cm9sdWplIHbFoWVjaG55DQpwxZnDrXNsdcWhbsOpIGVDUkYgKMO6ZGFqZSBtdXPDrSBiw710IHZ5cGxuxJtueQ0KbmVibyBwxZllZGxvxb5lbmEga29tcGxldG7DrSBkb2t1bWVudGFjZSBwcm8NCnNwbG7Em27DqSBwcm9jZWR1cnkpIHDFmcOtcGFkbsOpIGRvcGxuxJtueSBkYWzFocOtDQrDrW5mb25uYWNlIHBvxb5hZG92YW7DqSBTcG9uem9yZW0sIHRhayBhYnkNCmJ5bHkgemRva3VtZW50b3bDoW55IHbFoWVjaG55IHNrcsOtbmlua292w6kNCnByb2NlZHVyeSB1IGRhbsOpaG8gU3ViamVrdHUgaG9kbm9jZW7DrS4NCktpJ2Fqc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuLQ0KQ3plY2ggUmVwdWJsaWMNCmZpbsOhbCB2ZXJzaW9uIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PSSBFYXN0SE9STiBzdHVkeSBjb2RlOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q6IENsaW5pY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PSSBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOiAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmNwdWJsaWMgU3BvbnNvcjogQVpUaGVyYXBpY3MgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRoZXJhcGljcyBJbmMuDQpiZSBwYWlkIHdpdGggdGhlIG5leHQgc2NoZWR1bGVkIHBheW1lbnQNCm93ZWQgdG8gdGhlIEludmVzdGlnYXRvci4NCih2aWlpKQlTdWJqZWN0IERyb3Agb3V0IC8gV2l0aGRyYXdhbDogUGVyZm9ybWVkDQphbmQgZG9jdW1lbnRlZCB2aXNpdHMgd2lsbCBiZSBwYWlkIGZvciBhDQpzdWJqZWN0IHdpdGhkcmF3biBwcmVtYXR1cmVseSBmcm9tIHRoZQ0Kc3R1ZHkuDQooaXgpCUx1bWJhciBwdW5jdHVyZSBwYXltZW50Og0KVGhlIGFtb3VudCBvZiAxNzAgRVVSIHJlcHJlc2VudHMgdGhlDQphbW91bnQgcGVyIEx1bWJhciBQdW5jdHVyZSBwZXJmb3JtZWQsDQphY2NvcmRpbmcgcHJvdG9jb2wgQVpULU9PSS4gVGhlIHByaWNlDQppbmNsdWRlczogTHVtYmFyIFB1bmN0dXJlIHByb2NlZHXFmWUgaW5jbC4NClN1YmplY3Qgb2JzZXJ2YXRpb24gdGltZSBhZnRlciB0aGUgcHJvY2VkdcWZZQ0KYW5kIHRoZSBwcm9jZXNzaW5nLCBzdG9yYWdlIG9mIENTRiwgcGFja2lnaW5nLA0KbWFpbnRhaW5pbmcgYW5kIHNoaXBtZW50IG9mIHRoZSBDU0Ygc2FtcGxlcw0KdG8gY2VudHJhXSBsYWJvcmF0b3J5LiBUaGlzIGFtb3VudCB3aWxsIGJlIHBhaWQNCnRvIHRoZSBuZXVyb2xvZ2lzdCBwZXJmb3JtaW5nIHRoZSBMUC4NCih4KSBJbmNyZWFzZWQgcGVyIHN1YmplY3QgZmVlOiBBbiBhZGRpdGlvbmFsDQptb3RpdmF0aW9uZmVlIG9mIDMwMCBMVVIgZm9yIGVhY2ggc3ViamVjdA0KcmFuZG9taXplZCBvdmVyIHRoZSB0b3RhbCBudW1iZXIgb2YgOCBzaGFsbA0KYmUgcGFpZC4gVGhlIGZlZSBpcyBpbnRlbmRlZCB0byBjb21wZW5zYXRlDQphZGRpdGlvbmFsIGFkbWluaXN0cmF0aXbEmyB3b3JrIHRoYXQgbWF5DQpyZXF1aXJlIG92ZXJ0aW1lcyBhbmQvb3Igd29yayBvdXQgb2YgcHJpbWFyeQ0Kc2NvcGUgdG8gYmUgYWJsZSB0byBtZWV0IGhpZ2ggc3RhbmRhcmRzIG9mDQpkYXRhIHF1YWxpdHkgZm9yIHRoZSB0cmlhbC4NClRoZSBDUk8gYWdyZWVzIHRvIHJlaW1idXJzZSB0aGUgSW5zdGl0dXRpb24NCm9uIGJlaGFsZiBvZiB0aGUgU3BvbnNvciBmb3IgdGhlIGNvc3RzIG9mDQpTdHVkeSBzdWJqZWN0IGFuZCB0aGVpciBTdHVkeSBwYXJ0bmVyIHRyYXZlbCwgaWYNCmFsbG93ZWQgYnkgcmVzcGVjdGl2ZSByZWd1bGF0aW9ucy4gVGhlDQpJbnN0aXR1dGlvbiBhZ3JlZXMgdG8gdHJhbnNmZXIgdG8gZWFjaCBlbnJvbGxlZA0KU3R1ZHkgc3ViamVjdCBhbmQgaGlzIFN0dWR5IHBhcnRuZXIgdGhlDQpjb21wZW5zYXRpb24gZm9yIGl0cyB0cmF2ZWwgZXhwZW5zZXMNCihpbmNsdWRpbmcgcGFya2luZyBhbmQgbWVhbHMpIGluIHRoZSBmbGF0DQphbW91bnQgNDAwLC1DWksgaW4gdGhlIGZvcm0gb2YgbWVhbA0KMzIgb2YzNQ0KUGxhdGJhIHphIHbFoWVjaG55IG5lw7pzcMSbxaFuw6kgc2tyaW5pbmt5IGJ1ZGUNCnByb3ZlZGVuYSBzIG5lamJsacW+xaFpIHBsw6Fub3Zhbm91IHBsYXRib3UgZGxlDQpwbGF0ZWJuw61obyByb3p2cmh1IHBybyB6a291xaFlasOtY8OtaG8uDQoodmlpaSkgUMWZZWTEjWFzbsOpIHVrb27EjWVuaS8gb2RzdG91cGVuaToNCnByb3ZlZGVuw6kgYSB6ZG9rdW1lbnRvdmFuw6kgbsOhdsWhdMSbdnkgYnVkb3UNCnByb3BsYWNlbnkgcHJvIHN1Ympla3R5LCBrdGVyw6kgc3ZvdSDDusSNYXN0IHYNCmhvZG5vY2VuaSB1a29uxI1pIHDFmWVkxI1hc27DqS4NCihpeCkgUGxhdGJhIHphIGx1bWLDoWxuaSBwdW5rY2k6DQrEjMOhc3RrYSAxNzAgTFVSIG9kcG92w61kw6EgZmluYW7EjW7DrW11DQpvaG9kbm9jZW5pIHphIHByb3ZlZGVuaSBsdW1iw6FsbmkgcHVua2NlIGRsZQ0KcHJvdG9rb2x1IEFaVC0wMDEuIENlbmEgemFobXVqZSBwcm9jZWR1cnUNCmx1bWLDoWxuaSBwdW5rY2UgdsSNZXRuxJsgc2xlZG92w6FuaSBTdWJqZWt0dQ0KcG8gdsO9a29udSBhIHpwcmFjb3bDoW7DrSwgc2tsYWRvdsOhbmkgdnpvcmt1DQptb3prb23DrcWhbmlobyBtb2t1LCB6YWJhbGVuaSBhIG9kZXNsw6FuaQ0KdnpvcmvFryBtb3prb23DrcWhbmlobyBtb2t1IGRvIGNlbnRyw6FsbsOtDQpsYWJvcmF0b8WZZS4gVGF0byBvZG3Em25hIGJ1ZGUgdnlwbGFjZW5hDQpwcm92w6FkxJtqw61jw61tdSBuZXVyb2xvZ292aS4NCih4KSBOYXbDvcWhZW5pIHBsYXRieSB6YSBTdWJqZWt0eSBob2Rub2Nlbmk6DQpkb2RhdGXEjW7DvSBtb3RpdmHEjW7DrSBwb3BsYXRlayB2ZSB2w73FoWkgMzAwDQpFVVIgYnVkZSB6YXBsYWNlbiB6YSBrYcW+ZMO9IHJhbmRvbWl6b3ZhbsO9DQpTdWJqZWt0IGhvZG5vY2VuaSwga3RlcsO9IHDFmWVrcm/EjcOtIGNlbGtvdsOpDQrEjcOtc2xvIDguIMOaxI1lbGVtIHRvaG90byBwb3BsYXRrdSBqZSB1aHJhZGl0DQpkb2RhdGXEjW5vdSBhZG1pbmlzdHJhdGl2bsOtIHByw6FjaSwga3RlcsOhIG3Fr8W+ZQ0KemFocm5vdmF0IHDFmWVzxI1hcyBhL25lYm8gcHLDoWNpIG1pbW8gcMWvdm9kbsSbDQpwxZllZHBva2zDoWRhbsO9IHJvenNhaCwgdGFrIGFieSBieWwgZG9kcsW+ZW4NCnN0YW5kYXJkIHZ5c29rw6kga3ZhbGl0eSBkYXQgcHJvIHRvdG8gaG9kbm9jZW5pLg0KQ1JPIHNlIHphdmF6dWplIHVocmFkaXQgWmRyYXZvdG5pY2vDqW11DQp6YcWZw616ZW5pIHYgemFzdG91cGVuw60gWmFkYXZhdGVsZSBjZXN0b3Zuw60NCm7DoWtsYWR5IFN1Ympla3TFryBob2Rub2NlbmkgYWplamljaCBTdHVkaWpuw61jaA0KcGFydG5lcsWvLCBqZS1saSB0byBwb3ZvbGVubyBwcsOhdm7DrW1pIHDFmWVkcGlzeS4NClpkcmF2b3RuaWNrw6kgemHFmcOtemVuaSBzZSB6YXZhenVqZSBwcm9wbGF0aXQNCmthxb5kw6ltdSB6YcWZYXplbsOpbXUgU3ViamVrdHUgaG9kbm9jZW5pIGENClN0dWRpam7DrW11IHBhcnRuZXJvdmkgY2VzdG92bsOtIHbDvWRhamUgKHbEjWV0bsSbDQpwYXJrb3Zuw6lobyBhIHN0cmF2bsOpaG8pIHYgamVkbm90bsOpIHbDvcWhaSA0MDAsLQ0KS8SNIHZlIGZvcm3EmyBzdHJhdmVuZWsgemEga2HFvmRvdSBzdHVkaWpuw60NCm7DoXbFoXTEm3Z1IG9ixJttYSwgemEgc3R1ZGlqbsOtIG7DoXbFoXTEm3Z1DQpDemVjaCBSY3B1YmxpYw0KZmluw6FsIHZlcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PbCBFYXN0SE9STiBzdHVkeSBjb2RlOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q7IENsaW5pY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PbCBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOyAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvaWlzb3I6IEFaVGJlcmFwaWVzIEluYy4JSm3DqW5vIDogWmVtxJs6IMSMZXNrw6EgcmVwdWJsaWthIFphZGF2YXRlbDogQVpUYmVyYXBpZXMgSW5jLg0Kdm91Y2hlcnMgZm9yIGV2ZXJ5IHN0dWR5IHZpc2l0IHRvIGJvdGggb2YgdGhlbSwNCmZvciB0aGUgdmlzaXQgd2l0aCBsdW1iYXIgcHVuY3R1cmUgNjAwLC1DWksNCnRvIHRoZSBTdHVkeSBzdWJqZWN0IGFuZCA0MDAsLSBDWksgdG8gU3R1ZHkNCnBhcnRuZXIuDQooeGkpCVBoYXJtYWN5IFNlcnZpY2VzDQpUaGUgSW5zdGl0dXRpb24gaGVyZWJ5IHJlcHJlc2VudHMgYW5kIHdhcnJhbnRzDQp0aGF0IGl0IHdpbGwgZW5zdXJlIHRoZSBwZXJmb3JtYW5jZSBvZg0KUGhhcm1hY3kgU2VydmljZXMsIGFzIGJlbG93IGRlc2NyaWJlZCwgaW4NCmFjY29yZGFuY2Ugd2l0aCB0aGUgUHJvdG9jb2wgb24gaXRzIG93bg0KcmVzcG9uc2liaWxpdHkgYW5kIGxpYWJpbGl0eS4gQ1JPIHdpbGwNCnJlaW1idXJzZSBJbnN0aXR1dGlvbiBhIG9uZS10aW1lIHBoYXJtYWN5DQpzZXQtdXAgZmVlIG9mIDM3MCBFVVIgcGVyIHllYXIgb2YgYWN0aXZlDQpwYXJ0aWNpcGF0aW9uIGluIHRoZSB0cmlhbCBkdWUgd2l0aGluIDYwIGRheXMNCmFmdGVyIGluaXRpYXRpb24gb2YgdGhlIFN0dWR5IGluIHRoZSBJbnN0aXR1dGlvbiwNCndoaWNoIG1lYW5zIHNpZ25pbmcgb2YgZmlyc3QgSW5mb3JtZWQNCmNvbnNlbnQgaW4gdGhlIEluc3RpdHV0aW9uLiBXaXRob3V0IGxpbWl0aW5nIHRoZQ0KZm9yZWdvaW5nLCBwYXltZW50cyBmb3IgdGhlIFBoYXJtYWN5DQpzZXJ2aWNlcyBzaGFsbCBiZSBtYWRlIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUNCnByb3Zpc2lvbnMgc2V0IGZvcnRoIGluIFNjaGVkdWxlIEEuDQpUaGVzZSBzZXJ2aWNlcyBpbmNsdWRlOg0K4oCiCVByb2R1Y3QgZGVsaXZlcnkgYWNjZXB0YW5jZSBhbmQgY29uZmlubmF0aW9uDQrigKIJU3RvcmFnZSBvZiBQcm9kdWN0LCByZWNvcmRpbmcsIHByZXBhcmluZyBmb3INCmRlc3RydWN0aW9uICh0aGVuIGFjY29yZGluZyB0byB0aGUNClNwb25zb3IvQ1JPIGluc3RydWN0aW9ucyksDQrigKIJU3VwcGx5IG9mIFByb2R1Y3QgdG8gdGhlIHNpdGUsDQrigKIJQUlJIG90aGVyIGR1dGllcyBwZXJmb3JtZWQgYnkgdGhlIFBoYXJtYWN5IGluDQphY2NvcmRhbmNlIHdpdGggdGhlIFByb3RvY29sIGFuZCBzdXBwb3J0aW5nDQpkb2N1bWVudGF0aW9uIHRocm91Z2hvdXQgdGhlIGNvdXJzZSBvZiB0aGUNClN0dWR5Lg0KKHhpaSkJU3RhcnQtVXAgRmVlDQpPbiB0aGUgYmFzaXMgb2YgdGhlIG9yaWdpbsOhbCBpbnZvaWNlLCBDUk8gc2hhbGwNCm1ha2UgYSBvbmUtdGltZSBwYXltZW50IHRvIHRoZSBJbnN0aXR1dGlvbiBhZnRlcg0KdGhlIGNvbnRyYWN0IGV4ZWN1dGlvbiBpbiB0aGUgYW1vdW50IG9mIDY3MA0KRVVSLiBUaGlzIGZlZSBpbmNsdWRlcyBjb3N0cyByZWxhdGVkIHRvDQpwcm9jZXNzaW5nIG9mIHRoaXMgQWdyZWVtZW50LiBUaGUgYWZvcmVzYWlkIGZlZQ0Kc2hhbGwgYmUgcGF5YWJsZSB3aXRoaW4gNjAgZGF5cyBmcm9tIHJlY2VpcHQgb2YNCjMzIG9mMzUNCnMgbHVtYsOhbG7DrSBwdW5rY8OtIDYwMCwtIEvEjSBTdWJqZWt0dQ0KaG9kbm9jZW7DrSBhIDQwMCwtIEvEjSBTdHVkaWpuaW11IHBhcnRuZXJvdmkuDQooeGkpIEzDqWvDoXJlbnNrw6kgc2x1xb5ieQ0KWmRyYXZvdG5pY2vDqSB6YcWZw616ZW7DrSBzZSB6YXZhenVqZSwgxb5lIG5hIHZsYXN0bmkNCm9kcG92xJtkbm9zdCBhIHYgc291bGFkdSBzIFByb3Rva29sZW0gemFqaXN0aQ0KcHJvdmVkZW5pIGzDqWvDoXJlbnNrw71jaCBzbHXFvmViLCBqZcW+IGpzb3UgbsOtxb5lDQpkZWZpbm92w6FueS4gQ1JPIHBvc2t5dG5lIFpkcmF2b3RuaWNrw6ltdQ0KemHFmcOtemVuaSBqZWRub3LDoXpvdm91IMO6dm9kbsOtIMSNw6FzdGt1IHphDQpsw6lrw6FyZW5za8OpIHNsdcW+YnkgdmUgdsO9xaFpIDM3MCBFVVIgemEgcm9rLCBhIHRvDQpkbyA2MCBkbsWvIHBvIHphaMOhamVuw60gU3R1ZGllIHUgUG9za3l0b3ZhdGVsZSwNCsSNw61txb4gc2UgbXlzbMOtIHBvZHBpcyBwcnZuw61obyBpbmZvcm1vdmFuw6lobw0Kc291aGxhc3UgdmUgWmRyYXZvdG5pY2vDqW0gemHFmcOtemVuaSBhIGTDoWxlDQrEjcOhc3RrdSAzNzAgRVVSIHphIGthxb5kw70gcm9rIGFrdGl2bsOtaG8NCnByb3bDoWTEm27DrSBzdHVkaWUuIEJleiBqYWvDqWhva29saSBvbWV6ZW7DrSB2ZQ0Kdnp0YWh1IGsgdsO9xaFlIHV2ZWRlbsOpbXUgYnVkb3UgdmXFoWtlcsOpIHBsYXRieQ0KemEgTMOpa8OhcmVuc2vDqSBzbHXFvmJ5IHBvc2t5dG51dHkgdiBzb3VsYWR1IHMNCnBvZG3DrW5rYW1pIHN0YW5vdmVuw71taSB2IFDFmcOtbG96ZSBBLg0KVHl0byBzbHXFvmJ5IHphaG11amk6DQrigKIJUMWZw61qZW0gYSBwb3R2cnplbmkgUHJvZHVrdHUNCuKAoglVc2tsYWRuxJtuaSwgZXZpZGVuY2ksIHDFmcOtcHJhdnUgbmEgZGVzdHJ1a2NpDQoocGFrIHBvZGxlIGluc3RydWtjaSB6YWRhdmF0ZWxlL0NSTykNCuKAoglkb2TDoW7DrSBQcm9kdWt0dSBuYSBtw61zdG8gaG9kbm9jZW7DrSwNCuKAoglkYWzFocOtIG9kcG92xJtkbm9zdGkgTMOpa8Ohcm55IHYgc291bGFkdSBzZQ0Kc3R1ZGlqbsOtbSBQcm90b2tvbGVtIGEgaW5zdHJ1a2NlbWkgcG8NCmNlbG91IGRvYnUgcHLFr2LEm2h1IFN0dWRpZQ0KKHhpaSkgU3RhcnQtVXAgcG9wbGF0ZWsNCk5hIHrDoWtsYWTEmyBkb3J1xI1lbmkgb3JpZ2luw6FsbsOtIGZha3R1cnksIENSTw0KdWhyYWTDrSBqZWRub3LDoXpvdm91IHBsYXRidSBQb3NreXRvdmF0ZWxpIHBvDQpwb2RwaXN1IHNtbG91dnksIGEgdG8gdmUgdsO9xaFpIDY3MCBFVVIuDQpUZW50byBwb3BsYXRlayB6YWhtdWplIMO6aHJhZHUgbsOha2xhZMWvIHYNCnNvdXZpc2xvc3RpIHMgdnlqZWRuw6Fuw61tIHTDqXRvIFNtbG91dnkuIFNob3JhDQp1dmVkZW7DoSBwbGF0YmEgYnVkZSBzcGxhdG7DoSB2ZSBsaMWvdMSbIDYwIGRuxa8NCktpJ2Fqc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuLQ0KQ3plY2ggUmVwdWJsaWMNCmZpbsOhbCB2ZXJzaW9uIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQooXl5IT1JuDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PSSBFYXN0SE9STiBzdHVkeSBjb2RlOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q7IENsaW5pY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PSSBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOyAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvbnNvcjogQVpUYmVyYXBpZXMgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRiZXJhcGllcyBJbmMuDQppbnZvaWNlIGJ5IENSTy4Jb2QgcMWZaWpldMOtIGZha3R1cnkgQ1JPLg0KKHhpaWlqTG9jYWwgbGFib3JhdG9yeSBmZWUgcmVwcmVzZW50czogMTczIGV1cm8gZm9yDQpoZWFtYXRvbG9naWNhbCBhbmQgYmlvY2hlbWlzdHJ5DQppbnZlc3RpZ2F0aW9uIHBlciByYW5kb21pc2VkIHBhdGllbnQgZm9yIHRoZQ0Kd2hvbGUgdHJpYWwuIFNjcmVlbmluZyBwZXJpb2Qgd2lsbCBiZSBjb3ZlcmVkDQpieSAxMyBldXJvIHBlciBiaW9jaGVtaXN0cnkgaW52ZXN0aWdhdGlvbiBhbmQNCjEyIGV1cm8gcGVyIGhhZW1hdG9sb2d5Lg0KKHhpdikJQWR2ZXJ0aXNlbWVudCB3aGVuIG5lZWRlZCB3aWxsIGJlIGFncmVlZA0Kd2l0aCB0aGUgc3BvbnNvci9DUk8gc2VwYXJhdGVseS4NCih4dikJQXJjaGl2aW5nIGZlZQ0KQ1JPIHNoYWxsIGZ1cnRoZXIgbWFrZSB0byB0aGUgSW5zdGl0dXRpb24gYQ0KcGF5bWVudCBpbiBhbW91bnQgb2YgMzcwIEVVUiBhcyBhDQpyZWltYnVyc2VtZW50IG9mIGluY3VycmVkIGFyY2hpdmluZyBleHBlbnNlcw0KZm9yIGEgdGVybSBvZiAxNSB5ZWFycy4gVGhpcyBvbmUtb2ZmIHBheW1lbnQNCnNoYWxsIGJlIG1hZGUgb24gdGhlIGJhc2lzIG9mIHRoZSBvcmlnaW7DoWwNCmludm9pY2UgZGVsaXZlcnkgYWZ0ZXIgdGhlIGNvbnRyYWN0IGV4ZWN1dGlvbi4NCih4dmkpCVBheW1lbnRzIGZvciBzZXJ2aWNlcyB3aWxsIGJlIG1hZGUgaW4gdGhlDQpjdXJyZW5jeSBvZiB0aGUgQWdyZWVtZW50IGFuZCB0aGUgaW52b2ljZQ0KbXVzdCBiZSBpc3N1ZWQgaW4gdGhlIGN1cnJlbmN5IG9mIEFncmVlbWVudC4NCklmIG5lY2Vzc2FyeSBsb2NhbCBjdXJyZW5jeSBtaWdodCBiZQ0KbWVudGlvbmVkIGFzIHdlbGwgT3RoZXIgcGFzcyB0aHJvdWdoIGNvc3RzDQpzaGFsbCBiZSBwYWlkIGluIGxvY2FsIGN1cnJlbmN5Lg0KKHh2aWkpCUFsbCB0aGUgYW1vdW50cyBsaXN0ZWQgYWJvdmUgYXJlIGhlcmV0bw0KZGVmaW5lZCBpbmNsdWRpbmcgYW55IHRheGVzLiBUaGUgZXhjZXB0aW9uIGlzDQp0aGUgVkFUIHdoaWNoIGlzIHByb2Nlc3NlZCwgaWYgYXBwbGljYWJsZSwgdmlhDQpyZXZlcnNlIGNoYXJnZSBtZWNoYW5pc20gYnkgdGhlIENSTy4NCih4dmlpaSkJUGF5bWVudHMgd2lsbCBiZSBwcm9jZXNzZWQgYXQgbGVhc3QgaW4gMy0NCm1vbnRoIGludGVydmFscy4gVGhlIENSTyB3aWxsIHNlbmQgdG8gdGhlDQpQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGEgUGF5bWVudCBGb3JtIHdpdGggdGhlDQpmZWUgY2FsY3VsYXRpb24uIEVhY2ggUGF5bWVudCBGb3JtIHdpbGwgY292ZXINCm9ubHkgdmlzaXRzIGNvbXBsZXRlZCBhbmQgcHJvY2VkdXJlcyB3aGljaA0KaGF2ZSBiZWVuIG1vbml0b3JlZCBieSBhIG1vbml0b3IgYW5kDQphcHByb3ZlZCBieSB0aGUgU3BvbnNvciBkdXJpbmcgdGhlIHByZXZpb3VzDQpwZXJpb2QuIFRoZSBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIHNoYWxsIHJldmlldw0KMzRvZjM1DQooeGlpaSkJUG9wbGF0ZWsgemEgbGFib3JhdG9taSBzbHXFvmJ5IGJ1ZGUNCmhyYXplbjogMTczIGV1cm8gemEgaGVtYXRvbG9naWNrw6kgYQ0KYmlvY2hlbWlja8OpIHZ5xaFldMWZZW7DrSB6YSBrYcW+ZMOpaG8NCnJhbmRvbWl6b3ZhbsOpaG8gcGFjaWVudGEgbmEgY2Vsb3UNCnN0dWRpaS4gU2NyZWVuaW5nb3bDqSBvYmRvYsOtIGJ1ZGUNCnBsYWNlbm8gMTMgZXVybyB6YSBiaW9jaGVtaWNrw6kNCnZhxaFldMWZZW5pIGEgMTIgZXVybyB6YSBoZW1hdG9sb2dpaS4tDQooeGl2KQlJbnplcmNlIHBva3VkIGJ1ZGUgcG91xb5pdGEsIGJ1ZGUNCnNjaHbDoWxlbmEgemFkYXZhdGVsZW0vQ1JPIHp2bMOhxaHFpS4NCih4dikJQXJjaGl2YcSNbsOtIHBvcGxhdGVrDQpDUk8gc2UgZMOhbGUgemF2YXp1amUgdWhyYWRpdCBaZHJhdm90bmlja8OpbXUNCnphxZnDrXplbmkgxI3DoXN0a3UgdmUgdsO9xaFpIDM3MCBFVVIgYSB0byBrIMO6aHJhZMSbDQpuw6FrbGFkxa8gc3BvamVuw71jaCBzIGFyY2hpdmFjw60gcG8gZG9idSAxNSBsZXQuDQpUYXRvIGplZG5vcsOhem92w6Egw7pocmFkYSBidWRlIHBvc2t5dG51dGEgbmENCnrDoWtsYWTEmyBkb3J1xI1lbmkgb3JpZ2luw6FsbsOtIGZha3R1cnkgcG8gcG9kcGlzdQ0Kc21sb3V2eS4NCih4dmkpCVBsYXRieSB6YSBzbHXFvmJ5IGJ1ZG91IHByb3ZlZGVueSB2ZSBtxJtuxJsNCnN0YW5vdmVuw6kgdG91dG8gU21sb3V2b3UgYSBmYWt0dXJhIG11c8OtIGLDvXQNCnZ5c3RhdmVuYSB2IG3Em27EmyB0w6l0byBTbWxvdXZ5LiBQb2t1ZCB0byBqZQ0KbnV0bsOpLCBtbMW+ZSBiw710IHJvdm7Em8W+IHV2ZWRlbmEgbcOtc3Ruw60gbcSbbmEuDQpEYWzFocOtIHByxa9ixJvFvm7DqSBuw6FrbGFkeSAocGFzcyB0aHJvdWdoIGNvc3RzKQ0KYnVkb3UgaHJhemVueSB2IG3DrXN0bsOtIG3Em27Emy4NCih4dmlpKQlWxaFlY2hueSDEjcOhc3RreSB1dmVkZW7DqSB2w73FoWUganNvdQ0KdXZlZGVueSB2xI1ldG7EmyB2ZcWha2Vyw71jaCBkYW7DrS4gVsO9amlta291IGplDQpEUEgsIGt0ZXLDoSBidWRlIG9kdmVkZW5hLCBwb3XFvmlqZS1saSBzZSwNCnByb3N0xZllZG5pY3R2w61tIG1lY2hhbmlzbXUgcMWZZW5lc2VuaSBkYcWIb3bDqQ0KcG92aW5ub3N0aSB1IENSTy4NCih4dmlpaSkJUGxhdGJ5IGJ1ZG91IHByb2LDrWhhdCBtaW5pbcOhbG7EmyB2IHTFmWktDQptxJtzacSNbmljaCBpbnRlcnZhbGVjaC4gQ1JPIHphxaFsZSBIbGF2bsOtbXUNCnprb3XFoWVqw61jw61tdSBQbGF0ZWJuw60gZm9ubnVsw6HFmSBzIGthbGt1bGFjaQ0Kb2RtxJtueS4gS2HFvmTDvSBQbGF0ZWJuw60gZm9ybXVsw6HFmSBidWRlDQpvYnNhaG92YXQgcG91emUgZG9rb27EjWVuw6kgbsOhdsWhdMSbdnkgYSBwb3N0dXB5LA0Ka3RlcsOpIGJ5bHkgb2Rtb25pdG9yb3bDoW55IG1vbml0b3JlbSBhDQpzY2h2w6FsZW7DqSBaYWRhdmF0ZWxlbSB2IHByxa9ixJtodSB1cGx5bnVsw6lobw0Kb2Jkb2LDrS4gSGxhdm5pIHprb3XFoWVqw61jw60gemtvbnRyb2x1amUgYSBww61zZW1uxJsNCktpJ2Fqc2vDoSBuZW1vY25pY2UgTGliZXJlYyBhLnMuLQ0KQ3plY2ggUmVwdWJsaWMNCmZpbsOhbCB2ZXJzaW9uIDEuMCBkYXRlZCAwMzA4MjAxNg0KDEUgZmwgUyBUDQpDOmlubENFbFNFcixpY3M1aW5DRUUNClByb3RvY29sIG51bWJlcjogQVpULU9PbCBFYXN0SE9STiBzdHVkeSBjb2RlOiAzMzAxIFR5cGUgb2YgY29udHJhY3Q6IENsaW5pY2FsIFN0dWR5IEFncmVlbWVudCAtIFNpdGUgY29udHJhY3Q6IENSTyAtIEluc3RpdHV0aW9uIC0gSW52ZXN0aWdhdG9yIFNpdGUgbnVtYmVyOiAzLTAwNwnEjMOtc2xvIHByb3Rva29sdTogQVpULU9PbCBFYXN0SE9STiDEjcOtc2xvIHByb2pla3R1OiAzMzAxIFR5cCBzbWxvdXZ5OiBTbWxvdXZhIG8gS0ggLSBTbWxvdXZhIHMgY2VudHJlbTogQ1JPIC0gSW5zdGl0dWNlIC1aa291xaFlasOtY8OtIMSMw61zbG8gY2VudHJhOiAzLTAwNw0KbmFtZTogQ291bnRyeTogQ3plY2ggUmVwdWJsaWMgU3BvbnNvcjogQVpUaGVyYXBpZXMgSW5jLglKbcOpbm8gOiBaZW3EmzogxIxlc2vDoSByZXB1Ymxpa2EgWmFkYXZhdGVsOiBBWlRoZXJhcGllcyBJbmMuDQphbmQgYXBwcm92ZSBpbiB3cml0dGVuIHRoZSBmZWUgY2FsY3VsYXRpb24NCndpdGhpbiA1IHdvcmtpbmcgZGF5cyBvZiByZWNlaXZpbmcgaXQuIE9ubHkNCmFmdGVyIHRoZSBQcmluY2lwYWwgSW52ZXN0aWdhdG9yIGFwcHJvdmFsIGlzDQpvYnRhaW5lZCBvbiB0aGUgUGF5bWVudCBGb3JtLCB0aGUgQ1JPIHdpbGwNCnJlcXVlc3QgdGhlIEluc3RpdHV0aW9uIHRvIGlzc3VlIGEgaW52b2ljZS90YXgNCmRvY3VtZW50IGZvciB0aGUgYXBwcm92ZWQgYW1vdW50LiBUaGUNCkluc3RpdHV0aW9uIHNoYWxsIGJlIG9ibGlnZWQgdG8gaXNzdWUgdGhlIGludm9pY2UNCndpdGhpbiAxNCBkYXlzIGZyb20gdGhlIGRheSBvZiByZWNlaXB0IG9mIHRoZQ0KcmVxdWVzdC4gVGhlIENSTyBvciBTcG9uc29yIGFyZSBub3QgbGlhYmxlIGZvcg0KYW55IGRlbGF5cyBjYXVzZWQgYnkgbGFjayBvZiB0aW1lbHkgYXBwcm92YWwNCmJ5IHRoZSBQcmluY2lwYWwgSW52ZXN0aWdhdG9yLiBJZiB0aGUgMTQtZGF5LQ0KZGVhZGxpbmUgaXMgbWlzc2VkIHRoZSBwYXlpbmVudCB3aWxsIGJlIG1hZGUNCmR1cmluZyBuZXh0IHBheW1lbnQgY3ljbGUuIFRoZSBpbnZvaWNlIG11c3QNCmNvbnRhaW4gYWxsIHJlcXVpcmVtZW50cyBzcGVjaWZpZWQgYnkgbGVnYWwNCnJlZ3VsYXRpb25zIGFuZCBTdHVkeSBQcm90b2NvbCBOdW1iZXIuIFRoZQ0KaW52b2ljZSBpcyBwYXlhYmxlIHdpdGhpbiA0NSBkYXlzIGZyb20gdGhlIGRhdGUNCm9mIGl0cyBpc3N1ZSBieSB0aGUgSW5zdGl0dXRpb24uIFRoZSBkYXRlIG9mIHRoZQ0KdGF4YWJsZSBldmVudCBpcyB0aGUgZGF0ZSBvZiBkZWxpdmVyeSBvZiBhIG5vdGljZQ0KdG8gaXNzdWUgYW4gaW52b2ljZSB0byB0aGUgSW5zdGl0dXRpb24uDQooeGl4KQlBbiBpbnZvaWNlLyB0YXggZG9jdW1lbnQgc2hhbGwgYmUgaXNzdWVkIGluDQpuYW1lIG9mIEVhc3RIT1JOLCBFYXN0SE9STiBDbGluaWNhbA0KU2VydmljZXMgaW4gQ0VFIExpbWl0ZWQsIEt5dmVsaXMgNywgT2ZmaWNlIDEwMiwNClAuQy4gMTA4NywgTmljb3NpYSwgQ3lwcnVzIFRheCBJRDoNCkNZMTAyNTMwMDJVLg0KKHh4KQlTaGlwbWVudCBBZGRyZXNzZSBpcyBFYXN0SE9STiBDbGluaWNhbA0KU2VydmljZXMgaW4gQ0VFLCBzLnIuby4sIFUgRHJ1xb5zdHZhIFByw6FjZSA0MywNCjE0MCAwMCBQcmFoYSA0LCBDemVjaCBSZXB1YmxpYy4NCih4eGkpCUFueSBwYXltZW50IHNoYWxsIG5vdCBmYWxsIGJlbG93IHRoZSBhbW91bnQNCm9mIDEwMDAgNi4gVGhlIGFtb3VudHMgY2FsY3VsYXRlZCBpbiB0aGUNClBheW1lbnQgRm9ybSBiZWxvdyB0aGlzIGxpbWl0IHdpbGwgYmUgYWRkZWQNCnRvIHRoZSBuZXh0IHBheW1lbnQuIFRoZSBmaW5hbCBwYXltZW50IHdpbGwNCmJlIG1hZGUgd2l0aG91dCB0aGlzIGFtb3VudCBsaW1pdCB3aXRoaW4gMzANCmRheXMgb2YgdGVybWluYXRpb24gb2YgdGhlIFN0dWR5Lg0KKHh4aWkpCUJhbmsgY2hhcmdlczogU0hBIC0gdGhlIHBheWVyIHBheXMgdGhlIGZlZQ0Kb2YgdGhlIHBheWXFpXMgYmFuaywgdGhlIHBheWVlIHBheXMgdGhlIGZlZXMgb2YgdGhlDQpwYXllZSdzIGJhbmsuDQpzY2h2w6Fsw60ga2Fsa3VsYWNpIG9kbcSbbnkgZG8gNSBwcmFjb3Zuw61jaCBkbsWvDQpvZCBqZWhvIG9iZHLFvmVuw60uIFRlcHJ2ZSBwbyBzY2h2w6FsZW7DrQ0KUGxhdGVibsOtaG8gcMWZZWhsZWR1IEhsYXZuw61tIHprb3XFoWVqw61jw61tLA0KcG/FvsOhZMOhLCBDUk8gUG9za3l0b3ZhdGVsZSBvIHZ5c3RhdmVuw60NCmZha3R1cnkgLyBkYcWIb3bDqWhvIGRva2xhZHUgbmEgc2NodsOhbGVub3UNCsSNw6FzdGt1LiBaZHJhdm90bmlja8OpIHphxZnDrXplbsOtIGplIHBvdmlubm8gdnlzdGF2aXQNCmZha3R1cnUgZG8gMTQgZG7FryBvZGUgZG5lIG9iZHLFvmVuw60gcMWZw61zbHXFoW7DqQ0KdsO9enZ5LiBDUk8gbmVibyBaYWRhdmF0ZWwgbmVqc291IG9kcG92xJtkbmkNCnphIHpwb8W+ZMSbbmkgenDFr3NvYmVuw6EgbmVkb2Ryxb5lbsOtbSB2xI1hc27DqWhvDQpzY2h2w6FsZW7DrSBuYSBzdHJhbsSbIEhsYXZuw61obyB6a291xaFlasOtY8OtaG8uDQpKZXN0bGnFvmUgbmVidWRlIGRvZHLFvmVuYSAxNC1kZW5uw60gbGjFr3RhDQprIHZ5c3RhdmVuw60gZmFrdHVyeSwgYnVkZSBwxZnDrXNsdcWhbsOhIHBsYXRiYQ0KdXNrdXRlxI1uxJtuYSBzIG7DoXNsZWR1asOtY8OtIHBsYXRib3UuIEZha3R1cmEgbXVzw60NCm9ic2Fob3ZhdCB2ZcWha2Vyw6kgbsOhbGXFvml0b3N0aSBzdGFub3ZlbsOpDQpwcsOhdm7DrW1pIHDFmWVkcGlzeSBhIMSNw61zbG8gcHJvdG9rb2x1IEtsaW5pY2vDqWhvDQpob2Rub2NlbsOtLiBGYWt0dXJhIGplIHNwbGF0bsOhIDQ1IGRuw60gb2RlIGRuZQ0KamVqw61obyB2eXN0YXZlbsOtIFpkcmF2b3RuaWNrw71tIHphxZlpemVuw61tLg0KRGF0ZW0gemRhbml0ZWxuw6lobyBwbG7Em27DrSBqZSBkZW4gZG9ydcSNZW7DrQ0KdsO9enZ5IGsgdnlzdGF2ZW7DrSBmYWt0dXJ5IFpkcmF2b3RuaWNrw71tDQp6YcWZaXplbsOtbQ0KKHjDrXgpIEZha3R1cmEgLyBkYcWIb3bDvSBkb2tsYWQgYnVkZSB2eXN0YXZlbmEgLw0KdnlzdGF2ZW4gbmEgRWFzdEhPUk4gQ2xpbmljYWwgU2VydmljZXMgaW4NCkNFRSBMaW1pdGVkLCBLandlbGlzIDcsIE9mZmljZSAxMDIsIFAuQy4gMTA4NywNCk5pY29zaWEsIEt5cHIsIERJxIw6IENZMTAyNTMwMDJVLg0KKHh4KQlEb3J1xI1vdmFjw60gYWRyZXNhIGplIEVhc3RIT1JOIENsaW5pY2FsDQpTZXJ2aWNlcyBpbiBDRUUsIHMuci5vLiwgVSBEcnXFvnN0dmEgUHLDoWNlIDQzLA0KMTQwIDAwIFByYWhhIDQsIMSMZXNrw6EgcmVwdWJsaWthLg0KKHh4aSkJSmFrw6lrb2xpdiDDumhyYWR5IG5lc23DrSBrbGVzbm91dCBwb2QNCsSNw6FzdGt1IDEwMDAg4oKsLiDEjMOhc3RreSBwb2QgdMOtbXRvIGxpbWl0ZW0NCnZ5cG/EjXRlbsOpIHYgUGxhdGVibsOtbSBmb3JtdWzDocWZaSBidWRvdQ0KcMWZaXBvxI10ZW55IGsgbsOhc2xlZHVqw61jw60gw7pocmFkxJsuIFrDoXbEm3JlxI1uw6ENCsO6aHJhZGEgYnVkZSBwcm92ZWRlbmEgYmV6IHZ6dGFodSBrIHbDvcWhZQ0KdXZlZGVuw6ltdSBsaW1pdHUgZG8gMzAgZG7FryBvZCB1a29uxI1lbsOtDQpLbGluaWNrw6lobyBob2Rub2NlbsOtLg0KKHh4aWkpCUJhbmtvdm7DrSBwb3BsYXRreTogcGzDoXRjZSBocmFkw60gcG9wbGF0a3kNCmJhbmt5IHBsw6F0Y2UsIHDFmcOtamVtY2UgaHJhZMOtIHBvcGxhdGt5IGJhbmt5DQpwxZnDrWplbWNlLg0KMzUgb2YzNQ0KQ3plY2ggUmVwdWJsaWMNCmZpbmEpIHZlcnNpb2lpIDEuMCBkYXRlZCAwMzA4MjAxNg==</data><hash algoritmus="sha256">e9aabdc3f01457e68c596ce92e74ab7c1d52b9d5e895d57b81022be55d677afd</hash><nazevSouboru>270087_TXT.txt</nazevSouboru></priloha></prilohy><casGenerovani>2026-07-07T21:12:18+02:00</casGenerovani><platnyZaznam>1</platnyZaznam></data><potvrzeni><hash algoritmus="sha256">5c02e89ed1e074f21496589d465702344f2e44be91e24b3c3260667a84cd42ef</hash><elektronickaZnacka/></potvrzeni></zaznam>
