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AABahQBklwCEAABahgBlhABkmABlIACDAAFwIgdlCABqCgBkmQBrAgBwIgdlFABqhwBkmgCDAQBaiABlDQBqiQBliABkmwCDAgBaigBkBABknACEAQBaiwBknQCEAABajABkngCEAABajQBknwCEAABajgBkoACEAABajwBlAwBqHQBkoQCEAACDAQBakABkogCEAABakQBkowCEAABakgBkpACEAABakwBkBABTKK8AAABzNwAAAFN1cHBvcnRpbmcgZGVmaW5pdGlvbnMgZm9yIHRoZSBQeXRob24gcmVncmVzc2lvbiB0ZXN0cy5zEQAAAHRlc3QudGVzdF9zdXBwb3J0czMAAAB0ZXN0X3N1cHBvcnQgbXVzdCBiZSBpbXBvcnRlZCBmcm9tIHRoZSB0ZXN0IHBhY2thZ2Vp/////050BQAAAEVycm9ydAoAAABUZXN0RmFpbGVkdA4AAABSZXNvdXJjZURlbmllZHQNAAAAaW1wb3J0X21vZHVsZXQHAAAAdmVyYm9zZXQNAAAAdXNlX3Jlc291cmNlc3QKAAAAbWF4X21lbXVzZXQWAAAAcmVjb3JkX29yaWdpbmFsX3N0ZG91dHQTAAAAZ2V0X29yaWdpbmFsX3N0ZG91dHQGAAAAdW5sb2FkdAYAAAB1bmxpbmt0BgAAAHJtdHJlZXQGAAAAZm9yZ2V0dBMAAABpc19yZXNvdXJjZV9lbmFibGVkdAgAAAByZXF1aXJlc3QQAAAAZmluZF91bnVzZWRfcG9ydHQJAAAAYmluZF9wb3J0dAQAAABmY21wdAwAAABoYXZlX3VuaWNvZGV0CQAAAGlzX2p5dGhvbnQGAAAAVEVTVEZOdAQAAABIT1NUdAQAAABGVVpadAgAAABTQVZFRENXRHQIAAAAdGVtcF9jd2R0CAAAAGZpbmRmaWxldAgAAABzb3J0ZGljdHQSAAAAY2hlY2tfc3ludGF4X2Vycm9ydBAAAABvcGVuX3VybHJlc291cmNldA4AAABjaGVja193YXJuaW5nc3QTAAAAY2hlY2tfcHkza193YXJuaW5nc3QLAAAAQ2xlYW5JbXBvcnR0EwAAAEVudmlyb25tZW50VmFyR3VhcmR0DwAAAGNhcHR1cmVkX291dHB1dHQPAAAAY2FwdHVyZWRfc3Rkb3V0dBEAAABUcmFuc2llbnRSZXNvdXJjZXQSAAAAdHJhbnNpZW50X2ludGVybmV0dA8AAABydW5fd2l0aF9sb2NhbGV0DAAAAHNldF9tZW1saW1pdHQKAAAAYmlnbWVtdGVzdHQQAAAAYmlnYWRkcnNwYWNldGVzdHQPAAAAQmFzaWNUZXN0UnVubmVydAwAAABydW5fdW5pdHRlc3R0CwAAAHJ1bl9kb2N0ZXN0dA8AAAB0aHJlYWRpbmdfc2V0dXB0EQAAAHRocmVhZGluZ19jbGVhbnVwdA0AAAByZWFwX2NoaWxkcmVudAwAAABjcHl0aG9uX29ubHl0EQAAAGNoZWNrX2ltcGxfZGV0YWlsdA0AAABnZXRfYXR0cmlidXRldAoAAABweTNrX2J5dGVzdBMAAABpbXBvcnRfZnJlc2hfbW9kdWxldBMAAABzdHJpcF9weXRob25fc3RkZXJyYwAAAAAAAAAAAQAAAEIAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABzKgAAAEJhc2UgY2xhc3MgZm9yIHJlZ3Jlc3Npb24gdGVzdCBleGNlcHRpb25zLigDAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX3QHAAAAX19kb2NfXygAAAAAKAAAAAAoAAAAAHNZAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSAAAAAC0AAABzAgAAAAYBYwAAAAAAAAAAAQAAAEIAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABzDAAAAFRlc3QgZmFpbGVkLigDAAAAUjUAAABSNgAAAFI3AAAAKAAAAAAoAAAAACgAAAAAc1kAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIBAAAAMAAAAHMCAAAABgFjAAAAAAAAAAABAAAAQgAAAHMOAAAAZQAAWgEAZAAAWgIAUlMoAQAAAHPiAAAAVGVzdCBza2lwcGVkIGJlY2F1c2UgaXQgcmVxdWVzdGVkIGEgZGlzYWxsb3dlZCByZXNvdXJjZS4KCiAgICBUaGlzIGlzIHJhaXNlZCB3aGVuIGEgdGVzdCBjYWxscyByZXF1aXJlcygpIGZvciBhIHJlc291cmNlIHRoYXQKICAgIGhhcyBub3QgYmVlbiBlbmFibGVkLiAgSXQgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGV4cGVjdGVkCiAgICBhbmQgdW5leHBlY3RlZCBza2lwcy4KICAgICgDAAAAUjUAAABSNgAAAFI3AAAAKAAAAAAoAAAAACgAAAAAc1kAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVICAAAAMwAAAHMCAAAABgZjAQAAAAEAAAAIAAAAYwAAAHM9AAAAfAAAcjQAdAAAagEAgwAAjx0AAXQAAGoCAGQBAGQCAHQDAIMDAAFkAwBWAVdkAwBRWG4FAGQDAFYBZAMAUygEAAAAc5kAAABDb250ZXh0IG1hbmFnZXIgdG8gc3VwcHJlc3MgcGFja2FnZSBhbmQgbW9kdWxlIGRlcHJlY2F0aW9uCiAgICB3YXJuaW5ncyB3aGVuIGltcG9ydGluZyB0aGVtLgoKICAgIElmIGlnbm9yZSBpcyBGYWxzZSwgdGhpcyBjb250ZXh0IG1hbmFnZXIgaGFzIG5vIGVmZmVjdC50BgAAAGlnbm9yZXMTAAAALisgKG1vZHVsZXxwYWNrYWdlKU4oBAAAAHQIAAAAd2FybmluZ3N0DgAAAGNhdGNoX3dhcm5pbmdzdA4AAABmaWx0ZXJ3YXJuaW5nc3QSAAAARGVwcmVjYXRpb25XYXJuaW5nKAEAAABSOAAAACgAAAAAKAAAAABzWQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5dBoAAABfaWdub3JlX2RlcHJlY2F0ZWRfaW1wb3J0czsAAABzDAAAAAAGBgENAQwBBwEOAmMCAAAAAwAAAAkAAABDAAAAc1MAAAB0AAB8AQCDAQCPQQABeREAdAEAagIAfAAAgwEAU1duKAAEdAMA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bW9kdWxlLCBkZWxpYmVyYXRlbHkgYnlwYXNzaW5nIHRoZSBzeXMubW9kdWxlcyBjYWNoZQogICAgYW5kIGltcG9ydGluZyBhIGZyZXNoIGNvcHkgb2YgdGhlIG1vZHVsZS4gT25jZSB0aGUgaW1wb3J0IGlzIGNvbXBsZXRlLAogICAgdGhlIHN5cy5tb2R1bGVzIGNhY2hlIGlzIHJlc3RvcmVkIHRvIGl0cyBvcmlnaW5hbCBzdGF0ZS4KCiAgICBNb2R1bGVzIG5hbWVkIGluIGZyZXNoIGFyZSBhbHNvIGltcG9ydGVkIGFuZXcgaWYgbmVlZGVkIGJ5IHRoZSBpbXBvcnQuCiAgICBJZiBvbmUgb2YgdGhlc2UgbW9kdWxlcyBjYW4ndCBiZSBpbXBvcnRlZCwgTm9uZSBpcyByZXR1cm5lZC4KCiAgICBJbXBvcnRpbmcgb2YgbW9kdWxlcyBuYW1lZCBpbiBibG9ja2VkIGlzIHByZXZlbnRlZCB3aGlsZSB0aGUgZnJlc2ggaW1wb3J0CiAgICB0YWtlcyBwbGFjZS4KCiAgICBJZiBkZXByZWNhdGVkIGlzIFRydWUsIGFueSBtb2R1bGUgb3IgcGFja2FnZSBkZXByZWNhdGlvbiBtZXNzYWdlcwogICAgd2lsbCBiZSBzdXBwcmVzc2VkLk4oCwAAAFI9AAAAUk4AAABSVAAAAHQGAAAAYXBwZW5kUj4AAABSAwAAAFI/AAAAUlIAAAB0BQAAAGl0ZW1zUkcAAABSSAAAACgMAAAAUkMAAAB0BQAAAGZyZXNodAcAAABibG9ja2VkUkQAAABSTAAAAHQPAAAAbmFtZXNfdG9fcmVtb3ZldAoAAABmcmVzaF9uYW1ldAwAAABibG9ja2VkX25hbWV0DAAAAGZyZXNoX21vZHVsZXQJAAAAb3JpZ19uYW1ldAYAAABtb2R1bGV0DgAAAG5hbWVfdG9fcmVtb3ZlKAAAAAAoAAAAAHNZAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSMwAAAHEAAABzJgAAAAAPDQMGAQYBDQEDAAMBDQERAQ0BDwEUARMBDQEOAhkBEQEN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aWNhbGx5IHJldHVybiBUcnVlLiAgVGhlCiAgICBwb3NzaWJpbGl0eSBvZiBGYWxzZSBiZWluZyByZXR1cm5lZCBvY2N1cnMgd2hlbiByZWdydGVzdC5weSBpcyBleGVjdXRpbmcuaQEAAABSNQAAAHQIAAAAX19tYWluX19OcyQAAABVc2Ugb2YgdGhlIGAlcycgcmVzb3VyY2Ugbm90IGVuYWJsZWQoBwAAAFJHAAAAdAkAAABfZ2V0ZnJhbWV0CQAAAGZfZ2xvYmFsc3QDAAAAZ2V0Ug0AAABSUgAAAFICAAAAKAIAAABSiQAAAFJFAAAAKAAAAAAoAAAAAHNZAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSDgAAABcBAABzDAAAAAAHIQEEAQwBDAENAXQJAAAAbG9jYWxob3N0YwIAAAAEAAAAAwAAAEMAAABzLwAAAHQAAGoAAHwAAHwBAIMCAH0CAHQBAHwCAIMBAH0DAHwCAGoCAIMAAAF+AgB8AwBTKAEAAABz7g0AAFJldHVybnMgYW4gdW51c2VkIHBvcnQgdGhhdCBzaG91bGQgYmUgc3VpdGFibGUgZm9yIGJpbmRpbmcuICBUaGlzIGlzCiAgICBhY2hpZXZlZCBieSBjcmVhdGluZyBhIHRlbXBvcmFyeSBzb2NrZXQgd2l0aCB0aGUgc2FtZSBmYW1pbHkgYW5kIHR5cGUgYXMKICAgIHRoZSAnc29jaycgcGFyYW1ldGVyIChkZWZhdWx0IGlzIEFGX0lORVQsIFNPQ0tfU1RSRUFNKSwgYW5kIGJpbmRpbmcgaXQgdG8KICAgIHRoZSBzcGVjaWZpZWQgaG9zdCBhZGRyZXNzIChkZWZhdWx0cyB0byAwLjAuMC4wKSB3aXRoIHRoZSBwb3J0IHNldCB0byAwLAogICAgZWxpY2l0aW5nIGFuIHVudXNlZCBlcGhlbWVyYWwgcG9ydCBmcm9tIHRoZSBPUy4gIFRoZSB0ZW1wb3Jhcnkgc29ja2V0IGlzCiAgICB0aGVuIGNsb3NlZCBhbmQgZGVsZXRlZCwgYW5kIHRoZSBlcGhlbWVyYWwgcG9ydCBpcyByZXR1cm5lZC4KCiAgICBFaXRoZXIgdGhpcyBtZXRob2Qgb3IgYmluZF9wb3J0KCkgc2hvdWxkIGJlIHVzZWQgZm9yIGFueSB0ZXN0cyB3aGVyZSBhCiAgICBzZXJ2ZXIgc29ja2V0IG5lZWRzIHRvIGJlIGJvdW5kIHRvIGEgcGFydGljdWxhciBwb3J0IGZvciB0aGUgZHVyYXRpb24gb2YKICAgIHRoZSB0ZXN0LiAgV2hpY2ggb25lIHRvIHVzZSBkZXBlbmRzIG9uIHdoZXRoZXIgdGhlIGNhbGxpbmcgY29kZSBpcyBjcmVhdGluZwogICAgYSBweXRob24gc29ja2V0LCBvciBpZiBhbiB1bnVzZWQgcG9ydCBuZWVkcyB0byBiZSBwcm92aWRlZCBpbiBhIGNvbnN0cnVjdG9yCiAgICBvciBwYXNzZWQgdG8gYW4gZXh0ZXJuYWwgcHJvZ3JhbSAoaS5lLiB0aGUgLWFjY2VwdCBhcmd1bWVudCB0byBvcGVuc3NsJ3MKICAgIHNfc2VydmVyIG1vZGUpLiAgQWx3YXlzIHByZWZlciBiaW5kX3BvcnQoKSBvdmVyIGZpbmRfdW51c2VkX3BvcnQoKSB3aGVyZQogICAgcG9zc2libGUuICBIYXJkIGNvZGVkIHBvcnRzIHNob3VsZCAqTkVWRVIqIGJlIHVzZWQuICBBcyBzb29uIGFzIGEgc2VydmVyCiAgICBzb2NrZXQgaXMgYm91bmQgdG8gYSBoYXJkIGNvZGVkIHBvcnQsIHRoZSBhYmlsaXR5IHRvIHJ1biBtdWx0aXBsZSBpbnN0YW5jZXMKICAgIG9mIHRoZSB0ZXN0IHNpbXVsdGFuZW91c2x5IG9uIHRoZSBzYW1lIGhvc3QgaXMgY29tcHJvbWlzZWQsIHdoaWNoIG1ha2VzIHRoZQogICAgdGVzdCBhIHRpY2tpbmcgdGltZSBib21iIGluIGEgYnVpbGRib3QgZW52aXJvbm1lbnQuIE9uIFVuaXggYnVpbGRib3RzLCB0aGlzCiAgICBtYXkgc2ltcGx5IG1hbmlmZXN0IGFzIGEgZmFpbGVkIHRlc3QsIHdoaWNoIGNhbiBiZSByZWNvdmVyZWQgZnJvbSB3aXRob3V0CiAgICBpbnRlcnZlbnRpb24gaW4gbW9zdCBjYXNlcywgYnV0IG9uIFdpbmRvd3MsIHRoZSBlbnRpcmUgcHl0aG9uIHByb2Nlc3MgY2FuCiAgICBjb21wbGV0ZWx5IGFuZCB1dHRlcmx5IHdlZGdlLCByZXF1aXJpbmcgc29tZW9uZSB0byBsb2cgaW4gdG8gdGhlIGJ1aWxkYm90CiAgICBhbmQgbWFudWFsbHkga2lsbCB0aGUgYWZmZWN0ZWQgcHJvY2Vzcy4KCiAgICAoVGhpcyBpcyBlYXN5IHRvIHJlcHJvZHVjZSBvbiBXaW5kb3dzLCB1bmZvcnR1bmF0ZWx5LCBhbmQgY2FuIGJlIHRyYWNlZCB0bwogICAgdGhlIFNPX1JFVVNFQUREUiBzb2NrZXQgb3B0aW9uIGhhdmluZyBkaWZmZXJlbnQgc2VtYW50aWNzIG9uIFdpbmRvd3MgdmVyc3VzCiAgICBVbml4L0xpbnV4LiAgT24gVW5peCwgeW91IGNhbid0IGhhdmUgdHdvIEFGX0lORVQgU09DS19TVFJFQU0gc29ja2V0cyBiaW5kLAogICAgbGlzdGVuIGFuZCB0aGVuIGFjY2VwdCBjb25uZWN0aW9ucyBvbiBpZGVudGljYWwgaG9zdC9wb3J0cy4gIEFuIEVBRERSSU5VU0UKICAgIHNvY2tldC5lcnJvciB3aWxsIGJlIHJhaXNlZCBhdCBzb21lIHBvaW50IChkZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtIGFuZAogICAgdGhlIG9yZGVyIGJpbmQgYW5kIGxpc3RlbiB3ZXJlIGNhbGxlZCBvbiBlYWNoIHNvY2tldCkuCgogICAgSG93ZXZlciwgb24gV2luZG93cywgaWYgU09fUkVVU0VBRERSIGlzIHNldCBvbiB0aGUgc29ja2V0cywgbm8gRUFERFJJTlVTRQogICAgd2lsbCBldmVyIGJlIHJhaXNlZCB3aGVuIGF0dGVtcHRpbmcgdG8gYmluZCB0d28gaWRlbnRpY2FsIGhvc3QvcG9ydHMuIFdoZW4KICAgIGFjY2VwdCgpIGlzIGNhbGxlZCBvbiBlYWNoIHNvY2tldCwgdGhlIHNlY29uZCBjYWxsZXIncyBwcm9jZXNzIHdpbGwgc3RlYWwKICAgIHRoZSBwb3J0IGZyb20gdGhlIGZpcnN0IGNhbGxlciwgbGVhdmluZyB0aGVtIGJvdGggaW4gYW4gYXdrd2FyZGx5IHdlZGdlZAogICAgc3RhdGUgd2hlcmUgdGhleSdsbCBubyBsb25nZXIgcmVzcG9uZCB0byBhbnkgc2lnbmFscyBvciBncmFjZWZ1bCBraWxscywgYW5kCiAgICBtdXN0IGJlIGZvcmNpYmx5IGtpbGxlZCB2aWEgT3BlblByb2Nlc3MoKS9UZXJtaW5hdGVQcm9jZXNzKCkuCgogICAgVGhlIHNvbHV0aW9uIG9uIFdpbmRvd3MgaXMgdG8gdXNlIHRoZSBTT19FWENMVVNJVkVBRERSVVNFIHNvY2tldCBvcHRpb24KICAgIGluc3RlYWQgb2YgU09fUkVVU0VBRERSLCB3aGljaCBlZmZlY3RpdmVseSBhZmZvcmRzIHRoZSBzYW1lIHNlbWFudGljcyBhcwogICAgU09fUkVVU0VBRERSIG9uIFVuaXguICBHaXZlbiB0aGUgcHJvcGVuc2l0eSBvZiBVbml4IGRldmVsb3BlcnMgaW4gdGhlIE9wZW4KICAgIFNvdXJjZSB3b3JsZCBjb21wYXJlZCB0byBXaW5kb3dzIG9uZXMsIHRoaXMgaXMgYSBjb21tb24gbWlzdGFrZS4gIEEgcXVpY2sKICAgIGxvb2sgb3ZlciBPcGVuU1NMJ3MgMC45LjhnIHNvdXJjZSBzaG93cyB0aGF0IHRoZXkgdXNlIFNPX1JFVVNFQUREUiB3aGVuCiAgICBvcGVuc3NsLmV4ZSBpcyBjYWxsZWQgd2l0aCB0aGUgJ3Nfc2VydmVyJyBvcHRpb24sIGZvciBleGFtcGxlLiBTZWUKICAgIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyNTUwIGZvciBtb3JlIGluZm8uICBUaGUgZm9sbG93aW5nIHNpdGUgYWxzbwogICAgaGFzIGEgdmVyeSB0aG9yb3VnaCBkZXNjcmlwdGlvbiBhYm91dCB0aGUgaW1wbGljYXRpb25zIG9mIGJvdGggUkVVU0VBRERSCiAgICBhbmQgRVhDTFVTSVZFQUREUlVTRSBvbiBXaW5kb3dzOgogICAgaHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczc0MDYyMShWUy44NSkuYXNweCkKCiAgICBYWFg6IGFsdGhvdWdoIHRoaXMgYXBwcm9hY2ggaXMgYSB2YXN0IGltcHJvdmVtZW50IG9uIHByZXZpb3VzIGF0dGVtcHRzIHRvCiAgICBlbGljaXQgdW51c2VkIHBvcnRzLCBpdCByZXN0cyBoZWF2aWx5IG9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhlIGVwaGVtZXJhbAogICAgcG9ydCByZXR1cm5lZCB0byB1cyBieSB0aGUgT1Mgd29uJ3QgaW1tZWRpYXRlbHkgYmUgZGlzaGVkIGJhY2sgb3V0IHRvIHNvbWUKICAgIG90aGVyIHByb2Nlc3Mgd2hlbiB3ZSBjbG9zZSBhbmQgZGVsZXRlIG91ciB0ZW1wb3Jhcnkgc29ja2V0IGJ1dCBiZWZvcmUgb3VyCiAgICBjYWxsaW5nIGNvZGUgaGFzIGEgY2hhbmNlIHRvIGJpbmQgdGhlIHJldHVybmVkIHBvcnQuICBXZSBjYW4gZGVhbCB3aXRoIHRoaXMKICAgIGlzc3VlIGlmL3doZW4gd2UgY29tZSBhY3Jvc3MgaXQuKAMAAAB0BgAAAHNvY2tldFIQAAAAdAUAAABjbG9zZSgEAAAAdAYAAABmYW1pbHl0CAAAAHNvY2t0eXBldAgAAAB0ZW1wc29ja3QEAAAAcG9ydCgAAAAAKAAAAABzWQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5Ug8AAAAnAQAAcwoAAAAANhIBDAEKAQMBYwIAAAADAAAABQAAAEMAAABz9wAAAHwAAGoAAHQBAGoCAGsCAHLQAHwAAGoDAHQBAGoEAGsCAHLQAHQFAHQBAGQBAIMCAHJjAHwAAGoGAHQBAGoHAHQBAGoIAIMCAGQCAGsCAHJjAHQJAGQDAIMBAIIBAHFjAG4AAHQFAHQBAGQEAIMCAHKiAHwAAGoGAHQBAGoHAHQBAGoKAIMCAGQCAGsCAHKiAHQJAGQFAIMBAIIBAHGiAG4AAHQFAHQBAGQGAIMCAHLQAHwAAGoLAHQBAGoHAHQBAGoMAGQCAIMDAAFx0ABuAAB8AABqDQB8AQBkBwBmAgCDAQABfAAAag4AgwAAZAIAGX0CAHwCAFMoCAAAAHMlAwAAQmluZCB0aGUgc29ja2V0IHRvIGEgZnJlZSBwb3J0IGFuZCByZXR1cm4gdGhlIHBvcnQgbnVtYmVyLiAgUmVsaWVzIG9uCiAgICBlcGhlbWVyYWwgcG9ydHMgaW4gb3JkZXIgdG8gZW5zdXJlIHdlIGFyZSB1c2luZyBhbiB1bmJvdW5kIHBvcnQuICBUaGlzIGlzCiAgICBpbXBvcnRhbnQgYXMgbWFueSB0ZXN0cyBtYXkgYmUgcnVubmluZyBzaW11bHRhbmVvdXNseSwgZXNwZWNpYWxseSBpbiBhCiAgICBidWlsZGJvdCBlbnZpcm9ubWVudC4gIFRoaXMgbWV0aG9kIHJhaXNlcyBhbiBleGNlcHRpb24gaWYgdGhlIHNvY2suZmFtaWx5CiAgICBpcyBBRl9JTkVUIGFuZCBzb2NrLnR5cGUgaXMgU09DS19TVFJFQU0sICphbmQqIHRoZSBzb2NrZXQgaGFzIFNPX1JFVVNFQUREUgogICAgb3IgU09fUkVVU0VQT1JUIHNldCBvbiBpdC4gIFRlc3RzIHNob3VsZCAqbmV2ZXIqIHNldCB0aGVzZSBzb2NrZXQgb3B0aW9ucwogICAgZm9yIFRDUC9JUCBzb2NrZXRzLiAgVGhlIG9ubHkgY2FzZSBmb3Igc2V0dGluZyB0aGVzZSBvcHRpb25zIGlzIHRlc3RpbmcKICAgIG11bHRpY2FzdGluZyB2aWEgbXVsdGlwbGUgVURQIHNvY2tldHMuCgogICAgQWRkaXRpb25hbGx5LCBpZiB0aGUgU09fRVhDTFVTSVZFQUREUlVTRSBzb2NrZXQgb3B0aW9uIGlzIGF2YWlsYWJsZSAoaS5lLgogICAgb24gV2luZG93cyksIGl0IHdpbGwgYmUgc2V0IG9uIHRoZSBzb2NrZXQuICBUaGlzIHdpbGwgcHJldmVudCBhbnlvbmUgZWxzZQogICAgZnJvbSBiaW5kKCknaW5nIHRvIG91ciBob3N0L3BvcnQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdGVzdC4KICAgIHQMAAAAU09fUkVVU0VBRERSaQEAAABzSAAAAHRlc3RzIHNob3VsZCBuZXZlciBzZXQgdGhlIFNPX1JFVVNFQUREUiBzb2NrZXQg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dXQgYW5kIGNhcHR1cmVkX3N0ZGluCiAgICB0aGF0IHRlbXBvcmFyaWx5IHJlcGxhY2VzIHRoZSBzeXMgc3RyZWFtICpzdHJlYW1fbmFtZSogd2l0aCBhIFN0cmluZ0lPLmn/////TigEAAAAdAgAAABTdHJpbmdJT1JgAAAAUkcAAAB0BwAAAHNldGF0dHIoAwAAAHQLAAAAc3RyZWFtX25hbWVSSgEAAHQLAAAAb3JpZ19zdGRvdXQoAAAAACgAAAAAc1kAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIhAAAAgAMAAHMMAAAAAAQMAQ8BFgEDARICYwAAAAAAAAAAAgAAAEMAAABzCgAAAHQAAGQBAIMBAFMoAgAAAHOTAAAAQ2FwdHVyZSB0aGUgb3V0cHV0IG9mIHN5cy5zdGRvdXQ6CgogICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBzOgogICAgICAgICAgIHByaW50ICJoZWxsbyIKICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLCAiaGVsbG8iKQogICAgUmUAAAAoAQAAAFIhAAAAKAAAAAAoAAAAACgAAAAAc1kAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIiAAAAjAMAAHMCAAAAAAdjAAAAAAAAAAACAAAAQwAAAHMKAAAAdAAAZAEAgwEAUygCAAAATlI4AQAAKAEAAABSIQAAACgAAAAAKAAAAAAoAAAAAHNZAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0DwAAAGNhcHR1cmVkX3N0ZGVycpUDAABzAgAAAAABYwAAAAAAAAAAAgAAAEMAAABzCgAAAHQAAGQBAIMBAFMoAgAAAE50BQAAAHN0ZGluKAEAAABSIQAAACgAAAAAKAAAAAAoAAAAAHNZAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0DgAAAGNhcHR1cmVkX3N0ZGlumAMAAHMCAAAAAAFjAAAAAAAAAAACAAAAQwAAAHM4AAAAdAAAagEAgwAAAXQCAHIgAHQDAGoEAGQBAIMBAAFuAAB0AABqAQCDAAABdAAAagEAgwAAAWQCAFMoAwAAAHPaAQAARm9yY2UgYXMgbWFueSBvYmplY3RzIGFzIHBvc3NpYmxlIHRvIGJlIGNvbGxlY3RlZC4KCiAgICBJbiBub24tQ1B5dGhvbiBpbXBsZW1lbnRhdGlvbnMgb2YgUHl0aG9uLCB0aGlzIGlzIG5lZWRlZCBiZWNhdXNlIHRpbWVseQogICAgZGVhbGxvY2F0aW9uIGlzIG5vdCBndWFyYW50ZWVkIGJ5IHRoZSBnYXJiYWdlIGNvbGxlY3Rvci4gIChFdmVuIGluIENQeXRob24KICAgIHRoaXMgY2FuIGJlIHRoZSBjYXNlIGluIGNhc2Ugb2YgcmVmZXJlbmNlIGN5Y2xlcy4pICBUaGlzIG1lYW5zIHRoYXQgX19kZWxfXwogICAgbWV0aG9kcyBtYXkgYmUgY2FsbGVkIGxhdGVyIHRoYW4gZXhwZWN0ZWQgYW5kIHdlYWtyZWZzIG1heSByZW1haW4gYWxpdmUgZm9yCiAgICBsb25nZXIgdGhhbiBleHBlY3RlZC4gIFRoaXMgZnVuY3Rpb24gdHJpZXMgaXRzIGJlc3QgdG8gZm9yY2UgYWxsIGdhcmJhZ2UKICAgIG9iamVjdHMgdG8gZGlzYXBwZWFyLgogICAgZ5qZmZmZmbk/TigFAAAAdAIAAABnY3QHAAAAY29sbGVjdFITAAAAUmwAAABSbQAAACgAAAAAKAAAAAAoAAAAAHNZAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0CgAAAGdjX2NvbGxlY3SbAwAAcwoAAAAACgoBBgEQAQoBdAIAAAAyUHQQAAAA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AAAAY2hyKAIAAAB0AgAAAC4wUqoAAAAoAAAAACgAAAAAc1kAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weXMJAAAAPGdlbmV4cHI+RQUAAHMCAAAABgBOKAUAAAB0BwAAAHRvYnl0ZXNSYQAAAFJ7AAAAdAkAAABUeXBlRXJyb3J0BQAAAGJ5dGVzKAEAAAB0AQAAAGIoAAAAACgAAAAAc1kAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIyAAAAOgUAAHMOAAAAAAUDAg4BDQEDAhsBDQFjAAAAAAEAAAACAAAAQwAAAHMWAAAAZAEAZAIAbAAAfQAAfAAAagEAgwAAUygDAAAAc1oAAABSZXR1cm4gYSBsaXN0IG9mIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgcmVwcm9kdWNpbmcgdGhlIGN1cnJlbnQKICAgIHNldHRpbmdzIGluIHN5cy5mbGFncy5p/////04oAgAAAHQKAAAAc3VicHJvY2Vzc3QcAAAAX2FyZ3NfZnJvbV9pbnRlcnByZXRlcl9mbGFncygBAAAAUs4BAAAoAAAAACgAAAAAc1kAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weXQbAAAAYXJnc19mcm9tX2ludGVycHJldGVyX2ZsYWdzSQUAAHMEAAAAAAMMAWMBAAAAAQAAAAQAAABDAAAAcx8AAAB0AABqAQBkAQBkAgB8AACDAwBqAgCDAAB9AAB8AABTKAMAAABz0QAAAFN0cmlwIHRoZSBzdGRlcnIgb2YgYSBQeXRob24gcHJvY2VzcyBmcm9tIHBvdGVudGlhbCBkZWJ1ZyBvdXRwdXQKICAgIGVtaXR0ZWQgYnkgdGhlIGludGVycHJldGVyLgoKICAgIFRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgcnVu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