A/MNCi9c/FVjAAAAAAAAAAARAAAAQAAAAHMgAwAAZAAAWgAAZAEAZAIAbAEAWgIAeRAAZAEAZAIAbAMAWgMAV24eAARlBABrCgByQgABAQFlAgBqBQBlBgA9ggAAbgEAWGQBAGQCAGwHAFoHAGQBAGQDAGwIAG0JAFoKAAFkAQBkBABsCwBtCwBaDABtDQBaDgABZAEAZAUAbA8AbRAAWhEAAWQGAGQHAGQIAGQJAGQKAGQLAGQMAGQNAGQOAGQPAGQQAGQRAGQSAGQTAGQUAGQVAGQWAGcRAFoSAGUDAGoTAFoUAGUDAGoVAFoWAGUDAGoXAFoYAGUDAGoZAFoaAFsDAGUHAGobAGQXAGQYAGUcAGQZAGQaAGQbAGQcAIMBAwFlHQBaHgBkHQBlHwBmAQBkHgCEAACDAABZWiAAZSEAYSIAZSEAYSMAZB8AhAAAWiQAZCAAhAAAWiUAZRYAWiYAZCEAhAAAWicAZCIAZSAAZgEAZCMAhAAAgwAAWVooAGQkAIQAAFopAGQlAGUgAGYBAGQmAIQAAIMAAFlaKgBkJwCEAABaKwBkKABlIABmAQBkKQCEAACDAABZWiwAZCoAhAAAWi0AZCsAZSwAZgEAZCwAhAAAgwAAWVouAGQtAIQAAFovAGQuAGUgAGYBAGQvAIQAAIMAAFlaMABkMABhMQBkMQBkMgCEAQBaMgBlFgCDAABhMwBpAABaNABpAABaNQBkEQBlIABmAQBkMwCEAACDAABZWjYAZDQAhAAAWjcAZDUAZTYAZgEAZDYAhAAAgwAAWVo4AGQ3AGU2AGYBAGQ4AIQAAIMAAFlaOQBkOQCEAABaOgBkOgBlNgBmAQBkOwCEAACDAABZWjsAZDwAhAAAWjwAZTwAWj0AZD0AhAAAWj4AZT4AWj8AZD4AhAAAWkAAZD8AhAAAWkEAZAEAZEAAbAMAbUIAWkIAAWU5AIMAAGpDAFpEAHkUAGQBAGRBAGwDAG1FAFpGAAFXbiEABGUEAGsKAHLzAgEBAWQBAGRCAGxHAG1GAFpGAAFuAQBYZEMAhAAAWkgAZEQAhAAAWkkAZQYAZEUAawIAchwDZUkAgwAAAW4AAGQCAFMoRgAAAHM7AAAAVGhyZWFkIG1vZHVsZSBlbXVsYXRpbmcgYSBzdWJzZXQgb2YgSmF2YSdzIHRocmVhZGluZyBtb2RlbC5p/////04oAQAAAHQFAAAAZGVxdWUoAgAAAHQEAAAAdGltZXQFAAAAc2xlZXAoAQAAAHQKAAAAZm9ybWF0X2V4Y3QLAAAAYWN0aXZlQ291bnR0DAAAAGFjdGl2ZV9jb3VudHQJAAAAQ29uZGl0aW9udA0AAABjdXJyZW50VGhyZWFkdA4AAABjdXJyZW50X3RocmVhZHQJAAAAZW51bWVyYXRldAUAAABFdmVudHQEAAAATG9ja3QFAAAAUkxvY2t0CQAAAFNlbWFwaG9yZXQQAAAAQm91bmRlZFNlbWFwaG9yZXQGAAAAVGhyZWFkdAUAAABUaW1lcnQKAAAAc2V0cHJvZmlsZXQIAAAAc2V0dHJhY2V0BQAAAGxvY2FsdAoAAABzdGFja19zaXpldAYAAABpZ25vcmV0CAAAAGNhdGVnb3J5dAYAAABtb2R1bGV0CQAAAHRocmVhZGluZ3QHAAAAbWVzc2FnZXMNAAAAc3lzLmV4Y19jbGVhcnQIAAAAX1ZlcmJvc2VjAAAAAAAAAAACAAAAQgAAAHMdAAAAZQAAWgEAZAIAZAAAhAEAWgMAZAEAhAAAWgQAUlMoAwAAAGMCAAAAAgAAAAEAAABDAAAAcwQAAABkAABTKAEAAABOKAAAAAAoAgAAAHQEAAAAc2VsZnQHAAAAdmVyYm9zZSgAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAgAAABfX2luaXRfX08AAABzAgAAAAABYwEAAAACAAAAAQAAAEcAAABzBAAAAGQAAFMoAQAAAE4oAAAAACgCAAAAUhsAAAB0BAAAAGFyZ3MoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQFAAAAX25vdGVRAAAAcwIAAAAAAU4oBQAAAHQIAAAAX19uYW1lX190CgAAAF9fbW9kdWxlX190BAAAAE5vbmVSHQAAAFIfAAAAKAAAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIaAAAATgAAAHMEAAAABgEMAmMBAAAAAQAAAAEAAABDAAAAcwoAAAB8AABhAABkAQBTKAIAAABzuAAAAFNldCBhIHByb2ZpbGUgZnVuY3Rpb24gZm9yIGFsbCB0aHJlYWRzIHN0YXJ0ZWQgZnJvbSB0aGUgdGhyZWFkaW5nIG1vZHVsZS4KCiAgICBUaGUgZnVuYyB3aWxsIGJlIHBhc3NlZCB0byBzeXMuc2V0cHJvZmlsZSgpIGZvciBlYWNoIHRocmVhZCwgYmVmb3JlIGl0cwogICAgcnVuKCkgbWV0aG9kIGlzIGNhbGxlZC4KCiAgICBOKAEAAAB0DQAAAF9wcm9maWxlX2hvb2soAQAAAHQEAAAAZnVuYygAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UhEAAABZAAAAcwIAAAAACGMBAAAAAQAAAAEAAABDAAAAcwoAAAB8AABhAABkAQBTKAIAAABztAAAAFNldCBhIHRyYWNlIGZ1bmN0aW9uIGZvciBhbGwgdGhyZWFkcyBzdGFydGVkIGZyb20gdGhlIHRocmVhZGluZyBtb2R1bGUuCgogICAgVGhlIGZ1bmMgd2lsbCBiZSBwYXNzZWQgdG8gc3lzLnNldHRyYWNlKCkgZm9yIGVhY2ggdGhyZWFkLCBiZWZvcmUgaXRzIHJ1bigpCiAgICBtZXRob2QgaXMgY2FsbGVkLgoKICAgIE4oAQAAAHQLAAAAX3RyYWNlX2hvb2soAQAAAFIkAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSEgAAAGMAAABzAgAAAAAIYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHMyAQAARmFjdG9yeSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBuZXcgcmVlbnRy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IGFub3RoZXIgdGhyZWFkIG93bnMgdGhlIGxvY2ssIGJsb2NrIHVudGlsIHRoZSBsb2NrIGlzIHVubG9ja2VkLiBPbmNlCiAgICAgICAgdGhlIGxvY2sgaXMgdW5sb2NrZWQgKG5vdCBvd25lZCBieSBhbnkgdGhyZWFkKSwgdGhlbiBncmFiIG93bmVyc2hpcCwgc2V0CiAgICAgICAgdGhlIHJlY3Vyc2lvbiBsZXZlbCB0byBvbmUsIGFuZCByZXR1cm4uIElmIG1vcmUgdGhhbiBvbmUgdGhyZWFkIGlzCiAgICAgICAgYmxvY2tlZCB3YWl0aW5nIHVudGlsIHRoZSBsb2NrIGlzIHVubG9ja2VkLCBvbmx5IG9uZSBhdCBhIHRpbWUgd2lsbCBiZQogICAgICAgIGFibGUgdG8gZ3JhYiBvd25lcnNoaXAgb2YgdGhlIGxvY2suIFRoZXJlIGlzIG5vIHJldHVybiB2YWx1ZSBpbiB0aGlzCiAgICAgICAgY2FzZS4KCiAgICAgICAgV2hlbiBpbnZva2VkIHdpdGggdGhlIGJsb2NraW5nIGFyZ3VtZW50IHNldCB0byB0cnVlLCBkbyB0aGUgc2FtZSB0aGluZwogICAgICAgIGFzIHdoZW4gY2FsbGVkIHdpdGhvdXQgYXJndW1lbnRzLCBhbmQgcmV0dXJuIHRydWUuCgogICAgICAgIFdoZW4gaW52b2tlZCB3aXRoIHRoZSBibG9ja2luZyBhcmd1bWVudCBzZXQgdG8gZmFsc2UsIGRvIG5vdCBibG9jay4gSWYgYQogICAgICAgIGNhbGwgd2l0aG91dCBhbiBhcmd1bWVudCB3b3VsZCBibG9jaywgcmV0dXJuIGZhbHNlIGltbWVkaWF0ZWx5OwogICAgICAgIG90aGVyd2lzZSwgZG8gdGhlIHNhbWUgdGhpbmcgYXMgd2hlbiBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMsIGFuZAogICAgICAgIHJldHVybiB0cnVlLgoKICAgICAgICBpAQAAACgFAAAAdAoAAABfZ2V0X2lkZW50UioAAABSKwAAAFIpAAAAdAcAAABhY3F1aXJlKAQAAABSGwAAAHQIAAAAYmxvY2tpbmd0AgAAAG1ldAIAAAByYygAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UjMAAACSAAAAcxQAAAAAFQkBDwEQAwQBEgEGAQkBCQEDBWMBAAAAAgAAAAMAAABDAAAAc1gAAAB8AABqAAB0AQCDAABrAwByIQB0AgBkAQCDAQCCAQBuAAB8AABqAwBkAgAYBHwAAF8DAH0BAHwBAHNUAGQDAHwAAF8AAHwAAGoFAGoGAIMAAAFuAABkAwBTKAQAAABzbQIAAFJlbGVhc2UgYSBsb2NrLCBkZWNyZW1lbnRpbmcgdGhlIHJlY3Vyc2lvbiBsZXZlbC4KCiAgICAgICAgSWYgYWZ0ZXIgdGhlIGRlY3JlbWVudCBpdCBpcyB6ZXJvLCByZXNldCB0aGUgbG9jayB0byB1bmxvY2tlZCAobm90IG93bmVkCiAgICAgICAgYnkgYW55IHRocmVhZCksIGFuZCBpZiBhbnkgb3RoZXIgdGhyZWFkcyBhcmUgYmxvY2tlZCB3YWl0aW5nIGZvciB0aGUKICAgICAgICBsb2NrIHRvIGJlY29tZSB1bmxvY2tlZCwgYWxsb3cgZXhhY3RseSBvbmUgb2YgdGhlbSB0byBwcm9jZWVkLiBJZiBhZnRlcgogICAgICAgIHRoZSBkZWNyZW1lbnQgdGhlIHJlY3Vyc2lvbiBsZXZlbCBpcyBzdGlsbCBub256ZXJvLCB0aGUgbG9jayByZW1haW5zCiAgICAgICAgbG9ja2VkIGFuZCBvd25lZCBieSB0aGUgY2FsbGluZyB0aHJlYWQuCgogICAgICAgIE9ubHkgY2FsbCB0aGlzIG1ldGhvZCB3aGVuIHRoZSBjYWxsaW5nIHRocmVhZCBvd25zIHRoZSBsb2NrLiBBCiAgICAgICAgUnVudGltZUVycm9yIGlzIHJhaXNlZCBpZiB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB0aGUgbG9jayBpcwogICAgICAgIHVubG9ja2VkLgoKICAgICAgICBUaGVyZSBpcyBubyByZXR1cm4gdmFsdWUuCgogICAgICAgIHMfAAAAY2Fubm90IHJlbGVhc2UgdW4tYWNxdWlyZWQgbG9ja2kBAAAATigHAAAAUioAAABSMgAAAHQMAAAAUnVudGltZUVycm9yUisAAABSIgAAAFIpAAAAdAcAAAByZWxlYXNlKAIAAABSGwAAAHQFAAAAY291bnQoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVI4AAAAugAAAHMQAAAAABASAQ8BFAEGAQkBDQEDA2MEAAAABAAAAAEAAABDAAAAcw4AAAB8AABqAACDAAABZAAAUygBAAAATigBAAAAUjgAAAAoBAAAAFIbAAAAdAEAAAB0dAEAAAB2dAIAAAB0YigAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAgAAABfX2V4aXRfX9YAAABzAgAAAAABYwIAAAAEAAAAAgAAAEMAAABzLwAAAHwBAFwCAH0CAH0DAHwAAGoAAGoBAIMAAAF8AgB8AABfAgB8AwB8AABfAwBkAABTKAEAAABOKAQAAABSKQAAAFIzAAAAUisAAABSKgAAACgEAAAAUhsAAAB0CwAAAGNvdW50X293bmVyUjkAAABSMAAAACgAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dBAAAABfYWNxdWlyZV9yZXN0b3Jl2wAAAHMKAAAAAAEMAQ0BCQEJAWMBAAAAAwAAAAIAAABDAAAAczsAAAB8AABqAAB9AQBkAQB8AABfAAB8AABqAQB9AgBkAAB8AABfAQB8AABqAwBqBACDAAABfAEAfAIAZgIAUygCAAAATmkAAAAAKAUAAABSKwAAAFIqAAAAUiIAAABSKQAAAFI4AAAAKAMAAABSGwAAAFI5AAAAUjAAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQNAAAAX3JlbGVhc2Vfc2F2ZeMAAABzDAAAAAADCQEJAQkBCQENAWMBAAAAAQAAAAIAAABDAAAAcxAAAAB8AABqAAB0AQCDAABrAgBTKAEAAABOKAIAAABSKgAAAFIyAAAAKAEAAABSGwAAACgAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAkAAABfaXNfb3duZWTtAAAAcwIAAAAAAU4oDQAAAFIgAAAAUiEAAAB0BwAAAF9fZG9jX19SIgAAAFIdAAAAUjEAAABSMwAAAHQJAAAAX19lbnRlcl9fUjgAAABSPQAAAFI/AAAAUkAAAABSQQAAACgAAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSJgAAAHwAAABzFAAAAAYFBgIMBgkJDCYGAgkcCQUJCAkKYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHN9AQAARmFjdG9yeSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBuZXcgY29uZGl0aW9uIHZhcmlhYmxlIG9iamVjdC4KCiAgICBBIGNvbmRpdGlvbiB2YXJpYWJsZSBhbGxvd3Mgb25lIG9yIG1vcmUgdGhyZWFkcyB0byB3YWl0IHVudGlsIHRoZXkgYXJlCiAgICBub3RpZmllZCBieSBhbm90aGVyIHRocmVhZC4KCiAgICBJZiB0aGUgbG9jayBhcmd1bWVudCBpcyBnaXZlbiBhbmQgbm90IE5vbmUsIGl0IG11c3QgYmUgYSBMb2NrIG9yIFJMb2NrCiAgICBvYmplY3QsIGFuZCBpdCBpcyB1c2VkIGFzIHRoZSB1bmRlcmx5aW5nIGxvY2suIE90aGVyd2lzZSwgYSBuZXcgUkxvY2sgb2JqZWN0CiAgICBpcyBjcmVhdGVkIGFuZCB1c2VkIGFzIHRoZSB1bmRlcmx5aW5nIGxvY2suCgogICAgKAEAAAB0CgAAAF9Db25kaXRpb24oAgAAAFIeAAAAUicAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIGAAAA8QAAAHMCAAAAAAtSRAAAAGMAAAAAAAAAAAMAAABCAAAAc3oAAABlAABaAQBkAABaAgBkDABkDABkAQCEAgBaBABkAgCEAABaBQBkAwCEAABaBgBkBACEAABaBwBkBQCEAABaCABkBgCEAABaCQBkBwCEAABaCgBkDABkCACEAQBaCwBkCQBkCgCEAQBaDABkCwCEAABaDQBlDQBaDgBSUygNAAAAc2wAAABDb25kaXRpb24gdmFyaWFibGVzIGFsbG93IG9uZSBvciBtb3JlIHRocmVhZHMgdG8gd2FpdCB1bnRpbCB0aGV5IGFyZQogICAgICAgbm90aWZpZWQgYnkgYW5vdGhlciB0aHJlYWQuCiAgICBjAwAAAAMAAAAFAAAAQwAAAHPCAAAAdAAAagEAfAAAfAIAgwIAAXwBAGQAAGsIAHIoAHQDAIMAAH0BAG4AAHwBAHwAAF8EAHwBAGoFAHwAAF8FAHwBAGoGAHwAAF8GAHkQAHwBAGoHAHwAAF8HAFduEQAEdAgAawoAcmwAAQEBbgEAWHkQAHwBAGoJAHwAAF8JAFduEQAEdAgAawoAcpAAAQEBbgEAWHkQAHwBAGoKAHwAAF8KAFduEQAEdAgAawoAcrQAAQEBbgEAWGcAAHwAAF8LAGQAAFMoAQAAAE4oDAAAAFIaAAAAUh0AAABSIgAAAFIMAAAAdBAAAABfQ29uZGl0aW9uX19sb2NrUjMAAABSOAAAAFJAAAAAdA4AAABBdHRyaWJ1dGVFcnJvclI/AAAAUkEAAAB0EwAAAF9Db25kaXRpb25fX3dhaXRlcnMoAwAAAFIbAAAAdAQAAABsb2NrUhwAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIdAAAAAwEAAHMmAAAAAAEQAQwBDAEJAgwBDAQDARABDQEEAQMBEAENAQQBAwEQAQ0BBAFjAQAAAAEAAAABAAAAQwAAAHMNAAAAfAAAagAAagEAgwAAUygBAAAATigCAAAAUkUAAABSQwAAACgBAAAAUhsAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJDAAAAHAEAAHMCAAAAAAFjAQAAAAIAAAACAAAARwAAAHMQAAAAfAAAagAAagEAfAEAjAAAUygBAAAATigCAAAAUkUAAABSPQAAACgCAAAAUhsAAABSHgAAACgAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Uj0AAAAfAQAAcwIAAAAAAWMBAAAAAQAAAAQAAABDAAAAcxoAAABkAQB8AABqAAB0AQB8AABqAgCDAQBmAgAWUygCAAAATnMTAAAAPENvbmRpdGlvbiglcywgJWQpPigDAAAAUkUAAAB0AwAAAGxlblJHAAAAKAEAAABSGwAAACgAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UjEAAAAiAQAAcwIAAAAAAWMBAAAAAQAAAAEAAABDAAAAcxEAAAB8AABqAABqAQCDAAABZAAAUygBAAAATigCAAAAUkUAAABSOAAAACgBAAAAUhsAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJAAAAAJQEAAHMCAAAAAAFjAgAAAAIAAAABAAAAQwAAAHMRAAAAfAAAagAAagEAgwAAAWQAAFMoAQAAAE4oAgAAAFJFAAAAUjMAAAAoAgAAAFIbAAAAdAEAAAB4KAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSPwAAACgBAABzAgAAAAABYwEAAAABAAAAAgAAAEMAAABzKwAAAHwAAGoAAGoBAGQBAIMBAHIjAHwAAGoAAGoCAIMAAAF0AwBTdAQAU2QAAFMoAgAAAE5pAAAAACgFAAAAUkUAAABSMwAAAFI4AAAAdAUAAABGYWxzZXQEAAAAVHJ1ZSgBAAAAUhsAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJBAAAAKwEAAHMIAAAAAAMSAQ0BBAJjAgAAAAgAAAAFAAAAQwAAAHMjAQAAfAAAagAAgwAAcxsAdAEAZAEAgwEAggEAbgAAdAIAgwAAfQIAfAIAagMAgwAAAXwAAGoEAGoFAHwCAIMBAAF8AABqBgCDAAB9AwB6xAB8AQBkBgBrCAByZgB8AgBqAwCDAAABbqcAdAgAgwAAfAEAF30EAGQCAH0FAHhgAHQJAHLbAHwCAGoDAGQDAIMBAH0GAHwGAHKbAFBuAAB8BAB0CACDAAAYfQcAfAcAZAMAawEAcrgAUG4AAHQKAHwFAGQEABR8BwBkBQCDAwB9BQB0CwB8BQCDAQABcXwAV3wGAHMNAXkUAHwAAGoEAGoMAHwCAIMBAAFXcQ0BBHQNAGsKAHIJAQEBAXENAVhuAABXZAYAfAAAag4AfAMAgwEAAVhkBgBTKAcAAABzagQAAFdhaXQgdW50aWwgbm90aWZpZWQgb3IgdW50aWwgYSB0aW1lb3V0IG9jY3Vycy4KCiAgICAgICAgSWYgdGhlIGNhbGxpbmcgdGhyZWFkIGhhcyBub3QgYWNxdWlyZWQgdGhlIGxvY2sgd2hlbiB0aGlzIG1ldGhvZCBpcwogICAgICAgIGNhbGxlZCwgYSBSdW50aW1lRXJyb3IgaXMgcmFpc2VkLgoKICAgICAgICBUaGlzIG1ldGhvZCByZWxlYXNlcyB0aGUgdW5kZXJseWluZyBsb2NrLCBhbmQgdGhlbiBibG9ja3MgdW50aWwgaXQgaXMKICAgICAgICBhd2FrZW5lZCBieSBhIG5vdGlmeSgpIG9yIG5vdGlmeUFsbCgpIGNhbGwgZm9yIHRoZSBzYW1lIGNvbmRpdGlvbgogICAgICAgIHZhcmlhYmxlIGluIGFub3RoZXIgdGhyZWFkLCBvciB1bnRpbCB0aGUgb3B0aW9uYWwgdGltZW91dCBvY2N1cnMuIE9uY2UKICAgICAgICBhd2FrZW5lZCBvciB0aW1lZCBvdXQsIGl0IHJlLWFjcXVpcmVzIHRoZSBsb2NrIGFuZCByZXR1cm5zLgoKICAgICAgICBXaGVuIHRoZSB0aW1lb3V0IGFyZ3VtZW50IGlzIHByZXNlbnQgYW5kIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYQogICAgICAgIGZsb2F0aW5nIHBvaW50IG51bWJlciBzcGVjaWZ5aW5nIGEgdGltZW91dCBmb3IgdGhlIG9wZXJhdGlvbiBpbiBzZWNvbmRzCiAgICAgICAgKG9yIGZyYWN0aW9ucyB0aGVyZW9mKS4KCiAgICAgICAgV2hlbiB0aGUgdW5kZXJseWluZyBsb2NrIGlzIGFuIFJMb2NrLCBpdCBpcyBub3QgcmVsZWFzZWQgdXNpbmcgaXRzCiAgICAgICAgcmVsZWFzZSgpIG1ldGhvZCwgc2luY2UgdGhpcyBtYXkgbm90IGFjdHVhbGx5IHVubG9jayB0aGUgbG9jayB3aGVuIGl0CiAgICAgICAgd2FzIGFjcXVpcmVkIG11bHRpcGxlIHRpbWVzIHJlY3Vyc2l2ZWx5LiBJbnN0ZWFkLCBhbiBpbnRlcm5hbCBpbnRlcmZhY2UKICAgICAgICBvZiB0aGUgUkxvY2sgY2xhc3MgaXMgdXNlZCwgd2hpY2ggcmVhbGx5IHVubG9ja3MgaXQgZXZlbiB3aGVuIGl0IGhhcwogICAgICAgIGJlZW4gcmVjdXJzaXZlbHkgYWNxdWlyZWQgc2V2ZXJhbCB0aW1lcy4gQW5vdGhlciBpbnRlcm5hbCBpbnRlcmZhY2UgaXMKICAgICAgICB0aGVuIHVzZWQgdG8gcmVzdG9yZSB0aGUgcmVjdXJzaW9uIGxldmVsIHdoZW4gdGhlIGxvY2sgaXMgcmVhY3F1aXJlZC4KCiAgICAgICAgcx8AAABjYW5ub3Qgd2FpdCBvbiB1bi1hY3F1aXJlZCBsb2NrZ/yp8dJNYkA/aQAAAABp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Mi43L3RocmVhZGluZy5weVJEAAAA/gAAAHMYAAAABgMGAg8ZCQMJAwkDCQMJAwkJDEAMGwkJYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHNPAQAAQSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG5ldyBzZW1hcGhvcmUuCgogICAgU2VtYXBob3JlcyBtYW5hZ2UgYSBjb3VudGVyIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIHJlbGVhc2UoKSBjYWxscyBtaW51cwogICAgdGhlIG51bWJlciBvZiBhY3F1aXJlKCkgY2FsbHMsIHBsdXMgYW4gaW5pdGlhbCB2YWx1ZS4gVGhlIGFjcXVpcmUoKSBtZXRob2QKICAgIGJsb2NrcyBpZiBuZWNlc3NhcnkgdW50aWwgaXQgY2FuIHJldHVybiB3aXRob3V0IG1ha2luZyB0aGUgY291bnRlcgogICAgbmVnYXRpdmUuIElmIG5vdCBnaXZlbiwgdmFsdWUgZGVmYXVsdHMgdG8gMS4KCiAgICAoAQAAAHQKAAAAX1NlbWFwaG9yZSgCAAAAUh4AAABSJwAAACgAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Ug0AAACbAQAAcwIAAAAACVJiAAAAYwAAAAAAAAAAAwAAAEIAAABzQQAAAGUAAFoBAGQAAFoCAGQBAGQGAGQCAIQCAFoEAGQBAGQDAIQBAFoFAGUFAFoGAGQEAIQAAFoHAGQFAIQAAFoIAFJTKAcAAABzIgEAAFNlbWFwaG9yZXMgbWFuYWdlIGEgY291bnRlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiByZWxlYXNlKCkgY2FsbHMKICAgICAgIG1pbnVzIHRoZSBudW1iZXIgb2YgYWNxdWlyZSgpIGNhbGxzLCBwbHVzIGFuIGluaXRpYWwgdmFsdWUuIFRoZSBhY3F1aXJlKCkKICAgICAgIG1ldGhvZCBibG9ja3MgaWYgbmVjZXNzYXJ5IHVudGlsIGl0IGNhbiByZXR1cm4gd2l0aG91dCBtYWtpbmcgdGhlIGNvdW50ZXIKICAgICAgIG5lZ2F0aXZlLiBJZiBub3QgZ2l2ZW4sIHZhbHVlIGRlZmF1bHRzIHRvIDEuCgogICAgaQEAAABjAwAAAAMAAAADAAAAQwAAAHNKAAAAfAEAZAEAawAAchsAdAAAZAIAgwEAggEAbgAAdAEAagIAfAAAfAIAgwIAAXQDAHQEAIMAAIMBAHwAAF8FAHwBAHwAAF8GAGQAAFMoAwAAAE5pAAAAAHMkAAAAc2VtYXBob3JlIGluaXRpYWwgdmFsdWUgbXVzdCBiZSA+PSAwKAcAAABSUgAAAFIaAAAAUh0AAABSBgAAAFILAAAAdBAAAABfU2VtYXBob3JlX19jb25kdBEAAABfU2VtYXBob3JlX192YWx1ZSgDAAAAUhsAAAB0BQAAAHZhbHVlUhwAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIdAAAAsAEAAHMKAAAAAAEMAQ8BEAESAWMCAAAAAwAAAAYAAABDAAAAc10AAAB0AAB9AgB8AABqAQCPSAABeEAAfAAAagIAZAEAawIAcjwAfAEAcywAUG4AAHwAAGoBAGoDAIMAAAFxEwBXfAAAagIAZAIAGHwAAF8CAHQEAH0CAFdkAwBRWHwCAFMoBAAAAHMABAAAQWNxdWlyZSBhIHNlbWFwaG9yZSwgZGVjcmVtZW50aW5nIHRoZSBpbnRlcm5hbCBjb3VudGVyIGJ5IG9uZS4KCiAgICAgICAgV2hlbiBpbnZva2VkIHdpdGhvdXQgYXJndW1lbnRzOiBpZiB0aGUgaW50ZXJuYWwgY291bnRlciBpcyBsYXJnZXIgdGhhbgogICAgICAgIHplcm8gb24gZW50cnksIGRlY3JlbWVudCBpdCBieSBvbmUgYW5kIHJldHVybiBpbW1lZGlhdGVseS4gSWYgaXQgaXMgemVybwogICAgICAgIG9uIGVudHJ5LCBibG9jaywgd2FpdGluZyB1bnRpbCBzb21lIG90aGVyIHRocmVhZCBoYXMgY2FsbGVkIHJlbGVhc2UoKSB0bwogICAgICAgIG1ha2UgaXQgbGFyZ2VyIHRoYW4gemVyby4gVGhpcyBpcyBkb25lIHdpdGggcHJvcGVyIGludGVybG9ja2luZyBzbyB0aGF0CiAgICAgICAgaWYgbXVsdGlwbGUgYWNxdWlyZSgpIGNhbGxzIGFyZSBibG9ja2VkLCByZWxlYXNlKCkgd2lsbCB3YWtlIGV4YWN0bHkgb25lCiAgICAgICAgb2YgdGhlbSB1cC4gVGhlIGltcGxlbWVudGF0aW9uIG1heSBwaWNrIG9uZSBhdCByYW5kb20sIHNvIHRoZSBvcmRlciBpbgogICAgICAgIHdoaWNoIGJsb2NrZWQgdGhyZWFkcyBhcmUgYXdha2VuZWQgc2hvdWxkIG5vdCBiZSByZWxpZWQgb24uIFRoZXJlIGlzIG5vCiAgICAgICAgcmV0dXJuIHZhbHVlIGluIHRoaXMgY2FzZS4KCiAgICAgICAgV2hlbiBpbnZva2VkIHdpdGggYmxvY2tpbmcgc2V0IHRvIHRydWUsIGRvIHRoZSBzYW1lIHRoaW5nIGFzIHdoZW4gY2FsbGVkCiAgICAgICAgd2l0aG91dCBhcmd1bWVudHMsIGFuZCByZXR1cm4gdHJ1ZS4KCiAgICAgICAgV2hlbiBpbnZva2VkIHdpdGggYmxvY2tpbmcgc2V0IHRvIGZhbHNlLCBkbyBub3QgYmxvY2suIElmIGEgY2FsbCB3aXRob3V0CiAgICAgICAgYW4gYXJndW1lbnQgd291bGQgYmxvY2ssIHJldHVybiBmYWxzZSBpbW1lZGlhdGVseTsgb3RoZXJ3aXNlLCBkbyB0aGUKICAgICAgICBzYW1lIHRoaW5nIGFzIHdoZW4gY2FsbGVkIHdpdGhvdXQgYXJndW1lbnRzLCBhbmQgcmV0dXJuIHRydWUuCgogICAgICAgIGkAAAAAaQEAAABOKAUAAABSSwAAAFJjAAAAUmQAAABSWgAAAFJMAAAAKAMAAABSGwAAAFI0AAAAUjYAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIzAAAAtwEAAHMSAAAAABQGAQoBEgEGAQQEEQIQBAwBYwEAAAABAAAABgAAAEMAAABzMQAAAHwAAGoAAI8iAAF8AABqAQBkAQAXfAAAXwEAfAAAagAAagIAgwAAAVdkAgBRWGQCAFMoAwAAAHPXAAAAUmVsZWFzZSBhIHNlbWFwaG9yZSwgaW5jcmVtZW50aW5nIHRoZSBpbnRlcm5hbCBjb3VudGVyIGJ5IG9uZS4KCiAgICAgICAgV2hlbiB0aGUgY291bnRlciBpcyB6ZXJvIG9uIGVudHJ5IGFuZCBhbm90aGVyIHRocmVhZCBpcyB3YWl0aW5nIGZvciBpdAogICAgICAgIHRvIGJlY29tZSBsYXJnZXIgdGhhbiB6ZXJvIGFnYWluLCB3YWtlIHVwIHRoYXQgdGhyZWFkLgoKICAgICAgICBpAQAAAE4oAwAAAFJjAAAAUmQAAABSXwAAACgBAAAAUhsAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVI4AAAA3gEAAHMGAAAAAAcKARAEYwQAAAAEAAAAAQAAAEMAAABzDgAAAHwAAGoAAIMAAAFkAABTKAEAAABOKAEAAABSOAAAACgEAAAAUhsAAABSOgAAAFI7AAAAUjwAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVI9AAAA7AEAAHMCAAAAAAFOKAkAAABSIAAAAFIhAAAAUkIAAABSIgAAAFIdAAAAUjMAAABSQwAAAFI4AAAAUj0AAAAoAAAAACgAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UmIAAACmAQAAcwwAAAAGBgYEDwcMJQYCCQ5jAAAAAAIAAAADAAAATwAAAHMNAAAAdAAAfAAAfAEAjgAAUygBAAAAc8ICAABBIGZhY3RvcnkgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgbmV3IGJvdW5kZWQgc2VtYXBob3JlLgoKICAgIEEgYm91bmRlZCBzZW1hcGhvcmUgY2hlY2tzIHRvIG1ha2Ugc3VyZSBpdHMgY3VycmVudCB2YWx1ZSBkb2Vzbid0IGV4Y2VlZCBpdHMKICAgIGluaXRpYWwgdmFsdWUuIElmIGl0IGRvZXMsIFZhbHVlRXJyb3IgaXMgcmFpc2VkLiBJbiBtb3N0IHNpdHVhdGlvbnMKICAgIHNlbWFwaG9yZXMgYXJlIHVzZWQgdG8gZ3VhcmQgcmVzb3VyY2VzIHdpdGggbGltaXRlZCBjYXBhY2l0eS4KCiAgICBJZiB0aGUgc2VtYXBob3JlIGlzIHJlbGVhc2VkIHRvbyBtYW55IHRpbWVzIGl0J3MgYSBzaWduIG9mIGEgYnVnLiBJZiBub3QKICAgIGdpdmVuLCB2YWx1ZSBkZWZhdWx0cyB0byAxLgoKICAgIExpa2UgcmVndWxhciBzZW1hcGhvcmVzLCBib3VuZGVkIHNlbWFwaG9yZXMgbWFuYWdlIGEgY291bnRlciByZXByZXNlbnRpbmcKICAgIHRoZSBudW1iZXIgb2YgcmVsZWFzZSgpIGNhbGxzIG1pbnVzIHRoZSBudW1iZXIgb2YgYWNxdWlyZSgpIGNhbGxzLCBwbHVzIGFuCiAgICBpbml0aWFsIHZhbHVlLiBUaGUgYWNxdWlyZSgpIG1ldGhvZCBibG9ja3MgaWYgbmVjZXNzYXJ5IHVudGlsIGl0IGNhbiByZXR1cm4KICAgIHdpdGhvdXQgbWFraW5nIHRoZSBjb3VudGVyIG5lZ2F0aXZlLiBJZiBub3QgZ2l2ZW4sIHZhbHVlIGRlZmF1bHRzIHRvIDEuCgogICAgKAEAAAB0EQAAAF9Cb3VuZGVkU2VtYXBob3JlKAIAAABSHgAAAFInAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSDgAAAPABAABzAgAAAAAQUmYAAABjAAAAAAAAAAADAAAAQgAAAHMmAAAAZQAAWgEAZAAAWgIAZAEAZAQAZAIAhAIAWgQAZAMAhAAAWgUAUlMoBQAAAHPhAAAAQSBib3VuZGVkIHNlbWFwaG9yZSBjaGVja3MgdG8g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bCB0aGUgaW50ZXJuYWwgZmxhZyBpcyB0cnVlLgoKICAgICAgICBJZiB0aGUgaW50ZXJuYWwgZmxhZyBpcyB0cnVlIG9uIGVudHJ5LCByZXR1cm4gaW1tZWRpYXRlbHkuIE90aGVyd2lzZSwKICAgICAgICBibG9jayB1bnRpbCBhbm90aGVyIHRocmVhZCBjYWxscyBzZXQoKSB0byBzZXQgdGhlIGZsYWcgdG8gdHJ1ZSwgb3IgdW50aWwKICAgICAgICB0aGUgb3B0aW9uYWwgdGltZW91dCBvY2N1cnMuCgogICAgICAgIFdoZW4gdGhlIHRpbWVvdXQgYXJndW1lbnQgaXMgcHJlc2VudCBhbmQgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhCiAgICAgICAgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHNwZWNpZnlpbmcgYSB0aW1lb3V0IGZvciB0aGUgb3BlcmF0aW9uIGluIHNlY29uZHMKICAgICAgICAob3IgZnJhY3Rpb25zIHRoZXJlb2YpLgoKICAgICAgICBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBpbnRlcm5hbCBmbGFnIG9uIGV4aXQsIHNvIGl0IHdpbGwgYWx3YXlzIHJldHVybgogICAgICAgIFRydWUgZXhjZXB0IGlmIGEgdGltZW91dCBpcyBnaXZlbiBhbmQgdGhlIG9wZXJhdGlvbiB0aW1lcyBvdXQuCgogICAgICAgIE4oBQAAAFJpAAAAUjMAAABSagAAAFJaAAAAUjgAAAAoAgAAAFIbAAAAUlMAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJaAAAAWAIAAHMMAAAAAA8NAQMBCQETAQsCTigLAAAAUiAAAABSIQAAAFJCAAAAUiIAAABSHQAAAFJrAAAAUmwAAAB0BgAAAGlzX3NldFJtAAAAUm4AAABSWgAAACgAAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSaAAAACUCAABzEAAAAAYFBgQMBQkECQQGAgkOCQ1pAAAAAHMJAAAAVGhyZWFkLSVkYwEAAAABAAAAAgAAAEMAAABzEgAAAHQAAGQBABdhAAB8AAB0AAAWUygCAAAATmkBAAAAKAEAAAB0CAAAAF9jb3VudGVyKAEAAAB0CAAAAHRlbXBsYXRlKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0CAAAAF9uZXduYW1lcQIAAHMEAAAAAAIKAWMAAAAAAAAAAAcAAABCAAAAczoBAABlAABaAQBkAABaAgBlAwBaBABlBQBqBgBaBwBlBQBqCABaCQBkGABkGABkGABkGQBkGABkGABkAQCEBgBaCwBkAgCEAABaDABlDQBkAwCEAACDAQBaDgBkBACEAABaDwBkBQCEAABaEABkBgCEAABaEQBkBwCEAABaEgBkCACEAABaEwBkCQCEAABaFABkCgCEAABaFQBkCwCEAABaFgBkDACEAABaFwBkGABkDQCEAQBaGABlDQBkDgCEAACDAQBaGQBlGQBqGgBkDwCEAACDAQBaGQBlDQBkEACEAACDAQBaGwBkEQCEAABaHABlHABaHQBlDQBkEgCEAACDAQBaHgBlHgBqGgBkEwCEAACDAQBaHgBkFACEAABaHwBkFQCEAABaIABkFgCEAABaIQBkFwCEAABaIgBSUygaAAAAc3EAAABBIGNsYXNzIHRoYXQgcmVwcmVzZW50cyBhIHRocmVhZCBvZiBjb250cm9sLgoKICAgIFRoaXMgY2xhc3MgY2FuIGJlIHNhZmVseSBzdWJjbGFzc2VkIGluIGEgbGltaXRlZCBmYXNoaW9uLgoKICAgIGMHAAAABwAAAAMAAABDAAAAc7AAAAB0AABqAQB8AAB8BgCDAgABfAUAZAEAawgAciUAaQAAfQUAbgAAfAIAfAAAXwMAdAQAfAMAcD0AdAUAgwAAgwEAfAAAXwYAfAQAfAAAXwcAfAUAfAAAXwgAfAAAagkAgwAAfAAAXwoAZAEAfAAAXwsAdAwAgwAAfAAAXw0AdA4AfAAAXw8AdBAAdBEAgwAAgwEAfAAAXxIAdBMAfAAAXxQAdBUAahYAfAAAXxcAZAEAUygCAAAAc0MDAABUaGlzIGNvbnN0cnVjdG9yIHNob3VsZCBhbHdheXMgYmUgY2FsbGVkIHdpdGgga2V5d29yZCBhcmd1bWVudHMuIEFyZ3VtZW50cyBhcmU6CgogICAgICAgICpncm91cCogc2hvdWxkIGJlIE5vbmU7IHJlc2VydmVkIGZvciBmdXR1cmUgZXh0ZW5zaW9uIHdoZW4gYSBUaHJlYWRHcm91cAogICAgICAgIGNsYXNzIGlzIGltcGxlbWVudGVkLgoKICAgICAgICAqdGFyZ2V0KiBpcyB0aGUgY2FsbGFibGUgb2JqZWN0IHRvIGJlIGludm9rZWQgYnkgdGhlIHJ1bigpCiAgICAgICAgbWV0aG9kLiBEZWZhdWx0cyB0byBOb25lLCBtZWFuaW5nIG5vdGhpbmcgaXMgY2FsbGVkLgoKICAgICAgICAqbmFtZSogaXMgdGhlIHRocmVhZCBuYW1lLiBCeSBkZWZhdWx0LCBhIHVuaXF1ZSBuYW1lIGlzIGNvbnN0cnVjdGVkIG9mCiAgICAgICAgdGhlIGZvcm0gIlRocmVhZC1OIiB3aGVyZSBOIGlzIGEgc21hbGwgZGVjaW1hbCBudW1iZXIuCgogICAgICAgICphcmdzKiBpcyB0aGUgYXJndW1lbnQgdHVwbGUgZm9yIHRoZSB0YXJnZXQgaW52b2NhdGlvbi4gRGVmYXVsdHMgdG8gKCkuCgogICAgICAgICprd2FyZ3MqIGlzIGEgZGljdGlvbmFyeSBvZiBrZXl3b3JkIGFyZ3VtZW50cyBmb3IgdGhlIHRhcmdldAogICAgICAgIGludm9jYXRpb24uIERlZmF1bHRzIHRvIHt9LgoKICAgICAgICBJZiBhIHN1YmNsYXNzIG92ZXJyaWRlcyB0aGUgY29uc3RydWN0b3IsIGl0IG11c3QgbWFrZSBzdXJlIHRvIGludm9rZQogICAgICAgIHRoZSBiYXNlIGNsYXNzIGNvbnN0cnVjdG9yIChUaHJlYWQuX19pbml0X18oKSkgYmVmb3JlIGRvaW5nIGFueXRoaW5nCiAgICAgICAgZWxzZSB0byB0aGUgdGhyZWFkLgoKTigYAAAAUhoAAABSHQAAAFIiAAAAdA8AAABfVGhyZWFkX190YXJnZXR0AwAAAHN0clJyAAAAdA0AAABfVGhyZWFkX19uYW1ldA0AAABfVGhyZWFkX19hcmdzdA8AAABfVGhyZWFkX19rd2FyZ3N0CwAAAF9zZXRfZGFlbW9udBEAAABfVGhyZWFkX19kYWVtb25pY3QOAAAAX1RocmVhZF9faWRlbnRSCgAAAHQQAAAAX1RocmVhZF9fc3RhcnRlZFJLAAAAdBAAAABfVGhyZWFkX19zdG9wcGVkUgYAAABSCwAAAHQOAAAAX1RocmVhZF9fYmxvY2tSTAAAAHQUAAAAX1RocmVhZF9faW5pdGlhbGl6ZWR0BAAAAF9zeXN0BgAAAHN0ZGVycnQPAAAAX1RocmVhZF9fc3RkZXJyKAcAAABSGwAAAHQFAAAAZ3JvdXB0BgAAAHRhcmdldFItAAAAUh4AAABSJwAAAFIcAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSHQAAAI4CAABzHAAAAAAYEAEMAQkBCQEYAQkBCQEPAQkBDAEJARIBCQNjAQAAAAEAAAADAAAAQwAAAHMwAAAAdAAAfAAAZAEAgwIAch8AfAAAagEAagIAgwAAAW4AAHwAAGoDAGoEAIMAAAFkAABTKAIAAABOUn0AAAAoBQAAAHQHAAAAaGFzYXR0clJ9AAAAUh0AAABSewAAAFJrAAAAKAEAAABSGwAAACgAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UmsAAAC3AgAAcwYAAAAAAw8BEAFjAQAAAAEAAAABAAAAQwAAAHMHAAAAfAAAagAAUygBAAAATigBAAAAUn0AAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BgAAAF9ibG9ja74CAABzAgAAAAADYwEAAAABAAAAAQAAAEMAAABzCgAAAHQAAIMAAGoBAFMoAQAAAE4oAgAAAFIIAAAAdAYAAABkYWVtb24oAQAAAFIbAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSeAAAAMMCAABzAgAAAAACYwEAAAACAAAABAAAAEMAAABzgwAAAGQBAH0BAHwAAGoAAGoBAIMAAHIeAGQCAH0BAG4AAHwAAGoCAHIwAGQDAH0BAG4AAHwAAGoDAHJGAHwBAGQEADd9AQBuAAB8AABqBABkAABrCQByaQB8AQBkBQB8AABqBAAWN30BAG4AAGQGAHwAAGoGAGoHAHwAAGoIAHwBAGYDABZTKAcAAABOdAcAAABpbml0aWFsdAcAAABzdGFydGVkdAcAAABzdG9wcGVkcwcAAAAgZGFlbW9ucwMAAAAgJXNzDAAAADwlcyglcywgJXMpPigJAAAAUnsAAABSbwAAAFJ8AAAAUnkAAABSegAAAFIiAAAAUi8AAABSIAAAAFJ1AAAAKAIAAABSGwAAAHQGAAAAc3RhdHVzKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSMQAAAMcCAABzFAAAAAACBgEPAQkBCQEJAQkBDQEPARQBYwEAAAABAAAABwAAAEMAAABznQAAAHwAAGoAAHMYAHQBAGQBAIMBAIIBAG4AAHwAAGoCAGoDAIMAAHI2AHQBAGQCAIMBAIIBAG4AAHQEAI8PAAF8AAB0BQB8AAA8V2QDAFFYeRQAdAYAfAAAagcAZAQAgwIAAVduKAAEdAgAawoAcosAAQEBdAQAjwwAAXQFAHwAAD1XZAMAUViCAABuAQBYfAAAagIAagkAgwAAAWQDAFMoBQAAAHMtAQAAU3RhcnQgdGhlIHRocmVhZCdzIGFjdGl2aXR5LgoKICAgICAgICBJdCBtdXN0IGJlIGNhbGxlZCBhdCBtb3N0IG9uY2UgcGVyIHRocmVhZCBvYmplY3QuIEl0IGFycmFuZ2VzIGZvciB0aGUKICAgICAgICBvYmplY3QncyBydW4oKSBtZXRob2QgdG8gYmUgaW52b2tlZCBpbiBhIHNlcGFyYXRlIHRocmVhZCBvZiBjb250cm9sLgoKICAgICAgICBUaGlzIG1ldGhvZCB3aWxsIHJhaXNlIGEgUnVudGltZUVycm9yIGlmIGNhbGxlZCBtb3JlIHRoYW4gb25jZSBvbiB0aGUKICAgICAgICBzYW1lIHRocmVhZCBvYmplY3QuCgogICAgICAgIHMcAAAAdGhyZWFkLl9faW5pdF9fKCkgbm90IGNhbGxlZHMgAAAAdGhyZWFkcyBjYW4gb25seSBiZSBzdGFydGVkIG9uY2VOKAAAAAAoCgAAAFJ+AAAAUjcAAABSewAAAFJvAAAAdBIAAABfYWN0aXZlX2xpbWJvX2xvY2t0BgAAAF9saW1ib3QRAAAAX3N0YXJ0X25ld190aHJlYWR0EgAAAF9UaHJlYWRfX2Jvb3RzdHJhcHQJAAAARXhjZXB0aW9uUloAAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BQAAAHN0YXJ01AIAAHMaAAAAAAoJAQ8BDwEPAwcBEAEDARQBDQEHAQ0BBwFjAQAAAAEAAAAEAAAAQwAAAHNAAAAAeiYAfAAAagAAciUAfAAAagAAfAAAagEAfAAAagIAjgAAAW4AAFdkAQB8AABgAAB8AABgAQB8AABgAgBYZAEAUygCAAAAc1gBAABNZXRob2QgcmVwcmVzZW50aW5nIHRoZSB0aHJlYWQncyBhY3Rpdml0eS4KCiAgICAgICAgWW91IG1heSBvdmVycmlkZSB0aGlzIG1ldGhvZCBpbiBhIHN1YmNsYXNzLiBUaGUgc3RhbmRhcmQgcnVuKCkgbWV0aG9kCiAgICAgICAgaW52b2tlcyB0aGUgY2FsbGFibGUgb2JqZWN0IHBhc3NlZCB0byB0aGUgb2JqZWN0J3MgY29uc3RydWN0b3IgYXMgdGhlCiAgICAgICAgdGFyZ2V0IGFyZ3VtZW50LCBpZiBhbnksIHdpdGggc2VxdWVudGlhbCBhbmQga2V5d29yZCBhcmd1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aGUKICAgICAgICBpbml0aWFsIG5hbWUgaXMgc2V0IGJ5IHRoZSBjb25zdHJ1Y3Rvci4KCiAgICAgICAgKAEAAABSdQAAACgBAAAAUhsAAAAoAAAAACgAAAAAc1AAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVItAAAAxQMAAHMCAAAAAAljAgAAAAIAAAACAAAAQwAAAHMTAAAAdAAAfAEAgwEAfAAAXwEAZAAAUygBAAAATigCAAAAUnQAAABSdQAAACgCAAAAUhsAAABSLQAAACgAAAAAKAAAAABzUAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Ui0AAADQAwAAcwIAAAAAA2MBAAAAAQAAAAEAAABDAAAAcwcAAAB8AABqAABTKAEAAABzOwEAAFRocmVhZCBpZGVudGlmaWVyIG9mIHRoaXMgdGhyZWFkIG9yIE5vbmUgaWYgaXQgaGFzIG5vdCBiZWVuIHN0YXJ0ZWQuCgogICAgICAgIFRoaXMgaXMgYSBub256ZXJvIGludGVnZXIuIFNlZSB0aGUgdGhyZWFkLmdldF9pZGVudCgpIGZ1bmN0aW9uLiBUaHJlYWQKICAgICAgICBpZGVudGlmaWVycyBtYXkgYmUgcmVjeWNsZWQgd2hlbiBhIHRocmVhZCBleGl0cyBhbmQgYW5vdGhlciB0aHJlYWQgaXMKICAgICAgICBjcmVhdGVkLiBUaGUgaWRlbnRpZmllciBpcyBhdmFpbGFibGUgZXZlbiBhZnRlciB0aGUgdGhyZWFkIGhhcyBleGl0ZWQuCgogICAgICAgICgBAAAAUnoAAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BQAAAGlkZW501QMAAHMCAAAAAApjAQAAAAEAAAACAAAAQwAAAHMXAAAAfAAAagAAagEAgwAAbxYAfAAAagIADFMoAQAAAHP2AAAAUmV0dXJuIHdoZXRoZXIgdGhlIHRocmVhZCBpcyBhbGl2ZS4KCiAgICAgICAgVGhpcyBtZXRob2QgcmV0dXJucyBUcnVlIGp1c3QgYmVmb3JlIHRoZSBydW4oKSBtZXRob2Qgc3RhcnRzIHVudGlsIGp1c3QKICAgICAgICBhZnRlciB0aGUgcnVuKCkgbWV0aG9kIHRlcm1pbmF0ZXMuIFRoZSBtb2R1bGUgZnVuY3Rpb24gZW51bWVyYXRlKCkKICAgICAgICByZXR1cm5zIGEgbGlzdCBvZiBhbGwgYWxpdmUgdGhyZWFkcy4KCiAgICAgICAgKAMAAABSewAAAFJvAAAAUnwAAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHNQAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BwAAAGlzQWxpdmXhAwAAcwIAAAAACWMBAAAAAQAAAAEAAABDAAAAcwcAAAB8AABqAABTKAEAAABz3AEAAEEgYm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyB0aHJlYWQgaXMgYSBkYWVtb24gdGhyZWFkIChUcnVlKSBvciBub3QgKEZhbHNlKS4KCiAgICAgICAgVGhpcyBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQoKSBpcyBjYWxsZWQsIG90aGVyd2lzZSBSdW50aW1lRXJyb3IgaXMKICAgICAgICByYWlzZWQuIEl0cyBpbml0aWFsIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSBjcmVhdGluZyB0aHJlYWQ7IHRoZQogICAgICAgIG1haW4gdGhyZWFkIGlzIG5vdCBhIGRhZW1vbiB0aHJlYWQgYW5kIHRoZXJlZm9yZSBhbGwgdGhyZWFkcyBjcmVhdGVkIGluCiAgICAgICAgdGhlIG1haW4gdGhyZWFkIGRlZmF1bHQgdG8gZGFlbW9uID0gRmFsc2UuCgogICAgICAgIFRoZSBlbnRpcmUgUHl0aG9uIHByb2dyYW0gZXhpdHMgd2hlbiBubyBhbGl2ZSBub24tZGFlbW9uIHRo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