From 9f5ed612cc0b83cd4e814f8a669a633b9859653e Mon Sep 17 00:00:00 2001 From: dafuga Date: Wed, 14 Feb 2024 19:14:30 -0800 Subject: [PATCH] fix: allowing token contract to be passed in account balance() method --- package.json | 2 +- src/account.ts | 4 +- ...21558f11d5da55945bb31fcf9ab1a108c976.json} | 34 ++++++------- ...63f7e528ffcee61e70f1aeb4ff6c88a17492b.json | 38 +++++++-------- ...ce300eff8451d45f33f2c4d40bb35990f1868.json | 8 ++-- ...feb568c6e62b17105aa14c1cb8f237a63ac9b.json | 16 ------- ...7f859450540bb5aa2948cf30b14815e73623e.json | 17 +++++++ ...1064e605534b60a3812003a5466ea9b6e912.json} | 34 ++++++------- ...f4bbf54779cc94867d7eb559e69cb0cd62238.json | 22 ++++----- ...d407d0997a4756acbc477220ba0de7064a8b5.json | 14 ------ ...e5bfbeee9679a87c18073de5a96be7fe56ebe.json | 20 +++++--- ...d7d35b2defaefba811b35b2d09c2a5a7b6d67.json | 14 ------ ...57e23b35a734db0875477bf749505aa9a3c0a.json | 38 +++++++++------ ...2bb3c2b325ba2365896eb649c1614f30ae941.json | 28 +++++------ ...ac04b00106a44611383931aef281f37cd304e.json | 32 ++++++------- ...72e8c80195f8444c725e12d56dd32bd74fc6e.json | 34 +++++++------ ...98039abbae9504b0188c5e3e560ef39516d35.json | 28 ----------- ...3ac770054f059d7760fffe891cefc01452f08.json | 8 ++-- ...a3cfc5c9b4e4b867430a4c7c5d78116b1f66d.json | 8 ++-- ...9f667562175555c6f11cb723045a5bf8e0216.json | 12 ----- ...0dbcccffc6200cd24d5706914d7f0202a9a56.json | 48 +++++++++---------- test/tests/account.ts | 37 +++----------- yarn.lock | 24 +++++++--- 23 files changed, 230 insertions(+), 290 deletions(-) rename test/data/{e8b7ced10560d4ef5dfd243c47f8e3aefc5052f5.json => 025021558f11d5da55945bb31fcf9ab1a108c976.json} (53%) delete mode 100644 test/data/333feb568c6e62b17105aa14c1cb8f237a63ac9b.json create mode 100644 test/data/3de7f859450540bb5aa2948cf30b14815e73623e.json rename test/data/{4039a130d2e2ed01f3ba6b3c25c78c8ae290acda.json => 47d91064e605534b60a3812003a5466ea9b6e912.json} (56%) delete mode 100644 test/data/600d407d0997a4756acbc477220ba0de7064a8b5.json delete mode 100644 test/data/789d7d35b2defaefba811b35b2d09c2a5a7b6d67.json delete mode 100644 test/data/d1798039abbae9504b0188c5e3e560ef39516d35.json delete mode 100644 test/data/ea99f667562175555c6f11cb723045a5bf8e0216.json diff --git a/package.json b/package.json index 57ebd89..cc6fe76 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@wharfkit/common": "^1.2.0", "@wharfkit/contract": "^1.0.0", "@wharfkit/resources": "^1.1.0", - "@wharfkit/token": "^1.0.1", + "@wharfkit/token": "^1.1.2", "tslib": "^2.1.0" }, "resolutions": { diff --git a/src/account.ts b/src/account.ts index b5fb093..7793017 100644 --- a/src/account.ts +++ b/src/account.ts @@ -66,8 +66,8 @@ export class Account { return Asset.Symbol.from(this.data.total_resources.cpu_weight.symbol) } - balance(symbol?: Asset.SymbolType) { - return this.token.balance(this.accountName, symbol) + balance(symbol?: Asset.SymbolType, tokenContract?: NameType) { + return this.token.balance(this.accountName, symbol, tokenContract) } permission(permissionName: NameType): Permission { diff --git a/test/data/e8b7ced10560d4ef5dfd243c47f8e3aefc5052f5.json b/test/data/025021558f11d5da55945bb31fcf9ab1a108c976.json similarity index 53% rename from test/data/e8b7ced10560d4ef5dfd243c47f8e3aefc5052f5.json rename to test/data/025021558f11d5da55945bb31fcf9ab1a108c976.json index 1146ea9..8caca8a 100644 --- a/test/data/e8b7ced10560d4ef5dfd243c47f8e3aefc5052f5.json +++ b/test/data/025021558f11d5da55945bb31fcf9ab1a108c976.json @@ -3,23 +3,23 @@ "path": "https://jungle4.greymass.com/v1/chain/send_transaction", "params": { "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_K38kBcQbNm9VRXyx9mTZs8xSTC5rw6ZazJvfJHDBRMdeAqsQjuLphDCbmiM1bN91VzrrAiiNRABF7eLdJDx3xLp2trp8UA\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789cbb1fa99e7ad840cff5992e0310308208865706a10c0ea76fadc809baca68e0c671f360a9ef6390f88ab74646f9e80220ba61b5da7290562606a603f72eed911766fdcdbfeae8b303768f174e72329911a2be4dac6669e645db2fa6e781ca984e1eab9caaff5069f9a2197a02de5bcedd9c2716a4b6667bb2c4e7f40377676af186425c010500aa633820\"}" + "body": "{\"signatures\":[\"SIG_K1_Ke7ZGiGeBX6oVQ8yedorwm5kNGGUDe7wninBrGYv5tDp9eEfp4bQMBAhbxnVJMk9hDqN3xsuRizvmQT8RDEjmGCeqzn5qr\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789cabaebf97ba8b212690ef2d0310308208865706a10c0ea76fadc809baca68e0c671f360a9ef6390f88ab74646f9e80220ba61b5da7290562606a603f72eed911766fdcdbfeae8b303768f174e72329911a2be4dac6669e645db2fa6e781ca984e1eab9caaff5069f9a2197a02de5bcedd9c2716a4b6667bb2c4e7f40377676af186425c010500e61d3882\"}" } }, "status": 202, "json": { - "transaction_id": "50b24f8808732f0ee853d4e9e0038f5532a98ef1ee83589881942d24aaf6dedb", + "transaction_id": "54aaf2400859baa358edfe3b07dd1f08905c6f7a0e46a217c480d94bfb6dab83", "processed": { - "id": "50b24f8808732f0ee853d4e9e0038f5532a98ef1ee83589881942d24aaf6dedb", - "block_num": 102642194, - "block_time": "2023-10-12T02:26:47.000", + "id": "54aaf2400859baa358edfe3b07dd1f08905c6f7a0e46a217c480d94bfb6dab83", + "block_num": 126616070, + "block_time": "2024-02-28T00:32:03.500", "producer_block_id": null, "receipt": { "status": "executed", - "cpu_usage_us": 241, + "cpu_usage_us": 2748, "net_usage_words": 23 }, - "elapsed": 241, + "elapsed": 2748, "net_usage": 184, "scheduled": false, "action_traces": [ @@ -30,16 +30,16 @@ "receipt": { "receiver": "eosio", "act_digest": "212955b8945f634a0f98b8fad6eea1e9ecf2b8ef0ba910b1d5a33d818ce3cebd", - "global_sequence": 135900872, - "recv_sequence": 102714602, + "global_sequence": 183320579, + "recv_sequence": 126723179, "auth_sequence": [ [ "wharfkit1133", - 49 + 243 ] ], - "code_sequence": 4, - "abi_sequence": 4 + "code_sequence": 7, + "abi_sequence": 7 }, "receiver": "eosio", "act": { @@ -75,11 +75,11 @@ "hex_data": "304608d9c1754de300000000a8ed32320000000080ab26a701000000020002c0ded2bc1f1305fb0faac5e6c03ee3a1924234985427b6167ca569d13df435cf01000002c9c679952fe122a7a2982e104bb4ced99e165226acb76318f367c0dd992a0d55010000000000000000000000" }, "context_free": false, - "elapsed": 78, + "elapsed": 2359, "console": "", - "trx_id": "50b24f8808732f0ee853d4e9e0038f5532a98ef1ee83589881942d24aaf6dedb", - "block_num": 102642194, - "block_time": "2023-10-12T02:26:47.000", + "trx_id": "54aaf2400859baa358edfe3b07dd1f08905c6f7a0e46a217c480d94bfb6dab83", + "block_num": 126616070, + "block_time": "2024-02-28T00:32:03.500", "producer_block_id": null, "account_ram_deltas": [ { @@ -97,5 +97,5 @@ "error_code": null } }, - "text": "{\"transaction_id\":\"50b24f8808732f0ee853d4e9e0038f5532a98ef1ee83589881942d24aaf6dedb\",\"processed\":{\"id\":\"50b24f8808732f0ee853d4e9e0038f5532a98ef1ee83589881942d24aaf6dedb\",\"block_num\":102642194,\"block_time\":\"2023-10-12T02:26:47.000\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":241,\"net_usage_words\":23},\"elapsed\":241,\"net_usage\":184,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio\",\"act_digest\":\"212955b8945f634a0f98b8fad6eea1e9ecf2b8ef0ba910b1d5a33d818ce3cebd\",\"global_sequence\":135900872,\"recv_sequence\":102714602,\"auth_sequence\":[[\"wharfkit1133\",49]],\"code_sequence\":4,\"abi_sequence\":4},\"receiver\":\"eosio\",\"act\":{\"account\":\"eosio\",\"name\":\"updateauth\",\"authorization\":[{\"actor\":\"wharfkit1133\",\"permission\":\"active\"}],\"data\":{\"account\":\"wharfkit1133\",\"permission\":\"active\",\"parent\":\"owner\",\"auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV\",\"weight\":1},{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"authorized_by\":\"\"},\"hex_data\":\"304608d9c1754de300000000a8ed32320000000080ab26a701000000020002c0ded2bc1f1305fb0faac5e6c03ee3a1924234985427b6167ca569d13df435cf01000002c9c679952fe122a7a2982e104bb4ced99e165226acb76318f367c0dd992a0d55010000000000000000000000\"},\"context_free\":false,\"elapsed\":78,\"console\":\"\",\"trx_id\":\"50b24f8808732f0ee853d4e9e0038f5532a98ef1ee83589881942d24aaf6dedb\",\"block_num\":102642194,\"block_time\":\"2023-10-12T02:26:47.000\",\"producer_block_id\":null,\"account_ram_deltas\":[{\"account\":\"wharfkit1133\",\"delta\":50}],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" + "text": "{\"transaction_id\":\"54aaf2400859baa358edfe3b07dd1f08905c6f7a0e46a217c480d94bfb6dab83\",\"processed\":{\"id\":\"54aaf2400859baa358edfe3b07dd1f08905c6f7a0e46a217c480d94bfb6dab83\",\"block_num\":126616070,\"block_time\":\"2024-02-28T00:32:03.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":2748,\"net_usage_words\":23},\"elapsed\":2748,\"net_usage\":184,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio\",\"act_digest\":\"212955b8945f634a0f98b8fad6eea1e9ecf2b8ef0ba910b1d5a33d818ce3cebd\",\"global_sequence\":183320579,\"recv_sequence\":126723179,\"auth_sequence\":[[\"wharfkit1133\",243]],\"code_sequence\":7,\"abi_sequence\":7},\"receiver\":\"eosio\",\"act\":{\"account\":\"eosio\",\"name\":\"updateauth\",\"authorization\":[{\"actor\":\"wharfkit1133\",\"permission\":\"active\"}],\"data\":{\"account\":\"wharfkit1133\",\"permission\":\"active\",\"parent\":\"owner\",\"auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV\",\"weight\":1},{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"authorized_by\":\"\"},\"hex_data\":\"304608d9c1754de300000000a8ed32320000000080ab26a701000000020002c0ded2bc1f1305fb0faac5e6c03ee3a1924234985427b6167ca569d13df435cf01000002c9c679952fe122a7a2982e104bb4ced99e165226acb76318f367c0dd992a0d55010000000000000000000000\"},\"context_free\":false,\"elapsed\":2359,\"console\":\"\",\"trx_id\":\"54aaf2400859baa358edfe3b07dd1f08905c6f7a0e46a217c480d94bfb6dab83\",\"block_num\":126616070,\"block_time\":\"2024-02-28T00:32:03.500\",\"producer_block_id\":null,\"account_ram_deltas\":[{\"account\":\"wharfkit1133\",\"delta\":50}],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" } \ No newline at end of file diff --git a/test/data/16063f7e528ffcee61e70f1aeb4ff6c88a17492b.json b/test/data/16063f7e528ffcee61e70f1aeb4ff6c88a17492b.json index 9cb747c..3dca722 100644 --- a/test/data/16063f7e528ffcee61e70f1aeb4ff6c88a17492b.json +++ b/test/data/16063f7e528ffcee61e70f1aeb4ff6c88a17492b.json @@ -9,30 +9,30 @@ "status": 200, "json": { "account_name": "teamgreymass", - "head_block_num": 335951648, - "head_block_time": "2023-10-13T02:36:14.500", + "head_block_num": 359768262, + "head_block_time": "2024-02-28T00:32:04.000", "privileged": false, "last_code_update": "1970-01-01T00:00:00.000", "created": "2018-06-10T13:04:15.000", - "core_liquid_balance": "10012.5616 EOS", - "ram_quota": 67988, - "net_weight": 4493839, + "core_liquid_balance": "9634.2269 EOS", + "ram_quota": 68084, + "net_weight": 9797071, "cpu_weight": "14044943815", "net_limit": { - "used": 246873, - "available": 8226226, - "max": 8473099, - "last_usage_update_time": "2023-10-13T02:36:06.000", - "current_used": 246849 + "used": 215802, + "available": 18257305, + "max": 18473107, + "last_usage_update_time": "2024-02-28T00:31:06.000", + "current_used": 215657 }, "cpu_limit": { - "used": 1028121, - "available": 238153, - "max": 1266274, - "last_usage_update_time": "2023-10-13T02:36:06.000", - "current_used": 1028020 + "used": 876500, + "available": 390172, + "max": 1266672, + "last_usage_update_time": "2024-02-28T00:31:06.000", + "current_used": 875912 }, - "ram_usage": 18101, + "ram_usage": 18341, "permissions": [ { "perm_name": "active", @@ -240,9 +240,9 @@ ], "total_resources": { "owner": "teamgreymass", - "net_weight": "449.3839 EOS", + "net_weight": "979.7071 EOS", "cpu_weight": "1404494.3815 EOS", - "ram_bytes": 66588 + "ram_bytes": 66684 }, "self_delegated_bandwidth": null, "refund_request": null, @@ -268,5 +268,5 @@ }, "eosio_any_linked_actions": [] }, - "text": "{\"account_name\":\"teamgreymass\",\"head_block_num\":335951648,\"head_block_time\":\"2023-10-13T02:36:14.500\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2018-06-10T13:04:15.000\",\"core_liquid_balance\":\"10012.5616 EOS\",\"ram_quota\":67988,\"net_weight\":4493839,\"cpu_weight\":\"14044943815\",\"net_limit\":{\"used\":246873,\"available\":8226226,\"max\":8473099,\"last_usage_update_time\":\"2023-10-13T02:36:06.000\",\"current_used\":246849},\"cpu_limit\":{\"used\":1028121,\"available\":238153,\"max\":1266274,\"last_usage_update_time\":\"2023-10-13T02:36:06.000\",\"current_used\":1028020},\"ram_usage\":18101,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6gqJ7sdPgjHLFLtks9cRPs5qYHa9U3CwK4P2JasTLWKQ9kXZK1\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"claim\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6DLD9HxMcwn73U41jjdGsNe9vDFRKB26um6qTAqrtYcJFtED4C\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"claimrewards\"}]},{\"perm_name\":\"decentium\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7knG7M5TUEdRv1bkVjTPddVoDQnwS7oEZXAgFk3A4hhocA3eJf\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"decentiumorg\"}]},{\"perm_name\":\"killswitch\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7CjC7GL71msPzAuAzd2WwiBEAzTcPL47ACrjSuiNmnnGGufYSn\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"unregprod\"}]},{\"perm_name\":\"oracle\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS88VqmDmJJ9S23eNqdeWYf2zySxv3ckQrWBKy7EvVRCUuhSU4f3\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"delphioracle\",\"action\":\"write\"}]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS8QzGtCea2thiqcTVeXGdyRZpdKYptQznbcWSMj73FD5RgwKN82\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"producerjson\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5JCEciUdfXnQmTyj85T98bXTAZZ1g7Nmajseu7ZWB8DrDa6Etp\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"producerjson\",\"action\":\"set\"}]},{\"perm_name\":\"transfer\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7qZ8nnmn6KBnjQL4oukyZFWCj8DmC9nJE2nkAYAZbwgKhMu8cW\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.token\",\"action\":\"transfer\"}]},{\"perm_name\":\"vote\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS65NrHPVXaV4voxepQREmYCmnMJm4tAWdxPaK46CbUN1rrVmRzg\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"voteproducer\"}]},{\"perm_name\":\"voting\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7pn6P5FftyNAKRfx9VcUzBFMvC4UitNbnoKbfxNe8SShELo2it\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.forum\",\"action\":\"vote\"},{\"account\":\"eosio.forum\",\"action\":\"unvote\"}]}],\"total_resources\":{\"owner\":\"teamgreymass\",\"net_weight\":\"449.3839 EOS\",\"cpu_weight\":\"1404494.3815 EOS\",\"ram_bytes\":66588},\"self_delegated_bandwidth\":null,\"refund_request\":null,\"voter_info\":{\"owner\":\"teamgreymass\",\"proxy\":\"greymassvote\",\"producers\":[],\"staked\":100202,\"last_vote_weight\":\"1413639875193.77856445312500000\",\"proxied_vote_weight\":\"0.00000000000000000\",\"is_proxy\":0,\"flags1\":0,\"reserved2\":0,\"reserved3\":\"0.0000 EOS\"},\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" + "text": "{\"account_name\":\"teamgreymass\",\"head_block_num\":359768262,\"head_block_time\":\"2024-02-28T00:32:04.000\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2018-06-10T13:04:15.000\",\"core_liquid_balance\":\"9634.2269 EOS\",\"ram_quota\":68084,\"net_weight\":9797071,\"cpu_weight\":\"14044943815\",\"net_limit\":{\"used\":215802,\"available\":18257305,\"max\":18473107,\"last_usage_update_time\":\"2024-02-28T00:31:06.000\",\"current_used\":215657},\"cpu_limit\":{\"used\":876500,\"available\":390172,\"max\":1266672,\"last_usage_update_time\":\"2024-02-28T00:31:06.000\",\"current_used\":875912},\"ram_usage\":18341,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6gqJ7sdPgjHLFLtks9cRPs5qYHa9U3CwK4P2JasTLWKQ9kXZK1\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"claim\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6DLD9HxMcwn73U41jjdGsNe9vDFRKB26um6qTAqrtYcJFtED4C\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"claimrewards\"}]},{\"perm_name\":\"decentium\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7knG7M5TUEdRv1bkVjTPddVoDQnwS7oEZXAgFk3A4hhocA3eJf\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"decentiumorg\"}]},{\"perm_name\":\"killswitch\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7CjC7GL71msPzAuAzd2WwiBEAzTcPL47ACrjSuiNmnnGGufYSn\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"unregprod\"}]},{\"perm_name\":\"oracle\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS88VqmDmJJ9S23eNqdeWYf2zySxv3ckQrWBKy7EvVRCUuhSU4f3\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"delphioracle\",\"action\":\"write\"}]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS8QzGtCea2thiqcTVeXGdyRZpdKYptQznbcWSMj73FD5RgwKN82\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"producerjson\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5JCEciUdfXnQmTyj85T98bXTAZZ1g7Nmajseu7ZWB8DrDa6Etp\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"producerjson\",\"action\":\"set\"}]},{\"perm_name\":\"transfer\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7qZ8nnmn6KBnjQL4oukyZFWCj8DmC9nJE2nkAYAZbwgKhMu8cW\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.token\",\"action\":\"transfer\"}]},{\"perm_name\":\"vote\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS65NrHPVXaV4voxepQREmYCmnMJm4tAWdxPaK46CbUN1rrVmRzg\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"voteproducer\"}]},{\"perm_name\":\"voting\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7pn6P5FftyNAKRfx9VcUzBFMvC4UitNbnoKbfxNe8SShELo2it\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.forum\",\"action\":\"vote\"},{\"account\":\"eosio.forum\",\"action\":\"unvote\"}]}],\"total_resources\":{\"owner\":\"teamgreymass\",\"net_weight\":\"979.7071 EOS\",\"cpu_weight\":\"1404494.3815 EOS\",\"ram_bytes\":66684},\"self_delegated_bandwidth\":null,\"refund_request\":null,\"voter_info\":{\"owner\":\"teamgreymass\",\"proxy\":\"greymassvote\",\"producers\":[],\"staked\":100202,\"last_vote_weight\":\"1413639875193.77856445312500000\",\"proxied_vote_weight\":\"0.00000000000000000\",\"is_proxy\":0,\"flags1\":0,\"reserved2\":0,\"reserved3\":\"0.0000 EOS\"},\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" } \ No newline at end of file diff --git a/test/data/2a1ce300eff8451d45f33f2c4d40bb35990f1868.json b/test/data/2a1ce300eff8451d45f33f2c4d40bb35990f1868.json index efd8f42..f1d11aa 100644 --- a/test/data/2a1ce300eff8451d45f33f2c4d40bb35990f1868.json +++ b/test/data/2a1ce300eff8451d45f33f2c4d40bb35990f1868.json @@ -9,9 +9,9 @@ "status": 200, "json": { "account_name": "eosio", - "code_hash": "6b93a5f220b03a37e98298010aa8562a028f484f1775c9d14512eda7f5498c18", - "abi_hash": "61788bc26da987e1aa17600bc8327949146a5700bfbcbfb3cec4213b4120b3cd", - "abi": "DmVvc2lvOjphYmkvMS4yAhdibG9ja19zaWduaW5nX2F1dGhvcml0eSJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MWcIYWJpX2hhc2gAAgVvd25lcgRuYW1lBGhhc2gLY2hlY2tzdW0yNTYIYWN0aXZhdGUAAQ5mZWF0dXJlX2RpZ2VzdAtjaGVja3N1bTI1NglhdXRob3JpdHkABAl0aHJlc2hvbGQGdWludDMyBGtleXMMa2V5X3dlaWdodFtdCGFjY291bnRzGXBlcm1pc3Npb25fbGV2ZWxfd2VpZ2h0W10Fd2FpdHMNd2FpdF93ZWlnaHRbXQpiaWRfcmVmdW5kAAIGYmlkZGVyBG5hbWUGYW1vdW50BWFzc2V0B2JpZG5hbWUAAwZiaWRkZXIEbmFtZQduZXduYW1lBG5hbWUDYmlkBWFzc2V0CWJpZHJlZnVuZAACBmJpZGRlcgRuYW1lB25ld25hbWUEbmFtZQxibG9ja19oZWFkZXIACAl0aW1lc3RhbXAGdWludDMyCHByb2R1Y2VyBG5hbWUJY29uZmlybWVkBnVpbnQxNghwcmV2aW91cwtjaGVja3N1bTI1NhF0cmFuc2FjdGlvbl9tcm9vdAtjaGVja3N1bTI1NgxhY3Rpb25fbXJvb3QLY2hlY2tzdW0yNTYQc2NoZWR1bGVfdmVyc2lvbgZ1aW50MzINbmV3X3Byb2R1Y2VycxJwcm9kdWNlcl9zY2hlZHVsZT8RYmxvY2tfaW5mb19yZWNvcmQAAwd2ZXJzaW9uBXVpbnQ4DGJsb2NrX2hlaWdodAZ1aW50MzIPYmxvY2tfdGltZXN0YW1wCnRpbWVfcG9pbnQaYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjAAAgl0aHJlc2hvbGQGdWludDMyBGtleXMMa2V5X3dlaWdodFtdFWJsb2NrY2hhaW5fcGFyYW1ldGVycwARE21heF9ibG9ja19uZXRfdXNhZ2UGdWludDY0GnRhcmdldF9ibG9ja19uZXRfdXNhZ2VfcGN0BnVpbnQzMhltYXhfdHJhbnNhY3Rpb25fbmV0X3VzYWdlBnVpbnQzMh5iYXNlX3Blcl90cmFuc2FjdGlvbl9uZXRfdXNhZ2UGdWludDMyEG5ldF91c2FnZV9sZWV3YXkGdWludDMyI2NvbnRleHRfZnJlZV9kaXNjb3VudF9uZXRfdXNhZ2VfbnVtBnVpbnQzMiNjb250ZXh0X2ZyZWVfZGlzY291bnRfbmV0X3VzYWdlX2RlbgZ1aW50MzITbWF4X2Jsb2NrX2NwdV91c2FnZQZ1aW50MzIadGFyZ2V0X2Jsb2NrX2NwdV91c2FnZV9wY3QGdWludDMyGW1heF90cmFuc2FjdGlvbl9jcHVfdXNhZ2UGdWludDMyGW1pbl90cmFuc2FjdGlvbl9jcHVfdXNhZ2UGdWludDMyGG1heF90cmFuc2FjdGlvbl9saWZldGltZQZ1aW50MzIeZGVmZXJyZWRfdHJ4X2V4cGlyYXRpb25fd2luZG93BnVpbnQzMhVtYXhfdHJhbnNhY3Rpb25fZGVsYXkGdWludDMyFm1heF9pbmxpbmVfYWN0aW9uX3NpemUGdWludDMyF21heF9pbmxpbmVfYWN0aW9uX2RlcHRoBnVpbnQxNhNtYXhfYXV0aG9yaXR5X2RlcHRoBnVpbnQxNhhibG9ja2NoYWluX3BhcmFtZXRlcnNfdjEVYmxvY2tjaGFpbl9wYXJhbWV0ZXJzARxtYXhfYWN0aW9uX3JldHVybl92YWx1ZV9zaXplB3VpbnQzMiQGYnV5cmFtAAMFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lBXF1YW50BWFzc2V0C2J1eXJhbWJ5dGVzAAMFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lBWJ5dGVzBnVpbnQzMgZidXlyZXgAAgRmcm9tBG5hbWUGYW1vdW50BWFzc2V0C2NhbmNlbGRlbGF5AAIOY2FuY2VsaW5nX2F1dGgQcGVybWlzc2lvbl9sZXZlbAZ0cnhfaWQLY2hlY2tzdW0yNTYKY2ZncG93ZXJ1cAABBGFyZ3MOcG93ZXJ1cF9jb25maWcMY2xhaW1yZXdhcmRzAAEFb3duZXIEbmFtZQhjbG9zZXJleAABBW93bmVyBG5hbWUMY25jbHJleG9yZGVyAAEFb3duZXIEbmFtZQljb25uZWN0b3IAAgdiYWxhbmNlBWFzc2V0BndlaWdodAdmbG9hdDY0C2NvbnNvbGlkYXRlAAEFb3duZXIEbmFtZQpkZWZjcHVsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAZhbW91bnQFYXNzZXQKZGVmbmV0bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQGYW1vdW50BWFzc2V0CmRlbGVnYXRlYncABQRmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZRJzdGFrZV9uZXRfcXVhbnRpdHkFYXNzZXQSc3Rha2VfY3B1X3F1YW50aXR5BWFzc2V0CHRyYW5zZmVyBGJvb2wTZGVsZWdhdGVkX2JhbmR3aWR0aAAEBGZyb20EbmFtZQJ0bwRuYW1lCm5ldF93ZWlnaHQFYXNzZXQKY3B1X3dlaWdodAVhc3NldApkZWxldGVhdXRoAAMHYWNjb3VudARuYW1lCnBlcm1pc3Npb24EbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkB2RlcG9zaXQAAgVvd25lcgRuYW1lBmFtb3VudAVhc3NldBJlb3Npb19nbG9iYWxfc3RhdGUVYmxvY2tjaGFpbl9wYXJhbWV0ZXJzDQxtYXhfcmFtX3NpemUGdWludDY0GHRvdGFsX3JhbV9ieXRlc19yZXNlcnZlZAZ1aW50NjQPdG90YWxfcmFtX3N0YWtlBWludDY0HWxhc3RfcHJvZHVjZXJfc2NoZWR1bGVfdXBkYXRlFGJsb2NrX3RpbWVzdGFtcF90eXBlGGxhc3RfcGVydm90ZV9idWNrZXRfZmlsbAp0aW1lX3BvaW50DnBlcnZvdGVfYnVja2V0BWludDY0D3BlcmJsb2NrX2J1Y2tldAVpbnQ2NBN0b3RhbF91bnBhaWRfYmxvY2tzBnVpbnQzMhV0b3RhbF9hY3RpdmF0ZWRfc3Rha2UFaW50NjQbdGhyZXNoX2FjdGl2YXRlZF9zdGFrZV90aW1lCnRpbWVfcG9pbnQbbGFzdF9wcm9kdWNlcl9zY2hlZHVsZV9zaXplBnVpbnQxNhp0b3RhbF9wcm9kdWNlcl92b3RlX3dlaWdodAdmbG9hdDY0D2xhc3RfbmFtZV9jbG9zZRRibG9ja190aW1lc3RhbXBfdHlwZRNlb3Npb19nbG9iYWxfc3RhdGUyAAURbmV3X3JhbV9wZXJfYmxvY2sGdWludDE2EWxhc3RfcmFtX2luY3JlYXNlFGJsb2NrX3RpbWVzdGFtcF90eXBlDmxhc3RfYmxvY2tfbnVtFGJsb2NrX3RpbWVzdGFtcF90eXBlHHRvdGFsX3Byb2R1Y2VyX3ZvdGVwYXlfc2hhcmUHZmxvYXQ2NAhyZXZpc2lvbgV1aW50OBNlb3Npb19nbG9iYWxfc3RhdGUzAAIWbGFzdF92cGF5X3N0YXRlX3VwZGF0ZQp0aW1lX3BvaW50HHRvdGFsX3ZwYXlfc2hhcmVfY2hhbmdlX3JhdGUHZmxvYXQ2NBNlb3Npb19nbG9iYWxfc3RhdGU0AAMPY29udGludW91c19yYXRlB2Zsb2F0NjQUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQOZXhjaGFuZ2Vfc3RhdGUAAwZzdXBwbHkFYXNzZXQEYmFzZQljb25uZWN0b3IFcXVvdGUJY29ubmVjdG9yC2Z1bmRjcHVsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAdwYXltZW50BWFzc2V0C2Z1bmRuZXRsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAdwYXltZW50BWFzc2V0BGluaXQAAgd2ZXJzaW9uCXZhcnVpbnQzMgRjb3JlBnN5bWJvbAprZXlfd2VpZ2h0AAIDa2V5CnB1YmxpY19rZXkGd2VpZ2h0BnVpbnQxNgxsaW1pdGF1dGhjaGcAAwdhY2NvdW50BG5hbWULYWxsb3dfcGVybXMGbmFtZVtdDmRpc2FsbG93X3Blcm1zBm5hbWVbXQhsaW5rYXV0aAAFB2FjY291bnQEbmFtZQRjb2RlBG5hbWUEdHlwZQRuYW1lC3JlcXVpcmVtZW50BG5hbWUNYXV0aG9yaXplZF9ieQVuYW1lJAttdmZyc2F2aW5ncwACBW93bmVyBG5hbWUDcmV4BWFzc2V0C212dG9zYXZpbmdzAAIFb3duZXIEbmFtZQNyZXgFYXNzZXQIbmFtZV9iaWQABAduZXduYW1lBG5hbWULaGlnaF9iaWRkZXIEbmFtZQhoaWdoX2JpZAVpbnQ2NA1sYXN0X2JpZF90aW1lCnRpbWVfcG9pbnQKbmV3YWNjb3VudAAEB2NyZWF0b3IEbmFtZQRuYW1lBG5hbWUFb3duZXIJYXV0aG9yaXR5BmFjdGl2ZQlhdXRob3JpdHkHb25ibG9jawABBmhlYWRlcgxibG9ja19oZWFkZXIHb25lcnJvcgACCXNlbmRlcl9pZAd1aW50MTI4CHNlbnRfdHJ4BWJ5dGVzGXBhaXJfdGltZV9wb2ludF9zZWNfaW50NjQAAgVmaXJzdA50aW1lX3BvaW50X3NlYwZzZWNvbmQFaW50NjQQcGVybWlzc2lvbl9sZXZlbAACBWFjdG9yBG5hbWUKcGVybWlzc2lvbgRuYW1lF3Blcm1pc3Npb25fbGV2ZWxfd2VpZ2h0AAIKcGVybWlzc2lvbhBwZXJtaXNzaW9uX2xldmVsBndlaWdodAZ1aW50MTYHcG93ZXJ1cAAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQRkYXlzBnVpbnQzMghuZXRfZnJhYwVpbnQ2NAhjcHVfZnJhYwVpbnQ2NAttYXhfcGF5bWVudAVhc3NldA5wb3dlcnVwX2NvbmZpZwAEA25ldBdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQNjcHUXcG93ZXJ1cF9jb25maWdfcmVzb3VyY2UMcG93ZXJ1cF9kYXlzB3VpbnQzMj8PbWluX3Bvd2VydXBfZmVlBmFzc2V0Pxdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQAIFGN1cnJlbnRfd2VpZ2h0X3JhdGlvBmludDY0PxN0YXJnZXRfd2VpZ2h0X3JhdGlvBmludDY0PxRhc3N1bWVkX3N0YWtlX3dlaWdodAZpbnQ2ND8QdGFyZ2V0X3RpbWVzdGFtcA90aW1lX3BvaW50X3NlYz8IZXhwb25lbnQIZmxvYXQ2ND8KZGVjYXlfc2Vjcwd1aW50MzI/CW1pbl9wcmljZQZhc3NldD8JbWF4X3ByaWNlBmFzc2V0Pw1wb3dlcnVwX29yZGVyAAYHdmVyc2lvbgV1aW50OAJpZAZ1aW50NjQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHZXhwaXJlcw50aW1lX3BvaW50X3NlYw1wb3dlcnVwX3N0YXRlAAUHdmVyc2lvbgV1aW50OANuZXQWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQNjcHUWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQxwb3dlcnVwX2RheXMGdWludDMyD21pbl9wb3dlcnVwX2ZlZQVhc3NldBZwb3dlcnVwX3N0YXRlX3Jlc291cmNlAA8HdmVyc2lvbgV1aW50OAZ3ZWlnaHQFaW50NjQMd2VpZ2h0X3JhdGlvBWludDY0FGFzc3VtZWRfc3Rha2Vfd2VpZ2h0BWludDY0FGluaXRpYWxfd2VpZ2h0X3JhdGlvBWludDY0E3RhcmdldF93ZWlnaHRfcmF0aW8FaW50NjQRaW5pdGlhbF90aW1lc3RhbXAOdGltZV9wb2ludF9zZWMQdGFyZ2V0X3RpbWVzdGFtcA50aW1lX3BvaW50X3NlYwhleHBvbmVudAdmbG9hdDY0CmRlY2F5X3NlY3MGdWludDMyCW1pbl9wcmljZQVhc3NldAltYXhfcHJpY2UFYXNzZXQLdXRpbGl6YXRpb24FaW50NjQUYWRqdXN0ZWRfdXRpbGl6YXRpb24FaW50NjQVdXRpbGl6YXRpb25fdGltZXN0YW1wDnRpbWVfcG9pbnRfc2VjC3Bvd2VydXBleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYNcHJvZHVjZXJfaW5mbwAJBW93bmVyBG5hbWULdG90YWxfdm90ZXMHZmxvYXQ2NAxwcm9kdWNlcl9rZXkKcHVibGljX2tleQlpc19hY3RpdmUEYm9vbAN1cmwGc3RyaW5nDXVucGFpZF9ibG9ja3MGdWludDMyD2xhc3RfY2xhaW1fdGltZQp0aW1lX3BvaW50CGxvY2F0aW9uBnVpbnQxNhJwcm9kdWNlcl9hdXRob3JpdHkYYmxvY2tfc2lnbmluZ19hdXRob3JpdHkkDnByb2R1Y2VyX2luZm8yAAMFb3duZXIEbmFtZQ12b3RlcGF5X3NoYXJlB2Zsb2F0NjQZbGFzdF92b3RlcGF5X3NoYXJlX3VwZGF0ZQp0aW1lX3BvaW50DHByb2R1Y2VyX2tleQACDXByb2R1Y2VyX25hbWUEbmFtZRFibG9ja19zaWduaW5nX2tleQpwdWJsaWNfa2V5EXByb2R1Y2VyX3NjaGVkdWxlAAIHdmVyc2lvbgZ1aW50MzIJcHJvZHVjZXJzDnByb2R1Y2VyX2tleVtdBnJlZnVuZAABBW93bmVyBG5hbWUOcmVmdW5kX3JlcXVlc3QABAVvd25lcgRuYW1lDHJlcXVlc3RfdGltZQ50aW1lX3BvaW50X3NlYwpuZXRfYW1vdW50BWFzc2V0CmNwdV9hbW91bnQFYXNzZXQLcmVncHJvZHVjZXIABAhwcm9kdWNlcgRuYW1lDHByb2R1Y2VyX2tleQpwdWJsaWNfa2V5A3VybAZzdHJpbmcIbG9jYXRpb24GdWludDE2DHJlZ3Byb2R1Y2VyMgAECHByb2R1Y2VyBG5hbWUScHJvZHVjZXJfYXV0aG9yaXR5F2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5A3VybAZzdHJpbmcIbG9jYXRpb24GdWludDE2CHJlZ3Byb3h5AAIFcHJveHkEbmFtZQdpc3Byb3h5BGJvb2wHcmVudGNwdQAEBGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lDGxvYW5fcGF5bWVudAVhc3NldAlsb2FuX2Z1bmQFYXNzZXQHcmVudG5ldAAEBGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lDGxvYW5fcGF5bWVudAVhc3NldAlsb2FuX2Z1bmQFYXNzZXQLcmV4X2JhbGFuY2UABgd2ZXJzaW9uBXVpbnQ4BW93bmVyBG5hbWUKdm90ZV9zdGFrZQVhc3NldAtyZXhfYmFsYW5jZQVhc3NldAttYXR1cmVkX3JleAVpbnQ2NA5yZXhfbWF0dXJpdGllcxtwYWlyX3RpbWVfcG9pbnRfc2VjX2ludDY0W10IcmV4X2Z1bmQAAwd2ZXJzaW9uBXVpbnQ4BW93bmVyBG5hbWUHYmFsYW5jZQVhc3NldAhyZXhfbG9hbgAIB3ZlcnNpb24FdWludDgEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUHcGF5bWVudAVhc3NldAdiYWxhbmNlBWFzc2V0DHRvdGFsX3N0YWtlZAVhc3NldAhsb2FuX251bQZ1aW50NjQKZXhwaXJhdGlvbgp0aW1lX3BvaW50CXJleF9vcmRlcgAHB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQ1yZXhfcmVxdWVzdGVkBWFzc2V0CHByb2NlZWRzBWFzc2V0DHN0YWtlX2NoYW5nZQVhc3NldApvcmRlcl90aW1lCnRpbWVfcG9pbnQHaXNfb3BlbgRib29sCHJleF9wb29sAAgHdmVyc2lvbgV1aW50OAp0b3RhbF9sZW50BWFzc2V0DHRvdGFsX3VubGVudAVhc3NldAp0b3RhbF9yZW50BWFzc2V0DnRvdGFsX2xlbmRhYmxlBWFzc2V0CXRvdGFsX3JleAVhc3NldBBuYW1lYmlkX3Byb2NlZWRzBWFzc2V0CGxvYW5fbnVtBnVpbnQ2NBJyZXhfcmV0dXJuX2J1Y2tldHMAAgd2ZXJzaW9uBXVpbnQ4DnJldHVybl9idWNrZXRzG3BhaXJfdGltZV9wb2ludF9zZWNfaW50NjRbXQ9yZXhfcmV0dXJuX3Bvb2wABwd2ZXJzaW9uBXVpbnQ4Dmxhc3RfZGlzdF90aW1lDnRpbWVfcG9pbnRfc2VjE3BlbmRpbmdfYnVja2V0X3RpbWUOdGltZV9wb2ludF9zZWMSb2xkZXN0X2J1Y2tldF90aW1lDnRpbWVfcG9pbnRfc2VjF3BlbmRpbmdfYnVja2V0X3Byb2NlZWRzBWludDY0GGN1cnJlbnRfcmF0ZV9vZl9pbmNyZWFzZQVpbnQ2NAhwcm9jZWVkcwVpbnQ2NAdyZXhleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYLcm12cHJvZHVjZXIAAQhwcm9kdWNlcgRuYW1lB3NlbGxyYW0AAgdhY2NvdW50BG5hbWUFYnl0ZXMFaW50NjQHc2VsbHJleAACBGZyb20EbmFtZQNyZXgFYXNzZXQGc2V0YWJpAAMHYWNjb3VudARuYW1lA2FiaQVieXRlcwRtZW1vB3N0cmluZyQKc2V0YWNjdGNwdQACB2FjY291bnQEbmFtZQpjcHVfd2VpZ2h0BmludDY0PwpzZXRhY2N0bmV0AAIHYWNjb3VudARuYW1lCm5ldF93ZWlnaHQGaW50NjQ/CnNldGFjY3RyYW0AAgdhY2NvdW50BG5hbWUJcmFtX2J5dGVzBmludDY0PwpzZXRhbGltaXRzAAQHYWNjb3VudARuYW1lCXJhbV9ieXRlcwVpbnQ2NApuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHc2V0Y29kZQAFB2FjY291bnQEbmFtZQZ2bXR5cGUFdWludDgJdm12ZXJzaW9uBXVpbnQ4BGNvZGUFYnl0ZXMEbWVtbwdzdHJpbmckDHNldGluZmxhdGlvbgADC2FubnVhbF9yYXRlBWludDY0FGluZmxhdGlvbl9wYXlfZmFjdG9yBWludDY0DnZvdGVwYXlfZmFjdG9yBWludDY0CXNldHBhcmFtcwABBnBhcmFtcxdibG9ja2NoYWluX3BhcmFtZXRlcnNfdAdzZXRwcml2AAIHYWNjb3VudARuYW1lB2lzX3ByaXYFdWludDgGc2V0cmFtAAEMbWF4X3JhbV9zaXplBnVpbnQ2NApzZXRyYW1yYXRlAAEPYnl0ZXNfcGVyX2Jsb2NrBnVpbnQxNgZzZXRyZXgAAQdiYWxhbmNlBWFzc2V0DHVuZGVsZWdhdGVidwAEBGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lFHVuc3Rha2VfbmV0X3F1YW50aXR5BWFzc2V0FHVuc3Rha2VfY3B1X3F1YW50aXR5BWFzc2V0CnVubGlua2F1dGgABAdhY2NvdW50BG5hbWUEY29kZQRuYW1lBHR5cGUEbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkCXVucmVncHJvZAABCHByb2R1Y2VyBG5hbWUMdW5zdGFrZXRvcmV4AAQFb3duZXIEbmFtZQhyZWNlaXZlcgRuYW1lCGZyb21fbmV0BWFzc2V0CGZyb21fY3B1BWFzc2V0CnVwZGF0ZWF1dGgABQdhY2NvdW50BG5hbWUKcGVybWlzc2lvbgRuYW1lBnBhcmVudARuYW1lBGF1dGgJYXV0aG9yaXR5DWF1dGhvcml6ZWRfYnkFbmFtZSQJdXBkYXRlcmV4AAEFb3duZXIEbmFtZQx1cGR0cmV2aXNpb24AAQhyZXZpc2lvbgV1aW50OA51c2VyX3Jlc291cmNlcwAEBW93bmVyBG5hbWUKbmV0X3dlaWdodAVhc3NldApjcHVfd2VpZ2h0BWFzc2V0CXJhbV9ieXRlcwVpbnQ2NAx2b3RlcHJvZHVjZXIAAwV2b3RlcgRuYW1lBXByb3h5BG5hbWUJcHJvZHVjZXJzBm5hbWVbXQp2b3Rlcl9pbmZvAAoFb3duZXIEbmFtZQVwcm94eQRuYW1lCXByb2R1Y2VycwZuYW1lW10Gc3Rha2VkBWludDY0EGxhc3Rfdm90ZV93ZWlnaHQHZmxvYXQ2NBNwcm94aWVkX3ZvdGVfd2VpZ2h0B2Zsb2F0NjQIaXNfcHJveHkEYm9vbAZmbGFnczEGdWludDMyCXJlc2VydmVkMgZ1aW50MzIJcmVzZXJ2ZWQzBWFzc2V0CnZvdGV1cGRhdGUAAQp2b3Rlcl9uYW1lBG5hbWULd2FpdF93ZWlnaHQAAgh3YWl0X3NlYwZ1aW50MzIGd2VpZ2h0BnVpbnQxNgd3YXNtY2ZnAAEIc2V0dGluZ3MEbmFtZQh3aXRoZHJhdwACBW93bmVyBG5hbWUGYW1vdW50BWFzc2V0EWxpbWl0X2F1dGhfY2hhbmdlAAQHdmVyc2lvbgV1aW50OAdhY2NvdW50BG5hbWULYWxsb3dfcGVybXMGbmFtZVtdDmRpc2FsbG93X3Blcm1zBm5hbWVbXT4AAAAqm+0yMghhY3RpdmF0ZQAAAABASTOTOwdiaWRuYW1lAAAASFMvdZM7CWJpZHJlZnVuZAAAAAAASHO9PgZidXlyYW0AALDK/khzvT4LYnV5cmFtYnl0ZXMAAAAAAHR1vT4GYnV5cmV4AAC8iSpFhaZBC2NhbmNlbGRlbGF5AABA1VdxWtlCCmNmZ3Bvd2VydXAAgNM1XF3pTEQMY2xhaW1yZXdhcmRzAAAAAF1dhWlECGNsb3NlcmV4AHBVurSrG9FEDGNuY2xyZXhvcmRlcgAAVDbJRYonRQtjb25zb2xpZGF0ZQAAwDQ06oqWSgpkZWZjcHVsb2FuAADANDRmNZdKCmRlZm5ldGxvYW4AAAA/KhumokoKZGVsZWdhdGVidwAAQMvaqKyiSgpkZWxldGVhdXRoAAAAACA7TKtKB2RlcG9zaXQAAKahUVeUpl4LZnVuZGNwdWxvYW4AAKahMauZpl4LZnVuZG5ldGxvYW4AAAAAAACQ3XQEaW5pdADAGmpZm+ykiwxsaW1pdGF1dGhjaGcAAAAALWsDp4sIbGlua2F1dGgAADCbbht815YLbXZmcnNhdmluZ3MAADCbbhtM85YLbXZ0b3NhdmluZ3MAAECemiJkuJoKbmV3YWNjb3VudAAAAAAAIhrPpAdvbmJsb2NrAAAAAODSe9WkB29uZXJyb3IAAAAAoOqrOK0HcG93ZXJ1cAAAkOqq6qs4rQtwb3dlcnVwZXhlYwAAAAAApKmXugZyZWZ1bmQAAK5COtFbmboLcmVncHJvZHVjZXIAIK5COtFbmboMcmVncHJvZHVjZXIyAAAAAL7TW5m6CHJlZ3Byb3h5AAAAAEBXlKe6B3JlbnRjcHUAAAAAIKuZp7oHcmVudG5ldAAAAAAAqa66ugdyZXhleGVjAACuQjrRW7e8C3JtdnByb2R1Y2VyAAAAAECaG6PCB3NlbGxyYW0AAAAAoKsbo8IHc2VsbHJleAAAAAAAuGOywgZzZXRhYmkAAICuKCNkssIKc2V0YWNjdGNwdQAAQFYzI2SywgpzZXRhY2N0bmV0AACANDcjZLLCCnNldGFjY3RyYW0AAADOTrpossIKc2V0YWxpbWl0cwAAAABAJYqywgdzZXRjb2RlADCpyyau6bLCDHNldGluZmxhdGlvbgAAAMDSXFOzwglzZXRwYXJhbXMAAAAAYLtbs8IHc2V0cHJpdgAAAAAASHOzwgZzZXRyYW0AAIDK5kpzs8IKc2V0cmFtcmF0ZQAAAAAAdHWzwgZzZXRyZXgAwI/Khqmo0tQMdW5kZWxlZ2F0ZWJ3AABAy9rA6eLUCnVubGlua2F1dGgAAABI9Fam7tQJdW5yZWdwcm9kANDVpVlBk/HUDHVuc3Rha2V0b3JleAAAQMvaqGxS1Qp1cGRhdGVhdXRoAAAA6OqqbFLVCXVwZGF0ZXJleAAwqcNuq5tT1Qx1cGR0cmV2aXNpb24AcBXSid6qMt0Mdm90ZXByb2R1Y2VyAACAyiZVrTLdCnZvdGV1cGRhdGUAAAAAgC0kseEHd2FzbWNmZwAAAADc3NSy4wh3aXRoZHJhdwAaAAAAoGHT3DEDaTY0AAAIYWJpX2hhc2gAAE5TL3WTOwNpNjQAAApiaWRfcmVmdW5kAACgazqIaDwDaTY0AAARYmxvY2tfaW5mb19yZWNvcmQAAABgGhp1RQNpNjQAAAhyZXhfbG9hbgAAACBNc6JKA2k2NAAAE2RlbGVnYXRlZF9iYW5kd2lkdGgAAAAARHNoZANpNjQAABJlb3Npb19nbG9iYWxfc3RhdGUAAABARHNoZANpNjQAABNlb3Npb19nbG9iYWxfc3RhdGUyAAAAYERzaGQDaTY0AAATZW9zaW9fZ2xvYmFsX3N0YXRlMwAAAIBEc2hkA2k2NAAAE2Vvc2lvX2dsb2JhbF9zdGF0ZTQAAAA4uaOkmQNpNjQAAAhuYW1lX2JpZAAAAGAaGrOaA2k2NAAACHJleF9sb2FuAK5Kl4KqOa0DaTY0AAANcG93ZXJ1cF9vcmRlcgBUNhmDqjmtA2k2NAAADXBvd2VydXBfc3RhdGUAAMBXIZ3orQNpNjQAAA1wcm9kdWNlcl9pbmZvAIDAVyGd6K0DaTY0AAAOcHJvZHVjZXJfaW5mbzIAAMgKXiOluQNpNjQAAA5leGNoYW5nZV9zdGF0ZQAAAACnqZe6A2k2NAAADnJlZnVuZF9yZXF1ZXN0AADOCiJ9sroDaTY0AAAScmV4X3JldHVybl9idWNrZXRzAAAAAERzuroDaTY0AAALcmV4X2JhbGFuY2UAAAAgTb26ugNpNjQAAAhyZXhfZnVuZAAAACBSWru6A2k2NAAACHJleF9wb29sAAAASittu7oDaTY0AAAJcmV4X29yZGVyAECktGZ1u7oDaTY0AAAPcmV4X3JldHVybl9wb29sAAAAAKt7FdYDaTY0AAAOdXNlcl9yZXNvdXJjZXMAAAAA4Ksy3QNpNjQAAAp2b3Rlcl9pbmZvwBpqWZvspIsDaTY0AAARbGltaXRfYXV0aF9jaGFuZ2UAAAABInZhcmlhbnRfYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjABGmJsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3Yw=" + "code_hash": "a2d9c10b72a586409f77be944094c161e4170bb0a7bab6e072b19161001e1930", + "abi_hash": "252f428bba17993178a978741f5abed9dbe17787899fc781c25748043e73cab8", + "abi": "DmVvc2lvOjphYmkvMS4yAhdibG9ja19zaWduaW5nX2F1dGhvcml0eSJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MXAIYWJpX2hhc2gAAgVvd25lcgRuYW1lBGhhc2gLY2hlY2tzdW0yNTYUYWN0aW9uX3JldHVybl9idXlyYW0ABQVwYXllcgRuYW1lCHJlY2VpdmVyBG5hbWUIcXVhbnRpdHkFYXNzZXQPYnl0ZXNfcHVyY2hhc2VkBWludDY0CXJhbV9ieXRlcwVpbnQ2NBlhY3Rpb25fcmV0dXJuX3JhbXRyYW5zZmVyAAUEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQOZnJvbV9yYW1fYnl0ZXMFaW50NjQMdG9fcmFtX2J5dGVzBWludDY0FWFjdGlvbl9yZXR1cm5fc2VsbHJhbQAEB2FjY291bnQEbmFtZQhxdWFudGl0eQVhc3NldApieXRlc19zb2xkBWludDY0CXJhbV9ieXRlcwVpbnQ2NAhhY3RpdmF0ZQABDmZlYXR1cmVfZGlnZXN0C2NoZWNrc3VtMjU2CWF1dGhvcml0eQAECXRocmVzaG9sZAZ1aW50MzIEa2V5cwxrZXlfd2VpZ2h0W10IYWNjb3VudHMZcGVybWlzc2lvbl9sZXZlbF93ZWlnaHRbXQV3YWl0cw13YWl0X3dlaWdodFtdCmJpZF9yZWZ1bmQAAgZiaWRkZXIEbmFtZQZhbW91bnQFYXNzZXQHYmlkbmFtZQADBmJpZGRlcgRuYW1lB25ld25hbWUEbmFtZQNiaWQFYXNzZXQJYmlkcmVmdW5kAAIGYmlkZGVyBG5hbWUHbmV3bmFtZQRuYW1lDGJsb2NrX2hlYWRlcgAICXRpbWVzdGFtcAZ1aW50MzIIcHJvZHVjZXIEbmFtZQljb25maXJtZWQGdWludDE2CHByZXZpb3VzC2NoZWNrc3VtMjU2EXRyYW5zYWN0aW9uX21yb290C2NoZWNrc3VtMjU2DGFjdGlvbl9tcm9vdAtjaGVja3N1bTI1NhBzY2hlZHVsZV92ZXJzaW9uBnVpbnQzMg1uZXdfcHJvZHVjZXJzEnByb2R1Y2VyX3NjaGVkdWxlPxFibG9ja19pbmZvX3JlY29yZAADB3ZlcnNpb24FdWludDgMYmxvY2tfaGVpZ2h0BnVpbnQzMg9ibG9ja190aW1lc3RhbXAKdGltZV9wb2ludBpibG9ja19zaWduaW5nX2F1dGhvcml0eV92MAACCXRocmVzaG9sZAZ1aW50MzIEa2V5cwxrZXlfd2VpZ2h0W10VYmxvY2tjaGFpbl9wYXJhbWV0ZXJzABETbWF4X2Jsb2NrX25ldF91c2FnZQZ1aW50NjQadGFyZ2V0X2Jsb2NrX25ldF91c2FnZV9wY3QGdWludDMyGW1heF90cmFuc2FjdGlvbl9uZXRfdXNhZ2UGdWludDMyHmJhc2VfcGVyX3RyYW5zYWN0aW9uX25ldF91c2FnZQZ1aW50MzIQbmV0X3VzYWdlX2xlZXdheQZ1aW50MzIjY29udGV4dF9mcmVlX2Rpc2NvdW50X25ldF91c2FnZV9udW0GdWludDMyI2NvbnRleHRfZnJlZV9kaXNjb3VudF9uZXRfdXNhZ2VfZGVuBnVpbnQzMhNtYXhfYmxvY2tfY3B1X3VzYWdlBnVpbnQzMhp0YXJnZXRfYmxvY2tfY3B1X3VzYWdlX3BjdAZ1aW50MzIZbWF4X3RyYW5zYWN0aW9uX2NwdV91c2FnZQZ1aW50MzIZbWluX3RyYW5zYWN0aW9uX2NwdV91c2FnZQZ1aW50MzIYbWF4X3RyYW5zYWN0aW9uX2xpZmV0aW1lBnVpbnQzMh5kZWZlcnJlZF90cnhfZXhwaXJhdGlvbl93aW5kb3cGdWludDMyFW1heF90cmFuc2FjdGlvbl9kZWxheQZ1aW50MzIWbWF4X2lubGluZV9hY3Rpb25fc2l6ZQZ1aW50MzIXbWF4X2lubGluZV9hY3Rpb25fZGVwdGgGdWludDE2E21heF9hdXRob3JpdHlfZGVwdGgGdWludDE2GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MRVibG9ja2NoYWluX3BhcmFtZXRlcnMBHG1heF9hY3Rpb25fcmV0dXJuX3ZhbHVlX3NpemUHdWludDMyJAZidXlyYW0AAwVwYXllcgRuYW1lCHJlY2VpdmVyBG5hbWUFcXVhbnQFYXNzZXQLYnV5cmFtYnl0ZXMAAwVwYXllcgRuYW1lCHJlY2VpdmVyBG5hbWUFYnl0ZXMGdWludDMyCmJ1eXJhbXNlbGYAAgdhY2NvdW50BG5hbWUFcXVhbnQFYXNzZXQGYnV5cmV4AAIEZnJvbQRuYW1lBmFtb3VudAVhc3NldAtjYW5jZWxkZWxheQACDmNhbmNlbGluZ19hdXRoEHBlcm1pc3Npb25fbGV2ZWwGdHJ4X2lkC2NoZWNrc3VtMjU2CmNmZ3Bvd2VydXAAAQRhcmdzDnBvd2VydXBfY29uZmlnDGNsYWltcmV3YXJkcwABBW93bmVyBG5hbWUIY2xvc2VyZXgAAQVvd25lcgRuYW1lDGNuY2xyZXhvcmRlcgABBW93bmVyBG5hbWUJY29ubmVjdG9yAAIHYmFsYW5jZQVhc3NldAZ3ZWlnaHQHZmxvYXQ2NAtjb25zb2xpZGF0ZQABBW93bmVyBG5hbWUKZGVmY3B1bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQGYW1vdW50BWFzc2V0CmRlZm5ldGxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0BmFtb3VudAVhc3NldApkZWxlZ2F0ZWJ3AAUEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUSc3Rha2VfbmV0X3F1YW50aXR5BWFzc2V0EnN0YWtlX2NwdV9xdWFudGl0eQVhc3NldAh0cmFuc2ZlcgRib29sE2RlbGVnYXRlZF9iYW5kd2lkdGgABARmcm9tBG5hbWUCdG8EbmFtZQpuZXRfd2VpZ2h0BWFzc2V0CmNwdV93ZWlnaHQFYXNzZXQKZGVsZXRlYXV0aAADB2FjY291bnQEbmFtZQpwZXJtaXNzaW9uBG5hbWUNYXV0aG9yaXplZF9ieQVuYW1lJAdkZXBvc2l0AAIFb3duZXIEbmFtZQZhbW91bnQFYXNzZXQSZW9zaW9fZ2xvYmFsX3N0YXRlFWJsb2NrY2hhaW5fcGFyYW1ldGVycw0MbWF4X3JhbV9zaXplBnVpbnQ2NBh0b3RhbF9yYW1fYnl0ZXNfcmVzZXJ2ZWQGdWludDY0D3RvdGFsX3JhbV9zdGFrZQVpbnQ2NB1sYXN0X3Byb2R1Y2VyX3NjaGVkdWxlX3VwZGF0ZRRibG9ja190aW1lc3RhbXBfdHlwZRhsYXN0X3BlcnZvdGVfYnVja2V0X2ZpbGwKdGltZV9wb2ludA5wZXJ2b3RlX2J1Y2tldAVpbnQ2NA9wZXJibG9ja19idWNrZXQFaW50NjQTdG90YWxfdW5wYWlkX2Jsb2NrcwZ1aW50MzIVdG90YWxfYWN0aXZhdGVkX3N0YWtlBWludDY0G3RocmVzaF9hY3RpdmF0ZWRfc3Rha2VfdGltZQp0aW1lX3BvaW50G2xhc3RfcHJvZHVjZXJfc2NoZWR1bGVfc2l6ZQZ1aW50MTYadG90YWxfcHJvZHVjZXJfdm90ZV93ZWlnaHQHZmxvYXQ2NA9sYXN0X25hbWVfY2xvc2UUYmxvY2tfdGltZXN0YW1wX3R5cGUTZW9zaW9fZ2xvYmFsX3N0YXRlMgAFEW5ld19yYW1fcGVyX2Jsb2NrBnVpbnQxNhFsYXN0X3JhbV9pbmNyZWFzZRRibG9ja190aW1lc3RhbXBfdHlwZQ5sYXN0X2Jsb2NrX251bRRibG9ja190aW1lc3RhbXBfdHlwZRx0b3RhbF9wcm9kdWNlcl92b3RlcGF5X3NoYXJlB2Zsb2F0NjQIcmV2aXNpb24FdWludDgTZW9zaW9fZ2xvYmFsX3N0YXRlMwACFmxhc3RfdnBheV9zdGF0ZV91cGRhdGUKdGltZV9wb2ludBx0b3RhbF92cGF5X3NoYXJlX2NoYW5nZV9yYXRlB2Zsb2F0NjQTZW9zaW9fZ2xvYmFsX3N0YXRlNAADD2NvbnRpbnVvdXNfcmF0ZQdmbG9hdDY0FGluZmxhdGlvbl9wYXlfZmFjdG9yBWludDY0DnZvdGVwYXlfZmFjdG9yBWludDY0DmV4Y2hhbmdlX3N0YXRlAAMGc3VwcGx5BWFzc2V0BGJhc2UJY29ubmVjdG9yBXF1b3RlCWNvbm5lY3RvcgtmdW5kY3B1bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQHcGF5bWVudAVhc3NldAtmdW5kbmV0bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQHcGF5bWVudAVhc3NldARpbml0AAIHdmVyc2lvbgl2YXJ1aW50MzIEY29yZQZzeW1ib2wKa2V5X3dlaWdodAACA2tleQpwdWJsaWNfa2V5BndlaWdodAZ1aW50MTYMbGltaXRhdXRoY2hnAAMHYWNjb3VudARuYW1lC2FsbG93X3Blcm1zBm5hbWVbXQ5kaXNhbGxvd19wZXJtcwZuYW1lW10IbGlua2F1dGgABQdhY2NvdW50BG5hbWUEY29kZQRuYW1lBHR5cGUEbmFtZQtyZXF1aXJlbWVudARuYW1lDWF1dGhvcml6ZWRfYnkFbmFtZSQJbG9nYnV5cmFtAAUFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lCHF1YW50aXR5BWFzc2V0BWJ5dGVzBWludDY0CXJhbV9ieXRlcwVpbnQ2NAxsb2dyYW1jaGFuZ2UAAwVvd25lcgRuYW1lBWJ5dGVzBWludDY0CXJhbV9ieXRlcwVpbnQ2NApsb2dzZWxscmFtAAQHYWNjb3VudARuYW1lCHF1YW50aXR5BWFzc2V0BWJ5dGVzBWludDY0CXJhbV9ieXRlcwVpbnQ2NAttdmZyc2F2aW5ncwACBW93bmVyBG5hbWUDcmV4BWFzc2V0C212dG9zYXZpbmdzAAIFb3duZXIEbmFtZQNyZXgFYXNzZXQIbmFtZV9iaWQABAduZXduYW1lBG5hbWULaGlnaF9iaWRkZXIEbmFtZQhoaWdoX2JpZAVpbnQ2NA1sYXN0X2JpZF90aW1lCnRpbWVfcG9pbnQKbmV3YWNjb3VudAAEB2NyZWF0b3IEbmFtZQRuYW1lBG5hbWUFb3duZXIJYXV0aG9yaXR5BmFjdGl2ZQlhdXRob3JpdHkHb25ibG9jawABBmhlYWRlcgxibG9ja19oZWFkZXIHb25lcnJvcgACCXNlbmRlcl9pZAd1aW50MTI4CHNlbnRfdHJ4BWJ5dGVzGXBhaXJfdGltZV9wb2ludF9zZWNfaW50NjQAAgVmaXJzdA50aW1lX3BvaW50X3NlYwZzZWNvbmQFaW50NjQQcGVybWlzc2lvbl9sZXZlbAACBWFjdG9yBG5hbWUKcGVybWlzc2lvbgRuYW1lF3Blcm1pc3Npb25fbGV2ZWxfd2VpZ2h0AAIKcGVybWlzc2lvbhBwZXJtaXNzaW9uX2xldmVsBndlaWdodAZ1aW50MTYHcG93ZXJ1cAAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQRkYXlzBnVpbnQzMghuZXRfZnJhYwVpbnQ2NAhjcHVfZnJhYwVpbnQ2NAttYXhfcGF5bWVudAVhc3NldA5wb3dlcnVwX2NvbmZpZwAEA25ldBdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQNjcHUXcG93ZXJ1cF9jb25maWdfcmVzb3VyY2UMcG93ZXJ1cF9kYXlzB3VpbnQzMj8PbWluX3Bvd2VydXBfZmVlBmFzc2V0Pxdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQAIFGN1cnJlbnRfd2VpZ2h0X3JhdGlvBmludDY0PxN0YXJnZXRfd2VpZ2h0X3JhdGlvBmludDY0PxRhc3N1bWVkX3N0YWtlX3dlaWdodAZpbnQ2ND8QdGFyZ2V0X3RpbWVzdGFtcA90aW1lX3BvaW50X3NlYz8IZXhwb25lbnQIZmxvYXQ2ND8KZGVjYXlfc2Vjcwd1aW50MzI/CW1pbl9wcmljZQZhc3NldD8JbWF4X3ByaWNlBmFzc2V0Pw1wb3dlcnVwX29yZGVyAAYHdmVyc2lvbgV1aW50OAJpZAZ1aW50NjQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHZXhwaXJlcw50aW1lX3BvaW50X3NlYw1wb3dlcnVwX3N0YXRlAAUHdmVyc2lvbgV1aW50OANuZXQWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQNjcHUWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQxwb3dlcnVwX2RheXMGdWludDMyD21pbl9wb3dlcnVwX2ZlZQVhc3NldBZwb3dlcnVwX3N0YXRlX3Jlc291cmNlAA8HdmVyc2lvbgV1aW50OAZ3ZWlnaHQFaW50NjQMd2VpZ2h0X3JhdGlvBWludDY0FGFzc3VtZWRfc3Rha2Vfd2VpZ2h0BWludDY0FGluaXRpYWxfd2VpZ2h0X3JhdGlvBWludDY0E3RhcmdldF93ZWlnaHRfcmF0aW8FaW50NjQRaW5pdGlhbF90aW1lc3RhbXAOdGltZV9wb2ludF9zZWMQdGFyZ2V0X3RpbWVzdGFtcA50aW1lX3BvaW50X3NlYwhleHBvbmVudAdmbG9hdDY0CmRlY2F5X3NlY3MGdWludDMyCW1pbl9wcmljZQVhc3NldAltYXhfcHJpY2UFYXNzZXQLdXRpbGl6YXRpb24FaW50NjQUYWRqdXN0ZWRfdXRpbGl6YXRpb24FaW50NjQVdXRpbGl6YXRpb25fdGltZXN0YW1wDnRpbWVfcG9pbnRfc2VjC3Bvd2VydXBleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYNcHJvZHVjZXJfaW5mbwAJBW93bmVyBG5hbWULdG90YWxfdm90ZXMHZmxvYXQ2NAxwcm9kdWNlcl9rZXkKcHVibGljX2tleQlpc19hY3RpdmUEYm9vbAN1cmwGc3RyaW5nDXVucGFpZF9ibG9ja3MGdWludDMyD2xhc3RfY2xhaW1fdGltZQp0aW1lX3BvaW50CGxvY2F0aW9uBnVpbnQxNhJwcm9kdWNlcl9hdXRob3JpdHkYYmxvY2tfc2lnbmluZ19hdXRob3JpdHkkDnByb2R1Y2VyX2luZm8yAAMFb3duZXIEbmFtZQ12b3RlcGF5X3NoYXJlB2Zsb2F0NjQZbGFzdF92b3RlcGF5X3NoYXJlX3VwZGF0ZQp0aW1lX3BvaW50DHByb2R1Y2VyX2tleQACDXByb2R1Y2VyX25hbWUEbmFtZRFibG9ja19zaWduaW5nX2tleQpwdWJsaWNfa2V5EXByb2R1Y2VyX3NjaGVkdWxlAAIHdmVyc2lvbgZ1aW50MzIJcHJvZHVjZXJzDnByb2R1Y2VyX2tleVtdB3JhbWJ1cm4AAwVvd25lcgRuYW1lBWJ5dGVzBWludDY0BG1lbW8Gc3RyaW5nC3JhbXRyYW5zZmVyAAQEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQEbWVtbwZzdHJpbmcGcmVmdW5kAAEFb3duZXIEbmFtZQ5yZWZ1bmRfcmVxdWVzdAAEBW93bmVyBG5hbWUMcmVxdWVzdF90aW1lDnRpbWVfcG9pbnRfc2VjCm5ldF9hbW91bnQFYXNzZXQKY3B1X2Ftb3VudAVhc3NldAtyZWdwcm9kdWNlcgAECHByb2R1Y2VyBG5hbWUMcHJvZHVjZXJfa2V5CnB1YmxpY19rZXkDdXJsBnN0cmluZwhsb2NhdGlvbgZ1aW50MTYMcmVncHJvZHVjZXIyAAQIcHJvZHVjZXIEbmFtZRJwcm9kdWNlcl9hdXRob3JpdHkXYmxvY2tfc2lnbmluZ19hdXRob3JpdHkDdXJsBnN0cmluZwhsb2NhdGlvbgZ1aW50MTYIcmVncHJveHkAAgVwcm94eQRuYW1lB2lzcHJveHkEYm9vbAdyZW50Y3B1AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUMbG9hbl9wYXltZW50BWFzc2V0CWxvYW5fZnVuZAVhc3NldAdyZW50bmV0AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUMbG9hbl9wYXltZW50BWFzc2V0CWxvYW5fZnVuZAVhc3NldAtyZXhfYmFsYW5jZQAGB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQp2b3RlX3N0YWtlBWFzc2V0C3JleF9iYWxhbmNlBWFzc2V0C21hdHVyZWRfcmV4BWludDY0DnJleF9tYXR1cml0aWVzG3BhaXJfdGltZV9wb2ludF9zZWNfaW50NjRbXQhyZXhfZnVuZAADB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQdiYWxhbmNlBWFzc2V0CHJleF9sb2FuAAgHdmVyc2lvbgV1aW50OARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZQdwYXltZW50BWFzc2V0B2JhbGFuY2UFYXNzZXQMdG90YWxfc3Rha2VkBWFzc2V0CGxvYW5fbnVtBnVpbnQ2NApleHBpcmF0aW9uCnRpbWVfcG9pbnQJcmV4X29yZGVyAAcHdmVyc2lvbgV1aW50OAVvd25lcgRuYW1lDXJleF9yZXF1ZXN0ZWQFYXNzZXQIcHJvY2VlZHMFYXNzZXQMc3Rha2VfY2hhbmdlBWFzc2V0Cm9yZGVyX3RpbWUKdGltZV9wb2ludAdpc19vcGVuBGJvb2wIcmV4X3Bvb2wACAd2ZXJzaW9uBXVpbnQ4CnRvdGFsX2xlbnQFYXNzZXQMdG90YWxfdW5sZW50BWFzc2V0CnRvdGFsX3JlbnQFYXNzZXQOdG90YWxfbGVuZGFibGUFYXNzZXQJdG90YWxfcmV4BWFzc2V0EG5hbWViaWRfcHJvY2VlZHMFYXNzZXQIbG9hbl9udW0GdWludDY0EnJleF9yZXR1cm5fYnVja2V0cwACB3ZlcnNpb24FdWludDgOcmV0dXJuX2J1Y2tldHMbcGFpcl90aW1lX3BvaW50X3NlY19pbnQ2NFtdD3JleF9yZXR1cm5fcG9vbAAHB3ZlcnNpb24FdWludDgObGFzdF9kaXN0X3RpbWUOdGltZV9wb2ludF9zZWMTcGVuZGluZ19idWNrZXRfdGltZQ50aW1lX3BvaW50X3NlYxJvbGRlc3RfYnVja2V0X3RpbWUOdGltZV9wb2ludF9zZWMXcGVuZGluZ19idWNrZXRfcHJvY2VlZHMFaW50NjQYY3VycmVudF9yYXRlX29mX2luY3JlYXNlBWludDY0CHByb2NlZWRzBWludDY0B3JleGV4ZWMAAgR1c2VyBG5hbWUDbWF4BnVpbnQxNgtybXZwcm9kdWNlcgABCHByb2R1Y2VyBG5hbWUHc2VsbHJhbQACB2FjY291bnQEbmFtZQVieXRlcwVpbnQ2NAdzZWxscmV4AAIEZnJvbQRuYW1lA3JleAVhc3NldAZzZXRhYmkAAwdhY2NvdW50BG5hbWUDYWJpBWJ5dGVzBG1lbW8Hc3RyaW5nJApzZXRhY2N0Y3B1AAIHYWNjb3VudARuYW1lCmNwdV93ZWlnaHQGaW50NjQ/CnNldGFjY3RuZXQAAgdhY2NvdW50BG5hbWUKbmV0X3dlaWdodAZpbnQ2ND8Kc2V0YWNjdHJhbQACB2FjY291bnQEbmFtZQlyYW1fYnl0ZXMGaW50NjQ/CnNldGFsaW1pdHMABAdhY2NvdW50BG5hbWUJcmFtX2J5dGVzBWludDY0Cm5ldF93ZWlnaHQFaW50NjQKY3B1X3dlaWdodAVpbnQ2NAdzZXRjb2RlAAUHYWNjb3VudARuYW1lBnZtdHlwZQV1aW50OAl2bXZlcnNpb24FdWludDgEY29kZQVieXRlcwRtZW1vB3N0cmluZyQMc2V0aW5mbGF0aW9uAAMLYW5udWFsX3JhdGUFaW50NjQUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQJc2V0cGFyYW1zAAEGcGFyYW1zF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190B3NldHByaXYAAgdhY2NvdW50BG5hbWUHaXNfcHJpdgV1aW50OAZzZXRyYW0AAQxtYXhfcmFtX3NpemUGdWludDY0CnNldHJhbXJhdGUAAQ9ieXRlc19wZXJfYmxvY2sGdWludDE2BnNldHJleAABB2JhbGFuY2UFYXNzZXQMdW5kZWxlZ2F0ZWJ3AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUUdW5zdGFrZV9uZXRfcXVhbnRpdHkFYXNzZXQUdW5zdGFrZV9jcHVfcXVhbnRpdHkFYXNzZXQKdW5saW5rYXV0aAAEB2FjY291bnQEbmFtZQRjb2RlBG5hbWUEdHlwZQRuYW1lDWF1dGhvcml6ZWRfYnkFbmFtZSQJdW5yZWdwcm9kAAEIcHJvZHVjZXIEbmFtZQx1bnN0YWtldG9yZXgABAVvd25lcgRuYW1lCHJlY2VpdmVyBG5hbWUIZnJvbV9uZXQFYXNzZXQIZnJvbV9jcHUFYXNzZXQKdXBkYXRlYXV0aAAFB2FjY291bnQEbmFtZQpwZXJtaXNzaW9uBG5hbWUGcGFyZW50BG5hbWUEYXV0aAlhdXRob3JpdHkNYXV0aG9yaXplZF9ieQVuYW1lJAl1cGRhdGVyZXgAAQVvd25lcgRuYW1lDHVwZHRyZXZpc2lvbgABCHJldmlzaW9uBXVpbnQ4DnVzZXJfcmVzb3VyY2VzAAQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWFzc2V0CmNwdV93ZWlnaHQFYXNzZXQJcmFtX2J5dGVzBWludDY0DHZvdGVwcm9kdWNlcgADBXZvdGVyBG5hbWUFcHJveHkEbmFtZQlwcm9kdWNlcnMGbmFtZVtdCnZvdGVyX2luZm8ACgVvd25lcgRuYW1lBXByb3h5BG5hbWUJcHJvZHVjZXJzBm5hbWVbXQZzdGFrZWQFaW50NjQQbGFzdF92b3RlX3dlaWdodAdmbG9hdDY0E3Byb3hpZWRfdm90ZV93ZWlnaHQHZmxvYXQ2NAhpc19wcm94eQRib29sBmZsYWdzMQZ1aW50MzIJcmVzZXJ2ZWQyBnVpbnQzMglyZXNlcnZlZDMFYXNzZXQKdm90ZXVwZGF0ZQABCnZvdGVyX25hbWUEbmFtZQt3YWl0X3dlaWdodAACCHdhaXRfc2VjBnVpbnQzMgZ3ZWlnaHQGdWludDE2B3dhc21jZmcAAQhzZXR0aW5ncwRuYW1lCHdpdGhkcmF3AAIFb3duZXIEbmFtZQZhbW91bnQFYXNzZXQRbGltaXRfYXV0aF9jaGFuZ2UABAd2ZXJzaW9uBXVpbnQ4B2FjY291bnQEbmFtZQthbGxvd19wZXJtcwZuYW1lW10OZGlzYWxsb3dfcGVybXMGbmFtZVtdRAAAACqb7TIyCGFjdGl2YXRliAMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBBY3RpdmF0ZSBQcm90b2NvbCBGZWF0dXJlCnN1bW1hcnk6ICdBY3RpdmF0ZSBwcm90b2NvbCBmZWF0dXJlIHt7bm93cmFwIGZlYXR1cmVfZGlnZXN0fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gYWN0aXZhdGVzIHRoZSBwcm90b2NvbCBmZWF0dXJlIHdpdGggYSBkaWdlc3Qgb2Yge3tmZWF0dXJlX2RpZ2VzdH19LgAAAEBJM5M7B2JpZG5hbWWpDi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJpZCBPbiBhIFByZW1pdW0gQWNjb3VudCBOYW1lCnN1bW1hcnk6ICd7e25vd3JhcCBiaWRkZXJ9fSBiaWRzIG9uIHRoZSBwcmVtaXVtIGFjY291bnQgbmFtZSB7e25vd3JhcCBuZXduYW1lfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tiaWRkZXJ9fSBiaWRzIHt7YmlkfX0gb24gYW4gYXVjdGlvbiB0byBvd24gdGhlIHByZW1pdW0gYWNjb3VudCBuYW1lIHt7bmV3bmFtZX19LgoKe3tiaWRkZXJ9fSB0cmFuc2ZlcnMge3tiaWR9fSB0byB0aGUgc3lzdGVtIHRvIGNvdmVyIHRoZSBjb3N0IG9mIHRoZSBiaWQsIHdoaWNoIHdpbGwgYmUgcmV0dXJuZWQgdG8ge3tiaWRkZXJ9fSBvbmx5IGlmIHt7YmlkZGVyfX0gaXMgbGF0ZXIgb3V0YmlkIGluIHRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBieSBhbm90aGVyIGFjY291bnQuCgpJZiB0aGUgYXVjdGlvbiBmb3Ige3tuZXduYW1lfX0gY2xvc2VzIHdpdGgge3tiaWRkZXJ9fSByZW1haW5pbmcgYXMgdGhlIGhpZ2hlc3QgYmlkZGVyLCB7e2JpZGRlcn19IHdpbGwgYmUgYXV0aG9yaXplZCB0byBjcmVhdGUgdGhlIGFjY291bnQgd2l0aCBuYW1lIHt7bmV3bmFtZX19LgoKIyMgQmlkIHJlZnVuZCBiZWhhdmlvcgoKSWYge3tiaWRkZXJ9feKAmXMgYmlkIG9uIHt7bmV3bmFtZX19IGlzIGxhdGVyIG91dGJpZCBieSBhbm90aGVyIGFjY291bnQsIHt7YmlkZGVyfX0gd2lsbCBiZSBhYmxlIHRvIGNsYWltIGJhY2sgdGhlIHRyYW5zZmVycmVkIGFtb3VudCBvZiB7e2JpZH19LiBUaGUgc3lzdGVtIHdpbGwgYXR0ZW1wdCB0byBhdXRvbWF0aWNhbGx5IGRvIHRoaXMgb24gYmVoYWxmIG9mIHt7YmlkZGVyfX0sIGJ1dCB0aGUgYXV0b21hdGljIHJlZnVuZCBtYXkgb2NjYXNpb25hbGx5IGZhaWwgd2hpY2ggd2lsbCB0aGVuIHJlcXVpcmUge3tiaWRkZXJ9fSB0byBtYW51YWxseSBjbGFpbSB0aGUgcmVmdW5kIHdpdGggdGhlIGJpZHJlZnVuZCBhY3Rpb24uCgojIyBBdWN0aW9uIGNsb3NlIGNyaXRlcmlhCgpUaGUgc3lzdGVtIHNob3VsZCBhdXRvbWF0aWNhbGx5IGNsb3NlIHRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBpZiBpdCBzYXRpc2ZpZXMgdGhlIGNvbmRpdGlvbiB0aGF0IG92ZXIgYSBwZXJpb2Qgb2YgdHdvIG1pbnV0ZXMgdGhlIGZvbGxvd2luZyB0d28gcHJvcGVydGllcyBjb250aW51b3VzbHkgaG9sZDoKCi0gbm8gb25lIGhhcyBiaWQgb24ge3tuZXduYW1lfX0gd2l0aGluIHRoZSBsYXN0IDI0IGhvdXJzOwotIGFuZCwgdGhlIHZhbHVlIG9mIHRoZSBsYXRlc3QgYmlkIG9uIHt7bmV3bmFtZX19IGlzIGdyZWF0ZXIgdGhhbiB0aGUgdmFsdWUgb2YgdGhlIGJpZHMgb24gZWFjaCBvZiB0aGUgb3RoZXIgb3BlbiBhdWN0aW9ucy4KCkJlIGF3YXJlIHRoYXQgdGhlIGNvbmRpdGlvbiB0byBjbG9zZSB0aGUgYXVjdGlvbiBkZXNjcmliZWQgYWJvdmUgYXJlIHN1ZmZpY2llbnQgYnV0IG5vdCBuZWNlc3NhcnkuIFRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBjYW5ub3QgY2xvc2UgdW5sZXNzIGJvdGggb2YgdGhlIHByb3BlcnRpZXMgYXJlIHNpbXVsdGFuZW91c2x5IHNhdGlzZmllZCwgYnV0IGl0IG1heSBiZSBjbG9zZWQgd2l0aG91dCByZXF1aXJpbmcgdGhlIHByb3BlcnRpZXMgdG8gaG9sZCBmb3IgYSBwZXJpb2Qgb2YgMiBtaW51dGVzLgAASFMvdZM7CWJpZHJlZnVuZPQCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2xhaW0gUmVmdW5kIG9uIE5hbWUgQmlkCnN1bW1hcnk6ICdDbGFpbSByZWZ1bmQgb24ge3tub3dyYXAgbmV3bmFtZX19IGJpZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2JpZGRlcn19IGNsYWltcyByZWZ1bmQgb24ge3tuZXduYW1lfX0gYmlkIGFmdGVyIGJlaW5nIG91dGJpZCBieSBzb21lb25lIGVsc2UuAAAAAEhzvT4GYnV5cmFt+gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNCnN1bW1hcnk6ICd7e25vd3JhcCBwYXllcn19IGJ1eXMgUkFNIG9uIGJlaGFsZiBvZiB7e25vd3JhcCByZWNlaXZlcn19IGJ5IHBheWluZyB7e25vd3JhcCBxdWFudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e3BheWVyfX0gYnV5cyBSQU0gb24gYmVoYWxmIG9mIHt7cmVjZWl2ZXJ9fSBieSBwYXlpbmcge3txdWFudH19LiBUaGlzIHRyYW5zYWN0aW9uIHdpbGwgaW5jdXIgYSAwLjUlIGZlZSBvdXQgb2Yge3txdWFudH19IGFuZCB0aGUgYW1vdW50IG9mIFJBTSBkZWxpdmVyZWQgd2lsbCBkZXBlbmQgb24gbWFya2V0IHJhdGVzLgCwyv5Ic70+C2J1eXJhbWJ5dGVzgQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNCnN1bW1hcnk6ICd7e25vd3JhcCBwYXllcn19IGJ1eXMge3tub3dyYXAgYnl0ZXN9fSBieXRlcyBvZiBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIGFwcHJveGltYXRlbHkge3tieXRlc319IGJ5dGVzIG9mIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyBtYXJrZXQgcmF0ZXMgZm9yIFJBTS4gVGhpcyB0cmFuc2FjdGlvbiB3aWxsIGluY3VyIGEgMC41JSBmZWUgYW5kIHRoZSBjb3N0IHdpbGwgZGVwZW5kIG9uIG1hcmtldCByYXRlcy4AwIoKS3O9PgpidXlyYW1zZWxm2AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNIHNlbGYKc3VtbWFyeTogJ3t7bm93cmFwIGFjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e25vd3JhcCBxdWFudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e2FjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAAAAAHR1vT4GYnV5cmV41wYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGJ1eXMgUkVYIHRva2VucyBpbiBleGNoYW5nZSBmb3Ige3tub3dyYXAgYW1vdW50fX0gYW5kIHRoZWlyIHZvdGUgc3Rha2UgaW5jcmVhc2VzIGJ5IHt7bm93cmFwIGFtb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3thbW91bnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kIGFuZCB1c2VkIHRvIHB1cmNoYXNlIFJFWCB0b2tlbnMgYXQgdGhlIGN1cnJlbnQgbWFya2V0IGV4Y2hhbmdlIHJhdGUuIEluIG9yZGVyIGZvciB0aGUgYWN0aW9uIHRvIHN1Y2NlZWQsIHt7ZnJvbX19IG11c3QgaGF2ZSB2b3RlZCBmb3IgYSBwcm94eSBvciBhdCBsZWFzdCAyMSBibG9jayBwcm9kdWNlcnMuIHt7YW1vdW50fX0gaXMgYWRkZWQgdG8ge3tmcm9tfX3igJlzIHZvdGUgc3Rha2UuCgpBIHNlbGwgb3JkZXIgb2YgdGhlIHB1cmNoYXNlZCBhbW91bnQgY2FuIG9ubHkgYmUgaW5pdGlhdGVkIGFmdGVyIHdhaXRpbmcgZm9yIHRoZSBtYXR1cml0eSBwZXJpb2Qgb2YgNCB0byA1IGRheXMgdG8gcGFzcy4gRXZlbiB0aGVuLCBkZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCB0aGUgaW5pdGlhdGVkIHNlbGwgb3JkZXIgbWF5IG5vdCBiZSBleGVjdXRlZCBpbW1lZGlhdGVseS4AvIkqRYWmQQtjYW5jZWxkZWxheYoDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2FuY2VsIERlbGF5ZWQgVHJhbnNhY3Rpb24Kc3VtbWFyeTogJ3t7bm93cmFwIGNhbmNlbGluZ19hdXRoLmFjdG9yfX0gY2FuY2VscyBhIGRlbGF5ZWQgdHJhbnNhY3Rpb24nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tjYW5jZWxpbmdfYXV0aC5hY3Rvcn19IGNhbmNlbHMgdGhlIGRlbGF5ZWQgdHJhbnNhY3Rpb24gd2l0aCBpZCB7e3RyeF9pZH19LgBA1VdxWtlCCmNmZ3Bvd2VydXAAgNM1XF3pTEQMY2xhaW1yZXdhcmRz5wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBCbG9jayBQcm9kdWNlciBSZXdhcmRzCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNsYWltcyBibG9jayBhbmQgdm90ZSByZXdhcmRzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7e293bmVyfX0gY2xhaW1zIGJsb2NrIGFuZCB2b3RlIHJld2FyZHMgZnJvbSB0aGUgc3lzdGVtLgAAAF1dhWlECGNsb3NlcmV4lAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGVhbnVwIFVudXNlZCBSRVggRGF0YQpzdW1tYXJ5OiAnRGVsZXRlIFJFWCByZWxhdGVkIERCIGVudHJpZXMgYW5kIGZyZWUgYXNzb2NpYXRlZCBSQU0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpEZWxldGUgUkVYIHJlbGF0ZWQgREIgZW50cmllcyBhbmQgZnJlZSBhc3NvY2lhdGVkIFJBTSBmb3Ige3tvd25lcn19LgoKVG8gZnVsbHkgZGVsZXRlIGFsbCBSRVggcmVsYXRlZCBEQiBlbnRyaWVzLCB7e293bmVyfX0gbXVzdCBlbnN1cmUgdGhhdCB0aGVpciBSRVggYmFsYW5jZSBhbmQgUkVYIGZ1bmQgYW1vdW50cyBhcmUgYm90aCB6ZXJvIGFuZCB0aGV5IGhhdmUgbm8gb3V0c3RhbmRpbmcgbG9hbnMucFW6tKsb0UQMY25jbHJleG9yZGVy6wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDYW5jZWwgU2NoZWR1bGVkIFJFWCBTZWxsIE9yZGVyCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNhbmNlbHMgYSBzY2hlZHVsZWQgc2VsbCBvcmRlciBpZiBub3QgeWV0IGZpbGxlZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSBjYW5jZWxzIHRoZWlyIG9wZW4gc2VsbCBvcmRlci4AVDbJRYonRQtjb25zb2xpZGF0ZaYDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ29uc29saWRhdGUgUkVYIE1hdHVyaXR5IEJ1Y2tldHMgSW50byBPbmUKc3VtbWFyeTogJ0NvbnNvbGlkYXRlIFJFWCBtYXR1cml0eSBidWNrZXRzIGludG8gb25lJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKQ29uc29saWRhdGUgUkVYIG1hdHVyaXR5IGJ1Y2tldHMgaW50byBvbmUgYnVja2V0IHRoYXQge3tvd25lcn19IHdpbGwgbm90IGJlIGFibGUgdG8gc2VsbCB1bnRpbCA0IHRvIDUgZGF5cyBsYXRlci4AwDQ06oqWSgpkZWZjcHVsb2Fu3gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBXaXRoZHJhdyBmcm9tIHRoZSBGdW5kIG9mIGEgU3BlY2lmaWMgQ1BVIExvYW4Kc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSB0cmFuc2ZlcnMge3tub3dyYXAgYW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tub3dyYXAgbG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gdHJhbnNmZXJzIHt7YW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGJhY2sgdG8gUkVYIGZ1bmQuAMA0NGY1l0oKZGVmbmV0bG9hbt4DLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogV2l0aGRyYXcgZnJvbSB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gdHJhbnNmZXJzIHt7bm93cmFwIGFtb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bm93cmFwIGxvYW5fbnVtfX0gYmFjayB0byBSRVggZnVuZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e2Ftb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kLgAAPyobpqJKCmRlbGVnYXRlYnfzBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFN0YWtlIFRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUKc3VtbWFyeTogJ1N0YWtlIHRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUgYW5kIG9wdGlvbmFsbHkgdHJhbnNmZXIgb3duZXJzaGlwJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7eyNpZiB0cmFuc2Zlcn19IHt7ZnJvbX19IHN0YWtlcyBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpTdGFrZWQgdG9rZW5zIHdpbGwgYWxzbyBiZSB0cmFuc2ZlcnJlZCB0byB7e3JlY2VpdmVyfX0uIFRoZSBzdW0gb2YgdGhlc2UgdHdvIHF1YW50aXRpZXMgd2lsbCBiZSBkZWR1Y3RlZCBmcm9tIHt7ZnJvbX194oCZcyBsaXF1aWQgYmFsYW5jZSBhbmQgYWRkIHRvIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0uCnt7ZWxzZX19Cnt7ZnJvbX19IHN0YWtlcyB0byBzZWxmIGFuZCBkZWxlZ2F0ZXMgdG8ge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIGFkZCB0byB0aGUgdm90ZSB3ZWlnaHQgb2Yge3tmcm9tfX0uCnt7L2lmfX0AQMvaqKyiSgpkZWxldGVhdXRo9QItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZWxldGUgQWNjb3VudCBQZXJtaXNzaW9uCnN1bW1hcnk6ICdEZWxldGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZWxldGUgdGhlIHt7cGVybWlzc2lvbn19IHBlcm1pc3Npb24gb2Yge3thY2NvdW50fX0uAAAAIDtMq0oHZGVwb3NpdIgELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwb3NpdCBJbnRvIFJFWCBGdW5kCnN1bW1hcnk6ICdBZGQgdG8ge3tub3dyYXAgb3duZXJ9feKAmXMgUkVYIGZ1bmQgYnkgdHJhbnNmZXJyaW5nIHt7bm93cmFwIGFtb3VudH19IGZyb20ge3tub3dyYXAgb3duZXJ9feKAmXMgbGlxdWlkIGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpUcmFuc2ZlciB7e2Ftb3VudH19IGZyb20ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZSB0byB7e293bmVyfX3igJlzIFJFWCBmdW5kLiBBbGwgcHJvY2VlZHMgYW5kIGV4cGVuc2VzIHJlbGF0ZWQgdG8gUkVYIGFyZSBhZGRlZCB0byBvciB0YWtlbiBvdXQgb2YgdGhpcyBmdW5kLgCmoVFXlKZeC2Z1bmRjcHVsb2Fu/AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBvc2l0IGludG8gdGhlIEZ1bmQgb2YgYSBTcGVjaWZpYyBDUFUgTG9hbgpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGZ1bmRzIGEgQ1BVIGxvYW4nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb219fSB0cmFuc2ZlcnMge3twYXltZW50fX0gZnJvbSBSRVggZnVuZCB0byB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGluIG9yZGVyIHRvIGJlIHVzZWQgaW4gbG9hbiByZW5ld2FsIGF0IGV4cGlyeS4ge3tmcm9tfX0gY2FuIHdpdGhkcmF3IHRoZSB0b3RhbCBiYWxhbmNlIG9mIHRoZSBsb2FuIGZ1bmQgYXQgYW55IHRpbWUuAKahMauZpl4LZnVuZG5ldGxvYW78Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcG9zaXQgaW50byB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gZnVuZHMgYSBORVQgbG9hbicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e3BheW1lbnR9fSBmcm9tIFJFWCBmdW5kIHRvIHRoZSBmdW5kIG9mIE5FVCBsb2FuIG51bWJlciB7e2xvYW5fbnVtfX0gaW4gb3JkZXIgdG8gYmUgdXNlZCBpbiBsb2FuIHJlbmV3YWwgYXQgZXhwaXJ5LiB7e2Zyb219fSBjYW4gd2l0aGRyYXcgdGhlIHRvdGFsIGJhbGFuY2Ugb2YgdGhlIGxvYW4gZnVuZCBhdCBhbnkgdGltZS4AAAAAAJDddARpbml04wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBJbml0aWFsaXplIFN5c3RlbSBDb250cmFjdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBzeXN0ZW0gY29udHJhY3QnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCkluaXRpYWxpemUgc3lzdGVtIGNvbnRyYWN0LiBUaGUgY29yZSB0b2tlbiBzeW1ib2wgd2lsbCBiZSBzZXQgdG8ge3tjb3JlfX0uwBpqWZvspIsMbGltaXRhdXRoY2hnAAAAAC1rA6eLCGxpbmthdXRonQUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBMaW5rIEFjdGlvbiB0byBQZXJtaXNzaW9uCnN1bW1hcnk6ICd7e25vd3JhcCBhY2NvdW50fX0gc2V0cyB0aGUgbWluaW11bSByZXF1aXJlZCBwZXJtaXNzaW9uIGZvciB0aGUge3sjaWYgdHlwZX19e3tub3dyYXAgdHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7bm93cmFwIGNvZGV9fSBjb250cmFjdCB0byB7e25vd3JhcCByZXF1aXJlbWVudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YWNjb3VudH19IHNldHMgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbiBmb3IgdGhlIHt7I2lmIHR5cGV9fXt7dHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7Y29kZX19IGNvbnRyYWN0IHRvIHt7cmVxdWlyZW1lbnR9fS4KCnt7I2lmIHR5cGV9fXt7ZWxzZX19QW55IGxpbmtzIGV4cGxpY2l0bHkgYXNzb2NpYXRlZCB0byBzcGVjaWZpYyBhY3Rpb25zIG9mIHt7Y29kZX19IHdpbGwgdGFrZSBwcmVjZWRlbmNlLnt7L2lmfX0AAJDmen0YjQlsb2didXlyYW0AoNg0DUlzGY0MbG9ncmFtY2hhbmdlAACANDdGhRmNCmxvZ3NlbGxyYW0AADCbbht815YLbXZmcnNhdmluZ3OcAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVubG9jayBSRVggVG9rZW5zCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IHVubG9ja3MgUkVYIFRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSB1bmxvY2tzIHt7cmV4fX0gYnkgbW92aW5nIGl0IG91dCBvZiB0aGUgUkVYIHNhdmluZ3MgYnVja2V0LiBUaGUgdW5sb2NrZWQgUkVYIHRva2VucyBjYW5ub3QgYmUgc29sZCB1bnRpbCA0IHRvIDUgZGF5cyBsYXRlci4AMJtuG0zzlgttdnRvc2F2aW5nc7oDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogTG9jayBSRVggVG9rZW5zCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGxvY2tzIFJFWCBUb2tlbnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e293bmVyfX0gbG9ja3Mge3tyZXh9fSBieSBtb3ZpbmcgaXQgaW50byB0aGUgUkVYIHNhdmluZ3MgYnVja2V0LiBUaGUgbG9ja2VkIFJFWCB0b2tlbnMgY2Fubm90IGJlIHNvbGQgZGlyZWN0bHkgYW5kIHdpbGwgaGF2ZSB0byBiZSB1bmxvY2tlZCBleHBsaWNpdGx5IGJlZm9yZSBzZWxsaW5nLgBAnpoiZLiaCm5ld2FjY291bnSABC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IENyZWF0ZSBOZXcgQWNjb3VudApzdW1tYXJ5OiAne3tub3dyYXAgY3JlYXRvcn19IGNyZWF0ZXMgYSBuZXcgYWNjb3VudCB3aXRoIHRoZSBuYW1lIHt7bm93cmFwIG5hbWV9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2NyZWF0b3J9fSBjcmVhdGVzIGEgbmV3IGFjY291bnQgd2l0aCB0aGUgbmFtZSB7e25hbWV9fSBhbmQgdGhlIGZvbGxvd2luZyBwZXJtaXNzaW9uczoKCm93bmVyIHBlcm1pc3Npb24gd2l0aCBhdXRob3JpdHk6Cnt7dG9fanNvbiBvd25lcn19CgphY3RpdmUgcGVybWlzc2lvbiB3aXRoIGF1dGhvcml0eToKe3t0b19qc29uIGFjdGl2ZX19AAAAACIaz6QHb25ibG9jawAAAADg0nvVpAdvbmVycm9yAAAAAKDqqzitB3Bvd2VydXDUAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFBvd2VydXAgcmVzb3VyY2VzCnN1bW1hcnk6ICdVc2VyIG1heSBwb3dlcnVwIHRvIHJlc2VydmUgcmVzb3VyY2VzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpVc2VycyBtYXkgdXNlIHRoZSBwb3dlcnVwIGFjdGlvbiB0byByZXNlcnZlIHJlc291cmNlcy4AkOqq6qs4rQtwb3dlcnVwZXhlYwAAAABgXn2kuQdyYW1idXJuqAMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXJuIFJBTSBmcm9tIEFjY291bnQKc3VtbWFyeTogJ0J1cm4gdW51c2VkIFJBTSBmcm9tIHt7bm93cmFwIG93bmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCkJ1cm4ge3tieXRlc319IGJ5dGVzIG9mIHVudXNlZCBSQU0gZnJvbSBhY2NvdW50IHt7b3duZXJ9fS4KCnt7I2lmIG1lbW99fVRoZXJlIGlzIGEgbWVtbyBhdHRhY2hlZCB0byB0aGUgYnVybiBzdGF0aW5nOgp7e21lbW99fQp7ey9pZn19AK5aeJqbpbkLcmFtdHJhbnNmZXLZAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFRyYW5zZmVyIFJBTSBmcm9tIEFjY291bnQKc3VtbWFyeTogJ1RyYW5zZmVyIHVudXNlZCBSQU0gZnJvbSB7e25vd3JhcCBmcm9tfX0gdG8ge3tub3dyYXAgdG99fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKVHJhbnNmZXIge3tieXRlc319IGJ5dGVzIG9mIHVudXNlZCBSQU0gZnJvbSBhY2NvdW50IHt7ZnJvbX19IHRvIGFjY291bnQge3t0b319LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2ZlciBzdGF0aW5nOgp7e21lbW99fQp7ey9pZn19AAAAAKSpl7oGcmVmdW5khwMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBVbnN0YWtlZCBUb2tlbnMKc3VtbWFyeTogJ1JldHVybiBwcmV2aW91c2x5IHVuc3Rha2VkIHRva2VucyB0byB7e25vd3JhcCBvd25lcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KClJldHVybiBwcmV2aW91c2x5IHVuc3Rha2VkIHRva2VucyB0byB7e293bmVyfX0gYWZ0ZXIgdGhlIHVuc3Rha2luZyBwZXJpb2QgaGFzIGVsYXBzZWQuAK5COtFbmboLcmVncHJvZHVjZXKZBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlZ2lzdGVyIGFzIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICdSZWdpc3RlciB7e25vd3JhcCBwcm9kdWNlcn19IGFjY291bnQgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgpSZWdpc3RlciB7e3Byb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4KClVSTDoge3t1cmx9fQpMb2NhdGlvbiBjb2RlOiB7e2xvY2F0aW9ufX0KQmxvY2sgc2lnbmluZyBrZXk6IHt7cHJvZHVjZXJfa2V5fX0KCiMjIEJsb2NrIFByb2R1Y2VyIEFncmVlbWVudAp7eyRjbGF1c2VzLkJsb2NrUHJvZHVjZXJBZ3JlZW1lbnR9fSCuQjrRW5m6DHJlZ3Byb2R1Y2VyMq0ELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVnaXN0ZXIgYXMgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ1JlZ2lzdGVyIHt7bm93cmFwIHByb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KClJlZ2lzdGVyIHt7cHJvZHVjZXJ9fSBhY2NvdW50IGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLgoKVVJMOiB7e3VybH19CkxvY2F0aW9uIGNvZGU6IHt7bG9jYXRpb259fQpCbG9jayBzaWduaW5nIGF1dGhvcml0eToKe3t0b19qc29uIHByb2R1Y2VyX2F1dGhvcml0eX19CgojIyBCbG9jayBQcm9kdWNlciBBZ3JlZW1lbnQKe3skY2xhdXNlcy5CbG9ja1Byb2R1Y2VyQWdyZWVtZW50fX0AAAC+01uZughyZWdwcm94eaMELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVnaXN0ZXIvdW5yZWdpc3RlciBhcyBhIFByb3h5CnN1bW1hcnk6ICdSZWdpc3Rlci91bnJlZ2lzdGVyIHt7bm93cmFwIHByb3h5fX0gYXMgYSBwcm94eSBhY2NvdW50JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdm90aW5nLnBuZyNkYjI4Y2QzZGI2ZTYyZDQ1MDlhZjM2NDRjZTdkMzc3MzI5NDgyYTE0YmI0YmZhY2EyYWE1ZjE0MDBkOGU4YTg0Ci0tLQoKe3sjaWYgaXNwcm94eX19Cnt7cHJveHl9fSByZWdpc3RlcnMgYXMgYSBwcm94eSB0aGF0IGNhbiB2b3RlIG9uIGJlaGFsZiBvZiBhY2NvdW50cyB0aGF0IGFwcG9pbnQgaXQgYXMgdGhlaXIgcHJveHkuCnt7ZWxzZX19Cnt7cHJveHl9fSB1bnJlZ2lzdGVycyBhcyBhIHByb3h5IHRoYXQgY2FuIHZvdGUgb24gYmVoYWxmIG9mIGFjY291bnRzIHRoYXQgYXBwb2ludCBpdCBhcyB0aGVpciBwcm94eS4Ke3svaWZ9fQAAAEBXlKe6B3JlbnRjcHXcCS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlbnQgQ1BVIEJhbmR3aWR0aCBmb3IgMzAgRGF5cwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IHBheXMge3tub3dyYXAgbG9hbl9wYXltZW50fX0gdG8gcmVudCBDUFUgYmFuZHdpZHRoIGZvciB7e25vd3JhcCByZWNlaXZlcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gcGF5cyB7e2xvYW5fcGF5bWVudH19IHRvIHJlbnQgQ1BVIGJhbmR3aWR0aCBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGZvciBhIHBlcmlvZCBvZiAzMCBkYXlzLgoKe3tsb2FuX3BheW1lbnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLiBUaGUgbWFya2V0IHByaWNlIGRldGVybWluZXMgdGhlIG51bWJlciBvZiB0b2tlbnMgdG8gYmUgc3Rha2VkIHRvIHt7cmVjZWl2ZXJ9feKAmXMgQ1BVIHJlc291cmNlcy4gSW4gYWRkaXRpb24sIHt7ZnJvbX19IHByb3ZpZGVzIHt7bG9hbl9mdW5kfX0sIHdoaWNoIGlzIGFsc28gdGFrZW4gb3V0IG9mIHt7ZnJvbX194oCZcyBSRVggZnVuZCwgdG8gYmUgdXNlZCBmb3IgYXV0b21hdGljIHJlbmV3YWwgb2YgdGhlIGxvYW4uCgpBdCBleHBpcmF0aW9uLCBpZiB0aGUgbG9hbiBoYXMgbGVzcyBmdW5kcyB0aGFuIHt7bG9hbl9wYXltZW50fX0sIGl0IGlzIGNsb3NlZCBhbmQgbGVudCB0b2tlbnMgdGhhdCBoYXZlIGJlZW4gc3Rha2VkIGFyZSB0YWtlbiBvdXQgb2Yge3tyZWNlaXZlcn194oCZcyBDUFUgYmFuZHdpZHRoLiBPdGhlcndpc2UsIGl0IGlzIHJlbmV3ZWQgYXQgdGhlIG1hcmtldCBwcmljZSBhdCB0aGUgdGltZSBvZiByZW5ld2FsLCB0aGF0IGlzLCB0aGUgbnVtYmVyIG9mIHN0YWtlZCB0b2tlbnMgaXMgcmVjYWxjdWxhdGVkIGFuZCB7e3JlY2VpdmVyfX3igJlzIENQVSBiYW5kd2lkdGggaXMgdXBkYXRlZCBhY2NvcmRpbmdseS4ge3tmcm9tfX0gY2FuIGZ1bmQgb3IgZGVmdW5kIGEgbG9hbiBhdCBhbnkgdGltZSBiZWZvcmUgZXhwaXJhdGlvbi4gV2hlbiB0aGUgbG9hbiBpcyBjbG9zZWQsIHt7ZnJvbX19IGlzIHJlZnVuZGVkIGFueSB0b2tlbnMgcmVtYWluaW5nIGluIHRoZSBsb2FuIGZ1bmQuAAAAIKuZp7oHcmVudG5ldOgJLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVudCBORVQgQmFuZHdpZHRoIGZvciAzMCBEYXlzCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gcGF5cyB7e25vd3JhcCBsb2FuX3BheW1lbnR9fSB0byByZW50IE5FVCBiYW5kd2lkdGggZm9yIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb219fSBwYXlzIHt7bG9hbl9wYXltZW50fX0gdG8gcmVudCBORVQgYmFuZHdpZHRoIG9uIGJlaGFsZiBvZiB7e3JlY2VpdmVyfX0gZm9yIGEgcGVyaW9kIG9mIDMwIGRheXMuCgp7e2xvYW5fcGF5bWVudH19IGlzIHRha2VuIG91dCBvZiB7e2Zyb219feKAmXMgUkVYIGZ1bmQuIFRoZSBtYXJrZXQgcHJpY2UgZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIHRva2VucyB0byBiZSBzdGFrZWQgdG8ge3tyZWNlaXZlcn194oCZcyBORVQgcmVzb3VyY2VzIGZvciAzMCBkYXlzLiBJbiBhZGRpdGlvbiwge3tmcm9tfX0gcHJvdmlkZXMge3tsb2FuX2Z1bmR9fSwgd2hpY2ggaXMgYWxzbyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLCB0byBiZSB1c2VkIGZvciBhdXRvbWF0aWMgcmVuZXdhbCBvZiB0aGUgbG9hbi4KCkF0IGV4cGlyYXRpb24sIGlmIHRoZSBsb2FuIGhhcyBsZXNzIGZ1bmRzIHRoYW4ge3tsb2FuX3BheW1lbnR9fSwgaXQgaXMgY2xvc2VkIGFuZCBsZW50IHRva2VucyB0aGF0IGhhdmUgYmVlbiBzdGFrZWQgYXJlIHRha2VuIG91dCBvZiB7e3JlY2VpdmVyfX3igJlzIE5FVCBiYW5kd2lkdGguIE90aGVyd2lzZSwgaXQgaXMgcmVuZXdlZCBhdCB0aGUgbWFya2V0IHByaWNlIGF0IHRoZSB0aW1lIG9mIHJlbmV3YWwsIHRoYXQgaXMsIHRoZSBudW1iZXIgb2Ygc3Rha2VkIHRva2VucyBpcyByZWNhbGN1bGF0ZWQgYW5kIHt7cmVjZWl2ZXJ9feKAmXMgTkVUIGJhbmR3aWR0aCBpcyB1cGRhdGVkIGFjY29yZGluZ2x5LiB7e2Zyb219fSBjYW4gZnVuZCBvciBkZWZ1bmQgYSBsb2FuIGF0IGFueSB0aW1lIGJlZm9yZSBleHBpcmF0aW9uLiBXaGVuIHRoZSBsb2FuIGlzIGNsb3NlZCwge3tmcm9tfX0gaXMgcmVmdW5kZWQgYW55IHRva2VucyByZW1haW5pbmcgaW4gdGhlIGxvYW4gZnVuZC4AAAAAqa66ugdyZXhleGVjogMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBQZXJmb3JtIFJFWCBNYWludGVuYW5jZQpzdW1tYXJ5OiAnUHJvY2VzcyBzZWxsIG9yZGVycyBhbmQgZXhwaXJlZCBsb2FucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClBlcmZvcm1zIFJFWCBtYWludGVuYW5jZSBieSBwcm9jZXNzaW5nIGEgbWF4aW11bSBvZiB7e21heH19IFJFWCBzZWxsIG9yZGVycyBhbmQgZXhwaXJlZCBsb2Fucy4gQW55IGFjY291bnQgY2FuIGV4ZWN1dGUgdGhpcyBhY3Rpb24uAK5COtFbt7wLcm12cHJvZHVjZXKCBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEZvcmNpYmx5IFVucmVnaXN0ZXIgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ3t7bm93cmFwIHByb2R1Y2VyfX0gaXMgdW5yZWdpc3RlcmVkIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHVucmVnaXN0ZXJzIHt7cHJvZHVjZXJ9fSBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4ge3twcm9kdWNlcn19IGFjY291bnQgd2lsbCByZXRhaW4gaXRzIHZvdGVzIGFuZCB0aG9zZSB2b3RlcyBjYW4gY2hhbmdlIGJhc2VkIG9uIHZvdGVyIHN0YWtlIGNoYW5nZXMgb3Igdm90ZXMgcmVtb3ZlZCBmcm9tIHt7cHJvZHVjZXJ9fS4gSG93ZXZlciBuZXcgdm90ZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gdm90ZSBmb3Ige3twcm9kdWNlcn19IHdoaWxlIGl0IHJlbWFpbnMgdW5yZWdpc3RlcmVkLgAAAECaG6PCB3NlbGxyYW3FAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNlbGwgUkFNIEZyb20gQWNjb3VudApzdW1tYXJ5OiAnU2VsbCB1bnVzZWQgUkFNIGZyb20ge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpTZWxsIHt7Ynl0ZXN9fSBieXRlcyBvZiB1bnVzZWQgUkFNIGZyb20gYWNjb3VudCB7e2FjY291bnR9fSBhdCBtYXJrZXQgcHJpY2UuIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG9uIHRoZSBwcm9jZWVkcyB3aGljaCBkZXBlbmQgb24gbWFya2V0IHJhdGVzLgAAAKCrG6PCB3NlbGxyZXipCi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNlbGwgUkVYIFRva2VucyBpbiBFeGNoYW5nZSBmb3IgRU9TCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gc2VsbHMge3tub3dyYXAgcmV4fX0gdG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gaW5pdGlhdGVzIGEgc2VsbCBvcmRlciB0byBzZWxsIHt7cmV4fX0gdG9rZW5zIGF0IHRoZSBtYXJrZXQgZXhjaGFuZ2UgcmF0ZSBkdXJpbmcgdGhlIHRpbWUgYXQgd2hpY2ggdGhlIG9yZGVyIGlzIHVsdGltYXRlbHkgZXhlY3V0ZWQuIElmIHt7ZnJvbX19IGFscmVhZHkgaGFzIGFuIG9wZW4gc2VsbCBvcmRlciBpbiB0aGUgc2VsbCBxdWV1ZSwge3tyZXh9fSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBhbW91bnQgb2YgdGhlIHNlbGwgb3JkZXIgd2l0aG91dCBjaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBzZWxsIG9yZGVyIHdpdGhpbiB0aGUgcXVldWUuIE9uY2UgdGhlIHNlbGwgb3JkZXIgaXMgZXhlY3V0ZWQsIHByb2NlZWRzIGFyZSBhZGRlZCB0byB7e2Zyb219feKAmXMgUkVYIGZ1bmQsIHRoZSB2YWx1ZSBvZiBzb2xkIFJFWCB0b2tlbnMgaXMgZGVkdWN0ZWQgZnJvbSB7e2Zyb219feKAmXMgdm90ZSBzdGFrZSwgYW5kIHZvdGVzIGFyZSB1cGRhdGVkIGFjY29yZGluZ2x5LgoKRGVwZW5kaW5nIG9uIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgaXQgbWF5IG5vdCBiZSBwb3NzaWJsZSB0byBmaWxsIHRoZSBlbnRpcmUgc2VsbCBvcmRlciBpbW1lZGlhdGVseS4gSW4gc3VjaCBhIGNhc2UsIHRoZSBzZWxsIG9yZGVyIGlzIGFkZGVkIHRvIHRoZSBiYWNrIG9mIGEgc2VsbCBxdWV1ZS4gQSBzZWxsIG9yZGVyIGF0IHRoZSBmcm9udCBvZiB0aGUgc2VsbCBxdWV1ZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgZXhlY3V0ZWQgd2hlbiB0aGUgbWFya2V0IGNvbmRpdGlvbnMgYWxsb3cgZm9yIHRoZSBlbnRpcmUgb3JkZXIgdG8gYmUgZmlsbGVkLiBSZWdhcmRsZXNzIG9mIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgdGhlIHN5c3RlbSBpcyBkZXNpZ25lZCB0byBleGVjdXRlIHRoaXMgc2VsbCBvcmRlciB3aXRoaW4gMzAgZGF5cy4ge3tmcm9tfX0gY2FuIGNhbmNlbCB0aGUgb3JkZXIgYXQgYW55IHRpbWUgYmVmb3JlIGl0IGlzIGZpbGxlZCB1c2luZyB0aGUgY25jbHJleG9yZGVyIGFjdGlvbi4AAAAAuGOywgZzZXRhYmnzAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcGxveSBDb250cmFjdCBBQkkKc3VtbWFyeTogJ0RlcGxveSBjb250cmFjdCBBQkkgb24gYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKRGVwbG95IHRoZSBBQkkgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRyYWN0IG9uIGFjY291bnQge3thY2NvdW50fX0uAICuKCNkssIKc2V0YWNjdGNwdZ4GLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRXhwbGljaXRseSBNYW5hZ2UgdGhlIENQVSBRdW90YSBvZiBBY2NvdW50CnN1bW1hcnk6ICdFeHBsaWNpdGx5IG1hbmFnZSB0aGUgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3sjaWZfaGFzX3ZhbHVlIGNwdV93ZWlnaHR9fQpFeHBsaWNpdGx5IG1hbmFnZSB0aGUgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19IGJ5IHBpbm5pbmcgaXQgdG8gYSB3ZWlnaHQgb2Yge3tjcHVfd2VpZ2h0fX0uCgp7e2FjY291bnR9fSBjYW4gc3Rha2UgYW5kIHVuc3Rha2UsIGhvd2V2ZXIsIGl0IHdpbGwgbm90IGNoYW5nZSB0aGVpciBDUFUgYmFuZHdpZHRoIHF1b3RhIGFzIGxvbmcgYXMgaXQgcmVtYWlucyBwaW5uZWQuCnt7ZWxzZX19ClVucGluIHRoZSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0uIFRoZSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIHt7YWNjb3VudH19IHdpbGwgYmUgZHJpdmVuIGJ5IHRoZSBjdXJyZW50IHRva2VucyBzdGFrZWQgZm9yIENQVSBiYW5kd2lkdGggYnkge3thY2NvdW50fX0uCnt7L2lmX2hhc192YWx1ZX19AEBWMyNkssIKc2V0YWNjdG5ldKIGLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRXhwbGljaXRseSBNYW5hZ2UgdGhlIE5FVCBRdW90YSBvZiBBY2NvdW50CnN1bW1hcnk6ICdFeHBsaWNpdGx5IG1hbmFnZSB0aGUgTkVUIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3sjaWZfaGFzX3ZhbHVlIG5ldF93ZWlnaHR9fQpFeHBsaWNpdGx5IG1hbmFnZSB0aGUgbmV0d29yayBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fSBieSBwaW5uaW5nIGl0IHRvIGEgd2VpZ2h0IG9mIHt7bmV0X3dlaWdodH19LgoKe3thY2NvdW50fX0gY2FuIHN0YWtlIGFuZCB1bnN0YWtlLCBob3dldmVyLCBpdCB3aWxsIG5vdCBjaGFuZ2UgdGhlaXIgTkVUIGJhbmR3aWR0aCBxdW90YSBhcyBsb25nIGFzIGl0IHJlbWFpbnMgcGlubmVkLgp7e2Vsc2V9fQpVbnBpbiB0aGUgTkVUIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19LiBUaGUgTkVUIGJhbmR3aWR0aCBxdW90YSBvZiB7e2FjY291bnR9fSB3aWxsIGJlIGRyaXZlbiBieSB0aGUgY3VycmVudCB0b2tlbnMgc3Rha2VkIGZvciBORVQgYmFuZHdpZHRoIGJ5IHt7YWNjb3VudH19Lgp7ey9pZl9oYXNfdmFsdWV9fQCANDcjZLLCCnNldGFjY3RyYW3QBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEV4cGxpY2l0bHkgTWFuYWdlIHRoZSBSQU0gUXVvdGEgb2YgQWNjb3VudApzdW1tYXJ5OiAnRXhwbGljaXRseSBtYW5hZ2UgdGhlIFJBTSBxdW90YSBvZiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3sjaWZfaGFzX3ZhbHVlIHJhbV9ieXRlc319CkV4cGxpY2l0bHkgbWFuYWdlIHRoZSBSQU0gcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fSBieSBwaW5uaW5nIGl0IHRvIHt7cmFtX2J5dGVzfX0gYnl0ZXMuCgp7e2FjY291bnR9fSBjYW4gYnV5IGFuZCBzZWxsIFJBTSwgaG93ZXZlciwgaXQgd2lsbCBub3QgY2hhbmdlIHRoZWlyIFJBTSBxdW90YSBhcyBsb25nIGFzIGl0IHJlbWFpbnMgcGlubmVkLgp7e2Vsc2V9fQpVbnBpbiB0aGUgUkFNIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0uIFRoZSBSQU0gcXVvdGEgb2Yge3thY2NvdW50fX0gd2lsbCBiZSBkcml2ZW4gYnkgdGhlIGN1cnJlbnQgUkFNIGhvbGRpbmdzIG9mIHt7YWNjb3VudH19Lgp7ey9pZl9oYXNfdmFsdWV9fQAAzk66aLLCCnNldGFsaW1pdHP2Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEFkanVzdCBSZXNvdXJjZSBMaW1pdHMgb2YgQWNjb3VudApzdW1tYXJ5OiAnQWRqdXN0IHJlc291cmNlIGxpbWl0cyBvZiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSB1cGRhdGVzIHt7YWNjb3VudH194oCZcyByZXNvdXJjZSBsaW1pdHMgdG8gaGF2ZSBhIFJBTSBxdW90YSBvZiB7e3JhbV9ieXRlc319IGJ5dGVzLCBhIE5FVCBiYW5kd2lkdGggcXVvdGEgb2Yge3tuZXRfd2VpZ2h0fX0gYW5kIGEgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiB7e2NwdV93ZWlnaHR9fS4AAABAJYqywgdzZXRjb2Rl5gItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBsb3kgQ29udHJhY3QgQ29kZQpzdW1tYXJ5OiAnRGVwbG95IGNvbnRyYWN0IGNvZGUgb24gYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKRGVwbG95IGNvbXBpbGVkIGNvbnRyYWN0IGNvZGUgdG8gdGhlIGFjY291bnQge3thY2NvdW50fX0uMKnLJq7pssIMc2V0aW5mbGF0aW9u6wQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgSW5mbGF0aW9uIFBhcmFtZXRlcnMKc3VtbWFyeTogJ1NldCBpbmZsYXRpb24gcGFyYW1ldGVycycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHRoZSBpbmZsYXRpb24gcGFyYW1ldGVycyBhcyBmb2xsb3dzOgoKKiBBbm51YWwgaW5mbGF0aW9uIHJhdGUgKGluIHVuaXRzIG9mIGEgaHVuZHJlZHRoIG9mIGEgcGVyY2VudCk6IHt7YW5udWFsX3JhdGV9fQoqIEZyYWN0aW9uIG9mIGluZmxhdGlvbiB1c2VkIHRvIHJld2FyZCBibG9jayBwcm9kdWNlcnM6IDEwMDAwL3t7aW5mbGF0aW9uX3BheV9mYWN0b3J9fQoqIEZyYWN0aW9uIG9mIGJsb2NrIHByb2R1Y2VyIHJld2FyZHMgdG8gYmUgZGlzdHJpYnV0ZWQgcHJvcG9ydGlvbmFsIHRvIGJsb2NrcyBwcm9kdWNlZDogMTAwMDAve3t2b3RlcGF5X2ZhY3Rvcn19AADA0lxTs8IJc2V0cGFyYW1z0AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgU3lzdGVtIFBhcmFtZXRlcnMKc3VtbWFyeTogJ1NldCBTeXN0ZW0gUGFyYW1ldGVycycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHN5c3RlbSBwYXJhbWV0ZXJzIHRvOgp7e3RvX2pzb24gcGFyYW1zfX0AAABgu1uzwgdzZXRwcml2jQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBNYWtlIGFuIEFjY291bnQgUHJpdmlsZWdlZCBvciBVbnByaXZpbGVnZWQKc3VtbWFyeTogJ3t7I2lmIGlzX3ByaXZ9fU1ha2Uge3tub3dyYXAgYWNjb3VudH19IHByaXZpbGVnZWR7e2Vsc2V9fVJlbW92ZSBwcml2aWxlZ2VkIHN0YXR1cyBvZiB7e25vd3JhcCBhY2NvdW50fX17ey9pZn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZiBpc19wcml2fX0Ke3skYWN0aW9uLmFjY291bnR9fSBtYWtlcyB7e2FjY291bnR9fSBwcml2aWxlZ2VkLgp7e2Vsc2V9fQp7eyRhY3Rpb24uYWNjb3VudH19IHJlbW92ZXMgcHJpdmlsZWdlZCBzdGF0dXMgb2Yge3thY2NvdW50fX0uCnt7L2lmfX0AAAAASHOzwgZzZXRyYW3mAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IENvbmZpZ3VyZSB0aGUgQXZhaWxhYmxlIFJBTQpzdW1tYXJ5OiAnQ29uZmlndXJlIHRoZSBhdmFpbGFibGUgUkFNJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IGNvbmZpZ3VyZXMgdGhlIGF2YWlsYWJsZSBSQU0gdG8ge3ttYXhfcmFtX3NpemV9fSBieXRlcy4AgMrmSnOzwgpzZXRyYW1yYXRlhQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgdGhlIFJhdGUgb2YgSW5jcmVhc2Ugb2YgUkFNCnN1bW1hcnk6ICdTZXQgdGhlIHJhdGUgb2YgaW5jcmVhc2Ugb2YgUkFNIHBlciBibG9jaycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHRoZSByYXRlIG9mIGluY3JlYXNlIG9mIFJBTSB0byB7e2J5dGVzX3Blcl9ibG9ja319IGJ5dGVzL2Jsb2NrLgAAAAB0dbPCBnNldHJleLcDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQWRqdXN0IFJFWCBQb29sIFZpcnR1YWwgQmFsYW5jZQpzdW1tYXJ5OiAnQWRqdXN0IFJFWCBQb29sIFZpcnR1YWwgQmFsYW5jZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhZGp1c3RzIFJFWCBsb2FuIHJhdGUgYnkgc2V0dGluZyBSRVggcG9vbCB2aXJ0dWFsIGJhbGFuY2UgdG8ge3tiYWxhbmNlfX0uIE5vIHRva2VuIHRyYW5zZmVyIG9yIGlzc3VlIGlzIGV4ZWN1dGVkIGluIHRoaXMgYWN0aW9uLsCPyoapqNLUDHVuZGVsZWdhdGVid6EHLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVW5zdGFrZSBUb2tlbnMgZm9yIE5FVCBhbmQvb3IgQ1BVCnN1bW1hcnk6ICdVbnN0YWtlIHRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUgZnJvbSB7e25vd3JhcCByZWNlaXZlcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e2Zyb219fSB1bnN0YWtlcyBmcm9tIHt7cmVjZWl2ZXJ9fSB7e3Vuc3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7dW5zdGFrZV9jcHVfcXVhbnRpdHl9fSBmb3IgQ1BVIGJhbmR3aWR0aC4KClRoZSBzdW0gb2YgdGhlc2UgdHdvIHF1YW50aXRpZXMgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIHZvdGUgd2VpZ2h0IG9mIHt7cmVjZWl2ZXJ9fSBhbmQgd2lsbCBiZSBtYWRlIGF2YWlsYWJsZSB0byB7e2Zyb219fSBhZnRlciBhbiB1bmludGVycnVwdGVkIDMgZGF5IHBlcmlvZCB3aXRob3V0IGZ1cnRoZXIgdW5zdGFraW5nIGJ5IHt7ZnJvbX19LiBBZnRlciB0aGUgdW5pbnRlcnJ1cHRlZCAzIGRheSBwZXJpb2QgcGFzc2VzLCB0aGUgc3lzdGVtIHdpbGwgYXR0ZW1wdCB0byBhdXRvbWF0aWNhbGx5IHJldHVybiB0aGUgZnVuZHMgdG8ge3tmcm9tfX3igJlzIHJlZ3VsYXIgdG9rZW4gYmFsYW5jZS4gSG93ZXZlciwgdGhpcyBhdXRvbWF0aWMgcmVmdW5kIG1heSBvY2Nhc2lvbmFsbHkgZmFpbCB3aGljaCB3aWxsIHRoZW4gcmVxdWlyZSB7e2Zyb219fSB0byBtYW51YWxseSBjbGFpbSB0aGUgZnVuZHMgd2l0aCB0aGUgcmVmdW5kIGFjdGlvbi4AQMvawOni1Ap1bmxpbmthdXRokQUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBVbmxpbmsgQWN0aW9uIGZyb20gUGVybWlzc2lvbgpzdW1tYXJ5OiAne3tub3dyYXAgYWNjb3VudH19IHVuc2V0cyB0aGUgbWluaW11bSByZXF1aXJlZCBwZXJtaXNzaW9uIGZvciB0aGUge3sjaWYgdHlwZX19e3tub3dyYXAgdHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7bm93cmFwIGNvZGV9fSBjb250cmFjdCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2FjY291bnR9fSByZW1vdmVzIHRoZSBhc3NvY2lhdGlvbiBiZXR3ZWVuIHRoZSB7eyNpZiB0eXBlfX17e3R5cGV9fSBhY3Rpb24gb2YgdGhle3svaWZ9fSB7e2NvZGV9fSBjb250cmFjdCBhbmQgaXRzIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbi4KCnt7I2lmIHR5cGV9fXt7ZWxzZX19VGhpcyB3aWxsIG5vdCByZW1vdmUgYW55IGxpbmtzIGV4cGxpY2l0bHkgYXNzb2NpYXRlZCB0byBzcGVjaWZpYyBhY3Rpb25zIG9mIHt7Y29kZX19Lnt7L2lmfX0AAEj0Vqbu1Al1bnJlZ3Byb2TlBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVucmVnaXN0ZXIgYXMgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ3t7bm93cmFwIHByb2R1Y2VyfX0gdW5yZWdpc3RlcnMgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgp7e3Byb2R1Y2VyfX0gdW5yZWdpc3RlcnMgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUuIHt7cHJvZHVjZXJ9fSBhY2NvdW50IHdpbGwgcmV0YWluIGl0cyB2b3RlcyBhbmQgdGhvc2Ugdm90ZXMgY2FuIGNoYW5nZSBiYXNlZCBvbiB2b3RlciBzdGFrZSBjaGFuZ2VzIG9yIHZvdGVzIHJlbW92ZWQgZnJvbSB7e3Byb2R1Y2VyfX0uIEhvd2V2ZXIgbmV3IHZvdGVycyB3aWxsIG5vdCBiZSBhYmxlIHRvIHZvdGUgZm9yIHt7cHJvZHVjZXJ9fSB3aGlsZSBpdCByZW1haW5zIHVucmVnaXN0ZXJlZC7Q1aVZQZPx1Ax1bnN0YWtldG9yZXjjBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJ1eSBSRVggVG9rZW5zIFVzaW5nIFN0YWtlZCBUb2tlbnMKc3VtbWFyeTogJ3t7bm93cmFwIG93bmVyfX0gYnV5cyBSRVggdG9rZW5zIGluIGV4Y2hhbmdlIGZvciB0b2tlbnMgY3VycmVudGx5IHN0YWtlZCB0byBORVQgYW5kL29yIENQVScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbV9uZXR9fSBhbmQge3tmcm9tX2NwdX19IGFyZSB3aXRoZHJhd24gZnJvbSB7e3JlY2VpdmVyfX3igJlzIE5FVCBhbmQgQ1BVIGJhbmR3aWR0aHMgcmVzcGVjdGl2ZWx5LiBUaGVzZSBmdW5kcyBhcmUgdXNlZCB0byBwdXJjaGFzZSBSRVggdG9rZW5zIGF0IHRoZSBjdXJyZW50IG1hcmtldCBleGNoYW5nZSByYXRlLiBJbiBvcmRlciBmb3IgdGhlIGFjdGlvbiB0byBzdWNjZWVkLCB7e293bmVyfX0gbXVzdCBoYXZlIHZvdGVkIGZvciBhIHByb3h5IG9yIGF0IGxlYXN0IDIxIGJsb2NrIHByb2R1Y2Vycy4KCkEgc2VsbCBvcmRlciBvZiB0aGUgcHVyY2hhc2VkIGFtb3VudCBjYW4gb25seSBiZSBpbml0aWF0ZWQgYWZ0ZXIgd2FpdGluZyBmb3IgdGhlIG1hdHVyaXR5IHBlcmlvZCBvZiA0IHRvIDUgZGF5cyB0byBwYXNzLiBFdmVuIHRoZW4sIGRlcGVuZGluZyBvbiB0aGUgbWFya2V0IGNvbmRpdGlvbnMsIHRoZSBpbml0aWF0ZWQgc2VsbCBvcmRlciBtYXkgbm90IGJlIGV4ZWN1dGVkIGltbWVkaWF0ZWx5LgBAy9qobFLVCnVwZGF0ZWF1dGjtAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IE1vZGlmeSBBY2NvdW50IFBlcm1pc3Npb24Kc3VtbWFyeTogJ0FkZCBvciB1cGRhdGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpNb2RpZnksIGFuZCBjcmVhdGUgaWYgbmVjZXNzYXJ5LCB0aGUge3twZXJtaXNzaW9ufX0gcGVybWlzc2lvbiBvZiB7e2FjY291bnR9fSB0byBoYXZlIGEgcGFyZW50IHBlcm1pc3Npb24gb2Yge3twYXJlbnR9fSBhbmQgdGhlIGZvbGxvd2luZyBhdXRob3JpdHk6Cnt7dG9fanNvbiBhdXRofX0AAOjqqmxS1Ql1cGRhdGVyZXiBAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVwZGF0ZSBSRVggT3duZXIgVm90ZSBXZWlnaHQKc3VtbWFyeTogJ1VwZGF0ZSB2b3RlIHdlaWdodCB0byBjdXJyZW50IHZhbHVlIG9mIGhlbGQgUkVYIHRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClVwZGF0ZSB2b3RlIHdlaWdodCBvZiB7e293bmVyfX0gYWNjb3VudCB0byBjdXJyZW50IHZhbHVlIG9mIGhlbGQgUkVYIHRva2Vucy4wqcNuq5tT1Qx1cGR0cmV2aXNpb26CAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVwZGF0ZSBTeXN0ZW0gQ29udHJhY3QgUmV2aXNpb24gTnVtYmVyCnN1bW1hcnk6ICdVcGRhdGUgc3lzdGVtIGNvbnRyYWN0IHJldmlzaW9uIG51bWJlcicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhZHZhbmNlcyB0aGUgc3lzdGVtIGNvbnRyYWN0IHJldmlzaW9uIG51bWJlciB0byB7e3JldmlzaW9ufX0ucBXSid6qMt0Mdm90ZXByb2R1Y2VyrQYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBWb3RlIGZvciBCbG9jayBQcm9kdWNlcnMKc3VtbWFyeTogJ3t7bm93cmFwIHZvdGVyfX0gdm90ZXMgZm9yIHt7I2lmIHByb3h5fX10aGUgcHJveHkge3tub3dyYXAgcHJveHl9fXt7ZWxzZX19dXAgdG8gMzAgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlc3t7L2lmfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgp7eyNpZiBwcm94eX19Cnt7dm90ZXJ9fSB2b3RlcyBmb3IgdGhlIHByb3h5IHt7cHJveHl9fS4KQXQgdGhlIHRpbWUgb2Ygdm90aW5nIHRoZSBmdWxsIHdlaWdodCBvZiB2b3RlcuKAmXMgc3Rha2VkIChDUFUgKyBORVQpIHRva2VucyB3aWxsIGJlIGNhc3QgdG93YXJkcyBlYWNoIG9mIHRoZSBwcm9kdWNlcnMgdm90ZWQgYnkge3twcm94eX19Lgp7e2Vsc2V9fQp7e3ZvdGVyfX0gdm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlczoKCnt7I2VhY2ggcHJvZHVjZXJzfX0KICArIHt7dGhpc319Cnt7L2VhY2h9fQoKQXQgdGhlIHRpbWUgb2Ygdm90aW5nIHRoZSBmdWxsIHdlaWdodCBvZiB2b3RlcuKAmXMgc3Rha2VkIChDUFUgKyBORVQpIHRva2VucyB3aWxsIGJlIGNhc3QgdG93YXJkcyBlYWNoIG9mIHRoZSBhYm92ZSBwcm9kdWNlcnMuCnt7L2lmfX0AgMomVa0y3Qp2b3RldXBkYXRlAAAAAIAtJLHhB3dhc21jZmcAAAAA3NzUsuMId2l0aGRyYXfJAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFdpdGhkcmF3IGZyb20gUkVYIEZ1bmQKc3VtbWFyeTogJ1dpdGhkcmF3IHt7bm93cmFwIGFtb3VudH19IGZyb20ge3tub3dyYXAgb3duZXJ9feKAmXMgUkVYIGZ1bmQgYnkgdHJhbnNmZXJyaW5nIHRvIHt7b3duZXJ9feKAmXMgbGlxdWlkIGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpXaXRoZHJhd3Mge3thbW91bnR9fSBmcm9tIHt7b3duZXJ9feKAmXMgUkVYIGZ1bmQgYW5kIHRyYW5zZmVyIHRoZW0gdG8ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZS4aAAAAoGHT3DEDaTY0AAAIYWJpX2hhc2gAAE5TL3WTOwNpNjQAAApiaWRfcmVmdW5kAACgazqIaDwDaTY0AAARYmxvY2tfaW5mb19yZWNvcmQAAABgGhp1RQNpNjQAAAhyZXhfbG9hbgAAACBNc6JKA2k2NAAAE2RlbGVnYXRlZF9iYW5kd2lkdGgAAAAARHNoZANpNjQAABJlb3Npb19nbG9iYWxfc3RhdGUAAABARHNoZANpNjQAABNlb3Npb19nbG9iYWxfc3RhdGUyAAAAYERzaGQDaTY0AAATZW9zaW9fZ2xvYmFsX3N0YXRlMwAAAIBEc2hkA2k2NAAAE2Vvc2lvX2dsb2JhbF9zdGF0ZTQAAAA4uaOkmQNpNjQAAAhuYW1lX2JpZAAAAGAaGrOaA2k2NAAACHJleF9sb2FuAK5Kl4KqOa0DaTY0AAANcG93ZXJ1cF9vcmRlcgBUNhmDqjmtA2k2NAAADXBvd2VydXBfc3RhdGUAAMBXIZ3orQNpNjQAAA1wcm9kdWNlcl9pbmZvAIDAVyGd6K0DaTY0AAAOcHJvZHVjZXJfaW5mbzIAAMgKXiOluQNpNjQAAA5leGNoYW5nZV9zdGF0ZQAAAACnqZe6A2k2NAAADnJlZnVuZF9yZXF1ZXN0AADOCiJ9sroDaTY0AAAScmV4X3JldHVybl9idWNrZXRzAAAAAERzuroDaTY0AAALcmV4X2JhbGFuY2UAAAAgTb26ugNpNjQAAAhyZXhfZnVuZAAAACBSWru6A2k2NAAACHJleF9wb29sAAAASittu7oDaTY0AAAJcmV4X29yZGVyAECktGZ1u7oDaTY0AAAPcmV4X3JldHVybl9wb29sAAAAAKt7FdYDaTY0AAAOdXNlcl9yZXNvdXJjZXMAAAAA4Ksy3QNpNjQAAAp2b3Rlcl9pbmZvwBpqWZvspIsDaTY0AAARbGltaXRfYXV0aF9jaGFuZ2UCDVVzZXJBZ3JlZW1lbnTsfyMgRU9TIFVzZXIgQWdyZWVtZW50CgojIyBEZWZpbml0aW9ucwoKIEFsbCBjYXBpdGFsaXplZCwgaXRhbGljaXplZCwgb3IgaW5saW5lIGNvZGUgdGVybXMgaW4gKlRoZSBFT1MgVXNlciBBZ3JlZW1lbnQqIHdpbGwgYmUgZ2l2ZW4gdGhlIHNhbWUgZWZmZWN0IGFuZCBtZWFuaW5nIGFzIGluICpEZWZpbml0aW9ucyouCgoqIEVPUyBVc2VyIEFncmVlbWVudDogVGhpcyBkb2N1bWVudCAoKkVVQSopCgoqIENoYWluIElEOiBgY2hhaW5faWRg4oCKLeKAimFjYTM3NmYyMDZiOGZjMjVhNmVkNDRkYmRjNjY1NDdjMzZjNmMzM2UzYTExOWZmYmVhZWY5NDM2NDJmMGU5MDYKCiogVXNlcjogQW55IHBlcnNvbiBvciBvcmdhbml6YXRpb24gb2YgcGVyc29ucyB3aG8gbWFpbnRhaW4ocykgZGlyZWN0IG9yIGluZGlyZWN0IG93bmVyc2hpcCBvZiBhbiBFT1MgYWNjb3VudCwgb3IgRU9TLWJhc2VkIHByb3BlcnR5IGNvbm5lY3RlZCB0byBhbiBFT1MgYWNjb3VudC4KCiogT3duZXJzaGlwOiBEaXJlY3Qgb3IgaW5kaXJlY3QgYWNjZXNzIHRvIGFuIEVPUyBhY2NvdW50IHRocm91Z2ggb25lIG9yIG1vcmUgdmFsaWQgcGVybWlzc2lvbnMgY2hlY2tzLiBPd25lcnNoaXAgbWF5IGJlIHBhcnRpYWxseSBzaGFyZWQgYmV0d2VlbiBVc2VycyB0aHJvdWdoIHRoZSB1c2Ugb2YgbXVsdGktc2lnbmF0dXJlIHBlcm1pc3Npb25zLgoKKiBCbG9jayBQcm9kdWNlcjogVXNlcnMgd2hvIGhhdmUgY2FsbGVkIGByZWdwcm9kdWNlcmAgYW5kIHJlY2VpdmUgcmV3YXJkcyBmcm9tIGVvc2lvLnZwYXkuCgoqIGBlb3Npby5wcm9kc2A6IEFuIEVPUyBhY2NvdW50IHdpdGggYSBkeW5hbWljIHBlcm1pc3Npb25zIHN0cnVjdHVyZSB0aGF0IGNhbiBhc3N1bWUgdGhlIHByaXZpbGVnZXMgb2YgdGhlIGBlb3Npb2AgYWNjb3VudCB3aGVuIDE1LzIxIEJsb2NrIFByb2R1Y2VycyBhZ3JlZSB0byBkbyBzby4KCiogTmV0d29yayBGdW5kczogVG9rZW5zIGNvbnRhaW5lZCB3aXRoaW4gdGhlIGZvbGxvd2luZyBhY2NvdW50czogYGVvc2lvLm5hbWVzYCwgYGVvc2lvLnJhbWZlZWAsIGBlb3Npby5zYXZpbmdgLgoKKiBHb3Zlcm5pbmcgRG9jdW1lbnRzOiAqcmVncHJvZHVjZXIqIGlzIGNvbnNpZGVyZWQgYSBnb3Zlcm5pbmcgZG9jdW1lbnQuCgoqIE9uLUNoYWluOiBBbnkgdHJhbnNhY3Rpb24sIHNtYXJ0IGNvbnRyYWN0LCBvciBSaWNhcmRpYW4gY29udHJhY3Qgd2hpY2ggaXMgbG9jYXRlZCB3aXRoaW4gYSBibG9jayB0aGF0IGlzIGlycmV2ZXJzaWJsZSBhbmQgYXBwZW5kZWQgdG8gdGhlIEVPUyBibG9ja2NoYWluIGBjaGFpbl9pZGAuCgoqIEVPUy1iYXNlZCBQcm9wZXJ0eTogQW55dGhpbmcgdGhhdCByZXF1aXJlcyBhIHZhbGlkIHBlcm1pc3Npb24gaW4gb3JkZXIgdG8gZGlyZWN0bHkgbWFuaXB1bGF0ZSwgYWx0ZXIsIHRyYW5zZmVyLCBpbmZsdWVuY2UsIG9yIG90aGVyd2lzZSBlZmZlY3Qgb24gdGhlIEVPUyBCbG9ja2NoYWluCgoqIENhbGw6IFRvIHN1Ym1pdCBhbiBhY3Rpb24gdG8gdGhlIEVPUyBCbG9ja2NoYWluIGBjaGFpbl9pZGAuCgoqIEF1dGhvcml6YXRpb25zICYgUGVybWlzc2lvbnM6IFBlcm1pc3Npb25zIGFyZSBhcmJpdHJhcnkgbmFtZXMgdXNlZCB0byBkZWZpbmUgdGhlIHJlcXVpcmVtZW50cyBmb3IgYSB0cmFuc2FjdGlvbiBzZW50IG9uIGJlaGFsZiBvZiB0aGF0IHBlcm1pc3Npb24uIFBlcm1pc3Npb25zIGNhbiBiZSBhc3NpZ25lZCBmb3IgYXV0aG9yaXR5IG92ZXIgc3BlY2lmaWMgY29udHJhY3QgYWN0aW9ucy4KCiogUmljYXJkaWFuIENvbnRyYWN0OiBBIGNvbnRyYWN0IHRoYXQgcGxhY2VzIHRoZSBkZWZpbmluZyBlbGVtZW50cyBvZiBhIGxlZ2FsIGFncmVlbWVudCBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSBleHByZXNzZWQgYW5kIGV4ZWN1dGVkIGluIHNvZnR3YXJlLgoKIyMgQXJ0aWNsZSBJIC3igIogVXNlciBBY2tub3dsZWRnZW1lbnQgb2YgUmlza3MKSWYgVXNlciBsb3NlcyBhY2Nlc3MgdG8gdGhlaXIgRU9TIGFjY291bnQgb24gYGNoYWluX2lkYCBhbmQgaGFzIG5vdCB0YWtlbiBhcHByb3ByaWF0ZSBtZWFzdXJlcyB0byBzZWN1cmUgYWNjZXNzIHRvIHRoZWlyIEVPUyBhY2NvdW50IGJ5IG90aGVyIG1lYW5zLCB0aGUgVXNlciBhY2tub3dsZWRnZXMgYW5kIGFncmVlcyB0aGF0IHRoYXQgRU9TIGFjY291bnQgd2lsbCBiZWNvbWUgaW5hY2Nlc3NpYmxlLiBVc2VycyBhY2tub3dsZWRnZSB0aGF0IHRoZSBVc2VyIGhhcyBhbiBhZGVxdWF0ZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSByaXNrcywgdXNhZ2UgYW5kIGludHJpY2FjaWVzIG9mIGNyeXB0b2dyYXBoaWMgdG9rZW5zIGFuZCBibG9ja2NoYWluLWJhc2VkIHNvZnR3YXJlLiBUaGUgVXNlciBhY2tub3dsZWRnZXMgYW5kIGFncmVlcyB0aGF0IHRoZSBVc2VyIGlzIHVzaW5nIHRoZSBFT1MgYmxvY2tjaGFpbiBhdCB0aGVpciBzb2xlIHJpc2suCgojIyBBcnRpY2xlIElJ4oCKLeKAilNwZWNpYWwgVXNlciBUeXBlcwpVc2VycyB3aG8gY2FsbCBgcmVncHJvZHVjZXJgIGFncmVlIHRvLCBhbmQgYXJlIGJvdW5kIGJ5LCB0aGUgKnJlZ3Byb2R1Y2VyKiBSaWNhcmRpYW4gQ29udHJhY3QuCgojIyBBcnRpY2xlIElJSeKAii3igIpDb25zZW50IG9mIHRoZSBFVUEKVGhlIG5hdHVyZSBvZiB0aGUgKkVPUyBVc2VyIEFncmVlbWVudCogaXMgc3VjaCB0aGF0IGl0IHNlcnZlcyBhcyBhIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50IEVPUyBNYWlubmV0IGdvdmVybmFuY2UgZnVuY3Rpb25zIHRoYXQgYXJlIGluIHBsYWNlLiBUaGVzZSBmdW5jdGlvbnMsIGVuZm9yY2VkIGJ5IGNvZGUsIGRvIG5vdCByZXF1aXJlIHRoZSBjb25zZW50IG9mIFVzZXJzIGFzIHRoZXNlIGZ1bmN0aW9ucyBhcmUgaW5oZXJlbnQgYW5kIHN5c3RlbWljIHRvIHRoZSBFT1MgTWFpbm5ldCBpdHNlbGYuCgojIyBBcnRpY2xlIElW4oCKLeKAikdvdmVybmluZyBEb2N1bWVudHMKQW55IG1vZGlmaWNhdGlvbnMgdG8gdGhlICpFVUEqIGFuZCAqZ292ZXJuaW5nIGRvY3VtZW50cyogbWF5IGJlIG1hZGUgYnkgYGVvc2lvLnByb2RzYC4gSXQgaXMgYWRtb25pc2hlZCB0aGF0IGEgc3RhdGVtZW50IGJlIGNyYWZ0ZWQgYW5kIGlzc3VlZCB0aHJvdWdoIGBlb3Npby5wcm9kc2AgdmlhIGVvc2lvLmZvcnVtIHJlZmVyZW5kdW0gY29udHJhY3QgZGVzY3JpYmluZyBzdWNoIGEgbW9kaWZpY2F0aW9uIGluIGFkdmFuY2UuCgojIyBBcnRpY2xlIFbigIot4oCKTmF0aXZlIFVuaXQgb2YgVmFsdWUKVGhlIG5hdGl2ZSB1bml0IG9mIHZhbHVlIG9uIEVPUyBjaGFpbl9pZCBzaGFsbCBiZSB0aGUgRU9TIHRva2VuIGFzIGRlZmluZWQgYW5kIGNyZWF0ZWQgYnkgdGhlIGBlb3Npby50b2tlbmAgc21hcnQgY29udHJhY3QuCgojIyBBcnRpY2xlIFZJ4oCKLeKAik1haW50YWluaW5nIHRoZSBFT1MgYmxvY2tjaGFpbgpgZW9zaW8ucHJvZHNgIHdpbGwgbWFpbnRhaW4gdGhlIGFjdGl2ZSBibG9ja2NoYWluIGNvZGViYXNlIHdoaWNoIGluY2x1ZGVzLCBidXQgaXMgbm90IGxpbWl0ZWQgdG8sIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhbGwgbW9kaWZpY2F0aW9ucyBvZiBhbGwgZmVhdHVyZXMsIG9wdGltaXphdGlvbnMsIGFuZCB1cGdyYWRlczogcHJlc2VudCBhbmQgZnV0dXJlLgoKIyMgQXJ0aWNsZSBWSUnigIot4oCKTmV0d29yayBGdW5kcwpJdCBpcyBhZG1vbmlzaGVkIHRoYXQgYW55IGFsdGVyaW5nIG9mIHRoZSBzdGF0ZSBvZiBhbnkgdG9rZW5zIGNvbnRhaW5lZCB3aXRoaW4gbmV0d29yayBmdW5kIGFjY291bnRzLCBvciBhbHRlcmluZyBhbnkgcHJlLWV4aXN0aW5nIGNvZGUgdGhhdCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGdvdmVybnMgdGhlIGFsbG9jYXRpb24sIGZ1bGZpbGxtZW50LCBvciBkaXN0cmlidXRpb24gb2YgYW55ICpuZXR3b3JrIGZ1bmRzKiBiZSBwcmVjZWRlZCBieSBhIHN0YXRlbWVudCBjcmFmdGVkIGFuZCBpc3N1ZWQgYnkgYGVvc2lvLnByb2RzYCB0byB0aGUgKmVvc2lvLmZvcnVtKiByZWZlcmVuZHVtIHN5c3RlbSBjb250cmFjdCBkZXNjcmliaW5nIHRoZSBlZmZlY3QgaW4gYWR2YW5jZS4KCiMjIEFydGljbGUgVklJSeKAii3igIpGcmVlZG9tIG9mIEFjY291bnQgQ3JlYXRpb24KQW55IGN1cnJlbnQgb3IgZnV0dXJlIFVzZXIgaXMgYWJsZSB0byBjcmVhdGUgYW4gRU9TIEFjY291bnQgd2l0aG91dCB0aGUgcGVybWlzc2lvbiBieSBhbnkgb3RoZXIgVXNlci4gYGVvc2lvLnByb2RzYCBtYXkgbmV2ZXIgYWZmZWN0IGFuIEVPUyBVc2VyIEFjY291bnQocykgd2l0aG91dCB2YWxpZCBwZXJtaXNzaW9uKHMpIHdoaWNoIGhhdmUgYmVlbiBzaGFyZWQgd2l0aCBgZW9zaW8ucHJvZHNgIGJ5IGFuIEVPUyBhY2NvdW50LiBgZW9zaW8ucHJvZHNgIG1heSBjaGFyZ2UgYSBmZWUgZm9yIGFueSBhY3Rpb25zIHRoYXQgYXJlIHJlcXVlc3RlZCBieSBvdGhlciBVc2VycyBwZXJ0YWluaW5nIHRvIGFuIEVPUyBhY2NvdW50IHdoZXJlIHBlcm1pc3Npb25zIGFyZSBzaGFyZWQuCgojIyBBcnRpY2xlIElY4oCKLeKAik5vIEZpZHVjaWFyeQpObyBVc2VyIHNoYWxsIGhhdmUgYSBmaWR1Y2lhcnkgcHVycG9zZSB0byBzdXBwb3J0IHRoZSB2YWx1ZSBvZiB0aGUgRU9TIHRva2VuLiBObyBVc2VyIGNhbiBhdXRob3JpemUgYW55b25lIHRvIGhvbGQgYXNzZXRzLCBib3Jyb3csIHNwZWFrLCBjb250cmFjdCBvbiBiZWhhbGYgb2Ygb3RoZXIgRU9TIFVzZXJzIG9yIHRoZSBFT1MgYmxvY2tjaGFpbiBgY2hhaW5faWRgIGNvbGxlY3RpdmVseS4gVGhpcyBFT1MgYmxvY2tjaGFpbiBzaGFsbCBoYXZlIG5vIG93bmVycywgbWFuYWdlcnMsIG9yIGZpZHVjaWFyaWVzLgoKIyMgQXJ0aWNsZSBY4oCKLeKAilVzZXIgU2VjdXJpdHkKQWxsIGl0ZW1zIHBlcnRhaW5pbmcgdG8gcGVyc29uYWwgYWNjb3VudCBzZWN1cml0eSwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byB0aGUgc2FmZWtlZXBpbmcgb2YgcHJpdmF0ZSBrZXlzLCBpcyBzb2xlbHkgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBVc2VyIHRvIHNlY3VyZS4KCiMjIEFydGljbGUgWEkgLSBgZW9zaW8ucHJvZHNgIExpbWl0ZWQgTGlhYmlsaXR5ClRoZSBVc2VyIGFja25vd2xlZGdlcyBhbmQgYWdyZWVzIHRoYXQsIHRvIHRoZSBmdWxsZXN0IGV4dGVudCBwZXJtaXR0ZWQgYnkgYW55IGFwcGxpY2FibGUgbGF3LCB0aGlzIGRpc2NsYWltZXIgb2YgbGlhYmlsaXR5IGFwcGxpZXMgdG8gYW55IGFuZCBhbGwgZGFtYWdlcyBvciBpbmp1cnkgd2hhdHNvZXZlciBjYXVzZWQgYnkgb3IgcmVsYXRlZCB0byByaXNrcyBvZiwgdXNlIG9mLCBvciBpbmFiaWxpdHkgdG8gdXNlLCB0aGUgRU9TIHRva2VuIG9yIHRoZSBFT1MgYmxvY2tjaGFpbiBgY2hhaW5faWRgIHVuZGVyIGFueSBjYXVzZSBvZiBhY3Rpb24gd2hhdHNvZXZlciBvZiBhbnkga2luZCBpbiBhbnkganVyaXNkaWN0aW9uLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYWN0aW9ucyBmb3IgYnJlYWNoIG9mIHdhcnJhbnR5LCBicmVhY2ggb2YgY29udHJhY3Qgb3IgdG9ydCAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpIGFuZCB0aGF0IGBlb3Npby5wcm9kc2AsIG5vciB0aGUgaW5kaXZpZHVhbCBwZXJtaXNzaW9ucyB0aGF0IG9wZXJhdGUgaXQsIHNoYWxsIG5vdCBiZSBsaWFibGUgZm9yIGFueSBpbmRpcmVjdCwgaW5jaWRlbnRhbCwgc3BlY2lhbCwgZXhlbXBsYXJ5IG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcywgaW5jbHVkaW5nIGZvciBsb3NzIG9mIHByb2ZpdHMsIGdvb2R3aWxsIG9yIGRhdGEuCgojIEVPUyDsgqzsmqnsnpAg64+Z7J2Y7IScCgojIyDsoJXsnZgKCkVPUyDsgqzsmqnsnpAg64+Z7J2Y7ISc7J2YIOuqqOuToCDrjIDrrLjsnpAsIOq4sOyauOyehCDqvLQsIOuYkOuKlCDsnbjrnbzsnbgg7L2U65OcIOyaqeyWtOuKlCDsoJXsnZjsl5DshJzsmYAg64+Z7J287ZWcIO2aqOqzvOyZgCDsnZjrr7jqsIAg67aA7Jes65Cp64uI64ukLgoKLSAgIEVPUyDsgqzsmqnsnpAg64+Z7J2Y7IScOiDrs7gg66y47IScIChFVUEpCi0gICDssrTsnbggSUQ6IGNoYWluX2lk4oCKLS0t4oCKYWNhMzc2ZjIwNmI4ZmMyNWE2ZWQ0NGRiZGM2NjU0N2MzNmM2YzMzZTNhMTE5ZmZiZWFlZjk0MzY0MmYwZTkwNgotICAg7IKs7Jqp7J6QOiBFT1Mg6rOE7KCV7J2EIOyngeygkSDrmJDripQg6rCE7KCR7KCB7Jy866GcIOyGjOycoO2VmOqxsOuCmCBFT1Mg6rOE7KCV7JeQIOyXsOqysOuQnCBFT1Mg6riw67CYIOyGjeyEseydhCDsnKDsp4DtlZjqsbDrgpgg6rSA66as7ZWY64qUIOyCrOuejCwg7KGw7KeBLCDrmJDripQg7KGw7KeB7J2YIOuqqOuToCDsgqzrnowuCi0gICDshozsnKDqtow6IO2VmOuCmCDsnbTsg4HsnZgg7Jyg7Zqo7ZWcIOyCrOyaqeq2jO2VnCDtmZXsnbjsnYQg7Ya17ZW0IEVPUyDqs4TsoJXsl5Ag7KeB7KCRIOuYkOuKlCDqsITsoJHsoIHsnLzroZwg7KCR6re87ZWp64uI64ukLiDshozsnKDqtozsnYAg64uk7KSRIOyEnOuqheq2jO2VnOydhCDsgqzsmqntlZjsl6wg7IKs7Jqp7J6Q6rCE7JeQIOu2gOu2hOyggeycvOuhnCDqs7XsnKAg65CgIOyImCDsnojsirXri4jri6QuCi0gICDruJTroZ0g7ZSE66Gc65OA7IScOiByZWdwcm9kdWNlcuulvCDsi6TtlontlZjqs6AgZW9zaW8udnBheeuhnOu2gO2EsCDrs7Tsg4HsnYQg67Cb64qUIOyCrOyaqeyekC4KLSAgIGVvc2lvLnByb2RzOiAxNS8yMSDruJTroZ0g7ZSE66Gc65OA7ISc65Ok7J20IOuPmeydmCDtlaAg65WMIGVvc2lvIOqzhOygleydmCDqtoztlZzsnYQg6rCA7KeIIOyImCDsnojripQg64+Z7KCBIOq2jO2VnCDqtazsobDrpbwg6rCA7KeEIEVPUyDqs4TsoJUuCi0gICDrhKTtirjsm4ztgawg7J6Q6riIOiDri6TsnYwg6rOE7KCV7JeQIO2PrO2VqCDrkJwg7Yag7YGwOiBlb3Npby5uYW1lcywgZW9zaW8ucmFtZmVlLCBlb3Npby5zYXZpbmcuCi0gICDqtIDrpqwg66y47IScOiByZWdwcm9kdWNlcuuKlCDqtIDrpqwg66y47ISc66GcIOqwhOyjvOuQqeuLiOuLpC4KLSAgIOyYqOyytOyduDogRU9TIOu4lOuhneyytOyduCBjaGFpbl9pZOyXkCDruYTqsIDsl63soIHsnbTrqbAg7LaU6rCAIO2VoCDsiJgg7J6I64qUIOu4lOuhnSDrgrTsl5Ag7JyE7LmY7ZWcIOuqqOuToCDqsbDrnpgsIOyKpOuniO2KuCDqs4Tslb0g65iQ64qUIOumrOy5tOultOuUlOyViCDqs4Tslb0uCi0gICBFT1Mg6riw67CYIOyGjeyEsTogRU9TIOu4lOuhneyytOyduOydhCDsp4HsoJEg7KGw7J6RLCDrs4Dqsr0sIOyghOyGoSwg7JiB7ZalIOuYkOuKlCDri6zrpqwg7KCB7Jqp7ZWY6riwIOychO2VtCDsnKDtmqjtlZwg7IKs7JqpIOq2jO2VnOydtCDtlYTsmpTtlZwg66qo65OgIOqygwotICAg7L2cOiBFT1Mg67iU66Gd7LK07J24IGNoYWluX2lk7JeQIOyekeyXheydhCDsi6Dssq3tlZjripQg6rKDLgotICAg7ZeI6rCAIOuwjyDqtoztlZw6ICftl4jqsIAn64qUIO2VtOuLuSDqtoztlZzsnYQg64yA7Iug7ZWY7JesIOyghOyGoeuQmOuKlCDtirjrnpzsnq3shZjsnZgg7JqU6rWs7IKs7ZWt7J2EIOygleydmO2VmOuKlCDrjbAg7IKs7Jqp65Cp64uI64ukLiAn6raM7ZWcJ+ydgCDtirnsoJUg6rOE7JW9IOyhsOy5mOyXkCDrjIDtlZwg6raM7ZWc7J2EIOu2gOyXrO2VqeuLiOuLpC4KLSAgIOumrOy5tOultOuUlOyViCDqs4Tslb06IO2VqeuyleyggSDqs4Tslb3snZgg7KCV7J2YIOyalOyGjOulvCDshoztlITtirjsm6jslrTroZwg7ZGc7ZiE7ZWY6rOgIOyLpO2Wie2VoCDsiJgg7J6I64qUIO2YleyLneycvOuhnCDrsLDsuZjtlZjripQg6rOE7JW9LgoKIyMg7KCcIDHsobDigIotLS3igIrsnITtl5jsl5Ag64yA7ZWcIOyCrOyaqeyekOuTpOydmCDsnbjsp4AKCuyCrOyaqeyekOqwgCBjaGFpbl9pZOyXkOyEnCBFT1Mg6rOE7KCV7JeQIOuMgO2VnCDsoJHqt7wg6raM7ZWc7J2EIOyeg+qzoCwg64uk66W4IOuwqeuyleycvOuhnCBFT1Mg6rOE7KCV7JeQIOuMgO2VnCDsoJHqt7zsnYQg67O07Zi47ZWY6riwIOychO2VtCDsoIHsoIjtlZwg7KGw7LmY66W8IOy3qO2VmOyngCDslYrripQg6rK97Jqw7JeQ64qUIEVPUyDqs4TsoJXsl5Ag7KCR6re87ZWgIOyImCDsl4bqsowg65Cc64uk64qUIOqyg+ydhCDsnbjsoJXtlZjqs6Ag64+Z7J2Y7ZWp64uI64ukLiDsgqzsmqnsnpDripQg7JWU7Zi47ZmUIO2GoO2BsOqzvCDruJTroZ3ssrTsnbgg6riw67CYIOyGjO2UhO2KuOybqOyWtOydmCDsnITtl5gsIOyCrOyaqeuylSwg6re466as6rOgIOuzteyeoeyEseyXkCDrjIDtlbQg7Lap67aE7Z6IIOydtO2VtO2VmOqzoCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLiDsgqzsmqnsnpDripQgRU9TIOu4lOuhneyytOyduOydmCDsgqzsmqnsl5Ag64yA7ZWcIOyghOyggeyduCDssYXsnoTsnYQg7KeE64uk64qUIOqyg+yXkCDsnbjsoJXtlZjqs6Ag64+Z7J2Y7ZWp64uI64ukLgoKIyMg7KCcIDLsobDigIotLS3igIrtirnrs4TtlZwg7IKs7Jqp7J6QIOycoO2YlQoKcmVncHJvZHVjZXLrpbwg7Iuk7ZaJ7ZWY64qUIOyCrOyaqeyekOuKlCByZWdwcm9kdWNlciDrpqzsubTrpbTrlJTslYgg6rOE7JW97JeQIOuPmeydmO2VmOqzoCwg7J207JeQIOq1rOyGjeuQqeuLiOuLpC4KCiMjIOygnCAz7KGw4oCKLS0t4oCKRVVB7J2YIOuPmeydmAoKRU9TIOyCrOyaqeyekCDrj5nsnZjshJzripQg7ZiE7J6sIOyLnO2WieykkeyduCBFT1Mg66mU7J2464S3IOqxsOuyhOuEjOyKpOyXkCDrjIDtlZwg7ISk66qF7Jy866GcIOyCrOyaqeuQqeuLiOuLpC4g7L2U65Oc7JeQIOydmO2VtCDsi5ztlonrkJjripQg7J2065+s7ZWcIOq4sOuKpeydgCBFT1Mg66mU7J2464S3IOyekOyytOydmCDssrTqs4TsoIHsnbTqs6Ag6rOg7Jyg7ZWcIOq4sOuKpeydtOuvgOuhnCDsgqzsmqnsnpDsnZgg64+Z7J2Y66W8IO2VhOyalOuhnCDtlZjsp4Ag7JWK7Iq164uI64ukLgoKIyMg7KCcIDTsobDigIotLS3igIrqtIDrpqwg66y47IScCgpFVUHsmYAg6rSA66asIOusuOyEnOuKlCBlb3Npby5wcm9kc+ulvCDthrXtlbQg7IiY7KCV7J20IOqwgOuKpe2VqeuLiOuLpC4g7Yq57KCVIOuzgOqyveyCrO2VreydhCDsgqzsoITsl5Ag7ISk66qF7ZWY64qUIGVvc2lvLmZvcnVtIO2IrO2RnCDqs4Tslb3snYQg7Ya17ZW0IGVvc2lvLnByb2Rz6rCAIOyEseuqheyEnOulvCDsnpHshLHtlZjqs6Ag67Cc6riJ7ZWgIOqyg+ydhCDqtozqs6Dtlanri4jri6QuCgojIyDsoJwgNeyhsOKAii0tLeKAiuqwgOy5mOydmCDquLDrs7gg64uo7JyECgpFT1MgY2hhaW5faWTsnZgg6riw67O4IOuLqOychOuKlCBlb3Npby50b2tlbiDsiqTrp4jtirgg6rOE7JW97JeQIOydmO2VtCDsoJXsnZjrkJjqs6Ag7J6R7ISx65CcIEVPUyDthqDtgbDsnoXri4jri6QuCgojIyDsoJwgNuyhsOKAii0tLeKAikVPUyDruJTroZ3ssrTsnbgg7Jyg7KeACgplb3Npby5wcm9kc+uKlCDrqqjrk6Ag6riw64qlLCDstZzsoIHtmZQsIOq3uOumrOqzoCDsl4Xqt7jroIjsnbTrk5zsnZgg7ZiE7J6s7JmAIOuvuOuemOydmCDrqqjrk6Ag7IiY7KCV7IKs7ZWt7J2EIOq1rO2YhO2VmOuKlCDqsoPsnYQg7Y+s7ZWo7ZWY65CYLCDsnbTsl5Ag6rWt7ZWc65CY7KeAIOyViuuKlCDtmZzshLHtmZTrkJwg67iU66Gd7LK07J24IOy9lOuTnOuyoOydtOyKpOulvCDsnKDsp4Dtlanri4jri6QKCiMjIOygnCA37KGw4oCKLS0t4oCK64Sk7Yq47JuM7YGsIOyekOq4iAoK64Sk7Yq47JuM7YGsIOyekOq4iCDqs4TsoJXsl5Ag7Y+s7ZWo65CcIO2GoO2BsOydmCDsg4Htg5zrpbwg67OA6rK97ZWY6rGw64KYLCDrhKTtirjsm4ztgawg7J6Q6riI7J2YIOuwsOu2hCwg7J207ZaJLCDrmJDripQg67Cw7Y+s66W8IOyngS/qsITsoJHsoIHsnLzroZwg6rSA66as7ZWY64qUIOq4sOyhtCDsvZTrk5zrpbwg67OA6rK97ZWY64qUIOqyveyasOyXkOuKlCBlb3Npby5wcm9kc+ulvCBlb3Npby5mb3J1bSDstJ0g7Yis7ZGcIOyLnOyKpO2FnCDqs4Tslb3sl5Ag7LaU6rCA7ZWY7JesIOyCrOyghOyXkCDstqnrtoTtlZwg7ISk66qF7J20IOydtOujqOyWtOyguOyVvCDtlanri4jri6QuCgojIyDsoJwgOOyhsOKAii0tLeKAiuqzhOyglSDsg53shLHsnZgg7J6Q7JygCgrtmITsnqwsIOuYkOuKlCDrr7jrnpjsnZgg7IKs7Jqp7J6Q64qUIOuLpOuluCDsgqzsmqnsnpDsnZgg7ZeI6rCAIOyXhuydtCBFT1Mg6rOE7KCV7J2EIOunjOuTpCDsiJgg7J6I7Iq164uI64ukLiBlb3Npby5wcm9kc+uKlCBFT1Mg6rOE7KCV7JeQIOydmO2VtCDqs7XsnKDrkJwg7Jyg7Zqo7ZWcIO2XiOqwgCDsl4bsnbTripQgRU9TIOyCrOyaqeyekCDqs4TsoJXsl5Ag7JiB7Zal7J2EIOykhCDsiJgg7JeG7Iq164uI64ukLiBlb3Npby5wcm9kc+uKlCDqtoztlZzsnbQg6rO17Jyg65CY64qUIEVPUyDqs4TsoJXqs7wg6rSA66Co7ZWY7JesIOuLpOuluCDsgqzsmqnsnpDqsIAg7JqU7LKt7ZWcIOuqqOuToCDsnpHsl4Xsl5Ag64yA7ZW0IOyalOq4iOydhCDrtoDqs7ztlaAg7IiYIOyeiOyKteuLiOuLpC4KCiMjIOygnCA57KGw4oCKLS0t4oCK7Iug7YOBIOu2iOqwgAoK7IKs7Jqp7J6Q64qUIEVPUyDthqDtgbDsnZgg6rCA7LmY66W8IOuSt+uwm+y5qO2VoCDsiJgg7J6I64qUIOyLoO2DgSDrqqnsoIHsnYQg6rCA7KC47ISc64qUIOyViOuQqeuLiOuLpC4g7IKs7Jqp7J6Q64qUIEVPUyDsgqzsmqnsnpAg65iQ64qUIEVPUyDruJTroZ3ssrTsnbggY2hhaW5faWTrpbwg64yA7ZGc7ZWY7JesIOuIhOq1rOyXkOqyjOuPhCDsnpDsgrDsnYQg67O07Jyg7ZWY6rGw64KYLCDrjIDsl6ztlZjqsbDrgpgsIOyekOyCsOyXkCDrjIDtlbQg7JaY6riw7ZWY6rGw64KYLCDqs4Tslb3snYQg66e67J2EIOq2jO2VnOydhCDrtoDsl6ztlaAg7IiYIOyXhuyKteuLiOuLpC4gRU9TIOu4lOuhneyytOyduOyXkOuKlCDshozsnKDsnpAsIOq0gOumrOyekCwg6re466as6rOgIOyImO2DgeyekOqwgCDsl4bslrTslbwg7ZWp64uI64ukLgoKIyMg7KCcIDEw7KGw4oCKLS0t4oCK7IKs7Jqp7J6QIOuztOyViAoK67mE6rO16rCcIO2CpOydmCDrs7TqtIDsnYQg7Y+s7ZWo7ZWY65CYLCDsnbTsl5Ag6rWt7ZWc65CY7KeAIOyViuuKlCDqsJzsnbgg6rOE7KKMIOuztOyViOqzvCDqtIDroKjrkJwg66qo65OgIO2VreuqqeuTpCDrmJDtlZwg7KCE7KCB7Jy866GcIOyCrOyaqeyekOqwgCDslYjsoITtlZjqsowg67O06rSA7ZW07JW8IO2VqeuLiOuLpC4KCiMjIOygnCAxMeyhsOKAii0tLeKAimVvc2lvLnByb2RzIOycoO2VnOyxheyehAoK7IKs7Jqp7J6Q64qUIOuyleuloOydtCDtl4jsmqntlZjripQg7ZWc64+EIOuCtOyXkOyEnCBFT1Mg7Yag7YGw7J2YIOychO2XmCwg7IKs7JqpLCDrmJDripQg7IKs7JqpIOu2iOqwgOuhnCDsnbjtlbQg67Cc7IOd7ZWY64qUIOuqqOuToCDshpDtlbTsl5Ag64yA7ZW0IOyxheyehOydmCDrqbTssYUg7KGw7ZWt7J20IOyggeyaqeuQnOuLpOuKlCDqsoPsnYQg7J247KCV7ZWY6rOgLCDrj5nsnZjtlanri4jri6QuIOqzhOyVvSDsnITrsJgsIOu2iOuylSDtlonsnIQsIOq3uOumrOqzoCDsnITrsJgg7ZaJ7JyEICjqtIDrpqwg7YOc66eMIO2PrO2VqCnsmYAgZW9zaW8ucHJvZHMg65iQ64qUIOydtOulvCDsmrTsmIHtlZjripQg6rCc67OEIOyCrOyaqSDqtoztlZzsnYQg7Y+s7ZWo7ZWY65CYLCDsnbTsl5Ag6rWt7ZWc7ZWY7KeAIOyViuqzoCDrqqjrk6Ag6rSA7ZWgIOyngOyXreyXkOyEnOydmCDrqqjrk6Ag7KKF66WY7J2YIOyCrOycoOuhnCDsnbjtlZwgRU9TIOu4lOuhneyytOyduCBjaGFpbl9pZCDsnbTsnbUsIOyYgeyXheq2jCwg65iQ64qUIOuNsOydtO2EsOydmCDshpDsi6TsnYQg7Y+s7ZWo7ZWY7JesIOqwhOygkeyggSwg7Jqw67Cc7KCBLCDtirnsiJjtlZwsIOuMgO2RnOyggSwg6re466as6rOgIO2MjOyDneyggeyduCDshpDtlbTsl5Ag64yA7ZWcIOyxheyehOydhCDsp4Dsp4Ag7JWK7Iq164uI64ukLgoKIyBFT1PnlKjmiLfljY/orq4KCiMjICoq5a6a5LmJKioKCkVPU+eUqOaIt+WNj+iuruS4reeahOaJgOacieWkp+WGme+8jOaWnOS9k+aIluWGheiBlOS7o+eggeacr+ivreWwhuWFt+acieS4juS7peS4i+WumuS5ieebuOWQjOeahOaViOaenOWSjOWQq+S5ieOAggoKLSBFT1PnlKjmiLfljY/orq7vvJrljbPmnKzmlofmoaPvvIhFVUHvvIkKCi0g6ZO+5LiKSUQ6IGNoYWluX2lkIC0gYWNhMzc2ZjIwNmI4ZmMyNWE2ZWQ0NGRiZGM2NjU0N2MzNmM2YzMzZTNhMTE5ZmZiZWFlZjk0MzY0MmYwZTkwNgoKLSDnlKjmiLfvvJrku7vmhI/mu6HotrPkuIvliJfopoHmsYLnmoTkuKrkurrmiJbnu4Tnu4fvvJrnm7TmjqXmiJbogIXpl7TmjqXmi6XmnIlFT1PotKbmiLfmiJbkuI5FT1PotKbmiLflhbPogZTnmoTln7rkuo5FT1Plj5HooYznmoTotKLkuqfjgIIKCi0g5omA5pyJ5p2D77ya55u05o6l5oiW6ICF6Ze05o6l6YCa6L+H5LiA5Liq5oiW5aSa5Liq5pyJ5pWI55qE5p2D6ZmQ5qOA5p+l6K6/6Zeu5LiA5LiqRU9T6LSm5oi344CC5omA5pyJ5p2D5Y+v5Lul6YCa6L+H5aSa562+5p2D6ZmQ6K645Y+v5Zyo55So5oi36Ze05YWx5Lqr44CCCgotIOaJp+ihjOS6hnJlZ3Byb2R1Y2XvvIzlubbkuJTku45lb3Npby52cGF56aKG5Y+W5pS25YWl55qE55So5oi344CCCgotIGVvc2lvLnByb2RzOuWFt+acieWKqOaAgeadg+mZkOe7k+aehOeahEVPU+W4kOaIt++8jOW9kzE1LzIxIEJsb2NrIFByb2R1Y2Vyc+WQjOaEj+aXtu+8jOivpeW4kOaIt+WPr+S7peaJv+aLhWVvc2lv5biQ5oi355qE5p2D6ZmQ44CCCgotIOe9kee7nOi1hOS6p++8muWMheWQq+WcqOS7peS4i+i0puaIt+S4reeahOS7o+W4ge+8mmVvc2lvLm5hbWVz44CBZW9zaW8ucmFtZmVl44CBICBlb3Npby5zYXZpbmfjgIIKCi0g5rK755CG5paH5qGj77yacmVncHJvZHVjZXLmmK/msrvnkIbmlofmoaPjgIIKCi0g5Lu75L2V5Lqk5piT44CB5pm66IO95ZCI57qm5oiW6ICF5p2O5ZiJ5Zu+5ZCI57qm77yM5a6D5Lus5bey57uP5L2N5LqO5LiA5Liq5Yy65Z2X5Lit77yM5bm25LiU6L+Z5Liq5Yy65Z2X5piv5LiN5Y+v6YCG6L2s55qE44CB5bey6ZmE5Yqg5Yiw5ZCN5Li6Y2hhaW5faWTnmoRFT1PljLrlnZfpk77kuK3jgIIKCi0g5Z+65LqORU9T6LWE5Lqn77ya5Lu75L2V6ZyA6KaB5pyJ5pWI6K645Y+v5p2l5pON5L2c44CB5pS55Y+Y44CB6L2s56e744CB5b2x5ZON5oiW6ICF6L+b6KGM5YW25LuW5pON5L2c55qE5Lic6KW/44CCCgotIOaJp+ihjO+8muWcqOWQjeS4umNoYWluX2lk55qERU9T5Yy65Z2X6ZO+5Lit5o+Q5Lqk5LiA5Liq6KGM5Yqo44CCCgotIOaOiOadg+WSjOadg+mZkO+8muadg+mZkO+8iFBlcm1pc3Npb25z77yJ5piv55So5p2l5a6a5LmJ5Luj6KGo6K+l5p2D6ZmQ5Y+R6YCB55qE5Lqk5piT55qE6KaB5rGC55qE5Lu75oSP5ZCN5a2X44CC5Y+v5Lul57uZ54m55a6a55qE5ZCI57qm5pON5L2c55qE5o6I5p2D77yIQXV0aG9yaXphdGlvbnPvvInliIbphY3mnYPpmZDvvIhQZXJtaXNzaW9uc++8ieOAggoKLSDmnY7lmInlm77lkIjnuqbvvJrlsIbms5XlvovljY/orq7kuK3nmoTlrprkuYnopoHntKDku6Xog73lnKjova/ku7bkuK3ooajovr7lkozmiafooYznmoTmoLzlvI/ooajovr7nmoTlkIjnuqbjgIIKCiMjICoq5p2h5qy+5LiAKioqKueUqCoqKirmiLfpo47pmannoa7orqQqKgoK5aaC5p6c55So5oi35Lii5aSx6LSm5oi36K6/6Zeu5p2D6ZmQ5oiW6ICF5rKh5pyJ6YeH5Y+W5ZCI6YCC55qE5pa55byP5L+d5oqk6LSm5oi36K6/6Zeu5p2D6ZmQ77yM55So5oi35bqU55+l5oKJ5bm25ZCM5oSP77yMRU9T6LSm5oi35bCG5peg5rOV6K6/6Zeu44CC55So5oi35bqU56Gu6K6k55So5oi35a+55Yqg5a+G5Luj5biB5ZKM5Yy65Z2X6ZO+6L2v5Lu255qE6aOO6Zmp44CB55So5rOV5ZKM5aSN5p2C5oCn5pyJ5YWF5YiG5LqG6Kej44CC55So5oi35om/6K6k5bm25ZCM5oSP55So5oi36Ieq6KGM5om/5ouF5L2/55SoRU9T5Yy65Z2X6ZO+55qE6aOO6Zmp44CCCgojIyAqKuadoeasvuS6jCoqKirnibnmrornlKgqKioq5oi357G75Z6LKioKCuaJp+ihjHJlZ3Byb2R1Y2XvvIzlkIzmhI/lubbkuJTlj5dyZWdwcm9kdWNlcuadjuWYieWbvuWQiOe6pue6puadn+eahOeUqOaIt+OAggoKIyMgKirmnaHmrL7kuIkqKioq5ZCM5oSPKioqKkVPUyoqKirnlKgqKioq5oi35Y2P6K6uKioKCkVPU+eUqOaIt+WNj+iurueahOWunui0qOaYr+WvueW9k+WJjUVPU+S4u+e9keayu+eQhuWKn+iDveeahOaPj+i/sOOAgueUseS7o+eggeW8uuWItuaJp+ihjOeahOWKn+iDveS4jemcgOimgeeUqOaIt+eahOWQjOaEj++8jOWboOS4uui/meS6m+WKn+iDveaYr0VPU+S4u+e9keezu+e7n+iHquW4pueahOOAggoKIyMgKirmnaHmrL7lm5sqKiAtICoq5rK755CG5paH5qGjKioKCmVvc2lvLnByb2Rz5Y+v5Lul5a+5RU9T55So5oi35Y2P6K6u5ZKM5rK755CG5paH5qGj6L+b6KGM5Lu75L2V5L+u5pS544CC5Lil5q2j5o+Q6YaS77yM5o+Q5YmN55SoZW9zaW8uZm9ydW3lhazmipXlkIjnuqbvvIzpgJrov4dlb3Npby5wcm9kc+e8luWGmeOAgeWPkeW4g+S4gOS4quWjsOaYjuadpeaPj+i/sOmCo+S4quS/ruaUueOAggoKIyMgKirmnaHmrL7kupQqKioq5Y6f55Sf5Lu3KioqKuWAvOWNleS9jSoqCgpFT1Plhazpk77kuIrnmoTljp/nlJ/ku7flgLzljZXkvY3lupTkuLplb3Npby50b2tlbuaZuuiDveWQiOe6puWumuS5ieWSjOWIm+W7uueahEVPU+mAmuivgeOAggoKIyMgKirmnaHmrL7lha0qKioq57u05oqkKioqKkVPUyoqKirljLoqKioq5Z2X6ZO+KioKCuaXoOiuuueOsOWcqOaIluWwhuadpeWwhuadpe+8jGVvc2lvLnByb2Rz5bCG57u05oqk5rS76LeD55qE5Yy65Z2X6ZO+5Luj56CB5bqT77yM5YyF5ous5L2G5LiN6ZmQ5LqO5omA5pyJ5Yqf6IO944CB5LyY5YyW44CB5Y2H57qn55qE5omA5pyJ5L+u5pS544CB5a6e546w44CCCgojIyDmnaHmrL7kuIMgLSAqKioq5a6aKioqKuS5iSoqKipFT1MqKioq572R57uc6LWE5LqnCgrmm7TmlLnnvZHnu5zotYTkuqfotKbmiLfkuK3nmoTku7vkvZXku6PluIHnmoTnirbmgIHvvIzmm7TmlLnku7vkvZXnjrDlrZjnmoTnm7TmjqXmiJbpl7TmjqXnrqHnkIbku7vkvZXnvZHnu5zotYTkuqfnmoTliIbphY3jgIHlrp7njrDmiJbliIblj5HnmoTku6PnoIHvvIzpnIDopoHkuovlhYjnlKhlb3Npby5wcm9kc+WcqGVvc2lvLmZvcnVt5YWs5oqV5ZCI57qm5LiK57yW5YaZ5ZKM5Y+R5biD5pWI5p6c5o+P6L+w55qE5aOw5piO44CCCgojIyAqKuadoeasvuWFqy3liJvlu7rotKbmiLfoh6rnlLEqKgoK5Lu75L2V546w5Zyo5oiW5bCG5p2l55qE55So5oi36YO95Y+v5Lul5Zyo5pyq57uP5Lu75L2V5YW25LuW55So5oi36K645Y+v55qE5oOF5Ya15LiL5Yib5bu6RU9T5biQ5oi344CCICDlpoLkvZXmsqHmnInmlLbliLBFT1PluJDmiLfnmoTmnInmlYjorrjlj6/vvIhwZXJtaXNzaW9u77yJ77yMZW9zaW8ucHJvZHPmsLjov5zkuI3kvJrlvbHlk41FT1PnlKjmiLfluJDmiLfjgIIgIOWvueS6juWFseS6q+adg+mZkOeahEVPU+W4kOaIt+eahOWFtuS7lueUqOaIt+ivt+axgueahOS7u+S9leaTjeS9nO+8jGVvc2lvLnByb2Rz5Y+v6IO95Lya5pS25Y+W6LS555So44CCCgojIyAqKuadoeasvuS5neayoeacieWPl+aJmOS6uioqCgrmsqHmnInnlKjmiLfmib/mi4Xkv6HmiZjotKPku7vmnaXnu7TmjIFFT1Pku6PluIHnmoTku7flgLzjgILmsqHmnInnlKjmiLflj6/ku6Xku6PooahFT1PnlKjmiLfmiJbogIXku6PooajlkI3kuLpjaGFpbl9JROeahEVPU+WMuuWdl+mTvuaOiOadg+S7u+S9leS6uuWFseWQjOaMgeaciei1hOS6p+OAgeWAn+asvuOAgeWPkeiogOaIluWumuWQiOWQjOOAguatpOWMuuWdl+mTvuS4jeWtmOWcqOaLpeacieiAheOAgeeuoeeQhuiAheaIluiAheWPl+aJmOS6uuOAggoKIyMgKirmnaHmrL7ljYHkuKrkurrlronlhagqKgoK5omA5pyJ5pyJ5YWz5Liq5Lq66LSm5oi35a6J5YWo55qE5LqL6aG577yM5YyF5ous5L2G5LiN6ZmQ5LqO56eB6ZKl55qE5a6J5YWo5L+d5a2Y77yM6YO955Sx55So5oi36Ieq5bex6LSf6LSj44CCCgojIyAqKuadoeasvuWNgeS4gCBlb3Npby5wcm9kc+eahOaciemZkOi0o+S7uyoqCgrnlKjmiLflupTnn6XmgonlkozlkIzmhI/vvIzlnKjku7vkvZXpgILnlKjms5XlvovlhYHorrjnmoTmnIDlpKfojIPlm7TlhoXvvIzmnKzlhY3otKPlo7DmmI7pgILnlKjkuo7kuI5FT1Pku6PluIHpo47pmanvvIzkvb/nlKjmiJbml6Dms5Xkvb/nlKhFT1Pku6PluIHmnInlhbPmiJblr7zoh7TnmoTku7vkvZXmiJbmiYDmnInmjZ/lrrPmiJbkvKTlrrPvvIzkuZ/pgILnlKjkuo7ku7vkvZXlj7jms5XnrqHovpbljLrlhoXnmoTku7vkvZXku7vkvZXooYzkuLrkuIvnmoRFT1PljLrlnZfpk75jaGFpbl9pZO+8jOWMheaLrOS9huS4jemZkOS6jui/neWPjeaLheS/neOAgei/neWPjeWQiOWQjOaIluS+teadg+ihjOS4uu+8iOWMheaLrOeWj+W/ve+8ieOAgmVvc2lvLnByb2Rz5Lul5Y+K5pON5L2c5a6D55qE5Liq5Lq65p2D6ZmQ5a+55LqO5Lu75L2V6Ze05o6l55qE77yM5YG254S255qE77yM54m55q6K55qE77yM56S65L6L5oCn55qE5oiW5ZCO5p6c5oCn55qE5o2f5a6z77yM5YyF5ous5Yip5ram5o2f5aSx77yM5ZWG6KqJ5oiW5pWw5o2u77yM5LiN5om/5ouF5Lu75L2V6LSj5Lu744CCFkJsb2NrUHJvZHVjZXJBZ3JlZW1lbnTGbCMjIyAxLiBUaGUgaW50ZW50IG9mIHJlZ3Byb2R1Y2VyCgpUaGUgaW50ZW50IG9mIHRoZSBgcmVncHJvZHVjZXJgIGFjdGlvbiBpcyB0byByZWdpc3RlciBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGFjeS4gVGhpcyBjb250cmFjdCBpcyBjb25zaWRlcmVkIGEgZ292ZXJuaW5nIGRvY3VtZW50IGFzIGRlZmluZWQgYnkgdGhlIEVPUyBVc2VyIEFncmVlbWVudCAoRVVBKS4KCnJlZ3Byb2R1Y2Vy7J2YIOuqqeyggQoKYHJlZ3Byb2R1Y2VyYCDsnpHsl4XsnZgg66qp7KCB7J2AIOu4lOuhneyDneyCsOyekCDsnoXtm4Trs7Qg65Ox66Gd7J2EIO2VmOuKlCDqsoPsnoXri4jri6QuIOydtCDqs4Tslb3snYAgRU9TIOyCrOyaqeyekCDqs4Tslb3shJwgKEVVQSnsl5Ag7KCV7J2Y65CcIOuwlOyZgCDqsJnsnbQg6rSA66asIOusuOyEnOuhnCDqsITso7zrkKnri4jri6QuCgpyZWdwcm9kdWNlciDnmoTnm67nmoQKCmByZWdwcm9kdWNlcmDmk43kvZznmoTnm67nmoTmmK/ms6jlhozmiJDkuLrlh7rlnZfoioLngrnlgJnpgInogIXjgILmoLnmja4gRU9TIOeUqOaIt+WNj+iurihFVUEp55qE5a6a5LmJ77yM5pys5ZCI57qm5bGe5LqO5rK755CG5paH5pysKGdvdmVybmluZyBkb2N1bWVudCkKCiMjIyAyLiBOb21pbmF0aW9uCgpJLCB7eyBwcm9kdWNlciB9fSwgaGVyZWJ5IG5vbWluYXRlIG15c2VsZiBmb3IgY29uc2lkZXJhdGlvbiBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4gVGhpcyBub21pbmF0aW9uIGluY2x1ZGVzIGFncmVlbWVudCB0byB0aGUgdGVybXMgb2YgdGhpcyBjb250cmFjdCBieSBteSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUgZW50aXR5LCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBzaGFyZWhvbGRlcnMsIG93bmVycywgZW1wbG95ZWVzLCBzdGFmZiwgbWVtYmVycywgYW5kIGFueSBpbmRpdmlkdWFsIHdvcmtpbmcgaW4gb2ZmaWNpYWwsIGRpcmVjdCwgb3IgYWZmaWxpYXRlZCBjYXBhY2l0eSBmb3IgbXkgQmxvY2sgUHJvZHVjZXIgZW50aXR5LgoK7KeA66qFCgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIOu4lOuhne2UhOuhnOuTgOyEnCDtm4Trs7TroZwg6rOg66Ck65CY64+E66GdIOyekOyLoOydhCDsp4DrqoXtlanri4jri6QuIOydtCDsp4DrqoXsl5DripQg67iU66Gd7ZSE66Gc65OA7ISc7ZqM7IKs7J2YIOuqqOuToCDso7zso7wsIOyGjOycoOyekCwg7KeB7JuQLCDrqaTrsoQsIO2ajOybkCDrsI8g6rO17Iud7J247JuQLCDsp4HsoJEg65iQ64qUIOqzhOyXtOyCrOyXkOyEnCDsnbztlZjripQg66qo65OgIOqwnOyduOydhCDtj6ztlajtlZwg67iU66Gd7ZSE66Gc65OA7IScIO2ajOyCrOqwgCDqs4Tslb0g7KGw6rG07JeQIOuMgO2VtCDrj5nsnZjtlajsnYQg7J247KCV7ZWp64uI64ukLgoK5o+Q5ZCNCgrmnKzkurrvvIx7eyBwcm9kdWNlciB9fe+8jOeJueatpOaPkOWQjeacrOS6uuS4uuWHuuWdl+iKgueCueWAmemAieS6uuOAguacrOaPkOWQjeWMheaLrOS6huacrOWHuuWdl+iKgueCueWAmemAieS6uuWunuS9k+WvueacrOWQiOe6puS4reaJgOacieadoeasvueahOaYjuehruWQjOaEj++8jOWMheWQq+WFtuaJgOacieiAheOAgembh+WRmOOAgeWRmOW3peOAgeaIkOWRmO+8jOS7peWPiuS7u+S9leS7peato+W8j+aWueW8j+OAgeebtOaOpeaIlumZhOWxnuaWueW8j+S4uuacrOWHuuWdl+iKgueCueWunuS9k+W3peS9nOeahOS4quS6uuOAggoKIyMjIDMuIFJlc2lnbmF0aW9uIGFuZCBSZW1vdmFsIGZvciBJbmFiaWxpdHkgdG8gUGVyZm9ybSBPYmxpZ2F0aW9ucy4KCklmIEksIHt7IHByb2R1Y2VyIH19LCBhbSB1bmFibGUgdG8gcGVyZm9ybSBhbnkgb2YgdGhlIG9ibGlnYXRpb25zIHN0aXB1bGF0ZWQgaW4gdGhpcyBjb250cmFjdCwgSSB3aWxsIHJlc2lnbiBteSBwb3NpdGlvbiBieSBjYWxsaW5nIHRoZSBgdW5yZWdwcm9kYCBhY3Rpb24uCgpJZiBJLCB7eyBwcm9kdWNlciB9fSwgZmFpbCB0byByZXNpZ24gd2hlbiB1bmFibGUgdG8gcGVyZm9ybSBzYWlkIG9ibGlnYXRpb25zLCBJIHVuZGVyc3RhbmQgdGhhdCBwcm9jZWR1cmVzIGVudW1lcmF0ZWQgaW4gdGhpcyBjb250cmFjdCBzaGFsbCBiZSBlbmFjdGVkLgoK7J2Y66y07J2YIOu2iOydtO2WieyXkCDrjIDtlZwg7IKs7J6EIOuwjyDssqDtmowKCnt7IHByb2R1Y2VyIH196rCAIOuzuCDqs4Tslb3shJzsl5Ag66qF7Iuc65CcIOydmOustOulvCDsiJjtlokg7ZWgIOyImCDsl4bripQg6rK97JqwLCDsg53sgrDsnpAg7YKk66W8IG51bGwg66GcIO2VqOycvOuhnOyNqCDrs7jsnbjsnZgg7KeA7JyE66W8IOyCrOyehO2VqeuLiOuLpC4KCuunjOyVvSDrgrTqsIAge3twcm9kdWNlcn197J2YIOydmOustOulvCDsnbTtlokg7ZWgIOyImCDsl4bsnYQg65WMIOyCrOyehO2VmOyngCDslYrripTri6TrqbQsIOuCmOuKlCDrs7gg6rOE7JW97JeQIOyXtOqxsOuQnCDsoIjssKjqsIAg7KeR7ZaJ65Co7J2EIOuPmeydmO2VqeuLiOuLpC4KCuWboOS4jeiDveWxpeihjOS5ieWKoeiAjOmAgOWHuuaIluiiq+WPlua2iOWHuuWdl+i1hOagvAoK5aaC5p6c5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzkuI3og73lsaXooYzmnKzlkIjnuqbkuK3miYDop4TlrprnmoTmiYDmnInkuYnliqHvvIzmiJHlsIbkvb/nlKggYHVucmVncHJvZGAg5pON5L2c5p2l6Ieq5oiR6YCA5Ye677yIcmVzaWdu77yJ44CCCgrlpoLmnpzmiJEge3sgcHJvZHVjZXIgfX0sIOWcqOaXoOazleWxpeihjOS4iui/sOS5ieWKoeaXtuacquiDvemAgOWHuihyZXNpZ24p77yM5oiR55+l5pmT5pys5ZCI57qm5bCG5Lya5oyJ54Wn5omA5pyJ5YiX5Li+55qE56iL5bqP5a+55oiR5a6e6KGM5Yi26KOB5oiW5aSE572a56iL5bqP44CCCgojIyMgNC4gRU9TIEFjY291bnRzCgpCbG9jayBQcm9kdWNlcnMgbWF5IG5ldmVyIGFmZmVjdCBhbiBhY2NvdW50IG9uIHRoZSBFT1MgYmxvY2tjaGFpbiwgZXhjZXB0IGZvciB0aGUgcmVhc29ucyBzcGVjaWZpY2FsbHkgY2l0ZWQgaW4gdGhpcyBjb250cmFjdCB0aGF0IHBlcnRhaW4gdG8gQmxvY2sgUHJvZHVjZXIgYWNjb3VudHMuIFVzZXIgYWNjb3VudHMgY2FuIG9ubHkgYmUgYWZmZWN0ZWQgb24gdGhlIGJhc2lzIG9mIEFydGljbGUgVklJSSBpbiB0aGUgRU9TIFVzZXIgQWdyZWVtZW50LgoKRU9TIOqzhOyglQoK67iU66Gd7ZSE66Gc65OA7ISc64qUIOuzuCDqs4Tslb3sl5DshJwg7ZW064u57ZWY64qUIOu4lOuhne2UhOuhnOuTgOyEnOydmCDqs4TsoJUg7LCo64uo7JeQIOq0gOugqO2VmOyXrCDtirnrs4Ttnogg7Ja46riJ7ZWcIOydtOycoOulvCDsoJzsmbjtlZjqs6DripQgRU9TIOu4lOuhneyytOyduOydmCDqs4TsoJXsl5Ag6rKw7L2UIOyYge2WpeydhCDrr7jsuZjsp4Ag7JWK7Iq164uI64ukLiDsgqzsmqnsnpAg6rOE7KCV7J2AIEVPUyDsgqzsmqnsnpAg6rOE7JW97ISc7J2YIDjsobDsl5Ag6re86rGw7ZWgIOuVjOunjCDsmIHtlqXsnYQg67Cb7J2EIOyImCDsnojsirXri4jri6QuCgpFT1Mg6LSm5Y+3Cgrlh7rlnZfoioLngrnmsLjov5zkuI3kvJrlr7kgRU9TIOWMuuWdl+mTvuS4iueahOW4kOaIt+mAoOaIkOW9seWTje+8jOmZpOmdnuaYr+acrOWQiOe6puS4reeJueWIq+aPkOWIsOS4juWHuuWdl+iKgueCueW4kOaIt+acieWFs+eahOWOn+WboOOAguWPquacieWfuuS6jiBFT1PnlKjmiLfljY/orq7kuK3nmoTnrKzlhavmnaHnmoTmg4XlvaLkuIvvvIznlKjmiLfnmoTotKblj7fmiY3kvJrlj5fliLDlvbHlk40uCgojIyMgNS4gUHJvZHVjZXIgS2V5CgpJLCB7eyBwcm9kdWNlciB9fSwgd2lsbCBzaWduIGJsb2NrcyB3aXRoIHt7IHByb2R1Y2VyX2tleSB9fQoKSWYgSSwge3sgcHJvZHVjZXIgfX0gc3VzcGVjdCBteSBrZXkgaGFzIGJlZW4gY29tcHJvbWlzZWQgSSB3aWxsIGFsZXJ0IHRoZSBvdGhlciBCbG9jayBQcm9kdWNlcnMgaW1tZWRpYXRlbHkuCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBhbnkgYW5kIGFsbCBhY3Rpb25zIGV4ZWN1dGVkIHdpdGggbXkge3sgcHJvZHVjZXJfa2V5IH19IGlzIG15IHJlc3BvbnNpYmlsaXR5LCByZWdhcmRsZXNzIG9mIHRoZSBhY2NvdW50IGJlaW5nIGNvbXByb21pc2VkLgoK7ZSE66Gc65OA7IScIO2CpAoK64KYLCB7eyBwcm9kdWNlciB9feuKlCB7eyBwcm9kdWNlciBfIGtleSB9fSDroZwg67iU66Gd7JeQIOyEnOuqhSDtlaAg6rKD7J6F64uI64ukLgrrp4zslb0g64K0LCB7e3Byb2R1Y2VyfX0g6rCAIOuzuOyduOydmCDtgqTqsIAg7IaQ7IOB65CY7JeI64uk6rOgIOydmOyLrOuQmOuptCDsponsi5wg64uk66W4IOu4lOuhne2UhOuhnOuTgOyEnOyXkOqyjCDslYzroKTspIQg6rKD7J6F64uI64ukLgrrgpgsIHt7cHJvZHVjZXJ9feuKlCBFT1Mg67iU66Gd7LK07J247JeQ7IScIOuzuOyduOydmCDruJTroZ3tlITroZzrk4DshJwg6rOE7KCV7J20IOyLpO2Wie2VmOuKlCDrqqjrk6Ag7J6R7JeF7JeQIOuMgO2VtCwg6rOE7KCVIOydtOyDgSDsnKDrrLTsmYAg6rSA66CoIOyXhuydtCwg7LGF7J6E7J20IOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgrlh7rlnZfoioLngrnlhazpkqUKCiDmiJEsIHt7IHByb2R1Y2VyIH19LCDlsIbkvb/nlKgge3sgcHJvZHVjZXJfa2V5IH19IOWvueWMuuWdl+etvuWQjeOAggrlpoLmnpzmiJEsIHt7IHByb2R1Y2VyIH19LCDmgIDnlpHmiJHnmoTlr4bpkqXlt7Looqvms4TpnLLvvIzmiJHlsIbnq4vljbPpgJrnn6Xlhbbku5boioLngrnjgIIK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzmib/orqTmiJHnmoTlh7rlnZfoioLngrnluJDmiLflnKhFT1PljLrlnZfpk77kuIrmiYDmiafooYznmoTku7vkvZXmk43kvZzpg73mmK/miJHnmoTotKPku7vvvIzml6Dorrror6XluJDmiLfmmK/lkKbooqvnm5fjgIIKCiMjIyA2LiBBUEkgRW5kcG9pbnRzCgpJZiBJLCB7eyBwcm9kdWNlciB9fSwgcXVhbGlmeSBmb3IsIGFuZCBjaG9vc2UgdG8gY2xhaW0gcmV3YXJkcyBkdWUgdG8gdm90ZXMgcmVjZWl2ZWQsIGFuZC9vciBibG9ja3MgcHJvZHVjZWQsIEksIHt7IHByb2R1Y2VyIH19LCB3aWxsIHByb3ZpZGUgZnVuY3Rpb25pbmcgYW5kIHF1ZXJ5YWJsZSBwdWJsaWMgUDJQIGFuZCBBUEkgZW5kcG9pbnRzIHRvIG1haW50YWluIHN5bmNocm9uaXphdGlvbiB3aXRoIHRoZSBibG9ja2NoYWluIGFuZCBzdWJtaXQgdHJhbnNhY3Rpb25zIHRvIGJlIGluY2x1ZGVkLiBBUEkgZW5kcG9pbnRzIG11c3QgYmUgdXBkYXRlZCB0byBhIHJlY2VudCBmdW5jdGlvbmFsIHZlcnNpb24gdGhhdCBkb2VzIG5vdCBoYXZlIGtub3duIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcy4KCkksIHt7IHByb2R1Y2VyIH19LCBoZXJlYnkgYWNrbm93bGVkZ2UgdGhhdCBpZiBJIGFtIHVuYWJsZSB0byBkbyBzbyB3aXRoaW4gMzAgbWludXRlcyBvZiBiZWluZyBhbGVydGVkIGJ5IGFub3RoZXIgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLCBJIGNhbiBiZSByZW1vdmVkIGJ5IHVzZSBvZiB0aGUgYHJtdnByb2R1Y2VyYCBhY3Rpb24uCgpBUEkg7JeU65Oc7Y+s7J247Yq4Cgrrp4zslb0g64K0LCB7eyBwcm9kdWNlciB9fSDqsIAg7Yis7ZGc66W8IOuwm+yVhCDruJTroZ0g67O07IOB7J2EIOyyreq1rO2VoCDsiJgg7J6I64qUIOyekOqyqeydhCDslrvsnLzrqbQsIOuCmCB7eyBwcm9kdWNlciB9feuKlCDsnpHrj5kg67CPIOy/vOumrCDqsIDriqXtlZwg6rO16rCcIFAyUCDrsI8gQVBJIOyXlOuTnO2PrOyduO2KuOulvCDruJTroZ3ssrTsnbjqs7zsnZgg64+Z6riw7ZmUIOuwjyDtirjrnpzsnq3shZjsnYQg7KCc7Lac7ZWgIOyImCDsnojqsowg7Jyg7KeA6rSA66as7ZWp64uI64ukLiBBUEkg7JeU65Oc7Y+s7J247Yq464qUIOyVjOugpOynhCDrs7TslYgg7Leo7JW97ISx7J20IOyXhuuKlCDstZzsi6DrsoTsoITsnLzroZwg7JeF642w7J207Yq47ZW07JW8IO2VqeuLiOuLpC4KCuuCmCwge3sgcHJvZHVjZXIgfX0g64qUIOuLpOuluCBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUg6rCAIOqyveqzoCDigIvigIvtlZwg7ZuELCAzMOu2hCDsnbTrgrTsl5Ag67CU66Gc7J6h7J2EIOyImCDsl4bri6TrqbQgYHJtdnByb2R1Y2VyYCDsobDsuZjrpbwg7Ya17ZW0IOyekOqyqeydtCDsoJzqsbAg65CgIOyImCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoKQVBJIOerr+eCuQoK5aaC5p6c5oiR77yMe3sgcHJvZHVjZXIgfX0g55Sx5LqO5b6X5Yiw5oqV56Wo5ZKML+aIluWHuuWdl+eahOWOn+WboO+8jOespuWQiOmihuWPluWlluWKseeahOadoeS7tuW5tumAieaLqeaOpeWPl+WlluWKse+8jOmCo+S5iOaIke+8jCB7eyBwcm9kdWNlciB9fe+8jOWwhuaPkOS+m+WKn+iDveato+W4uOeahOWFrOWFsSBQMlAg5ZKMIEFQSSDnq6/ngrnmnaXnu7TmiqTkuI7ljLrlnZfpk77nmoTlkIzmraXvvIzlubbmj5DkuqTopoHmiZPljIXlhaXlnZfnmoTkuovliqHjgIJBUEkg56uv54K55b+F6aG75pu05paw5Yiw5pyA5paw55qE5Y+v55So54mI5pys77yM5bm25LiU6K+l54mI5pys5rKh5pyJ5bey55+l55qE5a6J5YWo5ryP5rSeCgrmiJHvvIx7e3Byb2R1Y2VyfX3vvIzlnKjmraTnoa7orqTvvIzlpoLmnpzmiJHlnKjmlLbliLDlj6bkuIDkuKogYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRl55qE6K2m5ZGK5ZCOMzDliIbpkp/lhoXku43kuI3og73nrKblkIjkuIrov7DopoHmsYLvvIzlj6/ku6Xkvb/nlKhgcm12cHJvZHVjZXJg5pON5L2c56e76Zmk5oiR55qE6LSm5oi344CCCgojIyMgNy4gRXhlY3V0aW9uIHRpbWUKCkksIHt7IHByb2R1Y2VyIH19LCB3aWxsIGRlcGxveSBhbmQgcnVuIG5ldHdvcmsgaW5mcmFzdHJ1Y3R1cmUgY2FwYWJsZSBvZiBtYWludGFpbmluZyAybXMgb3IgbGVzcyBDUFUgZXhlY3V0aW9uIHRpbWVzLgoKSSwge3sgcHJvZHVjZXIgfX0sIGhlcmVieSBhY2tub3dsZWRnZSB0aGF0IGlmIEkgYW0gdW5hYmxlIHRvIGRvIHNvIHdpdGhpbiAzMCBtaW51dGVzIG9mIGJlaW5nIGFsZXJ0ZWQgYnkgYW5vdGhlciBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUsIEkgY2FuIGJlIHJlbW92ZWQgYnkgdXNlIG9mIHRoZSBgcm12cHJvZHVjZXJgIGFjdGlvbi4KCuyLpO2WiSDsi5zqsIQKCuuCmCwge3sgcHJvZHVjZXIgfX3ripQgMm1zIOuYkOuKlCDqt7gg7J207ZWY7J2YIENQVSDsi6Ttlokg7Iuc6rCE7J2EIOycoOyngO2VoCDsiJgg7J6I64qUIOuEpO2KuOybjO2BrCDsnbjtlITrnbzrpbwg67Cw7Y+s7ZWY6rOgIOyLpO2Wie2VqeuLiOuLpC4KCiDrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCDri6TrpbggYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRl6rCAIOqyveqzoCDigIvigIvtlZwg7ZuELCAzMOu2hCDsnbTrgrTsl5Ag67CU66Gc7J6h7J2EIOyImCDsl4bri6TrqbQgYHJtdnByb2R1Y2VyYCDsobDsuZjrpbwg7Ya17ZW0IOyekOqyqeydtCDsoJzqsbAg65CgIOyImCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoK5omn6KGM5pe26Ze0CgrmiJHvvIwge3sgcHJvZHVjZXIgfX3vvIzlsIbpg6jnvbLlkozov5DooYznvZHnu5zln7rnoYDorr7mlr3vvIzog73lpJ/lsIYgQ1BVIOaJp+ihjOaXtumXtOe7tOaMgeWcqCAybXMg5oiW5pu05bCR55qE5rC05bmz44CCCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOWcqOatpOehruiupO+8jOWmguaenOaIkeWcqOaUtuWIsOWPpuS4gOS4qmJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZeeahOitpuWRiuWQjjMw5YiG6ZKf5YaF5LiN6IO956ym5ZCI5LiK6L+w5p2h5Lu277yM5Y+v5Lul5L2/55SoIGBybXZwcm9kdWNlcmAg5pON5L2c5bCG5oiR56e76Zmk44CCCgojIyMgOC4gT3JkZXJpbmcKCkkge3sgcHJvZHVjZXIgfX0gYWdyZWUgdG8gcHJvY2VzcyB0cmFuc2FjdGlvbnMgb24gYSBmaXJzdC1pbi1maXJzdC1vdXQgKEZJRk8pIGJhc2lzLCBhbmQgbm90IHRvIG1hbmlwdWxhdGUgdGhlIGNvbnRlbnRzIG9mIGJsb2NrcyBpbiBvcmRlciB0byBkZXJpdmUgcHJvZml0IGZyb20gdGhlIG9yZGVyIGluIHdoaWNoIHRyYW5zYWN0aW9ucyBhcmUgaW5jbHVkZWQ6IHRoZSBoYXNoIG9mIHRoZSBibG9jayB0aGF0IGlzIHByb2R1Y2VkLgoK7IOd7IKwCuuCmCwge3sgcHJvZHVjZXIgfX3ripQg7ISg7J6FIOyEoOy2nOuylSAoRklGTykg67Cp7Iud7Jy866GcIOqxsOuemOulvCDsspjrpqztlZjqs6Ag6rGw656Y6rCAIOu4lOuhneydmCDtlbTsi5zsl5Ag7Y+s7ZWo65CY64qUIOyInOyEnOyXkOyEnCDsnbTsnbXsnYQg7Ja77Jy866Ck64qUIOuqqeyggeycvOuhnCDsg53sgrDtlZjripQg67iU66Gd7J2YIOuCtOyaqeydhCDsobDsnpHtlZjsp4Ag7JWK6riw66GcIOuPmeydmO2VqeuLiOuLpC4KCumhuuW6jwoK5oiR77yMIHt7IHByb2R1Y2VyIH19IO+8jOWQjOaEj+agueaNruWFiOi/m+WFiOWHuihGSUZPKeeahOaWueW8j+WkhOeQhuS6i+WKoe+8jOW5tuS4lOe7neS4jeS8muS4uuS6hueJn+WIqeiAjOWIqeeUqOWMuuWdl+WGheWuueOAgeaTjee6teWMuuWdl+S4reS6pOaYk+WkhOeQhueahOmhuuW6j+OAggoKIyMjIDkuIFJhbmRvbSBSb3RhdGlvbiBvZiBTdGFuZGJ5cwoKSSwge3sgcHJvZHVjZXIgfX0sIGFncmVlIHRoYXQgaWYgSSBhbSBpbiBhIHBhaWQgc3RhbmRieSBwb3NpdGlvbiwgSSBjYW4gYmUgcmFuZG9tbHkgY2FsbGVkIGludG8gYSBwcm9kdWNpbmcgcG9zaXRpb24uIFVwb24gZmFpbHVyZSB0byBwcm9kdWNlIGJsb2NrcywgY29kZSBtYXkgc2VsZi1leGVjdXRlIHBlbmFsdGllcyByZWdhcmRpbmcgZnV0dXJlIHZwYXkgcmV3YXJkcy4KCuycoOq4iSDrjIDquLAg67iU66Gd7ZSE66Gc65OA7ISc7J2YIOustOyekeychCDroZzthYzsnbTshZgKCuuCmCwge3sgcHJvZHVjZXIgfX3ripQg67O47J247J20IOycoOq4iSDrjIDquLDsp4Hsl5Ag7J6I7J2EIOuVjCwg66y07J6R7JyE66GcIOyDneyCsOyngeycvOuhnCDrtoDrpoQg67Cb7J2EIOyImCDsnojri6TripQg6rKD7JeQIOuPmeydmO2VqeuLiOuLpC4g7J2065WMIOu4lOuhneydhCDsg53shLHtlZjsp4Ag66q77ZWY66m0IOy9lOuTnOuKlCDtlqXtm4QgdnBheSDrs7Tsg4Hsl5Ag64yA7ZWcIOyymOuyjOydhCDsp5HtlontlaAg7IiYIOyeiOyKteuLiOuLpC4KCuWkh+mAieiKgueCuemaj+acuui9ruaNogoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzlkIzmhI/oi6XmnKzoioLngrnlpITkuo7mnInlgb/lpIfpgInnirbmgIHvvIzlj6/ooqvpmo/mnLrosIPlhaXlh7rlnZfnirbmgIHjgILlpoLmnpzmiJHml6Dms5Xlh7rlnZfvvIzlkIjnuqbku6PnoIHlj6/og73kvJroh6rliqjmiafooYzlsLHmnKrmnaXnmoQgdnBheSDmiqXphazov5vooYzlpITnvZrjgIIKCiMjIyAxMC4gTWlzc2luZyBUd28gb3IgTW9yZSBSb3VuZHMgb2YgQmxvY2tzCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBpZiBhZnRlciBtaXNzaW5nIDIgb3IgbW9yZSByb3VuZHMgb2YgYmxvY2tzIGluIHN1Y2Nlc3Npb24gSSBhbSB1bmFibGUgdG8gYmUgY29udGFjdGVkIHdpdGhpbiAyMCBtaW51dGVzLCBJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBJIG1heSBiZSByZW1vdmVkIGZyb20gYSBwcm9kdWNpbmcgcG9zaXRpb24gYnkgdXNlIG9mIHRoZSBgcm12cHJvZHVjZXJgIGFjdGlvbi4KCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGFmdGVyIG1pc3NpbmcgdHdvIG9yIG1vcmUgcm91bmRzIG9mIGJsb2NrcyBpbiBzdWNjZXNzaW9uLCBzdGFuZGFyZCBwcmFjdGljZSBzdGlwdWxhdGVzIHJlbW92aW5nIG15IHByb2R1Y2VyIGJ5IHVzaW5nIHRoZSBgdW5yZWdwcm9kYCBhY3Rpb24gdW50aWwgdGhlIGdpdmVuIGlzc3VlIGlzIHJlc29sdmVkLgoK65GQIOudvOyatOuTnCDsnbTsg4HsnZgg67iU66GdIOuIhOudvQoK64KYLCB7eyBwcm9kdWNlciB9feuKlCDrkZAg65287Jq065OcIOydtOyDgSDsl7Dsho3tlZjsl6wg67iU66Gd7J2EIOuIhOudvSDtlZwg7ZuELCAyMOu2hCDsnbTrgrTsl5Ag7Jew6529IO2VoCDsiJgg7JeG64uk66m0IHt7IHByb2R1Y2VyIH19IOqwgCBgcm12cHJvZHVjZXJgIOyVoeyFmOydmCDsgqzsmqnrkJjslrQg7IOd7IKwIOychOy5mOyXkOyEnCDsoJzqsbAg65CgIOyImCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoKe3sgcHJvZHVjZXIgfX3ripQg65GQIOudvOyatOuTnCDsnbTsg4HsnLzroZwg67iU66Gd7J2EIOyXsOyGjeyggeycvOuhnCDriITrnb3tlZzri6TrqbQsIOyjvOyWtOynhCDrrLjsoJzqsIAg7ZW06rKwIOuQoCDrlYzquYzsp4AgYHVucmVncHJvZGAg7J6R7JeF7J2EIOyCrOyaqe2VmOyXrCDrs7jsnbjsnbQg7IOd7IKwIOychOy5mOyXkOyEnCDsoJzqsbDrkKjsnbQg7ZGc7KSAIOq0gO2WieycvOuhnCDqt5zsoJXrkJjslrQg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCuS4pOi9ruaIluabtOWkmui9ruS4ouWdl+eahOaDheW9ogoK5oiR77yMe3sgcHJvZHVjZXIgfX0sIOehruiupOWmguaenOi/nue7reS4pOi9ruaIluabtOWkmui9ruS4ouWdl+S4lOaXoOazleWcqDIw5YiG6ZKf5YaF6IGU57O75Yiw5oiR77yM5oiR77yMe3sgcHJvZHVjZXIgfX0sIOWQjOaEj+WPr+iDveS8mueUqCBgcm12cHJvZHVjZXJgIOaTjeS9nOWwhuaIkeenu+mZpOOAggrmiJHvvIx7eyBwcm9kdWNlciB9fSwg5aaC5p6c6L+e57ut5Lik6L2u5oiW5pu05aSa6L2u5Lii5Z2X77yM5qC55o2u5qCH5YeG5a6e6Le15Lya5Y+R6LW3IGB1bnJlZ3Byb2RgIOaTjeS9nOWwhuaIkeenu+mZpOWHuuWdl+i1hOagvO+8jOebtOWIsOmXrumimOino+WGs+OAggoKIyMjIDExLiBVcmdlbnQgU2VjdXJpdHkgUGF0Y2hlcwoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgaWYgSSBhbSBub3QgYWJsZSB0byBiZSBjb250YWN0ZWQgaW4gYW55IGZvcm0gYWZ0ZXIgYW4gdXJnZW50IHNlY3VyaXR5IHBhdGNoIGlzIGFubm91bmNlZCwgSSBtYXkgYmUgcmVtb3ZlZCBieSB1c2Ugb2YgdGhlIGBybXZwcm9kdWNlcmAgYWN0aW9uLgoK6ri06riJIOuztOyViCDtjKjsuZgK6ri06riJIOuztOyViCDtjKjsuZjqsIAg67Cc7ZGcIOuQnCDtm4QsIOyWtOuWpCDtmJXtg5zroZzrk6Ag7Jew6529IO2VoCDsiJgg7JeG64qUIOqyveyasCBgcm12cHJvZHVjZXJgIOyekeyXheydhCDsgqzsmqntlZjsl6wg7KCc6rGwIOuQoCDsiJgg7J6I7J2M7J2EIOuCmCwge3sgcHJvZHVjZXIgfX3ripQg7J247KCV7ZWp64uI64ukLgoK57Sn5oCl5a6J5YWo6KGl5LiBCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOehruiupOWmguaenOWcqOe0p+aApeWuieWFqOihpeS4geWPkeW4g+WQjueUqOS7u+S9leaWueW8j+mDveaXoOazleiBlOezu+WIsOaIke+8jOWPr+iDveS8mueUqCBgcm12cHJvZHVjZXJgIOaMh+S7pOWwhuaIkeenu+mZpOOAggoKIyMjIDEyLiBEaXNjbG9zdXJlIG9mIEVudGl0eSBhbmQgU2VydmVyIEluZm9ybWF0aW9uCgpJLCB7eyBwcm9kdWNlciB9fSwgYXR0ZXN0IHRoYXQgSSBoYXZlIGRpc2Nsb3NlZCB0aGUgYXBwcm94aW1hdGUgZ2VvbG9jYXRpb24gZm9yIG15IG1haW4gcHJvZHVjdGlvbiBub2RlIGFzIGJlaW5nIHt7IGxvY2F0aW9uIH19LgoK67KV7J24IOuwjyDshJzrsoQg7KCV67O07J2YIOqzteqwnAoK64KYLCB7eyBwcm9kdWNlciB9fSDripQg7KO8IOyDneyCsCDrhbjrk5zsl5Ag64yA7ZWcIOychOy5mCDsoJXrs7Trpbwg6rO16rCc7ZaI7J2M7J2EIOymneuqhe2VqeuLiOuLpC4KCuWunuS9k+WSjOacjeWKoeWZqOeahOS/oeaBr+aKq+mcsgoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIznoa7orqTmiJHlt7Lnu4/miqvpnLLkuobkuLvlh7rlnZfoioLngrnmnI3liqHlmajlnLDnkIbkvY3nva7nmoTlh4bnoa7kv6Hmga/jgILlhbblnLDlnYDkuLoge3sgbG9jYXRpb24gfX3jgIIKCiMjIyAxMy4gRXN0YWJsaXNoZXMgdGhlIHBlbmFsdHkgYW5kIHByb2NlZHVyZSBmb3IgdW53aWxsaW5nbmVzcyB0byBjb21wbHkgd2l0aCBwZW5hbHRpZXMgb3IgcHJvY2VkdXJlcwoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgZmFpbGluZyB0byBjb21wbHkgd2l0aCBwZW5hbHRpZXMgb3IgcHJvY2VkdXJlcyBlbmFjdGVkIGFnYWluc3QgbWUgd2lsbCByZXN1bHQgaW4gQmxvY2sgUHJvZHVjZXJzIGV4ZWN1dGluZyB0aGUgYHJtdnByb2R1Y2VyYCBjb250cmFjdCB0byByZW1vdmUgbWUuCgpJLCB7eyBwcm9kdWNlciB9fSwgd2lsbCBub3QgZXhlY3V0ZSB0aGUgYHJlZ3Byb2R1Y2VyYCBjb250cmFjdCB1bnRpbCBzZXJ2aW5nIG9yIGZ1bGZpbGxpbmcgdGhlIHJlcXVpcmVtZW50cyBmcm9tIGEgcGVuYWx0eSBvciBwcm9jZWR1cmUgdGhhdCByZXN1bHRzIGluIGhhdmluZyB0aGUgYHJtdnByb2R1Y2VyYCBjb250cmFjdCBleGVjdXRlZCB0byByZW1vdmUgbWUuCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBpZiBJIGNvbnRpbnVlIHRvIGNhbGwgdGhlIGByZWdwcm9kdWNlcmAgYWN0aW9uIHdpdGhvdXQgc2VydmluZyBvciBmdWxmaWxsaW5nIHRoZSByZXF1aXJlbWVudHMgZnJvbSBicmVhY2ggb2YgYHJlZ3Byb2R1Y2VyYCwgbXkgYWNjb3VudCBrZXlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVnaXN0ZXJlZCBCbG9jayBQcm9kdWNlciBpbiBxdWVzdGlvbiBtYXkgYmUgbnVsbGVkIGJ5IEJsb2NrIFByb2R1Y2VycyBieSB1c2luZyBgZW9zaW8ud3JhcGAuCgrtjpjrhJDti7Drpbwg7KSA7IiY7ZWY7KeAIOyViuydhCDqsr3smrAg67KM7LmZCgrrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCDrgpjsl5Dqsowg7KCc7J6s65CcIOyymOuyjOydhCDspIDsiJjtlZjsp4Ag7JWK7Jy866m0IOu4lOuhne2UhOuhnOuTgOyEnOuTpOydtCBgcm12cHJvZHVjZXJgIOqzhOyVveydhCDsp5HtlontlZjqsowg65CgIOqyg+ydtOudvOqzoCDsnbjsoJXtlanri4jri6QuIOuCmCwge3sgcHJvZHVjZXIgfX0g64qUIGBybXZwcm9kdWNlcmAg6rOE7JW97J20IOynke2WieuQnOuLpOuptCDsmpTqtawg7IKs7ZWt7J2EIOy2qeyhseuQoCDrlYzquYzsp4AgYHJlZ3Byb2R1Y2VyYCDqs4Tslb3snYQg7J207ZaJ7ZWY7KeAIOyViuydhCDqsoPsnoXri4jri6QuCmByZWdwcm9kdWNlcmAg6rOE7JW9IOychOuwmOycvOuhnCDsnbjtlZwg7JqU6rWsIOyCrO2VreydhCDstqnsobHsi5ztgqTsp4Ag7JWK6rOgIGByZWdwcm9kdWNlcmAg6rOE7JW97J2EIOqzhOyGjSDtmLjstpztlZjrqbQg7ZW064u5IOu4lOuhne2UhOuhnOuTgOyEnOyZgCDqtIDroKjrkJwg6rOE7KCVIO2CpOqwgCBgZW9zaW8ud3JhcGAg7J2EIOyCrOyaqe2VmOyXrCDruJTroZ3tlITroZzrk4DshJzrk6Tsl5Ag7J2Y7ZW0IOustO2aqO2ZlCDrkKAg7IiYIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgrlr7nkuI3mhL/pgbXlrojlpITnvZrnmoTooYzkuLrkuojku6XlpITnvZoKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5om/6K6k6Iul5LiN6YG15a6I5a+55pys5Lq65Yi26KOB55qE5aSE572a77yMQlAg5Y+v5Lul5a6e5pa9IGBybXZwcm9kdWNlcmAg5ZCI57qm77yM5oiR5o6l5Y+X5oqV56Wo55qE6LWE5qC85bCG6KKr5Y+W5raI44CC6Iul5pyJ6ZKI5a+55oiR5a6e5pa9IGBybXZwcm9kdWNlcmAg5ZCI57qm55qE5oOF5Ya15Y+R55Sf77yM5oiRLCB7eyBwcm9kdWNlciB9fSDlnKjpgbXlrogv5bGl6KGM5omA5pS25Yiw55qE5aSE572a5LmL5YmN77yM5LiN5Lya5YaN5qyh5omn6KGMIGByZWdwcm9kdWNlcmAg5ZCI57qm44CCCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOWcqOWxpeihjOaDqee9mueoi+W6j+eahOimgeaxguS5i+WJje+8jOS4jeS8muaJp+ihjCBgcmVncHJvZHVjZXJgIOWQiOWQjOOAguaIkeefpeaZk+WmguS4jeWxpeihjOatpOeoi+W6j++8jCBgcm12cHJvZHVjZXJgIOWQiOWQjOWwhuS8muWGjeasoeWwhuaIkeenu+mZpOOAggoK5oiRLHt7IHByb2R1Y2VyIH19LCDmib/orqTlpoLmnpzmsqHmnInpgbXlrojmiJblsaXooYzlm6Dov53lj40gYHJlZ3Byb2R1Y2VyYCDogIzlj5fliLDnmoTmg6nnvZropoHmsYLljbTnu6fnu63osIPnlKhgcmVncHJvZHVjZXJg5pON5L2c77yMQlAg5Y+v5Lul6LCD55SoIGBlb3Npby53cmFwYCDlkIjnuqblsIbmiJHnlKjmnaXms6jlhozlh7rlnZfoioLngrnnmoTotKblj7flr4bpkqXorr7nva7kuLrml6DmlYjlgLzjgIIAAAEidmFyaWFudF9ibG9ja19zaWduaW5nX2F1dGhvcml0eV92MAEaYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjAGAAAAAEhzvT4UYWN0aW9uX3JldHVybl9idXlyYW0AsMr+SHO9PhRhY3Rpb25fcmV0dXJuX2J1eXJhbQDAigpLc70+FGFjdGlvbl9yZXR1cm5fYnV5cmFtAAAAYF59pLkZYWN0aW9uX3JldHVybl9yYW10cmFuc2ZlcgCuWniam6W5GWFjdGlvbl9yZXR1cm5fcmFtdHJhbnNmZXIAAABAmhujwhVhY3Rpb25fcmV0dXJuX3NlbGxyYW0=" }, - "text": "{\"account_name\":\"eosio\",\"code_hash\":\"6b93a5f220b03a37e98298010aa8562a028f484f1775c9d14512eda7f5498c18\",\"abi_hash\":\"61788bc26da987e1aa17600bc8327949146a5700bfbcbfb3cec4213b4120b3cd\",\"abi\":\"DmVvc2lvOjphYmkvMS4yAhdibG9ja19zaWduaW5nX2F1dGhvcml0eSJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MWcIYWJpX2hhc2gAAgVvd25lcgRuYW1lBGhhc2gLY2hlY2tzdW0yNTYIYWN0aXZhdGUAAQ5mZWF0dXJlX2RpZ2VzdAtjaGVja3N1bTI1NglhdXRob3JpdHkABAl0aHJlc2hvbGQGdWludDMyBGtleXMMa2V5X3dlaWdodFtdCGFjY291bnRzGXBlcm1pc3Npb25fbGV2ZWxfd2VpZ2h0W10Fd2FpdHMNd2FpdF93ZWlnaHRbXQpiaWRfcmVmdW5kAAIGYmlkZGVyBG5hbWUGYW1vdW50BWFzc2V0B2JpZG5hbWUAAwZiaWRkZXIEbmFtZQduZXduYW1lBG5hbWUDYmlkBWFzc2V0CWJpZHJlZnVuZAACBmJpZGRlcgRuYW1lB25ld25hbWUEbmFtZQxibG9ja19oZWFkZXIACAl0aW1lc3RhbXAGdWludDMyCHByb2R1Y2VyBG5hbWUJY29uZmlybWVkBnVpbnQxNghwcmV2aW91cwtjaGVja3N1bTI1NhF0cmFuc2FjdGlvbl9tcm9vdAtjaGVja3N1bTI1NgxhY3Rpb25fbXJvb3QLY2hlY2tzdW0yNTYQc2NoZWR1bGVfdmVyc2lvbgZ1aW50MzINbmV3X3Byb2R1Y2VycxJwcm9kdWNlcl9zY2hlZHVsZT8RYmxvY2tfaW5mb19yZWNvcmQAAwd2ZXJzaW9uBXVpbnQ4DGJsb2NrX2hlaWdodAZ1aW50MzIPYmxvY2tfdGltZXN0YW1wCnRpbWVfcG9pbnQaYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjAAAgl0aHJlc2hvbGQGdWludDMyBGtleXMMa2V5X3dlaWdodFtdFWJsb2NrY2hhaW5fcGFyYW1ldGVycwARE21heF9ibG9ja19uZXRfdXNhZ2UGdWludDY0GnRhcmdldF9ibG9ja19uZXRfdXNhZ2VfcGN0BnVpbnQzMhltYXhfdHJhbnNhY3Rpb25fbmV0X3VzYWdlBnVpbnQzMh5iYXNlX3Blcl90cmFuc2FjdGlvbl9uZXRfdXNhZ2UGdWludDMyEG5ldF91c2FnZV9sZWV3YXkGdWludDMyI2NvbnRleHRfZnJlZV9kaXNjb3VudF9uZXRfdXNhZ2VfbnVtBnVpbnQzMiNjb250ZXh0X2ZyZWVfZGlzY291bnRfbmV0X3VzYWdlX2RlbgZ1aW50MzITbWF4X2Jsb2NrX2NwdV91c2FnZQZ1aW50MzIadGFyZ2V0X2Jsb2NrX2NwdV91c2FnZV9wY3QGdWludDMyGW1heF90cmFuc2FjdGlvbl9jcHVfdXNhZ2UGdWludDMyGW1pbl90cmFuc2FjdGlvbl9jcHVfdXNhZ2UGdWludDMyGG1heF90cmFuc2FjdGlvbl9saWZldGltZQZ1aW50MzIeZGVmZXJyZWRfdHJ4X2V4cGlyYXRpb25fd2luZG93BnVpbnQzMhVtYXhfdHJhbnNhY3Rpb25fZGVsYXkGdWludDMyFm1heF9pbmxpbmVfYWN0aW9uX3NpemUGdWludDMyF21heF9pbmxpbmVfYWN0aW9uX2RlcHRoBnVpbnQxNhNtYXhfYXV0aG9yaXR5X2RlcHRoBnVpbnQxNhhibG9ja2NoYWluX3BhcmFtZXRlcnNfdjEVYmxvY2tjaGFpbl9wYXJhbWV0ZXJzARxtYXhfYWN0aW9uX3JldHVybl92YWx1ZV9zaXplB3VpbnQzMiQGYnV5cmFtAAMFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lBXF1YW50BWFzc2V0C2J1eXJhbWJ5dGVzAAMFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lBWJ5dGVzBnVpbnQzMgZidXlyZXgAAgRmcm9tBG5hbWUGYW1vdW50BWFzc2V0C2NhbmNlbGRlbGF5AAIOY2FuY2VsaW5nX2F1dGgQcGVybWlzc2lvbl9sZXZlbAZ0cnhfaWQLY2hlY2tzdW0yNTYKY2ZncG93ZXJ1cAABBGFyZ3MOcG93ZXJ1cF9jb25maWcMY2xhaW1yZXdhcmRzAAEFb3duZXIEbmFtZQhjbG9zZXJleAABBW93bmVyBG5hbWUMY25jbHJleG9yZGVyAAEFb3duZXIEbmFtZQljb25uZWN0b3IAAgdiYWxhbmNlBWFzc2V0BndlaWdodAdmbG9hdDY0C2NvbnNvbGlkYXRlAAEFb3duZXIEbmFtZQpkZWZjcHVsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAZhbW91bnQFYXNzZXQKZGVmbmV0bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQGYW1vdW50BWFzc2V0CmRlbGVnYXRlYncABQRmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZRJzdGFrZV9uZXRfcXVhbnRpdHkFYXNzZXQSc3Rha2VfY3B1X3F1YW50aXR5BWFzc2V0CHRyYW5zZmVyBGJvb2wTZGVsZWdhdGVkX2JhbmR3aWR0aAAEBGZyb20EbmFtZQJ0bwRuYW1lCm5ldF93ZWlnaHQFYXNzZXQKY3B1X3dlaWdodAVhc3NldApkZWxldGVhdXRoAAMHYWNjb3VudARuYW1lCnBlcm1pc3Npb24EbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkB2RlcG9zaXQAAgVvd25lcgRuYW1lBmFtb3VudAVhc3NldBJlb3Npb19nbG9iYWxfc3RhdGUVYmxvY2tjaGFpbl9wYXJhbWV0ZXJzDQxtYXhfcmFtX3NpemUGdWludDY0GHRvdGFsX3JhbV9ieXRlc19yZXNlcnZlZAZ1aW50NjQPdG90YWxfcmFtX3N0YWtlBWludDY0HWxhc3RfcHJvZHVjZXJfc2NoZWR1bGVfdXBkYXRlFGJsb2NrX3RpbWVzdGFtcF90eXBlGGxhc3RfcGVydm90ZV9idWNrZXRfZmlsbAp0aW1lX3BvaW50DnBlcnZvdGVfYnVja2V0BWludDY0D3BlcmJsb2NrX2J1Y2tldAVpbnQ2NBN0b3RhbF91bnBhaWRfYmxvY2tzBnVpbnQzMhV0b3RhbF9hY3RpdmF0ZWRfc3Rha2UFaW50NjQbdGhyZXNoX2FjdGl2YXRlZF9zdGFrZV90aW1lCnRpbWVfcG9pbnQbbGFzdF9wcm9kdWNlcl9zY2hlZHVsZV9zaXplBnVpbnQxNhp0b3RhbF9wcm9kdWNlcl92b3RlX3dlaWdodAdmbG9hdDY0D2xhc3RfbmFtZV9jbG9zZRRibG9ja190aW1lc3RhbXBfdHlwZRNlb3Npb19nbG9iYWxfc3RhdGUyAAURbmV3X3JhbV9wZXJfYmxvY2sGdWludDE2EWxhc3RfcmFtX2luY3JlYXNlFGJsb2NrX3RpbWVzdGFtcF90eXBlDmxhc3RfYmxvY2tfbnVtFGJsb2NrX3RpbWVzdGFtcF90eXBlHHRvdGFsX3Byb2R1Y2VyX3ZvdGVwYXlfc2hhcmUHZmxvYXQ2NAhyZXZpc2lvbgV1aW50OBNlb3Npb19nbG9iYWxfc3RhdGUzAAIWbGFzdF92cGF5X3N0YXRlX3VwZGF0ZQp0aW1lX3BvaW50HHRvdGFsX3ZwYXlfc2hhcmVfY2hhbmdlX3JhdGUHZmxvYXQ2NBNlb3Npb19nbG9iYWxfc3RhdGU0AAMPY29udGludW91c19yYXRlB2Zsb2F0NjQUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQOZXhjaGFuZ2Vfc3RhdGUAAwZzdXBwbHkFYXNzZXQEYmFzZQljb25uZWN0b3IFcXVvdGUJY29ubmVjdG9yC2Z1bmRjcHVsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAdwYXltZW50BWFzc2V0C2Z1bmRuZXRsb2FuAAMEZnJvbQRuYW1lCGxvYW5fbnVtBnVpbnQ2NAdwYXltZW50BWFzc2V0BGluaXQAAgd2ZXJzaW9uCXZhcnVpbnQzMgRjb3JlBnN5bWJvbAprZXlfd2VpZ2h0AAIDa2V5CnB1YmxpY19rZXkGd2VpZ2h0BnVpbnQxNgxsaW1pdGF1dGhjaGcAAwdhY2NvdW50BG5hbWULYWxsb3dfcGVybXMGbmFtZVtdDmRpc2FsbG93X3Blcm1zBm5hbWVbXQhsaW5rYXV0aAAFB2FjY291bnQEbmFtZQRjb2RlBG5hbWUEdHlwZQRuYW1lC3JlcXVpcmVtZW50BG5hbWUNYXV0aG9yaXplZF9ieQVuYW1lJAttdmZyc2F2aW5ncwACBW93bmVyBG5hbWUDcmV4BWFzc2V0C212dG9zYXZpbmdzAAIFb3duZXIEbmFtZQNyZXgFYXNzZXQIbmFtZV9iaWQABAduZXduYW1lBG5hbWULaGlnaF9iaWRkZXIEbmFtZQhoaWdoX2JpZAVpbnQ2NA1sYXN0X2JpZF90aW1lCnRpbWVfcG9pbnQKbmV3YWNjb3VudAAEB2NyZWF0b3IEbmFtZQRuYW1lBG5hbWUFb3duZXIJYXV0aG9yaXR5BmFjdGl2ZQlhdXRob3JpdHkHb25ibG9jawABBmhlYWRlcgxibG9ja19oZWFkZXIHb25lcnJvcgACCXNlbmRlcl9pZAd1aW50MTI4CHNlbnRfdHJ4BWJ5dGVzGXBhaXJfdGltZV9wb2ludF9zZWNfaW50NjQAAgVmaXJzdA50aW1lX3BvaW50X3NlYwZzZWNvbmQFaW50NjQQcGVybWlzc2lvbl9sZXZlbAACBWFjdG9yBG5hbWUKcGVybWlzc2lvbgRuYW1lF3Blcm1pc3Npb25fbGV2ZWxfd2VpZ2h0AAIKcGVybWlzc2lvbhBwZXJtaXNzaW9uX2xldmVsBndlaWdodAZ1aW50MTYHcG93ZXJ1cAAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQRkYXlzBnVpbnQzMghuZXRfZnJhYwVpbnQ2NAhjcHVfZnJhYwVpbnQ2NAttYXhfcGF5bWVudAVhc3NldA5wb3dlcnVwX2NvbmZpZwAEA25ldBdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQNjcHUXcG93ZXJ1cF9jb25maWdfcmVzb3VyY2UMcG93ZXJ1cF9kYXlzB3VpbnQzMj8PbWluX3Bvd2VydXBfZmVlBmFzc2V0Pxdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQAIFGN1cnJlbnRfd2VpZ2h0X3JhdGlvBmludDY0PxN0YXJnZXRfd2VpZ2h0X3JhdGlvBmludDY0PxRhc3N1bWVkX3N0YWtlX3dlaWdodAZpbnQ2ND8QdGFyZ2V0X3RpbWVzdGFtcA90aW1lX3BvaW50X3NlYz8IZXhwb25lbnQIZmxvYXQ2ND8KZGVjYXlfc2Vjcwd1aW50MzI/CW1pbl9wcmljZQZhc3NldD8JbWF4X3ByaWNlBmFzc2V0Pw1wb3dlcnVwX29yZGVyAAYHdmVyc2lvbgV1aW50OAJpZAZ1aW50NjQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHZXhwaXJlcw50aW1lX3BvaW50X3NlYw1wb3dlcnVwX3N0YXRlAAUHdmVyc2lvbgV1aW50OANuZXQWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQNjcHUWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQxwb3dlcnVwX2RheXMGdWludDMyD21pbl9wb3dlcnVwX2ZlZQVhc3NldBZwb3dlcnVwX3N0YXRlX3Jlc291cmNlAA8HdmVyc2lvbgV1aW50OAZ3ZWlnaHQFaW50NjQMd2VpZ2h0X3JhdGlvBWludDY0FGFzc3VtZWRfc3Rha2Vfd2VpZ2h0BWludDY0FGluaXRpYWxfd2VpZ2h0X3JhdGlvBWludDY0E3RhcmdldF93ZWlnaHRfcmF0aW8FaW50NjQRaW5pdGlhbF90aW1lc3RhbXAOdGltZV9wb2ludF9zZWMQdGFyZ2V0X3RpbWVzdGFtcA50aW1lX3BvaW50X3NlYwhleHBvbmVudAdmbG9hdDY0CmRlY2F5X3NlY3MGdWludDMyCW1pbl9wcmljZQVhc3NldAltYXhfcHJpY2UFYXNzZXQLdXRpbGl6YXRpb24FaW50NjQUYWRqdXN0ZWRfdXRpbGl6YXRpb24FaW50NjQVdXRpbGl6YXRpb25fdGltZXN0YW1wDnRpbWVfcG9pbnRfc2VjC3Bvd2VydXBleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYNcHJvZHVjZXJfaW5mbwAJBW93bmVyBG5hbWULdG90YWxfdm90ZXMHZmxvYXQ2NAxwcm9kdWNlcl9rZXkKcHVibGljX2tleQlpc19hY3RpdmUEYm9vbAN1cmwGc3RyaW5nDXVucGFpZF9ibG9ja3MGdWludDMyD2xhc3RfY2xhaW1fdGltZQp0aW1lX3BvaW50CGxvY2F0aW9uBnVpbnQxNhJwcm9kdWNlcl9hdXRob3JpdHkYYmxvY2tfc2lnbmluZ19hdXRob3JpdHkkDnByb2R1Y2VyX2luZm8yAAMFb3duZXIEbmFtZQ12b3RlcGF5X3NoYXJlB2Zsb2F0NjQZbGFzdF92b3RlcGF5X3NoYXJlX3VwZGF0ZQp0aW1lX3BvaW50DHByb2R1Y2VyX2tleQACDXByb2R1Y2VyX25hbWUEbmFtZRFibG9ja19zaWduaW5nX2tleQpwdWJsaWNfa2V5EXByb2R1Y2VyX3NjaGVkdWxlAAIHdmVyc2lvbgZ1aW50MzIJcHJvZHVjZXJzDnByb2R1Y2VyX2tleVtdBnJlZnVuZAABBW93bmVyBG5hbWUOcmVmdW5kX3JlcXVlc3QABAVvd25lcgRuYW1lDHJlcXVlc3RfdGltZQ50aW1lX3BvaW50X3NlYwpuZXRfYW1vdW50BWFzc2V0CmNwdV9hbW91bnQFYXNzZXQLcmVncHJvZHVjZXIABAhwcm9kdWNlcgRuYW1lDHByb2R1Y2VyX2tleQpwdWJsaWNfa2V5A3VybAZzdHJpbmcIbG9jYXRpb24GdWludDE2DHJlZ3Byb2R1Y2VyMgAECHByb2R1Y2VyBG5hbWUScHJvZHVjZXJfYXV0aG9yaXR5F2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5A3VybAZzdHJpbmcIbG9jYXRpb24GdWludDE2CHJlZ3Byb3h5AAIFcHJveHkEbmFtZQdpc3Byb3h5BGJvb2wHcmVudGNwdQAEBGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lDGxvYW5fcGF5bWVudAVhc3NldAlsb2FuX2Z1bmQFYXNzZXQHcmVudG5ldAAEBGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lDGxvYW5fcGF5bWVudAVhc3NldAlsb2FuX2Z1bmQFYXNzZXQLcmV4X2JhbGFuY2UABgd2ZXJzaW9uBXVpbnQ4BW93bmVyBG5hbWUKdm90ZV9zdGFrZQVhc3NldAtyZXhfYmFsYW5jZQVhc3NldAttYXR1cmVkX3JleAVpbnQ2NA5yZXhfbWF0dXJpdGllcxtwYWlyX3RpbWVfcG9pbnRfc2VjX2ludDY0W10IcmV4X2Z1bmQAAwd2ZXJzaW9uBXVpbnQ4BW93bmVyBG5hbWUHYmFsYW5jZQVhc3NldAhyZXhfbG9hbgAIB3ZlcnNpb24FdWludDgEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUHcGF5bWVudAVhc3NldAdiYWxhbmNlBWFzc2V0DHRvdGFsX3N0YWtlZAVhc3NldAhsb2FuX251bQZ1aW50NjQKZXhwaXJhdGlvbgp0aW1lX3BvaW50CXJleF9vcmRlcgAHB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQ1yZXhfcmVxdWVzdGVkBWFzc2V0CHByb2NlZWRzBWFzc2V0DHN0YWtlX2NoYW5nZQVhc3NldApvcmRlcl90aW1lCnRpbWVfcG9pbnQHaXNfb3BlbgRib29sCHJleF9wb29sAAgHdmVyc2lvbgV1aW50OAp0b3RhbF9sZW50BWFzc2V0DHRvdGFsX3VubGVudAVhc3NldAp0b3RhbF9yZW50BWFzc2V0DnRvdGFsX2xlbmRhYmxlBWFzc2V0CXRvdGFsX3JleAVhc3NldBBuYW1lYmlkX3Byb2NlZWRzBWFzc2V0CGxvYW5fbnVtBnVpbnQ2NBJyZXhfcmV0dXJuX2J1Y2tldHMAAgd2ZXJzaW9uBXVpbnQ4DnJldHVybl9idWNrZXRzG3BhaXJfdGltZV9wb2ludF9zZWNfaW50NjRbXQ9yZXhfcmV0dXJuX3Bvb2wABwd2ZXJzaW9uBXVpbnQ4Dmxhc3RfZGlzdF90aW1lDnRpbWVfcG9pbnRfc2VjE3BlbmRpbmdfYnVja2V0X3RpbWUOdGltZV9wb2ludF9zZWMSb2xkZXN0X2J1Y2tldF90aW1lDnRpbWVfcG9pbnRfc2VjF3BlbmRpbmdfYnVja2V0X3Byb2NlZWRzBWludDY0GGN1cnJlbnRfcmF0ZV9vZl9pbmNyZWFzZQVpbnQ2NAhwcm9jZWVkcwVpbnQ2NAdyZXhleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYLcm12cHJvZHVjZXIAAQhwcm9kdWNlcgRuYW1lB3NlbGxyYW0AAgdhY2NvdW50BG5hbWUFYnl0ZXMFaW50NjQHc2VsbHJleAACBGZyb20EbmFtZQNyZXgFYXNzZXQGc2V0YWJpAAMHYWNjb3VudARuYW1lA2FiaQVieXRlcwRtZW1vB3N0cmluZyQKc2V0YWNjdGNwdQACB2FjY291bnQEbmFtZQpjcHVfd2VpZ2h0BmludDY0PwpzZXRhY2N0bmV0AAIHYWNjb3VudARuYW1lCm5ldF93ZWlnaHQGaW50NjQ/CnNldGFjY3RyYW0AAgdhY2NvdW50BG5hbWUJcmFtX2J5dGVzBmludDY0PwpzZXRhbGltaXRzAAQHYWNjb3VudARuYW1lCXJhbV9ieXRlcwVpbnQ2NApuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHc2V0Y29kZQAFB2FjY291bnQEbmFtZQZ2bXR5cGUFdWludDgJdm12ZXJzaW9uBXVpbnQ4BGNvZGUFYnl0ZXMEbWVtbwdzdHJpbmckDHNldGluZmxhdGlvbgADC2FubnVhbF9yYXRlBWludDY0FGluZmxhdGlvbl9wYXlfZmFjdG9yBWludDY0DnZvdGVwYXlfZmFjdG9yBWludDY0CXNldHBhcmFtcwABBnBhcmFtcxdibG9ja2NoYWluX3BhcmFtZXRlcnNfdAdzZXRwcml2AAIHYWNjb3VudARuYW1lB2lzX3ByaXYFdWludDgGc2V0cmFtAAEMbWF4X3JhbV9zaXplBnVpbnQ2NApzZXRyYW1yYXRlAAEPYnl0ZXNfcGVyX2Jsb2NrBnVpbnQxNgZzZXRyZXgAAQdiYWxhbmNlBWFzc2V0DHVuZGVsZWdhdGVidwAEBGZyb20EbmFtZQhyZWNlaXZlcgRuYW1lFHVuc3Rha2VfbmV0X3F1YW50aXR5BWFzc2V0FHVuc3Rha2VfY3B1X3F1YW50aXR5BWFzc2V0CnVubGlua2F1dGgABAdhY2NvdW50BG5hbWUEY29kZQRuYW1lBHR5cGUEbmFtZQ1hdXRob3JpemVkX2J5BW5hbWUkCXVucmVncHJvZAABCHByb2R1Y2VyBG5hbWUMdW5zdGFrZXRvcmV4AAQFb3duZXIEbmFtZQhyZWNlaXZlcgRuYW1lCGZyb21fbmV0BWFzc2V0CGZyb21fY3B1BWFzc2V0CnVwZGF0ZWF1dGgABQdhY2NvdW50BG5hbWUKcGVybWlzc2lvbgRuYW1lBnBhcmVudARuYW1lBGF1dGgJYXV0aG9yaXR5DWF1dGhvcml6ZWRfYnkFbmFtZSQJdXBkYXRlcmV4AAEFb3duZXIEbmFtZQx1cGR0cmV2aXNpb24AAQhyZXZpc2lvbgV1aW50OA51c2VyX3Jlc291cmNlcwAEBW93bmVyBG5hbWUKbmV0X3dlaWdodAVhc3NldApjcHVfd2VpZ2h0BWFzc2V0CXJhbV9ieXRlcwVpbnQ2NAx2b3RlcHJvZHVjZXIAAwV2b3RlcgRuYW1lBXByb3h5BG5hbWUJcHJvZHVjZXJzBm5hbWVbXQp2b3Rlcl9pbmZvAAoFb3duZXIEbmFtZQVwcm94eQRuYW1lCXByb2R1Y2VycwZuYW1lW10Gc3Rha2VkBWludDY0EGxhc3Rfdm90ZV93ZWlnaHQHZmxvYXQ2NBNwcm94aWVkX3ZvdGVfd2VpZ2h0B2Zsb2F0NjQIaXNfcHJveHkEYm9vbAZmbGFnczEGdWludDMyCXJlc2VydmVkMgZ1aW50MzIJcmVzZXJ2ZWQzBWFzc2V0CnZvdGV1cGRhdGUAAQp2b3Rlcl9uYW1lBG5hbWULd2FpdF93ZWlnaHQAAgh3YWl0X3NlYwZ1aW50MzIGd2VpZ2h0BnVpbnQxNgd3YXNtY2ZnAAEIc2V0dGluZ3MEbmFtZQh3aXRoZHJhdwACBW93bmVyBG5hbWUGYW1vdW50BWFzc2V0EWxpbWl0X2F1dGhfY2hhbmdlAAQHdmVyc2lvbgV1aW50OAdhY2NvdW50BG5hbWULYWxsb3dfcGVybXMGbmFtZVtdDmRpc2FsbG93X3Blcm1zBm5hbWVbXT4AAAAqm+0yMghhY3RpdmF0ZQAAAABASTOTOwdiaWRuYW1lAAAASFMvdZM7CWJpZHJlZnVuZAAAAAAASHO9PgZidXlyYW0AALDK/khzvT4LYnV5cmFtYnl0ZXMAAAAAAHR1vT4GYnV5cmV4AAC8iSpFhaZBC2NhbmNlbGRlbGF5AABA1VdxWtlCCmNmZ3Bvd2VydXAAgNM1XF3pTEQMY2xhaW1yZXdhcmRzAAAAAF1dhWlECGNsb3NlcmV4AHBVurSrG9FEDGNuY2xyZXhvcmRlcgAAVDbJRYonRQtjb25zb2xpZGF0ZQAAwDQ06oqWSgpkZWZjcHVsb2FuAADANDRmNZdKCmRlZm5ldGxvYW4AAAA/KhumokoKZGVsZWdhdGVidwAAQMvaqKyiSgpkZWxldGVhdXRoAAAAACA7TKtKB2RlcG9zaXQAAKahUVeUpl4LZnVuZGNwdWxvYW4AAKahMauZpl4LZnVuZG5ldGxvYW4AAAAAAACQ3XQEaW5pdADAGmpZm+ykiwxsaW1pdGF1dGhjaGcAAAAALWsDp4sIbGlua2F1dGgAADCbbht815YLbXZmcnNhdmluZ3MAADCbbhtM85YLbXZ0b3NhdmluZ3MAAECemiJkuJoKbmV3YWNjb3VudAAAAAAAIhrPpAdvbmJsb2NrAAAAAODSe9WkB29uZXJyb3IAAAAAoOqrOK0HcG93ZXJ1cAAAkOqq6qs4rQtwb3dlcnVwZXhlYwAAAAAApKmXugZyZWZ1bmQAAK5COtFbmboLcmVncHJvZHVjZXIAIK5COtFbmboMcmVncHJvZHVjZXIyAAAAAL7TW5m6CHJlZ3Byb3h5AAAAAEBXlKe6B3JlbnRjcHUAAAAAIKuZp7oHcmVudG5ldAAAAAAAqa66ugdyZXhleGVjAACuQjrRW7e8C3JtdnByb2R1Y2VyAAAAAECaG6PCB3NlbGxyYW0AAAAAoKsbo8IHc2VsbHJleAAAAAAAuGOywgZzZXRhYmkAAICuKCNkssIKc2V0YWNjdGNwdQAAQFYzI2SywgpzZXRhY2N0bmV0AACANDcjZLLCCnNldGFjY3RyYW0AAADOTrpossIKc2V0YWxpbWl0cwAAAABAJYqywgdzZXRjb2RlADCpyyau6bLCDHNldGluZmxhdGlvbgAAAMDSXFOzwglzZXRwYXJhbXMAAAAAYLtbs8IHc2V0cHJpdgAAAAAASHOzwgZzZXRyYW0AAIDK5kpzs8IKc2V0cmFtcmF0ZQAAAAAAdHWzwgZzZXRyZXgAwI/Khqmo0tQMdW5kZWxlZ2F0ZWJ3AABAy9rA6eLUCnVubGlua2F1dGgAAABI9Fam7tQJdW5yZWdwcm9kANDVpVlBk/HUDHVuc3Rha2V0b3JleAAAQMvaqGxS1Qp1cGRhdGVhdXRoAAAA6OqqbFLVCXVwZGF0ZXJleAAwqcNuq5tT1Qx1cGR0cmV2aXNpb24AcBXSid6qMt0Mdm90ZXByb2R1Y2VyAACAyiZVrTLdCnZvdGV1cGRhdGUAAAAAgC0kseEHd2FzbWNmZwAAAADc3NSy4wh3aXRoZHJhdwAaAAAAoGHT3DEDaTY0AAAIYWJpX2hhc2gAAE5TL3WTOwNpNjQAAApiaWRfcmVmdW5kAACgazqIaDwDaTY0AAARYmxvY2tfaW5mb19yZWNvcmQAAABgGhp1RQNpNjQAAAhyZXhfbG9hbgAAACBNc6JKA2k2NAAAE2RlbGVnYXRlZF9iYW5kd2lkdGgAAAAARHNoZANpNjQAABJlb3Npb19nbG9iYWxfc3RhdGUAAABARHNoZANpNjQAABNlb3Npb19nbG9iYWxfc3RhdGUyAAAAYERzaGQDaTY0AAATZW9zaW9fZ2xvYmFsX3N0YXRlMwAAAIBEc2hkA2k2NAAAE2Vvc2lvX2dsb2JhbF9zdGF0ZTQAAAA4uaOkmQNpNjQAAAhuYW1lX2JpZAAAAGAaGrOaA2k2NAAACHJleF9sb2FuAK5Kl4KqOa0DaTY0AAANcG93ZXJ1cF9vcmRlcgBUNhmDqjmtA2k2NAAADXBvd2VydXBfc3RhdGUAAMBXIZ3orQNpNjQAAA1wcm9kdWNlcl9pbmZvAIDAVyGd6K0DaTY0AAAOcHJvZHVjZXJfaW5mbzIAAMgKXiOluQNpNjQAAA5leGNoYW5nZV9zdGF0ZQAAAACnqZe6A2k2NAAADnJlZnVuZF9yZXF1ZXN0AADOCiJ9sroDaTY0AAAScmV4X3JldHVybl9idWNrZXRzAAAAAERzuroDaTY0AAALcmV4X2JhbGFuY2UAAAAgTb26ugNpNjQAAAhyZXhfZnVuZAAAACBSWru6A2k2NAAACHJleF9wb29sAAAASittu7oDaTY0AAAJcmV4X29yZGVyAECktGZ1u7oDaTY0AAAPcmV4X3JldHVybl9wb29sAAAAAKt7FdYDaTY0AAAOdXNlcl9yZXNvdXJjZXMAAAAA4Ksy3QNpNjQAAAp2b3Rlcl9pbmZvwBpqWZvspIsDaTY0AAARbGltaXRfYXV0aF9jaGFuZ2UAAAABInZhcmlhbnRfYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjABGmJsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3Yw=\"}" + "text": "{\"account_name\":\"eosio\",\"code_hash\":\"a2d9c10b72a586409f77be944094c161e4170bb0a7bab6e072b19161001e1930\",\"abi_hash\":\"252f428bba17993178a978741f5abed9dbe17787899fc781c25748043e73cab8\",\"abi\":\"DmVvc2lvOjphYmkvMS4yAhdibG9ja19zaWduaW5nX2F1dGhvcml0eSJ2YXJpYW50X2Jsb2NrX3NpZ25pbmdfYXV0aG9yaXR5X3YwF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MXAIYWJpX2hhc2gAAgVvd25lcgRuYW1lBGhhc2gLY2hlY2tzdW0yNTYUYWN0aW9uX3JldHVybl9idXlyYW0ABQVwYXllcgRuYW1lCHJlY2VpdmVyBG5hbWUIcXVhbnRpdHkFYXNzZXQPYnl0ZXNfcHVyY2hhc2VkBWludDY0CXJhbV9ieXRlcwVpbnQ2NBlhY3Rpb25fcmV0dXJuX3JhbXRyYW5zZmVyAAUEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQOZnJvbV9yYW1fYnl0ZXMFaW50NjQMdG9fcmFtX2J5dGVzBWludDY0FWFjdGlvbl9yZXR1cm5fc2VsbHJhbQAEB2FjY291bnQEbmFtZQhxdWFudGl0eQVhc3NldApieXRlc19zb2xkBWludDY0CXJhbV9ieXRlcwVpbnQ2NAhhY3RpdmF0ZQABDmZlYXR1cmVfZGlnZXN0C2NoZWNrc3VtMjU2CWF1dGhvcml0eQAECXRocmVzaG9sZAZ1aW50MzIEa2V5cwxrZXlfd2VpZ2h0W10IYWNjb3VudHMZcGVybWlzc2lvbl9sZXZlbF93ZWlnaHRbXQV3YWl0cw13YWl0X3dlaWdodFtdCmJpZF9yZWZ1bmQAAgZiaWRkZXIEbmFtZQZhbW91bnQFYXNzZXQHYmlkbmFtZQADBmJpZGRlcgRuYW1lB25ld25hbWUEbmFtZQNiaWQFYXNzZXQJYmlkcmVmdW5kAAIGYmlkZGVyBG5hbWUHbmV3bmFtZQRuYW1lDGJsb2NrX2hlYWRlcgAICXRpbWVzdGFtcAZ1aW50MzIIcHJvZHVjZXIEbmFtZQljb25maXJtZWQGdWludDE2CHByZXZpb3VzC2NoZWNrc3VtMjU2EXRyYW5zYWN0aW9uX21yb290C2NoZWNrc3VtMjU2DGFjdGlvbl9tcm9vdAtjaGVja3N1bTI1NhBzY2hlZHVsZV92ZXJzaW9uBnVpbnQzMg1uZXdfcHJvZHVjZXJzEnByb2R1Y2VyX3NjaGVkdWxlPxFibG9ja19pbmZvX3JlY29yZAADB3ZlcnNpb24FdWludDgMYmxvY2tfaGVpZ2h0BnVpbnQzMg9ibG9ja190aW1lc3RhbXAKdGltZV9wb2ludBpibG9ja19zaWduaW5nX2F1dGhvcml0eV92MAACCXRocmVzaG9sZAZ1aW50MzIEa2V5cwxrZXlfd2VpZ2h0W10VYmxvY2tjaGFpbl9wYXJhbWV0ZXJzABETbWF4X2Jsb2NrX25ldF91c2FnZQZ1aW50NjQadGFyZ2V0X2Jsb2NrX25ldF91c2FnZV9wY3QGdWludDMyGW1heF90cmFuc2FjdGlvbl9uZXRfdXNhZ2UGdWludDMyHmJhc2VfcGVyX3RyYW5zYWN0aW9uX25ldF91c2FnZQZ1aW50MzIQbmV0X3VzYWdlX2xlZXdheQZ1aW50MzIjY29udGV4dF9mcmVlX2Rpc2NvdW50X25ldF91c2FnZV9udW0GdWludDMyI2NvbnRleHRfZnJlZV9kaXNjb3VudF9uZXRfdXNhZ2VfZGVuBnVpbnQzMhNtYXhfYmxvY2tfY3B1X3VzYWdlBnVpbnQzMhp0YXJnZXRfYmxvY2tfY3B1X3VzYWdlX3BjdAZ1aW50MzIZbWF4X3RyYW5zYWN0aW9uX2NwdV91c2FnZQZ1aW50MzIZbWluX3RyYW5zYWN0aW9uX2NwdV91c2FnZQZ1aW50MzIYbWF4X3RyYW5zYWN0aW9uX2xpZmV0aW1lBnVpbnQzMh5kZWZlcnJlZF90cnhfZXhwaXJhdGlvbl93aW5kb3cGdWludDMyFW1heF90cmFuc2FjdGlvbl9kZWxheQZ1aW50MzIWbWF4X2lubGluZV9hY3Rpb25fc2l6ZQZ1aW50MzIXbWF4X2lubGluZV9hY3Rpb25fZGVwdGgGdWludDE2E21heF9hdXRob3JpdHlfZGVwdGgGdWludDE2GGJsb2NrY2hhaW5fcGFyYW1ldGVyc192MRVibG9ja2NoYWluX3BhcmFtZXRlcnMBHG1heF9hY3Rpb25fcmV0dXJuX3ZhbHVlX3NpemUHdWludDMyJAZidXlyYW0AAwVwYXllcgRuYW1lCHJlY2VpdmVyBG5hbWUFcXVhbnQFYXNzZXQLYnV5cmFtYnl0ZXMAAwVwYXllcgRuYW1lCHJlY2VpdmVyBG5hbWUFYnl0ZXMGdWludDMyCmJ1eXJhbXNlbGYAAgdhY2NvdW50BG5hbWUFcXVhbnQFYXNzZXQGYnV5cmV4AAIEZnJvbQRuYW1lBmFtb3VudAVhc3NldAtjYW5jZWxkZWxheQACDmNhbmNlbGluZ19hdXRoEHBlcm1pc3Npb25fbGV2ZWwGdHJ4X2lkC2NoZWNrc3VtMjU2CmNmZ3Bvd2VydXAAAQRhcmdzDnBvd2VydXBfY29uZmlnDGNsYWltcmV3YXJkcwABBW93bmVyBG5hbWUIY2xvc2VyZXgAAQVvd25lcgRuYW1lDGNuY2xyZXhvcmRlcgABBW93bmVyBG5hbWUJY29ubmVjdG9yAAIHYmFsYW5jZQVhc3NldAZ3ZWlnaHQHZmxvYXQ2NAtjb25zb2xpZGF0ZQABBW93bmVyBG5hbWUKZGVmY3B1bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQGYW1vdW50BWFzc2V0CmRlZm5ldGxvYW4AAwRmcm9tBG5hbWUIbG9hbl9udW0GdWludDY0BmFtb3VudAVhc3NldApkZWxlZ2F0ZWJ3AAUEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUSc3Rha2VfbmV0X3F1YW50aXR5BWFzc2V0EnN0YWtlX2NwdV9xdWFudGl0eQVhc3NldAh0cmFuc2ZlcgRib29sE2RlbGVnYXRlZF9iYW5kd2lkdGgABARmcm9tBG5hbWUCdG8EbmFtZQpuZXRfd2VpZ2h0BWFzc2V0CmNwdV93ZWlnaHQFYXNzZXQKZGVsZXRlYXV0aAADB2FjY291bnQEbmFtZQpwZXJtaXNzaW9uBG5hbWUNYXV0aG9yaXplZF9ieQVuYW1lJAdkZXBvc2l0AAIFb3duZXIEbmFtZQZhbW91bnQFYXNzZXQSZW9zaW9fZ2xvYmFsX3N0YXRlFWJsb2NrY2hhaW5fcGFyYW1ldGVycw0MbWF4X3JhbV9zaXplBnVpbnQ2NBh0b3RhbF9yYW1fYnl0ZXNfcmVzZXJ2ZWQGdWludDY0D3RvdGFsX3JhbV9zdGFrZQVpbnQ2NB1sYXN0X3Byb2R1Y2VyX3NjaGVkdWxlX3VwZGF0ZRRibG9ja190aW1lc3RhbXBfdHlwZRhsYXN0X3BlcnZvdGVfYnVja2V0X2ZpbGwKdGltZV9wb2ludA5wZXJ2b3RlX2J1Y2tldAVpbnQ2NA9wZXJibG9ja19idWNrZXQFaW50NjQTdG90YWxfdW5wYWlkX2Jsb2NrcwZ1aW50MzIVdG90YWxfYWN0aXZhdGVkX3N0YWtlBWludDY0G3RocmVzaF9hY3RpdmF0ZWRfc3Rha2VfdGltZQp0aW1lX3BvaW50G2xhc3RfcHJvZHVjZXJfc2NoZWR1bGVfc2l6ZQZ1aW50MTYadG90YWxfcHJvZHVjZXJfdm90ZV93ZWlnaHQHZmxvYXQ2NA9sYXN0X25hbWVfY2xvc2UUYmxvY2tfdGltZXN0YW1wX3R5cGUTZW9zaW9fZ2xvYmFsX3N0YXRlMgAFEW5ld19yYW1fcGVyX2Jsb2NrBnVpbnQxNhFsYXN0X3JhbV9pbmNyZWFzZRRibG9ja190aW1lc3RhbXBfdHlwZQ5sYXN0X2Jsb2NrX251bRRibG9ja190aW1lc3RhbXBfdHlwZRx0b3RhbF9wcm9kdWNlcl92b3RlcGF5X3NoYXJlB2Zsb2F0NjQIcmV2aXNpb24FdWludDgTZW9zaW9fZ2xvYmFsX3N0YXRlMwACFmxhc3RfdnBheV9zdGF0ZV91cGRhdGUKdGltZV9wb2ludBx0b3RhbF92cGF5X3NoYXJlX2NoYW5nZV9yYXRlB2Zsb2F0NjQTZW9zaW9fZ2xvYmFsX3N0YXRlNAADD2NvbnRpbnVvdXNfcmF0ZQdmbG9hdDY0FGluZmxhdGlvbl9wYXlfZmFjdG9yBWludDY0DnZvdGVwYXlfZmFjdG9yBWludDY0DmV4Y2hhbmdlX3N0YXRlAAMGc3VwcGx5BWFzc2V0BGJhc2UJY29ubmVjdG9yBXF1b3RlCWNvbm5lY3RvcgtmdW5kY3B1bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQHcGF5bWVudAVhc3NldAtmdW5kbmV0bG9hbgADBGZyb20EbmFtZQhsb2FuX251bQZ1aW50NjQHcGF5bWVudAVhc3NldARpbml0AAIHdmVyc2lvbgl2YXJ1aW50MzIEY29yZQZzeW1ib2wKa2V5X3dlaWdodAACA2tleQpwdWJsaWNfa2V5BndlaWdodAZ1aW50MTYMbGltaXRhdXRoY2hnAAMHYWNjb3VudARuYW1lC2FsbG93X3Blcm1zBm5hbWVbXQ5kaXNhbGxvd19wZXJtcwZuYW1lW10IbGlua2F1dGgABQdhY2NvdW50BG5hbWUEY29kZQRuYW1lBHR5cGUEbmFtZQtyZXF1aXJlbWVudARuYW1lDWF1dGhvcml6ZWRfYnkFbmFtZSQJbG9nYnV5cmFtAAUFcGF5ZXIEbmFtZQhyZWNlaXZlcgRuYW1lCHF1YW50aXR5BWFzc2V0BWJ5dGVzBWludDY0CXJhbV9ieXRlcwVpbnQ2NAxsb2dyYW1jaGFuZ2UAAwVvd25lcgRuYW1lBWJ5dGVzBWludDY0CXJhbV9ieXRlcwVpbnQ2NApsb2dzZWxscmFtAAQHYWNjb3VudARuYW1lCHF1YW50aXR5BWFzc2V0BWJ5dGVzBWludDY0CXJhbV9ieXRlcwVpbnQ2NAttdmZyc2F2aW5ncwACBW93bmVyBG5hbWUDcmV4BWFzc2V0C212dG9zYXZpbmdzAAIFb3duZXIEbmFtZQNyZXgFYXNzZXQIbmFtZV9iaWQABAduZXduYW1lBG5hbWULaGlnaF9iaWRkZXIEbmFtZQhoaWdoX2JpZAVpbnQ2NA1sYXN0X2JpZF90aW1lCnRpbWVfcG9pbnQKbmV3YWNjb3VudAAEB2NyZWF0b3IEbmFtZQRuYW1lBG5hbWUFb3duZXIJYXV0aG9yaXR5BmFjdGl2ZQlhdXRob3JpdHkHb25ibG9jawABBmhlYWRlcgxibG9ja19oZWFkZXIHb25lcnJvcgACCXNlbmRlcl9pZAd1aW50MTI4CHNlbnRfdHJ4BWJ5dGVzGXBhaXJfdGltZV9wb2ludF9zZWNfaW50NjQAAgVmaXJzdA50aW1lX3BvaW50X3NlYwZzZWNvbmQFaW50NjQQcGVybWlzc2lvbl9sZXZlbAACBWFjdG9yBG5hbWUKcGVybWlzc2lvbgRuYW1lF3Blcm1pc3Npb25fbGV2ZWxfd2VpZ2h0AAIKcGVybWlzc2lvbhBwZXJtaXNzaW9uX2xldmVsBndlaWdodAZ1aW50MTYHcG93ZXJ1cAAGBXBheWVyBG5hbWUIcmVjZWl2ZXIEbmFtZQRkYXlzBnVpbnQzMghuZXRfZnJhYwVpbnQ2NAhjcHVfZnJhYwVpbnQ2NAttYXhfcGF5bWVudAVhc3NldA5wb3dlcnVwX2NvbmZpZwAEA25ldBdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQNjcHUXcG93ZXJ1cF9jb25maWdfcmVzb3VyY2UMcG93ZXJ1cF9kYXlzB3VpbnQzMj8PbWluX3Bvd2VydXBfZmVlBmFzc2V0Pxdwb3dlcnVwX2NvbmZpZ19yZXNvdXJjZQAIFGN1cnJlbnRfd2VpZ2h0X3JhdGlvBmludDY0PxN0YXJnZXRfd2VpZ2h0X3JhdGlvBmludDY0PxRhc3N1bWVkX3N0YWtlX3dlaWdodAZpbnQ2ND8QdGFyZ2V0X3RpbWVzdGFtcA90aW1lX3BvaW50X3NlYz8IZXhwb25lbnQIZmxvYXQ2ND8KZGVjYXlfc2Vjcwd1aW50MzI/CW1pbl9wcmljZQZhc3NldD8JbWF4X3ByaWNlBmFzc2V0Pw1wb3dlcnVwX29yZGVyAAYHdmVyc2lvbgV1aW50OAJpZAZ1aW50NjQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWludDY0CmNwdV93ZWlnaHQFaW50NjQHZXhwaXJlcw50aW1lX3BvaW50X3NlYw1wb3dlcnVwX3N0YXRlAAUHdmVyc2lvbgV1aW50OANuZXQWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQNjcHUWcG93ZXJ1cF9zdGF0ZV9yZXNvdXJjZQxwb3dlcnVwX2RheXMGdWludDMyD21pbl9wb3dlcnVwX2ZlZQVhc3NldBZwb3dlcnVwX3N0YXRlX3Jlc291cmNlAA8HdmVyc2lvbgV1aW50OAZ3ZWlnaHQFaW50NjQMd2VpZ2h0X3JhdGlvBWludDY0FGFzc3VtZWRfc3Rha2Vfd2VpZ2h0BWludDY0FGluaXRpYWxfd2VpZ2h0X3JhdGlvBWludDY0E3RhcmdldF93ZWlnaHRfcmF0aW8FaW50NjQRaW5pdGlhbF90aW1lc3RhbXAOdGltZV9wb2ludF9zZWMQdGFyZ2V0X3RpbWVzdGFtcA50aW1lX3BvaW50X3NlYwhleHBvbmVudAdmbG9hdDY0CmRlY2F5X3NlY3MGdWludDMyCW1pbl9wcmljZQVhc3NldAltYXhfcHJpY2UFYXNzZXQLdXRpbGl6YXRpb24FaW50NjQUYWRqdXN0ZWRfdXRpbGl6YXRpb24FaW50NjQVdXRpbGl6YXRpb25fdGltZXN0YW1wDnRpbWVfcG9pbnRfc2VjC3Bvd2VydXBleGVjAAIEdXNlcgRuYW1lA21heAZ1aW50MTYNcHJvZHVjZXJfaW5mbwAJBW93bmVyBG5hbWULdG90YWxfdm90ZXMHZmxvYXQ2NAxwcm9kdWNlcl9rZXkKcHVibGljX2tleQlpc19hY3RpdmUEYm9vbAN1cmwGc3RyaW5nDXVucGFpZF9ibG9ja3MGdWludDMyD2xhc3RfY2xhaW1fdGltZQp0aW1lX3BvaW50CGxvY2F0aW9uBnVpbnQxNhJwcm9kdWNlcl9hdXRob3JpdHkYYmxvY2tfc2lnbmluZ19hdXRob3JpdHkkDnByb2R1Y2VyX2luZm8yAAMFb3duZXIEbmFtZQ12b3RlcGF5X3NoYXJlB2Zsb2F0NjQZbGFzdF92b3RlcGF5X3NoYXJlX3VwZGF0ZQp0aW1lX3BvaW50DHByb2R1Y2VyX2tleQACDXByb2R1Y2VyX25hbWUEbmFtZRFibG9ja19zaWduaW5nX2tleQpwdWJsaWNfa2V5EXByb2R1Y2VyX3NjaGVkdWxlAAIHdmVyc2lvbgZ1aW50MzIJcHJvZHVjZXJzDnByb2R1Y2VyX2tleVtdB3JhbWJ1cm4AAwVvd25lcgRuYW1lBWJ5dGVzBWludDY0BG1lbW8Gc3RyaW5nC3JhbXRyYW5zZmVyAAQEZnJvbQRuYW1lAnRvBG5hbWUFYnl0ZXMFaW50NjQEbWVtbwZzdHJpbmcGcmVmdW5kAAEFb3duZXIEbmFtZQ5yZWZ1bmRfcmVxdWVzdAAEBW93bmVyBG5hbWUMcmVxdWVzdF90aW1lDnRpbWVfcG9pbnRfc2VjCm5ldF9hbW91bnQFYXNzZXQKY3B1X2Ftb3VudAVhc3NldAtyZWdwcm9kdWNlcgAECHByb2R1Y2VyBG5hbWUMcHJvZHVjZXJfa2V5CnB1YmxpY19rZXkDdXJsBnN0cmluZwhsb2NhdGlvbgZ1aW50MTYMcmVncHJvZHVjZXIyAAQIcHJvZHVjZXIEbmFtZRJwcm9kdWNlcl9hdXRob3JpdHkXYmxvY2tfc2lnbmluZ19hdXRob3JpdHkDdXJsBnN0cmluZwhsb2NhdGlvbgZ1aW50MTYIcmVncHJveHkAAgVwcm94eQRuYW1lB2lzcHJveHkEYm9vbAdyZW50Y3B1AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUMbG9hbl9wYXltZW50BWFzc2V0CWxvYW5fZnVuZAVhc3NldAdyZW50bmV0AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUMbG9hbl9wYXltZW50BWFzc2V0CWxvYW5fZnVuZAVhc3NldAtyZXhfYmFsYW5jZQAGB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQp2b3RlX3N0YWtlBWFzc2V0C3JleF9iYWxhbmNlBWFzc2V0C21hdHVyZWRfcmV4BWludDY0DnJleF9tYXR1cml0aWVzG3BhaXJfdGltZV9wb2ludF9zZWNfaW50NjRbXQhyZXhfZnVuZAADB3ZlcnNpb24FdWludDgFb3duZXIEbmFtZQdiYWxhbmNlBWFzc2V0CHJleF9sb2FuAAgHdmVyc2lvbgV1aW50OARmcm9tBG5hbWUIcmVjZWl2ZXIEbmFtZQdwYXltZW50BWFzc2V0B2JhbGFuY2UFYXNzZXQMdG90YWxfc3Rha2VkBWFzc2V0CGxvYW5fbnVtBnVpbnQ2NApleHBpcmF0aW9uCnRpbWVfcG9pbnQJcmV4X29yZGVyAAcHdmVyc2lvbgV1aW50OAVvd25lcgRuYW1lDXJleF9yZXF1ZXN0ZWQFYXNzZXQIcHJvY2VlZHMFYXNzZXQMc3Rha2VfY2hhbmdlBWFzc2V0Cm9yZGVyX3RpbWUKdGltZV9wb2ludAdpc19vcGVuBGJvb2wIcmV4X3Bvb2wACAd2ZXJzaW9uBXVpbnQ4CnRvdGFsX2xlbnQFYXNzZXQMdG90YWxfdW5sZW50BWFzc2V0CnRvdGFsX3JlbnQFYXNzZXQOdG90YWxfbGVuZGFibGUFYXNzZXQJdG90YWxfcmV4BWFzc2V0EG5hbWViaWRfcHJvY2VlZHMFYXNzZXQIbG9hbl9udW0GdWludDY0EnJleF9yZXR1cm5fYnVja2V0cwACB3ZlcnNpb24FdWludDgOcmV0dXJuX2J1Y2tldHMbcGFpcl90aW1lX3BvaW50X3NlY19pbnQ2NFtdD3JleF9yZXR1cm5fcG9vbAAHB3ZlcnNpb24FdWludDgObGFzdF9kaXN0X3RpbWUOdGltZV9wb2ludF9zZWMTcGVuZGluZ19idWNrZXRfdGltZQ50aW1lX3BvaW50X3NlYxJvbGRlc3RfYnVja2V0X3RpbWUOdGltZV9wb2ludF9zZWMXcGVuZGluZ19idWNrZXRfcHJvY2VlZHMFaW50NjQYY3VycmVudF9yYXRlX29mX2luY3JlYXNlBWludDY0CHByb2NlZWRzBWludDY0B3JleGV4ZWMAAgR1c2VyBG5hbWUDbWF4BnVpbnQxNgtybXZwcm9kdWNlcgABCHByb2R1Y2VyBG5hbWUHc2VsbHJhbQACB2FjY291bnQEbmFtZQVieXRlcwVpbnQ2NAdzZWxscmV4AAIEZnJvbQRuYW1lA3JleAVhc3NldAZzZXRhYmkAAwdhY2NvdW50BG5hbWUDYWJpBWJ5dGVzBG1lbW8Hc3RyaW5nJApzZXRhY2N0Y3B1AAIHYWNjb3VudARuYW1lCmNwdV93ZWlnaHQGaW50NjQ/CnNldGFjY3RuZXQAAgdhY2NvdW50BG5hbWUKbmV0X3dlaWdodAZpbnQ2ND8Kc2V0YWNjdHJhbQACB2FjY291bnQEbmFtZQlyYW1fYnl0ZXMGaW50NjQ/CnNldGFsaW1pdHMABAdhY2NvdW50BG5hbWUJcmFtX2J5dGVzBWludDY0Cm5ldF93ZWlnaHQFaW50NjQKY3B1X3dlaWdodAVpbnQ2NAdzZXRjb2RlAAUHYWNjb3VudARuYW1lBnZtdHlwZQV1aW50OAl2bXZlcnNpb24FdWludDgEY29kZQVieXRlcwRtZW1vB3N0cmluZyQMc2V0aW5mbGF0aW9uAAMLYW5udWFsX3JhdGUFaW50NjQUaW5mbGF0aW9uX3BheV9mYWN0b3IFaW50NjQOdm90ZXBheV9mYWN0b3IFaW50NjQJc2V0cGFyYW1zAAEGcGFyYW1zF2Jsb2NrY2hhaW5fcGFyYW1ldGVyc190B3NldHByaXYAAgdhY2NvdW50BG5hbWUHaXNfcHJpdgV1aW50OAZzZXRyYW0AAQxtYXhfcmFtX3NpemUGdWludDY0CnNldHJhbXJhdGUAAQ9ieXRlc19wZXJfYmxvY2sGdWludDE2BnNldHJleAABB2JhbGFuY2UFYXNzZXQMdW5kZWxlZ2F0ZWJ3AAQEZnJvbQRuYW1lCHJlY2VpdmVyBG5hbWUUdW5zdGFrZV9uZXRfcXVhbnRpdHkFYXNzZXQUdW5zdGFrZV9jcHVfcXVhbnRpdHkFYXNzZXQKdW5saW5rYXV0aAAEB2FjY291bnQEbmFtZQRjb2RlBG5hbWUEdHlwZQRuYW1lDWF1dGhvcml6ZWRfYnkFbmFtZSQJdW5yZWdwcm9kAAEIcHJvZHVjZXIEbmFtZQx1bnN0YWtldG9yZXgABAVvd25lcgRuYW1lCHJlY2VpdmVyBG5hbWUIZnJvbV9uZXQFYXNzZXQIZnJvbV9jcHUFYXNzZXQKdXBkYXRlYXV0aAAFB2FjY291bnQEbmFtZQpwZXJtaXNzaW9uBG5hbWUGcGFyZW50BG5hbWUEYXV0aAlhdXRob3JpdHkNYXV0aG9yaXplZF9ieQVuYW1lJAl1cGRhdGVyZXgAAQVvd25lcgRuYW1lDHVwZHRyZXZpc2lvbgABCHJldmlzaW9uBXVpbnQ4DnVzZXJfcmVzb3VyY2VzAAQFb3duZXIEbmFtZQpuZXRfd2VpZ2h0BWFzc2V0CmNwdV93ZWlnaHQFYXNzZXQJcmFtX2J5dGVzBWludDY0DHZvdGVwcm9kdWNlcgADBXZvdGVyBG5hbWUFcHJveHkEbmFtZQlwcm9kdWNlcnMGbmFtZVtdCnZvdGVyX2luZm8ACgVvd25lcgRuYW1lBXByb3h5BG5hbWUJcHJvZHVjZXJzBm5hbWVbXQZzdGFrZWQFaW50NjQQbGFzdF92b3RlX3dlaWdodAdmbG9hdDY0E3Byb3hpZWRfdm90ZV93ZWlnaHQHZmxvYXQ2NAhpc19wcm94eQRib29sBmZsYWdzMQZ1aW50MzIJcmVzZXJ2ZWQyBnVpbnQzMglyZXNlcnZlZDMFYXNzZXQKdm90ZXVwZGF0ZQABCnZvdGVyX25hbWUEbmFtZQt3YWl0X3dlaWdodAACCHdhaXRfc2VjBnVpbnQzMgZ3ZWlnaHQGdWludDE2B3dhc21jZmcAAQhzZXR0aW5ncwRuYW1lCHdpdGhkcmF3AAIFb3duZXIEbmFtZQZhbW91bnQFYXNzZXQRbGltaXRfYXV0aF9jaGFuZ2UABAd2ZXJzaW9uBXVpbnQ4B2FjY291bnQEbmFtZQthbGxvd19wZXJtcwZuYW1lW10OZGlzYWxsb3dfcGVybXMGbmFtZVtdRAAAACqb7TIyCGFjdGl2YXRliAMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBBY3RpdmF0ZSBQcm90b2NvbCBGZWF0dXJlCnN1bW1hcnk6ICdBY3RpdmF0ZSBwcm90b2NvbCBmZWF0dXJlIHt7bm93cmFwIGZlYXR1cmVfZGlnZXN0fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gYWN0aXZhdGVzIHRoZSBwcm90b2NvbCBmZWF0dXJlIHdpdGggYSBkaWdlc3Qgb2Yge3tmZWF0dXJlX2RpZ2VzdH19LgAAAEBJM5M7B2JpZG5hbWWpDi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJpZCBPbiBhIFByZW1pdW0gQWNjb3VudCBOYW1lCnN1bW1hcnk6ICd7e25vd3JhcCBiaWRkZXJ9fSBiaWRzIG9uIHRoZSBwcmVtaXVtIGFjY291bnQgbmFtZSB7e25vd3JhcCBuZXduYW1lfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tiaWRkZXJ9fSBiaWRzIHt7YmlkfX0gb24gYW4gYXVjdGlvbiB0byBvd24gdGhlIHByZW1pdW0gYWNjb3VudCBuYW1lIHt7bmV3bmFtZX19LgoKe3tiaWRkZXJ9fSB0cmFuc2ZlcnMge3tiaWR9fSB0byB0aGUgc3lzdGVtIHRvIGNvdmVyIHRoZSBjb3N0IG9mIHRoZSBiaWQsIHdoaWNoIHdpbGwgYmUgcmV0dXJuZWQgdG8ge3tiaWRkZXJ9fSBvbmx5IGlmIHt7YmlkZGVyfX0gaXMgbGF0ZXIgb3V0YmlkIGluIHRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBieSBhbm90aGVyIGFjY291bnQuCgpJZiB0aGUgYXVjdGlvbiBmb3Ige3tuZXduYW1lfX0gY2xvc2VzIHdpdGgge3tiaWRkZXJ9fSByZW1haW5pbmcgYXMgdGhlIGhpZ2hlc3QgYmlkZGVyLCB7e2JpZGRlcn19IHdpbGwgYmUgYXV0aG9yaXplZCB0byBjcmVhdGUgdGhlIGFjY291bnQgd2l0aCBuYW1lIHt7bmV3bmFtZX19LgoKIyMgQmlkIHJlZnVuZCBiZWhhdmlvcgoKSWYge3tiaWRkZXJ9feKAmXMgYmlkIG9uIHt7bmV3bmFtZX19IGlzIGxhdGVyIG91dGJpZCBieSBhbm90aGVyIGFjY291bnQsIHt7YmlkZGVyfX0gd2lsbCBiZSBhYmxlIHRvIGNsYWltIGJhY2sgdGhlIHRyYW5zZmVycmVkIGFtb3VudCBvZiB7e2JpZH19LiBUaGUgc3lzdGVtIHdpbGwgYXR0ZW1wdCB0byBhdXRvbWF0aWNhbGx5IGRvIHRoaXMgb24gYmVoYWxmIG9mIHt7YmlkZGVyfX0sIGJ1dCB0aGUgYXV0b21hdGljIHJlZnVuZCBtYXkgb2NjYXNpb25hbGx5IGZhaWwgd2hpY2ggd2lsbCB0aGVuIHJlcXVpcmUge3tiaWRkZXJ9fSB0byBtYW51YWxseSBjbGFpbSB0aGUgcmVmdW5kIHdpdGggdGhlIGJpZHJlZnVuZCBhY3Rpb24uCgojIyBBdWN0aW9uIGNsb3NlIGNyaXRlcmlhCgpUaGUgc3lzdGVtIHNob3VsZCBhdXRvbWF0aWNhbGx5IGNsb3NlIHRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBpZiBpdCBzYXRpc2ZpZXMgdGhlIGNvbmRpdGlvbiB0aGF0IG92ZXIgYSBwZXJpb2Qgb2YgdHdvIG1pbnV0ZXMgdGhlIGZvbGxvd2luZyB0d28gcHJvcGVydGllcyBjb250aW51b3VzbHkgaG9sZDoKCi0gbm8gb25lIGhhcyBiaWQgb24ge3tuZXduYW1lfX0gd2l0aGluIHRoZSBsYXN0IDI0IGhvdXJzOwotIGFuZCwgdGhlIHZhbHVlIG9mIHRoZSBsYXRlc3QgYmlkIG9uIHt7bmV3bmFtZX19IGlzIGdyZWF0ZXIgdGhhbiB0aGUgdmFsdWUgb2YgdGhlIGJpZHMgb24gZWFjaCBvZiB0aGUgb3RoZXIgb3BlbiBhdWN0aW9ucy4KCkJlIGF3YXJlIHRoYXQgdGhlIGNvbmRpdGlvbiB0byBjbG9zZSB0aGUgYXVjdGlvbiBkZXNjcmliZWQgYWJvdmUgYXJlIHN1ZmZpY2llbnQgYnV0IG5vdCBuZWNlc3NhcnkuIFRoZSBhdWN0aW9uIGZvciB7e25ld25hbWV9fSBjYW5ub3QgY2xvc2UgdW5sZXNzIGJvdGggb2YgdGhlIHByb3BlcnRpZXMgYXJlIHNpbXVsdGFuZW91c2x5IHNhdGlzZmllZCwgYnV0IGl0IG1heSBiZSBjbG9zZWQgd2l0aG91dCByZXF1aXJpbmcgdGhlIHByb3BlcnRpZXMgdG8gaG9sZCBmb3IgYSBwZXJpb2Qgb2YgMiBtaW51dGVzLgAASFMvdZM7CWJpZHJlZnVuZPQCLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2xhaW0gUmVmdW5kIG9uIE5hbWUgQmlkCnN1bW1hcnk6ICdDbGFpbSByZWZ1bmQgb24ge3tub3dyYXAgbmV3bmFtZX19IGJpZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2JpZGRlcn19IGNsYWltcyByZWZ1bmQgb24ge3tuZXduYW1lfX0gYmlkIGFmdGVyIGJlaW5nIG91dGJpZCBieSBzb21lb25lIGVsc2UuAAAAAEhzvT4GYnV5cmFt+gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNCnN1bW1hcnk6ICd7e25vd3JhcCBwYXllcn19IGJ1eXMgUkFNIG9uIGJlaGFsZiBvZiB7e25vd3JhcCByZWNlaXZlcn19IGJ5IHBheWluZyB7e25vd3JhcCBxdWFudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e3BheWVyfX0gYnV5cyBSQU0gb24gYmVoYWxmIG9mIHt7cmVjZWl2ZXJ9fSBieSBwYXlpbmcge3txdWFudH19LiBUaGlzIHRyYW5zYWN0aW9uIHdpbGwgaW5jdXIgYSAwLjUlIGZlZSBvdXQgb2Yge3txdWFudH19IGFuZCB0aGUgYW1vdW50IG9mIFJBTSBkZWxpdmVyZWQgd2lsbCBkZXBlbmQgb24gbWFya2V0IHJhdGVzLgCwyv5Ic70+C2J1eXJhbWJ5dGVzgQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNCnN1bW1hcnk6ICd7e25vd3JhcCBwYXllcn19IGJ1eXMge3tub3dyYXAgYnl0ZXN9fSBieXRlcyBvZiBSQU0gb24gYmVoYWxmIG9mIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCnt7cGF5ZXJ9fSBidXlzIGFwcHJveGltYXRlbHkge3tieXRlc319IGJ5dGVzIG9mIFJBTSBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGJ5IHBheWluZyBtYXJrZXQgcmF0ZXMgZm9yIFJBTS4gVGhpcyB0cmFuc2FjdGlvbiB3aWxsIGluY3VyIGEgMC41JSBmZWUgYW5kIHRoZSBjb3N0IHdpbGwgZGVwZW5kIG9uIG1hcmtldCByYXRlcy4AwIoKS3O9PgpidXlyYW1zZWxm2AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkFNIHNlbGYKc3VtbWFyeTogJ3t7bm93cmFwIGFjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e25vd3JhcCBxdWFudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e2FjY291bnR9fSBidXlzIFJBTSB0byBzZWxmIGJ5IHBheWluZyB7e3F1YW50fX0uIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG91dCBvZiB7e3F1YW50fX0gYW5kIHRoZSBhbW91bnQgb2YgUkFNIGRlbGl2ZXJlZCB3aWxsIGRlcGVuZCBvbiBtYXJrZXQgcmF0ZXMuAAAAAHR1vT4GYnV5cmV41wYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXkgUkVYIFRva2VucwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGJ1eXMgUkVYIHRva2VucyBpbiBleGNoYW5nZSBmb3Ige3tub3dyYXAgYW1vdW50fX0gYW5kIHRoZWlyIHZvdGUgc3Rha2UgaW5jcmVhc2VzIGJ5IHt7bm93cmFwIGFtb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3thbW91bnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kIGFuZCB1c2VkIHRvIHB1cmNoYXNlIFJFWCB0b2tlbnMgYXQgdGhlIGN1cnJlbnQgbWFya2V0IGV4Y2hhbmdlIHJhdGUuIEluIG9yZGVyIGZvciB0aGUgYWN0aW9uIHRvIHN1Y2NlZWQsIHt7ZnJvbX19IG11c3QgaGF2ZSB2b3RlZCBmb3IgYSBwcm94eSBvciBhdCBsZWFzdCAyMSBibG9jayBwcm9kdWNlcnMuIHt7YW1vdW50fX0gaXMgYWRkZWQgdG8ge3tmcm9tfX3igJlzIHZvdGUgc3Rha2UuCgpBIHNlbGwgb3JkZXIgb2YgdGhlIHB1cmNoYXNlZCBhbW91bnQgY2FuIG9ubHkgYmUgaW5pdGlhdGVkIGFmdGVyIHdhaXRpbmcgZm9yIHRoZSBtYXR1cml0eSBwZXJpb2Qgb2YgNCB0byA1IGRheXMgdG8gcGFzcy4gRXZlbiB0aGVuLCBkZXBlbmRpbmcgb24gdGhlIG1hcmtldCBjb25kaXRpb25zLCB0aGUgaW5pdGlhdGVkIHNlbGwgb3JkZXIgbWF5IG5vdCBiZSBleGVjdXRlZCBpbW1lZGlhdGVseS4AvIkqRYWmQQtjYW5jZWxkZWxheYoDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ2FuY2VsIERlbGF5ZWQgVHJhbnNhY3Rpb24Kc3VtbWFyeTogJ3t7bm93cmFwIGNhbmNlbGluZ19hdXRoLmFjdG9yfX0gY2FuY2VscyBhIGRlbGF5ZWQgdHJhbnNhY3Rpb24nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKe3tjYW5jZWxpbmdfYXV0aC5hY3Rvcn19IGNhbmNlbHMgdGhlIGRlbGF5ZWQgdHJhbnNhY3Rpb24gd2l0aCBpZCB7e3RyeF9pZH19LgBA1VdxWtlCCmNmZ3Bvd2VydXAAgNM1XF3pTEQMY2xhaW1yZXdhcmRz5wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBCbG9jayBQcm9kdWNlciBSZXdhcmRzCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNsYWltcyBibG9jayBhbmQgdm90ZSByZXdhcmRzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7e293bmVyfX0gY2xhaW1zIGJsb2NrIGFuZCB2b3RlIHJld2FyZHMgZnJvbSB0aGUgc3lzdGVtLgAAAF1dhWlECGNsb3NlcmV4lAQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGVhbnVwIFVudXNlZCBSRVggRGF0YQpzdW1tYXJ5OiAnRGVsZXRlIFJFWCByZWxhdGVkIERCIGVudHJpZXMgYW5kIGZyZWUgYXNzb2NpYXRlZCBSQU0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpEZWxldGUgUkVYIHJlbGF0ZWQgREIgZW50cmllcyBhbmQgZnJlZSBhc3NvY2lhdGVkIFJBTSBmb3Ige3tvd25lcn19LgoKVG8gZnVsbHkgZGVsZXRlIGFsbCBSRVggcmVsYXRlZCBEQiBlbnRyaWVzLCB7e293bmVyfX0gbXVzdCBlbnN1cmUgdGhhdCB0aGVpciBSRVggYmFsYW5jZSBhbmQgUkVYIGZ1bmQgYW1vdW50cyBhcmUgYm90aCB6ZXJvIGFuZCB0aGV5IGhhdmUgbm8gb3V0c3RhbmRpbmcgbG9hbnMucFW6tKsb0UQMY25jbHJleG9yZGVy6wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDYW5jZWwgU2NoZWR1bGVkIFJFWCBTZWxsIE9yZGVyCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGNhbmNlbHMgYSBzY2hlZHVsZWQgc2VsbCBvcmRlciBpZiBub3QgeWV0IGZpbGxlZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSBjYW5jZWxzIHRoZWlyIG9wZW4gc2VsbCBvcmRlci4AVDbJRYonRQtjb25zb2xpZGF0ZaYDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQ29uc29saWRhdGUgUkVYIE1hdHVyaXR5IEJ1Y2tldHMgSW50byBPbmUKc3VtbWFyeTogJ0NvbnNvbGlkYXRlIFJFWCBtYXR1cml0eSBidWNrZXRzIGludG8gb25lJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKQ29uc29saWRhdGUgUkVYIG1hdHVyaXR5IGJ1Y2tldHMgaW50byBvbmUgYnVja2V0IHRoYXQge3tvd25lcn19IHdpbGwgbm90IGJlIGFibGUgdG8gc2VsbCB1bnRpbCA0IHRvIDUgZGF5cyBsYXRlci4AwDQ06oqWSgpkZWZjcHVsb2Fu3gMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBXaXRoZHJhdyBmcm9tIHRoZSBGdW5kIG9mIGEgU3BlY2lmaWMgQ1BVIExvYW4Kc3VtbWFyeTogJ3t7bm93cmFwIGZyb219fSB0cmFuc2ZlcnMge3tub3dyYXAgYW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tub3dyYXAgbG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gdHJhbnNmZXJzIHt7YW1vdW50fX0gZnJvbSB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGJhY2sgdG8gUkVYIGZ1bmQuAMA0NGY1l0oKZGVmbmV0bG9hbt4DLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogV2l0aGRyYXcgZnJvbSB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gdHJhbnNmZXJzIHt7bm93cmFwIGFtb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bm93cmFwIGxvYW5fbnVtfX0gYmFjayB0byBSRVggZnVuZCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e2Ftb3VudH19IGZyb20gdGhlIGZ1bmQgb2YgTkVUIGxvYW4gbnVtYmVyIHt7bG9hbl9udW19fSBiYWNrIHRvIFJFWCBmdW5kLgAAPyobpqJKCmRlbGVnYXRlYnfzBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFN0YWtlIFRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUKc3VtbWFyeTogJ1N0YWtlIHRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUgYW5kIG9wdGlvbmFsbHkgdHJhbnNmZXIgb3duZXJzaGlwJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7eyNpZiB0cmFuc2Zlcn19IHt7ZnJvbX19IHN0YWtlcyBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpTdGFrZWQgdG9rZW5zIHdpbGwgYWxzbyBiZSB0cmFuc2ZlcnJlZCB0byB7e3JlY2VpdmVyfX0uIFRoZSBzdW0gb2YgdGhlc2UgdHdvIHF1YW50aXRpZXMgd2lsbCBiZSBkZWR1Y3RlZCBmcm9tIHt7ZnJvbX194oCZcyBsaXF1aWQgYmFsYW5jZSBhbmQgYWRkIHRvIHRoZSB2b3RlIHdlaWdodCBvZiB7e3JlY2VpdmVyfX0uCnt7ZWxzZX19Cnt7ZnJvbX19IHN0YWtlcyB0byBzZWxmIGFuZCBkZWxlZ2F0ZXMgdG8ge3tyZWNlaXZlcn19IHt7c3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7c3Rha2VfY3B1X3F1YW50aXR5fX0gZm9yIENQVSBiYW5kd2lkdGguCgpUaGUgc3VtIG9mIHRoZXNlIHR3byBxdWFudGl0aWVzIGFkZCB0byB0aGUgdm90ZSB3ZWlnaHQgb2Yge3tmcm9tfX0uCnt7L2lmfX0AQMvaqKyiSgpkZWxldGVhdXRo9QItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZWxldGUgQWNjb3VudCBQZXJtaXNzaW9uCnN1bW1hcnk6ICdEZWxldGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpEZWxldGUgdGhlIHt7cGVybWlzc2lvbn19IHBlcm1pc3Npb24gb2Yge3thY2NvdW50fX0uAAAAIDtMq0oHZGVwb3NpdIgELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRGVwb3NpdCBJbnRvIFJFWCBGdW5kCnN1bW1hcnk6ICdBZGQgdG8ge3tub3dyYXAgb3duZXJ9feKAmXMgUkVYIGZ1bmQgYnkgdHJhbnNmZXJyaW5nIHt7bm93cmFwIGFtb3VudH19IGZyb20ge3tub3dyYXAgb3duZXJ9feKAmXMgbGlxdWlkIGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpUcmFuc2ZlciB7e2Ftb3VudH19IGZyb20ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZSB0byB7e293bmVyfX3igJlzIFJFWCBmdW5kLiBBbGwgcHJvY2VlZHMgYW5kIGV4cGVuc2VzIHJlbGF0ZWQgdG8gUkVYIGFyZSBhZGRlZCB0byBvciB0YWtlbiBvdXQgb2YgdGhpcyBmdW5kLgCmoVFXlKZeC2Z1bmRjcHVsb2Fu/AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBvc2l0IGludG8gdGhlIEZ1bmQgb2YgYSBTcGVjaWZpYyBDUFUgTG9hbgpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IGZ1bmRzIGEgQ1BVIGxvYW4nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb219fSB0cmFuc2ZlcnMge3twYXltZW50fX0gZnJvbSBSRVggZnVuZCB0byB0aGUgZnVuZCBvZiBDUFUgbG9hbiBudW1iZXIge3tsb2FuX251bX19IGluIG9yZGVyIHRvIGJlIHVzZWQgaW4gbG9hbiByZW5ld2FsIGF0IGV4cGlyeS4ge3tmcm9tfX0gY2FuIHdpdGhkcmF3IHRoZSB0b3RhbCBiYWxhbmNlIG9mIHRoZSBsb2FuIGZ1bmQgYXQgYW55IHRpbWUuAKahMauZpl4LZnVuZG5ldGxvYW78Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcG9zaXQgaW50byB0aGUgRnVuZCBvZiBhIFNwZWNpZmljIE5FVCBMb2FuCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gZnVuZHMgYSBORVQgbG9hbicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbX19IHRyYW5zZmVycyB7e3BheW1lbnR9fSBmcm9tIFJFWCBmdW5kIHRvIHRoZSBmdW5kIG9mIE5FVCBsb2FuIG51bWJlciB7e2xvYW5fbnVtfX0gaW4gb3JkZXIgdG8gYmUgdXNlZCBpbiBsb2FuIHJlbmV3YWwgYXQgZXhwaXJ5LiB7e2Zyb219fSBjYW4gd2l0aGRyYXcgdGhlIHRvdGFsIGJhbGFuY2Ugb2YgdGhlIGxvYW4gZnVuZCBhdCBhbnkgdGltZS4AAAAAAJDddARpbml04wItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBJbml0aWFsaXplIFN5c3RlbSBDb250cmFjdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBzeXN0ZW0gY29udHJhY3QnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hZG1pbi5wbmcjOWJmMWNlYzY2NDg2M2JkNmFhYWMwZjgxNGIyMzVmODc5OWZiMDJjODUwZTlhYTVkYTM0ZThhMDA0YmQ2NTE4ZQotLS0KCkluaXRpYWxpemUgc3lzdGVtIGNvbnRyYWN0LiBUaGUgY29yZSB0b2tlbiBzeW1ib2wgd2lsbCBiZSBzZXQgdG8ge3tjb3JlfX0uwBpqWZvspIsMbGltaXRhdXRoY2hnAAAAAC1rA6eLCGxpbmthdXRonQUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBMaW5rIEFjdGlvbiB0byBQZXJtaXNzaW9uCnN1bW1hcnk6ICd7e25vd3JhcCBhY2NvdW50fX0gc2V0cyB0aGUgbWluaW11bSByZXF1aXJlZCBwZXJtaXNzaW9uIGZvciB0aGUge3sjaWYgdHlwZX19e3tub3dyYXAgdHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7bm93cmFwIGNvZGV9fSBjb250cmFjdCB0byB7e25vd3JhcCByZXF1aXJlbWVudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KCnt7YWNjb3VudH19IHNldHMgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbiBmb3IgdGhlIHt7I2lmIHR5cGV9fXt7dHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7Y29kZX19IGNvbnRyYWN0IHRvIHt7cmVxdWlyZW1lbnR9fS4KCnt7I2lmIHR5cGV9fXt7ZWxzZX19QW55IGxpbmtzIGV4cGxpY2l0bHkgYXNzb2NpYXRlZCB0byBzcGVjaWZpYyBhY3Rpb25zIG9mIHt7Y29kZX19IHdpbGwgdGFrZSBwcmVjZWRlbmNlLnt7L2lmfX0AAJDmen0YjQlsb2didXlyYW0AoNg0DUlzGY0MbG9ncmFtY2hhbmdlAACANDdGhRmNCmxvZ3NlbGxyYW0AADCbbht815YLbXZmcnNhdmluZ3OcAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVubG9jayBSRVggVG9rZW5zCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IHVubG9ja3MgUkVYIFRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7b3duZXJ9fSB1bmxvY2tzIHt7cmV4fX0gYnkgbW92aW5nIGl0IG91dCBvZiB0aGUgUkVYIHNhdmluZ3MgYnVja2V0LiBUaGUgdW5sb2NrZWQgUkVYIHRva2VucyBjYW5ub3QgYmUgc29sZCB1bnRpbCA0IHRvIDUgZGF5cyBsYXRlci4AMJtuG0zzlgttdnRvc2F2aW5nc7oDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogTG9jayBSRVggVG9rZW5zCnN1bW1hcnk6ICd7e25vd3JhcCBvd25lcn19IGxvY2tzIFJFWCBUb2tlbnMnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e293bmVyfX0gbG9ja3Mge3tyZXh9fSBieSBtb3ZpbmcgaXQgaW50byB0aGUgUkVYIHNhdmluZ3MgYnVja2V0LiBUaGUgbG9ja2VkIFJFWCB0b2tlbnMgY2Fubm90IGJlIHNvbGQgZGlyZWN0bHkgYW5kIHdpbGwgaGF2ZSB0byBiZSB1bmxvY2tlZCBleHBsaWNpdGx5IGJlZm9yZSBzZWxsaW5nLgBAnpoiZLiaCm5ld2FjY291bnSABC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IENyZWF0ZSBOZXcgQWNjb3VudApzdW1tYXJ5OiAne3tub3dyYXAgY3JlYXRvcn19IGNyZWF0ZXMgYSBuZXcgYWNjb3VudCB3aXRoIHRoZSBuYW1lIHt7bm93cmFwIG5hbWV9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2NyZWF0b3J9fSBjcmVhdGVzIGEgbmV3IGFjY291bnQgd2l0aCB0aGUgbmFtZSB7e25hbWV9fSBhbmQgdGhlIGZvbGxvd2luZyBwZXJtaXNzaW9uczoKCm93bmVyIHBlcm1pc3Npb24gd2l0aCBhdXRob3JpdHk6Cnt7dG9fanNvbiBvd25lcn19CgphY3RpdmUgcGVybWlzc2lvbiB3aXRoIGF1dGhvcml0eToKe3t0b19qc29uIGFjdGl2ZX19AAAAACIaz6QHb25ibG9jawAAAADg0nvVpAdvbmVycm9yAAAAAKDqqzitB3Bvd2VydXDUAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFBvd2VydXAgcmVzb3VyY2VzCnN1bW1hcnk6ICdVc2VyIG1heSBwb3dlcnVwIHRvIHJlc2VydmUgcmVzb3VyY2VzJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpVc2VycyBtYXkgdXNlIHRoZSBwb3dlcnVwIGFjdGlvbiB0byByZXNlcnZlIHJlc291cmNlcy4AkOqq6qs4rQtwb3dlcnVwZXhlYwAAAABgXn2kuQdyYW1idXJuqAMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBCdXJuIFJBTSBmcm9tIEFjY291bnQKc3VtbWFyeTogJ0J1cm4gdW51c2VkIFJBTSBmcm9tIHt7bm93cmFwIG93bmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXNvdXJjZS5wbmcjMzgzMGYxY2U4Y2IwN2Y3NzU3ZGJjZjM4M2IxZWMxYjExOTE0YWMzNGExZjlkOGIwNjVmMDc2MDBmYTlkYWMxOQotLS0KCkJ1cm4ge3tieXRlc319IGJ5dGVzIG9mIHVudXNlZCBSQU0gZnJvbSBhY2NvdW50IHt7b3duZXJ9fS4KCnt7I2lmIG1lbW99fVRoZXJlIGlzIGEgbWVtbyBhdHRhY2hlZCB0byB0aGUgYnVybiBzdGF0aW5nOgp7e21lbW99fQp7ey9pZn19AK5aeJqbpbkLcmFtdHJhbnNmZXLZAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFRyYW5zZmVyIFJBTSBmcm9tIEFjY291bnQKc3VtbWFyeTogJ1RyYW5zZmVyIHVudXNlZCBSQU0gZnJvbSB7e25vd3JhcCBmcm9tfX0gdG8ge3tub3dyYXAgdG99fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Jlc291cmNlLnBuZyMzODMwZjFjZThjYjA3Zjc3NTdkYmNmMzgzYjFlYzFiMTE5MTRhYzM0YTFmOWQ4YjA2NWYwNzYwMGZhOWRhYzE5Ci0tLQoKVHJhbnNmZXIge3tieXRlc319IGJ5dGVzIG9mIHVudXNlZCBSQU0gZnJvbSBhY2NvdW50IHt7ZnJvbX19IHRvIGFjY291bnQge3t0b319LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2ZlciBzdGF0aW5nOgp7e21lbW99fQp7ey9pZn19AAAAAKSpl7oGcmVmdW5khwMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbGFpbSBVbnN0YWtlZCBUb2tlbnMKc3VtbWFyeTogJ1JldHVybiBwcmV2aW91c2x5IHVuc3Rha2VkIHRva2VucyB0byB7e25vd3JhcCBvd25lcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWNjb3VudC5wbmcjM2Q1NWEyZmMzYTVjMjBiNDU2ZjU2NTdmYWY2NjZiYzI1ZmZkMDZmNDgzNmM1ZTgyNTZmNzQxMTQ5YjBiMjk0ZgotLS0KClJldHVybiBwcmV2aW91c2x5IHVuc3Rha2VkIHRva2VucyB0byB7e293bmVyfX0gYWZ0ZXIgdGhlIHVuc3Rha2luZyBwZXJpb2QgaGFzIGVsYXBzZWQuAK5COtFbmboLcmVncHJvZHVjZXKZBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlZ2lzdGVyIGFzIGEgQmxvY2sgUHJvZHVjZXIgQ2FuZGlkYXRlCnN1bW1hcnk6ICdSZWdpc3RlciB7e25vd3JhcCBwcm9kdWNlcn19IGFjY291bnQgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgpSZWdpc3RlciB7e3Byb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4KClVSTDoge3t1cmx9fQpMb2NhdGlvbiBjb2RlOiB7e2xvY2F0aW9ufX0KQmxvY2sgc2lnbmluZyBrZXk6IHt7cHJvZHVjZXJfa2V5fX0KCiMjIEJsb2NrIFByb2R1Y2VyIEFncmVlbWVudAp7eyRjbGF1c2VzLkJsb2NrUHJvZHVjZXJBZ3JlZW1lbnR9fSCuQjrRW5m6DHJlZ3Byb2R1Y2VyMq0ELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVnaXN0ZXIgYXMgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ1JlZ2lzdGVyIHt7bm93cmFwIHByb2R1Y2VyfX0gYWNjb3VudCBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3ZvdGluZy5wbmcjZGIyOGNkM2RiNmU2MmQ0NTA5YWYzNjQ0Y2U3ZDM3NzMyOTQ4MmExNGJiNGJmYWNhMmFhNWYxNDAwZDhlOGE4NAotLS0KClJlZ2lzdGVyIHt7cHJvZHVjZXJ9fSBhY2NvdW50IGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLgoKVVJMOiB7e3VybH19CkxvY2F0aW9uIGNvZGU6IHt7bG9jYXRpb259fQpCbG9jayBzaWduaW5nIGF1dGhvcml0eToKe3t0b19qc29uIHByb2R1Y2VyX2F1dGhvcml0eX19CgojIyBCbG9jayBQcm9kdWNlciBBZ3JlZW1lbnQKe3skY2xhdXNlcy5CbG9ja1Byb2R1Y2VyQWdyZWVtZW50fX0AAAC+01uZughyZWdwcm94eaMELS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVnaXN0ZXIvdW5yZWdpc3RlciBhcyBhIFByb3h5CnN1bW1hcnk6ICdSZWdpc3Rlci91bnJlZ2lzdGVyIHt7bm93cmFwIHByb3h5fX0gYXMgYSBwcm94eSBhY2NvdW50JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdm90aW5nLnBuZyNkYjI4Y2QzZGI2ZTYyZDQ1MDlhZjM2NDRjZTdkMzc3MzI5NDgyYTE0YmI0YmZhY2EyYWE1ZjE0MDBkOGU4YTg0Ci0tLQoKe3sjaWYgaXNwcm94eX19Cnt7cHJveHl9fSByZWdpc3RlcnMgYXMgYSBwcm94eSB0aGF0IGNhbiB2b3RlIG9uIGJlaGFsZiBvZiBhY2NvdW50cyB0aGF0IGFwcG9pbnQgaXQgYXMgdGhlaXIgcHJveHkuCnt7ZWxzZX19Cnt7cHJveHl9fSB1bnJlZ2lzdGVycyBhcyBhIHByb3h5IHRoYXQgY2FuIHZvdGUgb24gYmVoYWxmIG9mIGFjY291bnRzIHRoYXQgYXBwb2ludCBpdCBhcyB0aGVpciBwcm94eS4Ke3svaWZ9fQAAAEBXlKe6B3JlbnRjcHXcCS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFJlbnQgQ1BVIEJhbmR3aWR0aCBmb3IgMzAgRGF5cwpzdW1tYXJ5OiAne3tub3dyYXAgZnJvbX19IHBheXMge3tub3dyYXAgbG9hbl9wYXltZW50fX0gdG8gcmVudCBDUFUgYmFuZHdpZHRoIGZvciB7e25vd3JhcCByZWNlaXZlcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gcGF5cyB7e2xvYW5fcGF5bWVudH19IHRvIHJlbnQgQ1BVIGJhbmR3aWR0aCBvbiBiZWhhbGYgb2Yge3tyZWNlaXZlcn19IGZvciBhIHBlcmlvZCBvZiAzMCBkYXlzLgoKe3tsb2FuX3BheW1lbnR9fSBpcyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLiBUaGUgbWFya2V0IHByaWNlIGRldGVybWluZXMgdGhlIG51bWJlciBvZiB0b2tlbnMgdG8gYmUgc3Rha2VkIHRvIHt7cmVjZWl2ZXJ9feKAmXMgQ1BVIHJlc291cmNlcy4gSW4gYWRkaXRpb24sIHt7ZnJvbX19IHByb3ZpZGVzIHt7bG9hbl9mdW5kfX0sIHdoaWNoIGlzIGFsc28gdGFrZW4gb3V0IG9mIHt7ZnJvbX194oCZcyBSRVggZnVuZCwgdG8gYmUgdXNlZCBmb3IgYXV0b21hdGljIHJlbmV3YWwgb2YgdGhlIGxvYW4uCgpBdCBleHBpcmF0aW9uLCBpZiB0aGUgbG9hbiBoYXMgbGVzcyBmdW5kcyB0aGFuIHt7bG9hbl9wYXltZW50fX0sIGl0IGlzIGNsb3NlZCBhbmQgbGVudCB0b2tlbnMgdGhhdCBoYXZlIGJlZW4gc3Rha2VkIGFyZSB0YWtlbiBvdXQgb2Yge3tyZWNlaXZlcn194oCZcyBDUFUgYmFuZHdpZHRoLiBPdGhlcndpc2UsIGl0IGlzIHJlbmV3ZWQgYXQgdGhlIG1hcmtldCBwcmljZSBhdCB0aGUgdGltZSBvZiByZW5ld2FsLCB0aGF0IGlzLCB0aGUgbnVtYmVyIG9mIHN0YWtlZCB0b2tlbnMgaXMgcmVjYWxjdWxhdGVkIGFuZCB7e3JlY2VpdmVyfX3igJlzIENQVSBiYW5kd2lkdGggaXMgdXBkYXRlZCBhY2NvcmRpbmdseS4ge3tmcm9tfX0gY2FuIGZ1bmQgb3IgZGVmdW5kIGEgbG9hbiBhdCBhbnkgdGltZSBiZWZvcmUgZXhwaXJhdGlvbi4gV2hlbiB0aGUgbG9hbiBpcyBjbG9zZWQsIHt7ZnJvbX19IGlzIHJlZnVuZGVkIGFueSB0b2tlbnMgcmVtYWluaW5nIGluIHRoZSBsb2FuIGZ1bmQuAAAAIKuZp7oHcmVudG5ldOgJLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogUmVudCBORVQgQmFuZHdpZHRoIGZvciAzMCBEYXlzCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gcGF5cyB7e25vd3JhcCBsb2FuX3BheW1lbnR9fSB0byByZW50IE5FVCBiYW5kd2lkdGggZm9yIHt7bm93cmFwIHJlY2VpdmVyfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgp7e2Zyb219fSBwYXlzIHt7bG9hbl9wYXltZW50fX0gdG8gcmVudCBORVQgYmFuZHdpZHRoIG9uIGJlaGFsZiBvZiB7e3JlY2VpdmVyfX0gZm9yIGEgcGVyaW9kIG9mIDMwIGRheXMuCgp7e2xvYW5fcGF5bWVudH19IGlzIHRha2VuIG91dCBvZiB7e2Zyb219feKAmXMgUkVYIGZ1bmQuIFRoZSBtYXJrZXQgcHJpY2UgZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIHRva2VucyB0byBiZSBzdGFrZWQgdG8ge3tyZWNlaXZlcn194oCZcyBORVQgcmVzb3VyY2VzIGZvciAzMCBkYXlzLiBJbiBhZGRpdGlvbiwge3tmcm9tfX0gcHJvdmlkZXMge3tsb2FuX2Z1bmR9fSwgd2hpY2ggaXMgYWxzbyB0YWtlbiBvdXQgb2Yge3tmcm9tfX3igJlzIFJFWCBmdW5kLCB0byBiZSB1c2VkIGZvciBhdXRvbWF0aWMgcmVuZXdhbCBvZiB0aGUgbG9hbi4KCkF0IGV4cGlyYXRpb24sIGlmIHRoZSBsb2FuIGhhcyBsZXNzIGZ1bmRzIHRoYW4ge3tsb2FuX3BheW1lbnR9fSwgaXQgaXMgY2xvc2VkIGFuZCBsZW50IHRva2VucyB0aGF0IGhhdmUgYmVlbiBzdGFrZWQgYXJlIHRha2VuIG91dCBvZiB7e3JlY2VpdmVyfX3igJlzIE5FVCBiYW5kd2lkdGguIE90aGVyd2lzZSwgaXQgaXMgcmVuZXdlZCBhdCB0aGUgbWFya2V0IHByaWNlIGF0IHRoZSB0aW1lIG9mIHJlbmV3YWwsIHRoYXQgaXMsIHRoZSBudW1iZXIgb2Ygc3Rha2VkIHRva2VucyBpcyByZWNhbGN1bGF0ZWQgYW5kIHt7cmVjZWl2ZXJ9feKAmXMgTkVUIGJhbmR3aWR0aCBpcyB1cGRhdGVkIGFjY29yZGluZ2x5LiB7e2Zyb219fSBjYW4gZnVuZCBvciBkZWZ1bmQgYSBsb2FuIGF0IGFueSB0aW1lIGJlZm9yZSBleHBpcmF0aW9uLiBXaGVuIHRoZSBsb2FuIGlzIGNsb3NlZCwge3tmcm9tfX0gaXMgcmVmdW5kZWQgYW55IHRva2VucyByZW1haW5pbmcgaW4gdGhlIGxvYW4gZnVuZC4AAAAAqa66ugdyZXhleGVjogMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBQZXJmb3JtIFJFWCBNYWludGVuYW5jZQpzdW1tYXJ5OiAnUHJvY2VzcyBzZWxsIG9yZGVycyBhbmQgZXhwaXJlZCBsb2FucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClBlcmZvcm1zIFJFWCBtYWludGVuYW5jZSBieSBwcm9jZXNzaW5nIGEgbWF4aW11bSBvZiB7e21heH19IFJFWCBzZWxsIG9yZGVycyBhbmQgZXhwaXJlZCBsb2Fucy4gQW55IGFjY291bnQgY2FuIGV4ZWN1dGUgdGhpcyBhY3Rpb24uAK5COtFbt7wLcm12cHJvZHVjZXKCBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEZvcmNpYmx5IFVucmVnaXN0ZXIgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ3t7bm93cmFwIHByb2R1Y2VyfX0gaXMgdW5yZWdpc3RlcmVkIGFzIGEgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IHVucmVnaXN0ZXJzIHt7cHJvZHVjZXJ9fSBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4ge3twcm9kdWNlcn19IGFjY291bnQgd2lsbCByZXRhaW4gaXRzIHZvdGVzIGFuZCB0aG9zZSB2b3RlcyBjYW4gY2hhbmdlIGJhc2VkIG9uIHZvdGVyIHN0YWtlIGNoYW5nZXMgb3Igdm90ZXMgcmVtb3ZlZCBmcm9tIHt7cHJvZHVjZXJ9fS4gSG93ZXZlciBuZXcgdm90ZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gdm90ZSBmb3Ige3twcm9kdWNlcn19IHdoaWxlIGl0IHJlbWFpbnMgdW5yZWdpc3RlcmVkLgAAAECaG6PCB3NlbGxyYW3FAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNlbGwgUkFNIEZyb20gQWNjb3VudApzdW1tYXJ5OiAnU2VsbCB1bnVzZWQgUkFNIGZyb20ge3tub3dyYXAgYWNjb3VudH19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgpTZWxsIHt7Ynl0ZXN9fSBieXRlcyBvZiB1bnVzZWQgUkFNIGZyb20gYWNjb3VudCB7e2FjY291bnR9fSBhdCBtYXJrZXQgcHJpY2UuIFRoaXMgdHJhbnNhY3Rpb24gd2lsbCBpbmN1ciBhIDAuNSUgZmVlIG9uIHRoZSBwcm9jZWVkcyB3aGljaCBkZXBlbmQgb24gbWFya2V0IHJhdGVzLgAAAKCrG6PCB3NlbGxyZXipCi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFNlbGwgUkVYIFRva2VucyBpbiBFeGNoYW5nZSBmb3IgRU9TCnN1bW1hcnk6ICd7e25vd3JhcCBmcm9tfX0gc2VsbHMge3tub3dyYXAgcmV4fX0gdG9rZW5zJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmV4LnBuZyNkMjI5ODM3ZmE2MmE0NjRiOWM3MWUwNjA2MGFhODYxNzlhZGYwYjNmNGUzYjhjNGY5NzAyZjRmNGIwYzM0MGE4Ci0tLQoKe3tmcm9tfX0gaW5pdGlhdGVzIGEgc2VsbCBvcmRlciB0byBzZWxsIHt7cmV4fX0gdG9rZW5zIGF0IHRoZSBtYXJrZXQgZXhjaGFuZ2UgcmF0ZSBkdXJpbmcgdGhlIHRpbWUgYXQgd2hpY2ggdGhlIG9yZGVyIGlzIHVsdGltYXRlbHkgZXhlY3V0ZWQuIElmIHt7ZnJvbX19IGFscmVhZHkgaGFzIGFuIG9wZW4gc2VsbCBvcmRlciBpbiB0aGUgc2VsbCBxdWV1ZSwge3tyZXh9fSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBhbW91bnQgb2YgdGhlIHNlbGwgb3JkZXIgd2l0aG91dCBjaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBzZWxsIG9yZGVyIHdpdGhpbiB0aGUgcXVldWUuIE9uY2UgdGhlIHNlbGwgb3JkZXIgaXMgZXhlY3V0ZWQsIHByb2NlZWRzIGFyZSBhZGRlZCB0byB7e2Zyb219feKAmXMgUkVYIGZ1bmQsIHRoZSB2YWx1ZSBvZiBzb2xkIFJFWCB0b2tlbnMgaXMgZGVkdWN0ZWQgZnJvbSB7e2Zyb219feKAmXMgdm90ZSBzdGFrZSwgYW5kIHZvdGVzIGFyZSB1cGRhdGVkIGFjY29yZGluZ2x5LgoKRGVwZW5kaW5nIG9uIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgaXQgbWF5IG5vdCBiZSBwb3NzaWJsZSB0byBmaWxsIHRoZSBlbnRpcmUgc2VsbCBvcmRlciBpbW1lZGlhdGVseS4gSW4gc3VjaCBhIGNhc2UsIHRoZSBzZWxsIG9yZGVyIGlzIGFkZGVkIHRvIHRoZSBiYWNrIG9mIGEgc2VsbCBxdWV1ZS4gQSBzZWxsIG9yZGVyIGF0IHRoZSBmcm9udCBvZiB0aGUgc2VsbCBxdWV1ZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgZXhlY3V0ZWQgd2hlbiB0aGUgbWFya2V0IGNvbmRpdGlvbnMgYWxsb3cgZm9yIHRoZSBlbnRpcmUgb3JkZXIgdG8gYmUgZmlsbGVkLiBSZWdhcmRsZXNzIG9mIHRoZSBtYXJrZXQgY29uZGl0aW9ucywgdGhlIHN5c3RlbSBpcyBkZXNpZ25lZCB0byBleGVjdXRlIHRoaXMgc2VsbCBvcmRlciB3aXRoaW4gMzAgZGF5cy4ge3tmcm9tfX0gY2FuIGNhbmNlbCB0aGUgb3JkZXIgYXQgYW55IHRpbWUgYmVmb3JlIGl0IGlzIGZpbGxlZCB1c2luZyB0aGUgY25jbHJleG9yZGVyIGFjdGlvbi4AAAAAuGOywgZzZXRhYmnzAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IERlcGxveSBDb250cmFjdCBBQkkKc3VtbWFyeTogJ0RlcGxveSBjb250cmFjdCBBQkkgb24gYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKRGVwbG95IHRoZSBBQkkgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRyYWN0IG9uIGFjY291bnQge3thY2NvdW50fX0uAICuKCNkssIKc2V0YWNjdGNwdZ4GLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRXhwbGljaXRseSBNYW5hZ2UgdGhlIENQVSBRdW90YSBvZiBBY2NvdW50CnN1bW1hcnk6ICdFeHBsaWNpdGx5IG1hbmFnZSB0aGUgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3sjaWZfaGFzX3ZhbHVlIGNwdV93ZWlnaHR9fQpFeHBsaWNpdGx5IG1hbmFnZSB0aGUgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19IGJ5IHBpbm5pbmcgaXQgdG8gYSB3ZWlnaHQgb2Yge3tjcHVfd2VpZ2h0fX0uCgp7e2FjY291bnR9fSBjYW4gc3Rha2UgYW5kIHVuc3Rha2UsIGhvd2V2ZXIsIGl0IHdpbGwgbm90IGNoYW5nZSB0aGVpciBDUFUgYmFuZHdpZHRoIHF1b3RhIGFzIGxvbmcgYXMgaXQgcmVtYWlucyBwaW5uZWQuCnt7ZWxzZX19ClVucGluIHRoZSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0uIFRoZSBDUFUgYmFuZHdpZHRoIHF1b3RhIG9mIHt7YWNjb3VudH19IHdpbGwgYmUgZHJpdmVuIGJ5IHRoZSBjdXJyZW50IHRva2VucyBzdGFrZWQgZm9yIENQVSBiYW5kd2lkdGggYnkge3thY2NvdW50fX0uCnt7L2lmX2hhc192YWx1ZX19AEBWMyNkssIKc2V0YWNjdG5ldKIGLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogRXhwbGljaXRseSBNYW5hZ2UgdGhlIE5FVCBRdW90YSBvZiBBY2NvdW50CnN1bW1hcnk6ICdFeHBsaWNpdGx5IG1hbmFnZSB0aGUgTkVUIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3sjaWZfaGFzX3ZhbHVlIG5ldF93ZWlnaHR9fQpFeHBsaWNpdGx5IG1hbmFnZSB0aGUgbmV0d29yayBiYW5kd2lkdGggcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fSBieSBwaW5uaW5nIGl0IHRvIGEgd2VpZ2h0IG9mIHt7bmV0X3dlaWdodH19LgoKe3thY2NvdW50fX0gY2FuIHN0YWtlIGFuZCB1bnN0YWtlLCBob3dldmVyLCBpdCB3aWxsIG5vdCBjaGFuZ2UgdGhlaXIgTkVUIGJhbmR3aWR0aCBxdW90YSBhcyBsb25nIGFzIGl0IHJlbWFpbnMgcGlubmVkLgp7e2Vsc2V9fQpVbnBpbiB0aGUgTkVUIGJhbmR3aWR0aCBxdW90YSBvZiBhY2NvdW50IHt7YWNjb3VudH19LiBUaGUgTkVUIGJhbmR3aWR0aCBxdW90YSBvZiB7e2FjY291bnR9fSB3aWxsIGJlIGRyaXZlbiBieSB0aGUgY3VycmVudCB0b2tlbnMgc3Rha2VkIGZvciBORVQgYmFuZHdpZHRoIGJ5IHt7YWNjb3VudH19Lgp7ey9pZl9oYXNfdmFsdWV9fQCANDcjZLLCCnNldGFjY3RyYW3QBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEV4cGxpY2l0bHkgTWFuYWdlIHRoZSBSQU0gUXVvdGEgb2YgQWNjb3VudApzdW1tYXJ5OiAnRXhwbGljaXRseSBtYW5hZ2UgdGhlIFJBTSBxdW90YSBvZiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3sjaWZfaGFzX3ZhbHVlIHJhbV9ieXRlc319CkV4cGxpY2l0bHkgbWFuYWdlIHRoZSBSQU0gcXVvdGEgb2YgYWNjb3VudCB7e2FjY291bnR9fSBieSBwaW5uaW5nIGl0IHRvIHt7cmFtX2J5dGVzfX0gYnl0ZXMuCgp7e2FjY291bnR9fSBjYW4gYnV5IGFuZCBzZWxsIFJBTSwgaG93ZXZlciwgaXQgd2lsbCBub3QgY2hhbmdlIHRoZWlyIFJBTSBxdW90YSBhcyBsb25nIGFzIGl0IHJlbWFpbnMgcGlubmVkLgp7e2Vsc2V9fQpVbnBpbiB0aGUgUkFNIHF1b3RhIG9mIGFjY291bnQge3thY2NvdW50fX0uIFRoZSBSQU0gcXVvdGEgb2Yge3thY2NvdW50fX0gd2lsbCBiZSBkcml2ZW4gYnkgdGhlIGN1cnJlbnQgUkFNIGhvbGRpbmdzIG9mIHt7YWNjb3VudH19Lgp7ey9pZl9oYXNfdmFsdWV9fQAAzk66aLLCCnNldGFsaW1pdHP2Ay0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEFkanVzdCBSZXNvdXJjZSBMaW1pdHMgb2YgQWNjb3VudApzdW1tYXJ5OiAnQWRqdXN0IHJlc291cmNlIGxpbWl0cyBvZiBhY2NvdW50IHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSB1cGRhdGVzIHt7YWNjb3VudH194oCZcyByZXNvdXJjZSBsaW1pdHMgdG8gaGF2ZSBhIFJBTSBxdW90YSBvZiB7e3JhbV9ieXRlc319IGJ5dGVzLCBhIE5FVCBiYW5kd2lkdGggcXVvdGEgb2Yge3tuZXRfd2VpZ2h0fX0gYW5kIGEgQ1BVIGJhbmR3aWR0aCBxdW90YSBvZiB7e2NwdV93ZWlnaHR9fS4AAABAJYqywgdzZXRjb2Rl5gItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBEZXBsb3kgQ29udHJhY3QgQ29kZQpzdW1tYXJ5OiAnRGVwbG95IGNvbnRyYWN0IGNvZGUgb24gYWNjb3VudCB7e25vd3JhcCBhY2NvdW50fX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9hY2NvdW50LnBuZyMzZDU1YTJmYzNhNWMyMGI0NTZmNTY1N2ZhZjY2NmJjMjVmZmQwNmY0ODM2YzVlODI1NmY3NDExNDliMGIyOTRmCi0tLQoKRGVwbG95IGNvbXBpbGVkIGNvbnRyYWN0IGNvZGUgdG8gdGhlIGFjY291bnQge3thY2NvdW50fX0uMKnLJq7pssIMc2V0aW5mbGF0aW9u6wQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgSW5mbGF0aW9uIFBhcmFtZXRlcnMKc3VtbWFyeTogJ1NldCBpbmZsYXRpb24gcGFyYW1ldGVycycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHRoZSBpbmZsYXRpb24gcGFyYW1ldGVycyBhcyBmb2xsb3dzOgoKKiBBbm51YWwgaW5mbGF0aW9uIHJhdGUgKGluIHVuaXRzIG9mIGEgaHVuZHJlZHRoIG9mIGEgcGVyY2VudCk6IHt7YW5udWFsX3JhdGV9fQoqIEZyYWN0aW9uIG9mIGluZmxhdGlvbiB1c2VkIHRvIHJld2FyZCBibG9jayBwcm9kdWNlcnM6IDEwMDAwL3t7aW5mbGF0aW9uX3BheV9mYWN0b3J9fQoqIEZyYWN0aW9uIG9mIGJsb2NrIHByb2R1Y2VyIHJld2FyZHMgdG8gYmUgZGlzdHJpYnV0ZWQgcHJvcG9ydGlvbmFsIHRvIGJsb2NrcyBwcm9kdWNlZDogMTAwMDAve3t2b3RlcGF5X2ZhY3Rvcn19AADA0lxTs8IJc2V0cGFyYW1z0AItLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgU3lzdGVtIFBhcmFtZXRlcnMKc3VtbWFyeTogJ1NldCBTeXN0ZW0gUGFyYW1ldGVycycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHN5c3RlbSBwYXJhbWV0ZXJzIHRvOgp7e3RvX2pzb24gcGFyYW1zfX0AAABgu1uzwgdzZXRwcml2jQQtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBNYWtlIGFuIEFjY291bnQgUHJpdmlsZWdlZCBvciBVbnByaXZpbGVnZWQKc3VtbWFyeTogJ3t7I2lmIGlzX3ByaXZ9fU1ha2Uge3tub3dyYXAgYWNjb3VudH19IHByaXZpbGVnZWR7e2Vsc2V9fVJlbW92ZSBwcml2aWxlZ2VkIHN0YXR1cyBvZiB7e25vd3JhcCBhY2NvdW50fX17ey9pZn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyNpZiBpc19wcml2fX0Ke3skYWN0aW9uLmFjY291bnR9fSBtYWtlcyB7e2FjY291bnR9fSBwcml2aWxlZ2VkLgp7e2Vsc2V9fQp7eyRhY3Rpb24uYWNjb3VudH19IHJlbW92ZXMgcHJpdmlsZWdlZCBzdGF0dXMgb2Yge3thY2NvdW50fX0uCnt7L2lmfX0AAAAASHOzwgZzZXRyYW3mAi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IENvbmZpZ3VyZSB0aGUgQXZhaWxhYmxlIFJBTQpzdW1tYXJ5OiAnQ29uZmlndXJlIHRoZSBhdmFpbGFibGUgUkFNJwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvYWRtaW4ucG5nIzliZjFjZWM2NjQ4NjNiZDZhYWFjMGY4MTRiMjM1Zjg3OTlmYjAyYzg1MGU5YWE1ZGEzNGU4YTAwNGJkNjUxOGUKLS0tCgp7eyRhY3Rpb24uYWNjb3VudH19IGNvbmZpZ3VyZXMgdGhlIGF2YWlsYWJsZSBSQU0gdG8ge3ttYXhfcmFtX3NpemV9fSBieXRlcy4AgMrmSnOzwgpzZXRyYW1yYXRlhQMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBTZXQgdGhlIFJhdGUgb2YgSW5jcmVhc2Ugb2YgUkFNCnN1bW1hcnk6ICdTZXQgdGhlIHJhdGUgb2YgaW5jcmVhc2Ugb2YgUkFNIHBlciBibG9jaycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBzZXRzIHRoZSByYXRlIG9mIGluY3JlYXNlIG9mIFJBTSB0byB7e2J5dGVzX3Blcl9ibG9ja319IGJ5dGVzL2Jsb2NrLgAAAAB0dbPCBnNldHJleLcDLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogQWRqdXN0IFJFWCBQb29sIFZpcnR1YWwgQmFsYW5jZQpzdW1tYXJ5OiAnQWRqdXN0IFJFWCBQb29sIFZpcnR1YWwgQmFsYW5jZScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhZGp1c3RzIFJFWCBsb2FuIHJhdGUgYnkgc2V0dGluZyBSRVggcG9vbCB2aXJ0dWFsIGJhbGFuY2UgdG8ge3tiYWxhbmNlfX0uIE5vIHRva2VuIHRyYW5zZmVyIG9yIGlzc3VlIGlzIGV4ZWN1dGVkIGluIHRoaXMgYWN0aW9uLsCPyoapqNLUDHVuZGVsZWdhdGVid6EHLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogVW5zdGFrZSBUb2tlbnMgZm9yIE5FVCBhbmQvb3IgQ1BVCnN1bW1hcnk6ICdVbnN0YWtlIHRva2VucyBmb3IgTkVUIGFuZC9vciBDUFUgZnJvbSB7e25vd3JhcCByZWNlaXZlcn19JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvcmVzb3VyY2UucG5nIzM4MzBmMWNlOGNiMDdmNzc1N2RiY2YzODNiMWVjMWIxMTkxNGFjMzRhMWY5ZDhiMDY1ZjA3NjAwZmE5ZGFjMTkKLS0tCgp7e2Zyb219fSB1bnN0YWtlcyBmcm9tIHt7cmVjZWl2ZXJ9fSB7e3Vuc3Rha2VfbmV0X3F1YW50aXR5fX0gZm9yIE5FVCBiYW5kd2lkdGggYW5kIHt7dW5zdGFrZV9jcHVfcXVhbnRpdHl9fSBmb3IgQ1BVIGJhbmR3aWR0aC4KClRoZSBzdW0gb2YgdGhlc2UgdHdvIHF1YW50aXRpZXMgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIHZvdGUgd2VpZ2h0IG9mIHt7cmVjZWl2ZXJ9fSBhbmQgd2lsbCBiZSBtYWRlIGF2YWlsYWJsZSB0byB7e2Zyb219fSBhZnRlciBhbiB1bmludGVycnVwdGVkIDMgZGF5IHBlcmlvZCB3aXRob3V0IGZ1cnRoZXIgdW5zdGFraW5nIGJ5IHt7ZnJvbX19LiBBZnRlciB0aGUgdW5pbnRlcnJ1cHRlZCAzIGRheSBwZXJpb2QgcGFzc2VzLCB0aGUgc3lzdGVtIHdpbGwgYXR0ZW1wdCB0byBhdXRvbWF0aWNhbGx5IHJldHVybiB0aGUgZnVuZHMgdG8ge3tmcm9tfX3igJlzIHJlZ3VsYXIgdG9rZW4gYmFsYW5jZS4gSG93ZXZlciwgdGhpcyBhdXRvbWF0aWMgcmVmdW5kIG1heSBvY2Nhc2lvbmFsbHkgZmFpbCB3aGljaCB3aWxsIHRoZW4gcmVxdWlyZSB7e2Zyb219fSB0byBtYW51YWxseSBjbGFpbSB0aGUgZnVuZHMgd2l0aCB0aGUgcmVmdW5kIGFjdGlvbi4AQMvawOni1Ap1bmxpbmthdXRokQUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBVbmxpbmsgQWN0aW9uIGZyb20gUGVybWlzc2lvbgpzdW1tYXJ5OiAne3tub3dyYXAgYWNjb3VudH19IHVuc2V0cyB0aGUgbWluaW11bSByZXF1aXJlZCBwZXJtaXNzaW9uIGZvciB0aGUge3sjaWYgdHlwZX19e3tub3dyYXAgdHlwZX19IGFjdGlvbiBvZiB0aGV7ey9pZn19IHt7bm93cmFwIGNvZGV9fSBjb250cmFjdCcKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgp7e2FjY291bnR9fSByZW1vdmVzIHRoZSBhc3NvY2lhdGlvbiBiZXR3ZWVuIHRoZSB7eyNpZiB0eXBlfX17e3R5cGV9fSBhY3Rpb24gb2YgdGhle3svaWZ9fSB7e2NvZGV9fSBjb250cmFjdCBhbmQgaXRzIG1pbmltdW0gcmVxdWlyZWQgcGVybWlzc2lvbi4KCnt7I2lmIHR5cGV9fXt7ZWxzZX19VGhpcyB3aWxsIG5vdCByZW1vdmUgYW55IGxpbmtzIGV4cGxpY2l0bHkgYXNzb2NpYXRlZCB0byBzcGVjaWZpYyBhY3Rpb25zIG9mIHt7Y29kZX19Lnt7L2lmfX0AAEj0Vqbu1Al1bnJlZ3Byb2TlBC0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVucmVnaXN0ZXIgYXMgYSBCbG9jayBQcm9kdWNlciBDYW5kaWRhdGUKc3VtbWFyeTogJ3t7bm93cmFwIHByb2R1Y2VyfX0gdW5yZWdpc3RlcnMgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgp7e3Byb2R1Y2VyfX0gdW5yZWdpc3RlcnMgYXMgYSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUuIHt7cHJvZHVjZXJ9fSBhY2NvdW50IHdpbGwgcmV0YWluIGl0cyB2b3RlcyBhbmQgdGhvc2Ugdm90ZXMgY2FuIGNoYW5nZSBiYXNlZCBvbiB2b3RlciBzdGFrZSBjaGFuZ2VzIG9yIHZvdGVzIHJlbW92ZWQgZnJvbSB7e3Byb2R1Y2VyfX0uIEhvd2V2ZXIgbmV3IHZvdGVycyB3aWxsIG5vdCBiZSBhYmxlIHRvIHZvdGUgZm9yIHt7cHJvZHVjZXJ9fSB3aGlsZSBpdCByZW1haW5zIHVucmVnaXN0ZXJlZC7Q1aVZQZPx1Ax1bnN0YWtldG9yZXjjBi0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IEJ1eSBSRVggVG9rZW5zIFVzaW5nIFN0YWtlZCBUb2tlbnMKc3VtbWFyeTogJ3t7bm93cmFwIG93bmVyfX0gYnV5cyBSRVggdG9rZW5zIGluIGV4Y2hhbmdlIGZvciB0b2tlbnMgY3VycmVudGx5IHN0YWtlZCB0byBORVQgYW5kL29yIENQVScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KCnt7ZnJvbV9uZXR9fSBhbmQge3tmcm9tX2NwdX19IGFyZSB3aXRoZHJhd24gZnJvbSB7e3JlY2VpdmVyfX3igJlzIE5FVCBhbmQgQ1BVIGJhbmR3aWR0aHMgcmVzcGVjdGl2ZWx5LiBUaGVzZSBmdW5kcyBhcmUgdXNlZCB0byBwdXJjaGFzZSBSRVggdG9rZW5zIGF0IHRoZSBjdXJyZW50IG1hcmtldCBleGNoYW5nZSByYXRlLiBJbiBvcmRlciBmb3IgdGhlIGFjdGlvbiB0byBzdWNjZWVkLCB7e293bmVyfX0gbXVzdCBoYXZlIHZvdGVkIGZvciBhIHByb3h5IG9yIGF0IGxlYXN0IDIxIGJsb2NrIHByb2R1Y2Vycy4KCkEgc2VsbCBvcmRlciBvZiB0aGUgcHVyY2hhc2VkIGFtb3VudCBjYW4gb25seSBiZSBpbml0aWF0ZWQgYWZ0ZXIgd2FpdGluZyBmb3IgdGhlIG1hdHVyaXR5IHBlcmlvZCBvZiA0IHRvIDUgZGF5cyB0byBwYXNzLiBFdmVuIHRoZW4sIGRlcGVuZGluZyBvbiB0aGUgbWFya2V0IGNvbmRpdGlvbnMsIHRoZSBpbml0aWF0ZWQgc2VsbCBvcmRlciBtYXkgbm90IGJlIGV4ZWN1dGVkIGltbWVkaWF0ZWx5LgBAy9qobFLVCnVwZGF0ZWF1dGjtAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IE1vZGlmeSBBY2NvdW50IFBlcm1pc3Npb24Kc3VtbWFyeTogJ0FkZCBvciB1cGRhdGUgdGhlIHt7bm93cmFwIHBlcm1pc3Npb259fSBwZXJtaXNzaW9uIG9mIHt7bm93cmFwIGFjY291bnR9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FjY291bnQucG5nIzNkNTVhMmZjM2E1YzIwYjQ1NmY1NjU3ZmFmNjY2YmMyNWZmZDA2ZjQ4MzZjNWU4MjU2Zjc0MTE0OWIwYjI5NGYKLS0tCgpNb2RpZnksIGFuZCBjcmVhdGUgaWYgbmVjZXNzYXJ5LCB0aGUge3twZXJtaXNzaW9ufX0gcGVybWlzc2lvbiBvZiB7e2FjY291bnR9fSB0byBoYXZlIGEgcGFyZW50IHBlcm1pc3Npb24gb2Yge3twYXJlbnR9fSBhbmQgdGhlIGZvbGxvd2luZyBhdXRob3JpdHk6Cnt7dG9fanNvbiBhdXRofX0AAOjqqmxS1Ql1cGRhdGVyZXiBAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVwZGF0ZSBSRVggT3duZXIgVm90ZSBXZWlnaHQKc3VtbWFyeTogJ1VwZGF0ZSB2b3RlIHdlaWdodCB0byBjdXJyZW50IHZhbHVlIG9mIGhlbGQgUkVYIHRva2VucycKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3JleC5wbmcjZDIyOTgzN2ZhNjJhNDY0YjljNzFlMDYwNjBhYTg2MTc5YWRmMGIzZjRlM2I4YzRmOTcwMmY0ZjRiMGMzNDBhOAotLS0KClVwZGF0ZSB2b3RlIHdlaWdodCBvZiB7e293bmVyfX0gYWNjb3VudCB0byBjdXJyZW50IHZhbHVlIG9mIGhlbGQgUkVYIHRva2Vucy4wqcNuq5tT1Qx1cGR0cmV2aXNpb26CAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFVwZGF0ZSBTeXN0ZW0gQ29udHJhY3QgUmV2aXNpb24gTnVtYmVyCnN1bW1hcnk6ICdVcGRhdGUgc3lzdGVtIGNvbnRyYWN0IHJldmlzaW9uIG51bWJlcicKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL2FkbWluLnBuZyM5YmYxY2VjNjY0ODYzYmQ2YWFhYzBmODE0YjIzNWY4Nzk5ZmIwMmM4NTBlOWFhNWRhMzRlOGEwMDRiZDY1MThlCi0tLQoKe3skYWN0aW9uLmFjY291bnR9fSBhZHZhbmNlcyB0aGUgc3lzdGVtIGNvbnRyYWN0IHJldmlzaW9uIG51bWJlciB0byB7e3JldmlzaW9ufX0ucBXSid6qMt0Mdm90ZXByb2R1Y2VyrQYtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBWb3RlIGZvciBCbG9jayBQcm9kdWNlcnMKc3VtbWFyeTogJ3t7bm93cmFwIHZvdGVyfX0gdm90ZXMgZm9yIHt7I2lmIHByb3h5fX10aGUgcHJveHkge3tub3dyYXAgcHJveHl9fXt7ZWxzZX19dXAgdG8gMzAgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlc3t7L2lmfX0nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy92b3RpbmcucG5nI2RiMjhjZDNkYjZlNjJkNDUwOWFmMzY0NGNlN2QzNzczMjk0ODJhMTRiYjRiZmFjYTJhYTVmMTQwMGQ4ZThhODQKLS0tCgp7eyNpZiBwcm94eX19Cnt7dm90ZXJ9fSB2b3RlcyBmb3IgdGhlIHByb3h5IHt7cHJveHl9fS4KQXQgdGhlIHRpbWUgb2Ygdm90aW5nIHRoZSBmdWxsIHdlaWdodCBvZiB2b3RlcuKAmXMgc3Rha2VkIChDUFUgKyBORVQpIHRva2VucyB3aWxsIGJlIGNhc3QgdG93YXJkcyBlYWNoIG9mIHRoZSBwcm9kdWNlcnMgdm90ZWQgYnkge3twcm94eX19Lgp7e2Vsc2V9fQp7e3ZvdGVyfX0gdm90ZXMgZm9yIHRoZSBmb2xsb3dpbmcgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlczoKCnt7I2VhY2ggcHJvZHVjZXJzfX0KICArIHt7dGhpc319Cnt7L2VhY2h9fQoKQXQgdGhlIHRpbWUgb2Ygdm90aW5nIHRoZSBmdWxsIHdlaWdodCBvZiB2b3RlcuKAmXMgc3Rha2VkIChDUFUgKyBORVQpIHRva2VucyB3aWxsIGJlIGNhc3QgdG93YXJkcyBlYWNoIG9mIHRoZSBhYm92ZSBwcm9kdWNlcnMuCnt7L2lmfX0AgMomVa0y3Qp2b3RldXBkYXRlAAAAAIAtJLHhB3dhc21jZmcAAAAA3NzUsuMId2l0aGRyYXfJAy0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IFdpdGhkcmF3IGZyb20gUkVYIEZ1bmQKc3VtbWFyeTogJ1dpdGhkcmF3IHt7bm93cmFwIGFtb3VudH19IGZyb20ge3tub3dyYXAgb3duZXJ9feKAmXMgUkVYIGZ1bmQgYnkgdHJhbnNmZXJyaW5nIHRvIHt7b3duZXJ9feKAmXMgbGlxdWlkIGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy9yZXgucG5nI2QyMjk4MzdmYTYyYTQ2NGI5YzcxZTA2MDYwYWE4NjE3OWFkZjBiM2Y0ZTNiOGM0Zjk3MDJmNGY0YjBjMzQwYTgKLS0tCgpXaXRoZHJhd3Mge3thbW91bnR9fSBmcm9tIHt7b3duZXJ9feKAmXMgUkVYIGZ1bmQgYW5kIHRyYW5zZmVyIHRoZW0gdG8ge3tvd25lcn194oCZcyBsaXF1aWQgYmFsYW5jZS4aAAAAoGHT3DEDaTY0AAAIYWJpX2hhc2gAAE5TL3WTOwNpNjQAAApiaWRfcmVmdW5kAACgazqIaDwDaTY0AAARYmxvY2tfaW5mb19yZWNvcmQAAABgGhp1RQNpNjQAAAhyZXhfbG9hbgAAACBNc6JKA2k2NAAAE2RlbGVnYXRlZF9iYW5kd2lkdGgAAAAARHNoZANpNjQAABJlb3Npb19nbG9iYWxfc3RhdGUAAABARHNoZANpNjQAABNlb3Npb19nbG9iYWxfc3RhdGUyAAAAYERzaGQDaTY0AAATZW9zaW9fZ2xvYmFsX3N0YXRlMwAAAIBEc2hkA2k2NAAAE2Vvc2lvX2dsb2JhbF9zdGF0ZTQAAAA4uaOkmQNpNjQAAAhuYW1lX2JpZAAAAGAaGrOaA2k2NAAACHJleF9sb2FuAK5Kl4KqOa0DaTY0AAANcG93ZXJ1cF9vcmRlcgBUNhmDqjmtA2k2NAAADXBvd2VydXBfc3RhdGUAAMBXIZ3orQNpNjQAAA1wcm9kdWNlcl9pbmZvAIDAVyGd6K0DaTY0AAAOcHJvZHVjZXJfaW5mbzIAAMgKXiOluQNpNjQAAA5leGNoYW5nZV9zdGF0ZQAAAACnqZe6A2k2NAAADnJlZnVuZF9yZXF1ZXN0AADOCiJ9sroDaTY0AAAScmV4X3JldHVybl9idWNrZXRzAAAAAERzuroDaTY0AAALcmV4X2JhbGFuY2UAAAAgTb26ugNpNjQAAAhyZXhfZnVuZAAAACBSWru6A2k2NAAACHJleF9wb29sAAAASittu7oDaTY0AAAJcmV4X29yZGVyAECktGZ1u7oDaTY0AAAPcmV4X3JldHVybl9wb29sAAAAAKt7FdYDaTY0AAAOdXNlcl9yZXNvdXJjZXMAAAAA4Ksy3QNpNjQAAAp2b3Rlcl9pbmZvwBpqWZvspIsDaTY0AAARbGltaXRfYXV0aF9jaGFuZ2UCDVVzZXJBZ3JlZW1lbnTsfyMgRU9TIFVzZXIgQWdyZWVtZW50CgojIyBEZWZpbml0aW9ucwoKIEFsbCBjYXBpdGFsaXplZCwgaXRhbGljaXplZCwgb3IgaW5saW5lIGNvZGUgdGVybXMgaW4gKlRoZSBFT1MgVXNlciBBZ3JlZW1lbnQqIHdpbGwgYmUgZ2l2ZW4gdGhlIHNhbWUgZWZmZWN0IGFuZCBtZWFuaW5nIGFzIGluICpEZWZpbml0aW9ucyouCgoqIEVPUyBVc2VyIEFncmVlbWVudDogVGhpcyBkb2N1bWVudCAoKkVVQSopCgoqIENoYWluIElEOiBgY2hhaW5faWRg4oCKLeKAimFjYTM3NmYyMDZiOGZjMjVhNmVkNDRkYmRjNjY1NDdjMzZjNmMzM2UzYTExOWZmYmVhZWY5NDM2NDJmMGU5MDYKCiogVXNlcjogQW55IHBlcnNvbiBvciBvcmdhbml6YXRpb24gb2YgcGVyc29ucyB3aG8gbWFpbnRhaW4ocykgZGlyZWN0IG9yIGluZGlyZWN0IG93bmVyc2hpcCBvZiBhbiBFT1MgYWNjb3VudCwgb3IgRU9TLWJhc2VkIHByb3BlcnR5IGNvbm5lY3RlZCB0byBhbiBFT1MgYWNjb3VudC4KCiogT3duZXJzaGlwOiBEaXJlY3Qgb3IgaW5kaXJlY3QgYWNjZXNzIHRvIGFuIEVPUyBhY2NvdW50IHRocm91Z2ggb25lIG9yIG1vcmUgdmFsaWQgcGVybWlzc2lvbnMgY2hlY2tzLiBPd25lcnNoaXAgbWF5IGJlIHBhcnRpYWxseSBzaGFyZWQgYmV0d2VlbiBVc2VycyB0aHJvdWdoIHRoZSB1c2Ugb2YgbXVsdGktc2lnbmF0dXJlIHBlcm1pc3Npb25zLgoKKiBCbG9jayBQcm9kdWNlcjogVXNlcnMgd2hvIGhhdmUgY2FsbGVkIGByZWdwcm9kdWNlcmAgYW5kIHJlY2VpdmUgcmV3YXJkcyBmcm9tIGVvc2lvLnZwYXkuCgoqIGBlb3Npby5wcm9kc2A6IEFuIEVPUyBhY2NvdW50IHdpdGggYSBkeW5hbWljIHBlcm1pc3Npb25zIHN0cnVjdHVyZSB0aGF0IGNhbiBhc3N1bWUgdGhlIHByaXZpbGVnZXMgb2YgdGhlIGBlb3Npb2AgYWNjb3VudCB3aGVuIDE1LzIxIEJsb2NrIFByb2R1Y2VycyBhZ3JlZSB0byBkbyBzby4KCiogTmV0d29yayBGdW5kczogVG9rZW5zIGNvbnRhaW5lZCB3aXRoaW4gdGhlIGZvbGxvd2luZyBhY2NvdW50czogYGVvc2lvLm5hbWVzYCwgYGVvc2lvLnJhbWZlZWAsIGBlb3Npby5zYXZpbmdgLgoKKiBHb3Zlcm5pbmcgRG9jdW1lbnRzOiAqcmVncHJvZHVjZXIqIGlzIGNvbnNpZGVyZWQgYSBnb3Zlcm5pbmcgZG9jdW1lbnQuCgoqIE9uLUNoYWluOiBBbnkgdHJhbnNhY3Rpb24sIHNtYXJ0IGNvbnRyYWN0LCBvciBSaWNhcmRpYW4gY29udHJhY3Qgd2hpY2ggaXMgbG9jYXRlZCB3aXRoaW4gYSBibG9jayB0aGF0IGlzIGlycmV2ZXJzaWJsZSBhbmQgYXBwZW5kZWQgdG8gdGhlIEVPUyBibG9ja2NoYWluIGBjaGFpbl9pZGAuCgoqIEVPUy1iYXNlZCBQcm9wZXJ0eTogQW55dGhpbmcgdGhhdCByZXF1aXJlcyBhIHZhbGlkIHBlcm1pc3Npb24gaW4gb3JkZXIgdG8gZGlyZWN0bHkgbWFuaXB1bGF0ZSwgYWx0ZXIsIHRyYW5zZmVyLCBpbmZsdWVuY2UsIG9yIG90aGVyd2lzZSBlZmZlY3Qgb24gdGhlIEVPUyBCbG9ja2NoYWluCgoqIENhbGw6IFRvIHN1Ym1pdCBhbiBhY3Rpb24gdG8gdGhlIEVPUyBCbG9ja2NoYWluIGBjaGFpbl9pZGAuCgoqIEF1dGhvcml6YXRpb25zICYgUGVybWlzc2lvbnM6IFBlcm1pc3Npb25zIGFyZSBhcmJpdHJhcnkgbmFtZXMgdXNlZCB0byBkZWZpbmUgdGhlIHJlcXVpcmVtZW50cyBmb3IgYSB0cmFuc2FjdGlvbiBzZW50IG9uIGJlaGFsZiBvZiB0aGF0IHBlcm1pc3Npb24uIFBlcm1pc3Npb25zIGNhbiBiZSBhc3NpZ25lZCBmb3IgYXV0aG9yaXR5IG92ZXIgc3BlY2lmaWMgY29udHJhY3QgYWN0aW9ucy4KCiogUmljYXJkaWFuIENvbnRyYWN0OiBBIGNvbnRyYWN0IHRoYXQgcGxhY2VzIHRoZSBkZWZpbmluZyBlbGVtZW50cyBvZiBhIGxlZ2FsIGFncmVlbWVudCBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSBleHByZXNzZWQgYW5kIGV4ZWN1dGVkIGluIHNvZnR3YXJlLgoKIyMgQXJ0aWNsZSBJIC3igIogVXNlciBBY2tub3dsZWRnZW1lbnQgb2YgUmlza3MKSWYgVXNlciBsb3NlcyBhY2Nlc3MgdG8gdGhlaXIgRU9TIGFjY291bnQgb24gYGNoYWluX2lkYCBhbmQgaGFzIG5vdCB0YWtlbiBhcHByb3ByaWF0ZSBtZWFzdXJlcyB0byBzZWN1cmUgYWNjZXNzIHRvIHRoZWlyIEVPUyBhY2NvdW50IGJ5IG90aGVyIG1lYW5zLCB0aGUgVXNlciBhY2tub3dsZWRnZXMgYW5kIGFncmVlcyB0aGF0IHRoYXQgRU9TIGFjY291bnQgd2lsbCBiZWNvbWUgaW5hY2Nlc3NpYmxlLiBVc2VycyBhY2tub3dsZWRnZSB0aGF0IHRoZSBVc2VyIGhhcyBhbiBhZGVxdWF0ZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSByaXNrcywgdXNhZ2UgYW5kIGludHJpY2FjaWVzIG9mIGNyeXB0b2dyYXBoaWMgdG9rZW5zIGFuZCBibG9ja2NoYWluLWJhc2VkIHNvZnR3YXJlLiBUaGUgVXNlciBhY2tub3dsZWRnZXMgYW5kIGFncmVlcyB0aGF0IHRoZSBVc2VyIGlzIHVzaW5nIHRoZSBFT1MgYmxvY2tjaGFpbiBhdCB0aGVpciBzb2xlIHJpc2suCgojIyBBcnRpY2xlIElJ4oCKLeKAilNwZWNpYWwgVXNlciBUeXBlcwpVc2VycyB3aG8gY2FsbCBgcmVncHJvZHVjZXJgIGFncmVlIHRvLCBhbmQgYXJlIGJvdW5kIGJ5LCB0aGUgKnJlZ3Byb2R1Y2VyKiBSaWNhcmRpYW4gQ29udHJhY3QuCgojIyBBcnRpY2xlIElJSeKAii3igIpDb25zZW50IG9mIHRoZSBFVUEKVGhlIG5hdHVyZSBvZiB0aGUgKkVPUyBVc2VyIEFncmVlbWVudCogaXMgc3VjaCB0aGF0IGl0IHNlcnZlcyBhcyBhIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50IEVPUyBNYWlubmV0IGdvdmVybmFuY2UgZnVuY3Rpb25zIHRoYXQgYXJlIGluIHBsYWNlLiBUaGVzZSBmdW5jdGlvbnMsIGVuZm9yY2VkIGJ5IGNvZGUsIGRvIG5vdCByZXF1aXJlIHRoZSBjb25zZW50IG9mIFVzZXJzIGFzIHRoZXNlIGZ1bmN0aW9ucyBhcmUgaW5oZXJlbnQgYW5kIHN5c3RlbWljIHRvIHRoZSBFT1MgTWFpbm5ldCBpdHNlbGYuCgojIyBBcnRpY2xlIElW4oCKLeKAikdvdmVybmluZyBEb2N1bWVudHMKQW55IG1vZGlmaWNhdGlvbnMgdG8gdGhlICpFVUEqIGFuZCAqZ292ZXJuaW5nIGRvY3VtZW50cyogbWF5IGJlIG1hZGUgYnkgYGVvc2lvLnByb2RzYC4gSXQgaXMgYWRtb25pc2hlZCB0aGF0IGEgc3RhdGVtZW50IGJlIGNyYWZ0ZWQgYW5kIGlzc3VlZCB0aHJvdWdoIGBlb3Npby5wcm9kc2AgdmlhIGVvc2lvLmZvcnVtIHJlZmVyZW5kdW0gY29udHJhY3QgZGVzY3JpYmluZyBzdWNoIGEgbW9kaWZpY2F0aW9uIGluIGFkdmFuY2UuCgojIyBBcnRpY2xlIFbigIot4oCKTmF0aXZlIFVuaXQgb2YgVmFsdWUKVGhlIG5hdGl2ZSB1bml0IG9mIHZhbHVlIG9uIEVPUyBjaGFpbl9pZCBzaGFsbCBiZSB0aGUgRU9TIHRva2VuIGFzIGRlZmluZWQgYW5kIGNyZWF0ZWQgYnkgdGhlIGBlb3Npby50b2tlbmAgc21hcnQgY29udHJhY3QuCgojIyBBcnRpY2xlIFZJ4oCKLeKAik1haW50YWluaW5nIHRoZSBFT1MgYmxvY2tjaGFpbgpgZW9zaW8ucHJvZHNgIHdpbGwgbWFpbnRhaW4gdGhlIGFjdGl2ZSBibG9ja2NoYWluIGNvZGViYXNlIHdoaWNoIGluY2x1ZGVzLCBidXQgaXMgbm90IGxpbWl0ZWQgdG8sIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhbGwgbW9kaWZpY2F0aW9ucyBvZiBhbGwgZmVhdHVyZXMsIG9wdGltaXphdGlvbnMsIGFuZCB1cGdyYWRlczogcHJlc2VudCBhbmQgZnV0dXJlLgoKIyMgQXJ0aWNsZSBWSUnigIot4oCKTmV0d29yayBGdW5kcwpJdCBpcyBhZG1vbmlzaGVkIHRoYXQgYW55IGFsdGVyaW5nIG9mIHRoZSBzdGF0ZSBvZiBhbnkgdG9rZW5zIGNvbnRhaW5lZCB3aXRoaW4gbmV0d29yayBmdW5kIGFjY291bnRzLCBvciBhbHRlcmluZyBhbnkgcHJlLWV4aXN0aW5nIGNvZGUgdGhhdCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGdvdmVybnMgdGhlIGFsbG9jYXRpb24sIGZ1bGZpbGxtZW50LCBvciBkaXN0cmlidXRpb24gb2YgYW55ICpuZXR3b3JrIGZ1bmRzKiBiZSBwcmVjZWRlZCBieSBhIHN0YXRlbWVudCBjcmFmdGVkIGFuZCBpc3N1ZWQgYnkgYGVvc2lvLnByb2RzYCB0byB0aGUgKmVvc2lvLmZvcnVtKiByZWZlcmVuZHVtIHN5c3RlbSBjb250cmFjdCBkZXNjcmliaW5nIHRoZSBlZmZlY3QgaW4gYWR2YW5jZS4KCiMjIEFydGljbGUgVklJSeKAii3igIpGcmVlZG9tIG9mIEFjY291bnQgQ3JlYXRpb24KQW55IGN1cnJlbnQgb3IgZnV0dXJlIFVzZXIgaXMgYWJsZSB0byBjcmVhdGUgYW4gRU9TIEFjY291bnQgd2l0aG91dCB0aGUgcGVybWlzc2lvbiBieSBhbnkgb3RoZXIgVXNlci4gYGVvc2lvLnByb2RzYCBtYXkgbmV2ZXIgYWZmZWN0IGFuIEVPUyBVc2VyIEFjY291bnQocykgd2l0aG91dCB2YWxpZCBwZXJtaXNzaW9uKHMpIHdoaWNoIGhhdmUgYmVlbiBzaGFyZWQgd2l0aCBgZW9zaW8ucHJvZHNgIGJ5IGFuIEVPUyBhY2NvdW50LiBgZW9zaW8ucHJvZHNgIG1heSBjaGFyZ2UgYSBmZWUgZm9yIGFueSBhY3Rpb25zIHRoYXQgYXJlIHJlcXVlc3RlZCBieSBvdGhlciBVc2VycyBwZXJ0YWluaW5nIHRvIGFuIEVPUyBhY2NvdW50IHdoZXJlIHBlcm1pc3Npb25zIGFyZSBzaGFyZWQuCgojIyBBcnRpY2xlIElY4oCKLeKAik5vIEZpZHVjaWFyeQpObyBVc2VyIHNoYWxsIGhhdmUgYSBmaWR1Y2lhcnkgcHVycG9zZSB0byBzdXBwb3J0IHRoZSB2YWx1ZSBvZiB0aGUgRU9TIHRva2VuLiBObyBVc2VyIGNhbiBhdXRob3JpemUgYW55b25lIHRvIGhvbGQgYXNzZXRzLCBib3Jyb3csIHNwZWFrLCBjb250cmFjdCBvbiBiZWhhbGYgb2Ygb3RoZXIgRU9TIFVzZXJzIG9yIHRoZSBFT1MgYmxvY2tjaGFpbiBgY2hhaW5faWRgIGNvbGxlY3RpdmVseS4gVGhpcyBFT1MgYmxvY2tjaGFpbiBzaGFsbCBoYXZlIG5vIG93bmVycywgbWFuYWdlcnMsIG9yIGZpZHVjaWFyaWVzLgoKIyMgQXJ0aWNsZSBY4oCKLeKAilVzZXIgU2VjdXJpdHkKQWxsIGl0ZW1zIHBlcnRhaW5pbmcgdG8gcGVyc29uYWwgYWNjb3VudCBzZWN1cml0eSwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byB0aGUgc2FmZWtlZXBpbmcgb2YgcHJpdmF0ZSBrZXlzLCBpcyBzb2xlbHkgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBVc2VyIHRvIHNlY3VyZS4KCiMjIEFydGljbGUgWEkgLSBgZW9zaW8ucHJvZHNgIExpbWl0ZWQgTGlhYmlsaXR5ClRoZSBVc2VyIGFja25vd2xlZGdlcyBhbmQgYWdyZWVzIHRoYXQsIHRvIHRoZSBmdWxsZXN0IGV4dGVudCBwZXJtaXR0ZWQgYnkgYW55IGFwcGxpY2FibGUgbGF3LCB0aGlzIGRpc2NsYWltZXIgb2YgbGlhYmlsaXR5IGFwcGxpZXMgdG8gYW55IGFuZCBhbGwgZGFtYWdlcyBvciBpbmp1cnkgd2hhdHNvZXZlciBjYXVzZWQgYnkgb3IgcmVsYXRlZCB0byByaXNrcyBvZiwgdXNlIG9mLCBvciBpbmFiaWxpdHkgdG8gdXNlLCB0aGUgRU9TIHRva2VuIG9yIHRoZSBFT1MgYmxvY2tjaGFpbiBgY2hhaW5faWRgIHVuZGVyIGFueSBjYXVzZSBvZiBhY3Rpb24gd2hhdHNvZXZlciBvZiBhbnkga2luZCBpbiBhbnkganVyaXNkaWN0aW9uLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYWN0aW9ucyBmb3IgYnJlYWNoIG9mIHdhcnJhbnR5LCBicmVhY2ggb2YgY29udHJhY3Qgb3IgdG9ydCAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpIGFuZCB0aGF0IGBlb3Npby5wcm9kc2AsIG5vciB0aGUgaW5kaXZpZHVhbCBwZXJtaXNzaW9ucyB0aGF0IG9wZXJhdGUgaXQsIHNoYWxsIG5vdCBiZSBsaWFibGUgZm9yIGFueSBpbmRpcmVjdCwgaW5jaWRlbnRhbCwgc3BlY2lhbCwgZXhlbXBsYXJ5IG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcywgaW5jbHVkaW5nIGZvciBsb3NzIG9mIHByb2ZpdHMsIGdvb2R3aWxsIG9yIGRhdGEuCgojIEVPUyDsgqzsmqnsnpAg64+Z7J2Y7IScCgojIyDsoJXsnZgKCkVPUyDsgqzsmqnsnpAg64+Z7J2Y7ISc7J2YIOuqqOuToCDrjIDrrLjsnpAsIOq4sOyauOyehCDqvLQsIOuYkOuKlCDsnbjrnbzsnbgg7L2U65OcIOyaqeyWtOuKlCDsoJXsnZjsl5DshJzsmYAg64+Z7J287ZWcIO2aqOqzvOyZgCDsnZjrr7jqsIAg67aA7Jes65Cp64uI64ukLgoKLSAgIEVPUyDsgqzsmqnsnpAg64+Z7J2Y7IScOiDrs7gg66y47IScIChFVUEpCi0gICDssrTsnbggSUQ6IGNoYWluX2lk4oCKLS0t4oCKYWNhMzc2ZjIwNmI4ZmMyNWE2ZWQ0NGRiZGM2NjU0N2MzNmM2YzMzZTNhMTE5ZmZiZWFlZjk0MzY0MmYwZTkwNgotICAg7IKs7Jqp7J6QOiBFT1Mg6rOE7KCV7J2EIOyngeygkSDrmJDripQg6rCE7KCR7KCB7Jy866GcIOyGjOycoO2VmOqxsOuCmCBFT1Mg6rOE7KCV7JeQIOyXsOqysOuQnCBFT1Mg6riw67CYIOyGjeyEseydhCDsnKDsp4DtlZjqsbDrgpgg6rSA66as7ZWY64qUIOyCrOuejCwg7KGw7KeBLCDrmJDripQg7KGw7KeB7J2YIOuqqOuToCDsgqzrnowuCi0gICDshozsnKDqtow6IO2VmOuCmCDsnbTsg4HsnZgg7Jyg7Zqo7ZWcIOyCrOyaqeq2jO2VnCDtmZXsnbjsnYQg7Ya17ZW0IEVPUyDqs4TsoJXsl5Ag7KeB7KCRIOuYkOuKlCDqsITsoJHsoIHsnLzroZwg7KCR6re87ZWp64uI64ukLiDshozsnKDqtozsnYAg64uk7KSRIOyEnOuqheq2jO2VnOydhCDsgqzsmqntlZjsl6wg7IKs7Jqp7J6Q6rCE7JeQIOu2gOu2hOyggeycvOuhnCDqs7XsnKAg65CgIOyImCDsnojsirXri4jri6QuCi0gICDruJTroZ0g7ZSE66Gc65OA7IScOiByZWdwcm9kdWNlcuulvCDsi6TtlontlZjqs6AgZW9zaW8udnBheeuhnOu2gO2EsCDrs7Tsg4HsnYQg67Cb64qUIOyCrOyaqeyekC4KLSAgIGVvc2lvLnByb2RzOiAxNS8yMSDruJTroZ0g7ZSE66Gc65OA7ISc65Ok7J20IOuPmeydmCDtlaAg65WMIGVvc2lvIOqzhOygleydmCDqtoztlZzsnYQg6rCA7KeIIOyImCDsnojripQg64+Z7KCBIOq2jO2VnCDqtazsobDrpbwg6rCA7KeEIEVPUyDqs4TsoJUuCi0gICDrhKTtirjsm4ztgawg7J6Q6riIOiDri6TsnYwg6rOE7KCV7JeQIO2PrO2VqCDrkJwg7Yag7YGwOiBlb3Npby5uYW1lcywgZW9zaW8ucmFtZmVlLCBlb3Npby5zYXZpbmcuCi0gICDqtIDrpqwg66y47IScOiByZWdwcm9kdWNlcuuKlCDqtIDrpqwg66y47ISc66GcIOqwhOyjvOuQqeuLiOuLpC4KLSAgIOyYqOyytOyduDogRU9TIOu4lOuhneyytOyduCBjaGFpbl9pZOyXkCDruYTqsIDsl63soIHsnbTrqbAg7LaU6rCAIO2VoCDsiJgg7J6I64qUIOu4lOuhnSDrgrTsl5Ag7JyE7LmY7ZWcIOuqqOuToCDqsbDrnpgsIOyKpOuniO2KuCDqs4Tslb0g65iQ64qUIOumrOy5tOultOuUlOyViCDqs4Tslb0uCi0gICBFT1Mg6riw67CYIOyGjeyEsTogRU9TIOu4lOuhneyytOyduOydhCDsp4HsoJEg7KGw7J6RLCDrs4Dqsr0sIOyghOyGoSwg7JiB7ZalIOuYkOuKlCDri6zrpqwg7KCB7Jqp7ZWY6riwIOychO2VtCDsnKDtmqjtlZwg7IKs7JqpIOq2jO2VnOydtCDtlYTsmpTtlZwg66qo65OgIOqygwotICAg7L2cOiBFT1Mg67iU66Gd7LK07J24IGNoYWluX2lk7JeQIOyekeyXheydhCDsi6Dssq3tlZjripQg6rKDLgotICAg7ZeI6rCAIOuwjyDqtoztlZw6ICftl4jqsIAn64qUIO2VtOuLuSDqtoztlZzsnYQg64yA7Iug7ZWY7JesIOyghOyGoeuQmOuKlCDtirjrnpzsnq3shZjsnZgg7JqU6rWs7IKs7ZWt7J2EIOygleydmO2VmOuKlCDrjbAg7IKs7Jqp65Cp64uI64ukLiAn6raM7ZWcJ+ydgCDtirnsoJUg6rOE7JW9IOyhsOy5mOyXkCDrjIDtlZwg6raM7ZWc7J2EIOu2gOyXrO2VqeuLiOuLpC4KLSAgIOumrOy5tOultOuUlOyViCDqs4Tslb06IO2VqeuyleyggSDqs4Tslb3snZgg7KCV7J2YIOyalOyGjOulvCDshoztlITtirjsm6jslrTroZwg7ZGc7ZiE7ZWY6rOgIOyLpO2Wie2VoCDsiJgg7J6I64qUIO2YleyLneycvOuhnCDrsLDsuZjtlZjripQg6rOE7JW9LgoKIyMg7KCcIDHsobDigIotLS3igIrsnITtl5jsl5Ag64yA7ZWcIOyCrOyaqeyekOuTpOydmCDsnbjsp4AKCuyCrOyaqeyekOqwgCBjaGFpbl9pZOyXkOyEnCBFT1Mg6rOE7KCV7JeQIOuMgO2VnCDsoJHqt7wg6raM7ZWc7J2EIOyeg+qzoCwg64uk66W4IOuwqeuyleycvOuhnCBFT1Mg6rOE7KCV7JeQIOuMgO2VnCDsoJHqt7zsnYQg67O07Zi47ZWY6riwIOychO2VtCDsoIHsoIjtlZwg7KGw7LmY66W8IOy3qO2VmOyngCDslYrripQg6rK97Jqw7JeQ64qUIEVPUyDqs4TsoJXsl5Ag7KCR6re87ZWgIOyImCDsl4bqsowg65Cc64uk64qUIOqyg+ydhCDsnbjsoJXtlZjqs6Ag64+Z7J2Y7ZWp64uI64ukLiDsgqzsmqnsnpDripQg7JWU7Zi47ZmUIO2GoO2BsOqzvCDruJTroZ3ssrTsnbgg6riw67CYIOyGjO2UhO2KuOybqOyWtOydmCDsnITtl5gsIOyCrOyaqeuylSwg6re466as6rOgIOuzteyeoeyEseyXkCDrjIDtlbQg7Lap67aE7Z6IIOydtO2VtO2VmOqzoCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLiDsgqzsmqnsnpDripQgRU9TIOu4lOuhneyytOyduOydmCDsgqzsmqnsl5Ag64yA7ZWcIOyghOyggeyduCDssYXsnoTsnYQg7KeE64uk64qUIOqyg+yXkCDsnbjsoJXtlZjqs6Ag64+Z7J2Y7ZWp64uI64ukLgoKIyMg7KCcIDLsobDigIotLS3igIrtirnrs4TtlZwg7IKs7Jqp7J6QIOycoO2YlQoKcmVncHJvZHVjZXLrpbwg7Iuk7ZaJ7ZWY64qUIOyCrOyaqeyekOuKlCByZWdwcm9kdWNlciDrpqzsubTrpbTrlJTslYgg6rOE7JW97JeQIOuPmeydmO2VmOqzoCwg7J207JeQIOq1rOyGjeuQqeuLiOuLpC4KCiMjIOygnCAz7KGw4oCKLS0t4oCKRVVB7J2YIOuPmeydmAoKRU9TIOyCrOyaqeyekCDrj5nsnZjshJzripQg7ZiE7J6sIOyLnO2WieykkeyduCBFT1Mg66mU7J2464S3IOqxsOuyhOuEjOyKpOyXkCDrjIDtlZwg7ISk66qF7Jy866GcIOyCrOyaqeuQqeuLiOuLpC4g7L2U65Oc7JeQIOydmO2VtCDsi5ztlonrkJjripQg7J2065+s7ZWcIOq4sOuKpeydgCBFT1Mg66mU7J2464S3IOyekOyytOydmCDssrTqs4TsoIHsnbTqs6Ag6rOg7Jyg7ZWcIOq4sOuKpeydtOuvgOuhnCDsgqzsmqnsnpDsnZgg64+Z7J2Y66W8IO2VhOyalOuhnCDtlZjsp4Ag7JWK7Iq164uI64ukLgoKIyMg7KCcIDTsobDigIotLS3igIrqtIDrpqwg66y47IScCgpFVUHsmYAg6rSA66asIOusuOyEnOuKlCBlb3Npby5wcm9kc+ulvCDthrXtlbQg7IiY7KCV7J20IOqwgOuKpe2VqeuLiOuLpC4g7Yq57KCVIOuzgOqyveyCrO2VreydhCDsgqzsoITsl5Ag7ISk66qF7ZWY64qUIGVvc2lvLmZvcnVtIO2IrO2RnCDqs4Tslb3snYQg7Ya17ZW0IGVvc2lvLnByb2Rz6rCAIOyEseuqheyEnOulvCDsnpHshLHtlZjqs6Ag67Cc6riJ7ZWgIOqyg+ydhCDqtozqs6Dtlanri4jri6QuCgojIyDsoJwgNeyhsOKAii0tLeKAiuqwgOy5mOydmCDquLDrs7gg64uo7JyECgpFT1MgY2hhaW5faWTsnZgg6riw67O4IOuLqOychOuKlCBlb3Npby50b2tlbiDsiqTrp4jtirgg6rOE7JW97JeQIOydmO2VtCDsoJXsnZjrkJjqs6Ag7J6R7ISx65CcIEVPUyDthqDtgbDsnoXri4jri6QuCgojIyDsoJwgNuyhsOKAii0tLeKAikVPUyDruJTroZ3ssrTsnbgg7Jyg7KeACgplb3Npby5wcm9kc+uKlCDrqqjrk6Ag6riw64qlLCDstZzsoIHtmZQsIOq3uOumrOqzoCDsl4Xqt7jroIjsnbTrk5zsnZgg7ZiE7J6s7JmAIOuvuOuemOydmCDrqqjrk6Ag7IiY7KCV7IKs7ZWt7J2EIOq1rO2YhO2VmOuKlCDqsoPsnYQg7Y+s7ZWo7ZWY65CYLCDsnbTsl5Ag6rWt7ZWc65CY7KeAIOyViuuKlCDtmZzshLHtmZTrkJwg67iU66Gd7LK07J24IOy9lOuTnOuyoOydtOyKpOulvCDsnKDsp4Dtlanri4jri6QKCiMjIOygnCA37KGw4oCKLS0t4oCK64Sk7Yq47JuM7YGsIOyekOq4iAoK64Sk7Yq47JuM7YGsIOyekOq4iCDqs4TsoJXsl5Ag7Y+s7ZWo65CcIO2GoO2BsOydmCDsg4Htg5zrpbwg67OA6rK97ZWY6rGw64KYLCDrhKTtirjsm4ztgawg7J6Q6riI7J2YIOuwsOu2hCwg7J207ZaJLCDrmJDripQg67Cw7Y+s66W8IOyngS/qsITsoJHsoIHsnLzroZwg6rSA66as7ZWY64qUIOq4sOyhtCDsvZTrk5zrpbwg67OA6rK97ZWY64qUIOqyveyasOyXkOuKlCBlb3Npby5wcm9kc+ulvCBlb3Npby5mb3J1bSDstJ0g7Yis7ZGcIOyLnOyKpO2FnCDqs4Tslb3sl5Ag7LaU6rCA7ZWY7JesIOyCrOyghOyXkCDstqnrtoTtlZwg7ISk66qF7J20IOydtOujqOyWtOyguOyVvCDtlanri4jri6QuCgojIyDsoJwgOOyhsOKAii0tLeKAiuqzhOyglSDsg53shLHsnZgg7J6Q7JygCgrtmITsnqwsIOuYkOuKlCDrr7jrnpjsnZgg7IKs7Jqp7J6Q64qUIOuLpOuluCDsgqzsmqnsnpDsnZgg7ZeI6rCAIOyXhuydtCBFT1Mg6rOE7KCV7J2EIOunjOuTpCDsiJgg7J6I7Iq164uI64ukLiBlb3Npby5wcm9kc+uKlCBFT1Mg6rOE7KCV7JeQIOydmO2VtCDqs7XsnKDrkJwg7Jyg7Zqo7ZWcIO2XiOqwgCDsl4bsnbTripQgRU9TIOyCrOyaqeyekCDqs4TsoJXsl5Ag7JiB7Zal7J2EIOykhCDsiJgg7JeG7Iq164uI64ukLiBlb3Npby5wcm9kc+uKlCDqtoztlZzsnbQg6rO17Jyg65CY64qUIEVPUyDqs4TsoJXqs7wg6rSA66Co7ZWY7JesIOuLpOuluCDsgqzsmqnsnpDqsIAg7JqU7LKt7ZWcIOuqqOuToCDsnpHsl4Xsl5Ag64yA7ZW0IOyalOq4iOydhCDrtoDqs7ztlaAg7IiYIOyeiOyKteuLiOuLpC4KCiMjIOygnCA57KGw4oCKLS0t4oCK7Iug7YOBIOu2iOqwgAoK7IKs7Jqp7J6Q64qUIEVPUyDthqDtgbDsnZgg6rCA7LmY66W8IOuSt+uwm+y5qO2VoCDsiJgg7J6I64qUIOyLoO2DgSDrqqnsoIHsnYQg6rCA7KC47ISc64qUIOyViOuQqeuLiOuLpC4g7IKs7Jqp7J6Q64qUIEVPUyDsgqzsmqnsnpAg65iQ64qUIEVPUyDruJTroZ3ssrTsnbggY2hhaW5faWTrpbwg64yA7ZGc7ZWY7JesIOuIhOq1rOyXkOqyjOuPhCDsnpDsgrDsnYQg67O07Jyg7ZWY6rGw64KYLCDrjIDsl6ztlZjqsbDrgpgsIOyekOyCsOyXkCDrjIDtlbQg7JaY6riw7ZWY6rGw64KYLCDqs4Tslb3snYQg66e67J2EIOq2jO2VnOydhCDrtoDsl6ztlaAg7IiYIOyXhuyKteuLiOuLpC4gRU9TIOu4lOuhneyytOyduOyXkOuKlCDshozsnKDsnpAsIOq0gOumrOyekCwg6re466as6rOgIOyImO2DgeyekOqwgCDsl4bslrTslbwg7ZWp64uI64ukLgoKIyMg7KCcIDEw7KGw4oCKLS0t4oCK7IKs7Jqp7J6QIOuztOyViAoK67mE6rO16rCcIO2CpOydmCDrs7TqtIDsnYQg7Y+s7ZWo7ZWY65CYLCDsnbTsl5Ag6rWt7ZWc65CY7KeAIOyViuuKlCDqsJzsnbgg6rOE7KKMIOuztOyViOqzvCDqtIDroKjrkJwg66qo65OgIO2VreuqqeuTpCDrmJDtlZwg7KCE7KCB7Jy866GcIOyCrOyaqeyekOqwgCDslYjsoITtlZjqsowg67O06rSA7ZW07JW8IO2VqeuLiOuLpC4KCiMjIOygnCAxMeyhsOKAii0tLeKAimVvc2lvLnByb2RzIOycoO2VnOyxheyehAoK7IKs7Jqp7J6Q64qUIOuyleuloOydtCDtl4jsmqntlZjripQg7ZWc64+EIOuCtOyXkOyEnCBFT1Mg7Yag7YGw7J2YIOychO2XmCwg7IKs7JqpLCDrmJDripQg7IKs7JqpIOu2iOqwgOuhnCDsnbjtlbQg67Cc7IOd7ZWY64qUIOuqqOuToCDshpDtlbTsl5Ag64yA7ZW0IOyxheyehOydmCDrqbTssYUg7KGw7ZWt7J20IOyggeyaqeuQnOuLpOuKlCDqsoPsnYQg7J247KCV7ZWY6rOgLCDrj5nsnZjtlanri4jri6QuIOqzhOyVvSDsnITrsJgsIOu2iOuylSDtlonsnIQsIOq3uOumrOqzoCDsnITrsJgg7ZaJ7JyEICjqtIDrpqwg7YOc66eMIO2PrO2VqCnsmYAgZW9zaW8ucHJvZHMg65iQ64qUIOydtOulvCDsmrTsmIHtlZjripQg6rCc67OEIOyCrOyaqSDqtoztlZzsnYQg7Y+s7ZWo7ZWY65CYLCDsnbTsl5Ag6rWt7ZWc7ZWY7KeAIOyViuqzoCDrqqjrk6Ag6rSA7ZWgIOyngOyXreyXkOyEnOydmCDrqqjrk6Ag7KKF66WY7J2YIOyCrOycoOuhnCDsnbjtlZwgRU9TIOu4lOuhneyytOyduCBjaGFpbl9pZCDsnbTsnbUsIOyYgeyXheq2jCwg65iQ64qUIOuNsOydtO2EsOydmCDshpDsi6TsnYQg7Y+s7ZWo7ZWY7JesIOqwhOygkeyggSwg7Jqw67Cc7KCBLCDtirnsiJjtlZwsIOuMgO2RnOyggSwg6re466as6rOgIO2MjOyDneyggeyduCDshpDtlbTsl5Ag64yA7ZWcIOyxheyehOydhCDsp4Dsp4Ag7JWK7Iq164uI64ukLgoKIyBFT1PnlKjmiLfljY/orq4KCiMjICoq5a6a5LmJKioKCkVPU+eUqOaIt+WNj+iuruS4reeahOaJgOacieWkp+WGme+8jOaWnOS9k+aIluWGheiBlOS7o+eggeacr+ivreWwhuWFt+acieS4juS7peS4i+WumuS5ieebuOWQjOeahOaViOaenOWSjOWQq+S5ieOAggoKLSBFT1PnlKjmiLfljY/orq7vvJrljbPmnKzmlofmoaPvvIhFVUHvvIkKCi0g6ZO+5LiKSUQ6IGNoYWluX2lkIC0gYWNhMzc2ZjIwNmI4ZmMyNWE2ZWQ0NGRiZGM2NjU0N2MzNmM2YzMzZTNhMTE5ZmZiZWFlZjk0MzY0MmYwZTkwNgoKLSDnlKjmiLfvvJrku7vmhI/mu6HotrPkuIvliJfopoHmsYLnmoTkuKrkurrmiJbnu4Tnu4fvvJrnm7TmjqXmiJbogIXpl7TmjqXmi6XmnIlFT1PotKbmiLfmiJbkuI5FT1PotKbmiLflhbPogZTnmoTln7rkuo5FT1Plj5HooYznmoTotKLkuqfjgIIKCi0g5omA5pyJ5p2D77ya55u05o6l5oiW6ICF6Ze05o6l6YCa6L+H5LiA5Liq5oiW5aSa5Liq5pyJ5pWI55qE5p2D6ZmQ5qOA5p+l6K6/6Zeu5LiA5LiqRU9T6LSm5oi344CC5omA5pyJ5p2D5Y+v5Lul6YCa6L+H5aSa562+5p2D6ZmQ6K645Y+v5Zyo55So5oi36Ze05YWx5Lqr44CCCgotIOaJp+ihjOS6hnJlZ3Byb2R1Y2XvvIzlubbkuJTku45lb3Npby52cGF56aKG5Y+W5pS25YWl55qE55So5oi344CCCgotIGVvc2lvLnByb2RzOuWFt+acieWKqOaAgeadg+mZkOe7k+aehOeahEVPU+W4kOaIt++8jOW9kzE1LzIxIEJsb2NrIFByb2R1Y2Vyc+WQjOaEj+aXtu+8jOivpeW4kOaIt+WPr+S7peaJv+aLhWVvc2lv5biQ5oi355qE5p2D6ZmQ44CCCgotIOe9kee7nOi1hOS6p++8muWMheWQq+WcqOS7peS4i+i0puaIt+S4reeahOS7o+W4ge+8mmVvc2lvLm5hbWVz44CBZW9zaW8ucmFtZmVl44CBICBlb3Npby5zYXZpbmfjgIIKCi0g5rK755CG5paH5qGj77yacmVncHJvZHVjZXLmmK/msrvnkIbmlofmoaPjgIIKCi0g5Lu75L2V5Lqk5piT44CB5pm66IO95ZCI57qm5oiW6ICF5p2O5ZiJ5Zu+5ZCI57qm77yM5a6D5Lus5bey57uP5L2N5LqO5LiA5Liq5Yy65Z2X5Lit77yM5bm25LiU6L+Z5Liq5Yy65Z2X5piv5LiN5Y+v6YCG6L2s55qE44CB5bey6ZmE5Yqg5Yiw5ZCN5Li6Y2hhaW5faWTnmoRFT1PljLrlnZfpk77kuK3jgIIKCi0g5Z+65LqORU9T6LWE5Lqn77ya5Lu75L2V6ZyA6KaB5pyJ5pWI6K645Y+v5p2l5pON5L2c44CB5pS55Y+Y44CB6L2s56e744CB5b2x5ZON5oiW6ICF6L+b6KGM5YW25LuW5pON5L2c55qE5Lic6KW/44CCCgotIOaJp+ihjO+8muWcqOWQjeS4umNoYWluX2lk55qERU9T5Yy65Z2X6ZO+5Lit5o+Q5Lqk5LiA5Liq6KGM5Yqo44CCCgotIOaOiOadg+WSjOadg+mZkO+8muadg+mZkO+8iFBlcm1pc3Npb25z77yJ5piv55So5p2l5a6a5LmJ5Luj6KGo6K+l5p2D6ZmQ5Y+R6YCB55qE5Lqk5piT55qE6KaB5rGC55qE5Lu75oSP5ZCN5a2X44CC5Y+v5Lul57uZ54m55a6a55qE5ZCI57qm5pON5L2c55qE5o6I5p2D77yIQXV0aG9yaXphdGlvbnPvvInliIbphY3mnYPpmZDvvIhQZXJtaXNzaW9uc++8ieOAggoKLSDmnY7lmInlm77lkIjnuqbvvJrlsIbms5XlvovljY/orq7kuK3nmoTlrprkuYnopoHntKDku6Xog73lnKjova/ku7bkuK3ooajovr7lkozmiafooYznmoTmoLzlvI/ooajovr7nmoTlkIjnuqbjgIIKCiMjICoq5p2h5qy+5LiAKioqKueUqCoqKirmiLfpo47pmannoa7orqQqKgoK5aaC5p6c55So5oi35Lii5aSx6LSm5oi36K6/6Zeu5p2D6ZmQ5oiW6ICF5rKh5pyJ6YeH5Y+W5ZCI6YCC55qE5pa55byP5L+d5oqk6LSm5oi36K6/6Zeu5p2D6ZmQ77yM55So5oi35bqU55+l5oKJ5bm25ZCM5oSP77yMRU9T6LSm5oi35bCG5peg5rOV6K6/6Zeu44CC55So5oi35bqU56Gu6K6k55So5oi35a+55Yqg5a+G5Luj5biB5ZKM5Yy65Z2X6ZO+6L2v5Lu255qE6aOO6Zmp44CB55So5rOV5ZKM5aSN5p2C5oCn5pyJ5YWF5YiG5LqG6Kej44CC55So5oi35om/6K6k5bm25ZCM5oSP55So5oi36Ieq6KGM5om/5ouF5L2/55SoRU9T5Yy65Z2X6ZO+55qE6aOO6Zmp44CCCgojIyAqKuadoeasvuS6jCoqKirnibnmrornlKgqKioq5oi357G75Z6LKioKCuaJp+ihjHJlZ3Byb2R1Y2XvvIzlkIzmhI/lubbkuJTlj5dyZWdwcm9kdWNlcuadjuWYieWbvuWQiOe6pue6puadn+eahOeUqOaIt+OAggoKIyMgKirmnaHmrL7kuIkqKioq5ZCM5oSPKioqKkVPUyoqKirnlKgqKioq5oi35Y2P6K6uKioKCkVPU+eUqOaIt+WNj+iurueahOWunui0qOaYr+WvueW9k+WJjUVPU+S4u+e9keayu+eQhuWKn+iDveeahOaPj+i/sOOAgueUseS7o+eggeW8uuWItuaJp+ihjOeahOWKn+iDveS4jemcgOimgeeUqOaIt+eahOWQjOaEj++8jOWboOS4uui/meS6m+WKn+iDveaYr0VPU+S4u+e9keezu+e7n+iHquW4pueahOOAggoKIyMgKirmnaHmrL7lm5sqKiAtICoq5rK755CG5paH5qGjKioKCmVvc2lvLnByb2Rz5Y+v5Lul5a+5RU9T55So5oi35Y2P6K6u5ZKM5rK755CG5paH5qGj6L+b6KGM5Lu75L2V5L+u5pS544CC5Lil5q2j5o+Q6YaS77yM5o+Q5YmN55SoZW9zaW8uZm9ydW3lhazmipXlkIjnuqbvvIzpgJrov4dlb3Npby5wcm9kc+e8luWGmeOAgeWPkeW4g+S4gOS4quWjsOaYjuadpeaPj+i/sOmCo+S4quS/ruaUueOAggoKIyMgKirmnaHmrL7kupQqKioq5Y6f55Sf5Lu3KioqKuWAvOWNleS9jSoqCgpFT1Plhazpk77kuIrnmoTljp/nlJ/ku7flgLzljZXkvY3lupTkuLplb3Npby50b2tlbuaZuuiDveWQiOe6puWumuS5ieWSjOWIm+W7uueahEVPU+mAmuivgeOAggoKIyMgKirmnaHmrL7lha0qKioq57u05oqkKioqKkVPUyoqKirljLoqKioq5Z2X6ZO+KioKCuaXoOiuuueOsOWcqOaIluWwhuadpeWwhuadpe+8jGVvc2lvLnByb2Rz5bCG57u05oqk5rS76LeD55qE5Yy65Z2X6ZO+5Luj56CB5bqT77yM5YyF5ous5L2G5LiN6ZmQ5LqO5omA5pyJ5Yqf6IO944CB5LyY5YyW44CB5Y2H57qn55qE5omA5pyJ5L+u5pS544CB5a6e546w44CCCgojIyDmnaHmrL7kuIMgLSAqKioq5a6aKioqKuS5iSoqKipFT1MqKioq572R57uc6LWE5LqnCgrmm7TmlLnnvZHnu5zotYTkuqfotKbmiLfkuK3nmoTku7vkvZXku6PluIHnmoTnirbmgIHvvIzmm7TmlLnku7vkvZXnjrDlrZjnmoTnm7TmjqXmiJbpl7TmjqXnrqHnkIbku7vkvZXnvZHnu5zotYTkuqfnmoTliIbphY3jgIHlrp7njrDmiJbliIblj5HnmoTku6PnoIHvvIzpnIDopoHkuovlhYjnlKhlb3Npby5wcm9kc+WcqGVvc2lvLmZvcnVt5YWs5oqV5ZCI57qm5LiK57yW5YaZ5ZKM5Y+R5biD5pWI5p6c5o+P6L+w55qE5aOw5piO44CCCgojIyAqKuadoeasvuWFqy3liJvlu7rotKbmiLfoh6rnlLEqKgoK5Lu75L2V546w5Zyo5oiW5bCG5p2l55qE55So5oi36YO95Y+v5Lul5Zyo5pyq57uP5Lu75L2V5YW25LuW55So5oi36K645Y+v55qE5oOF5Ya15LiL5Yib5bu6RU9T5biQ5oi344CCICDlpoLkvZXmsqHmnInmlLbliLBFT1PluJDmiLfnmoTmnInmlYjorrjlj6/vvIhwZXJtaXNzaW9u77yJ77yMZW9zaW8ucHJvZHPmsLjov5zkuI3kvJrlvbHlk41FT1PnlKjmiLfluJDmiLfjgIIgIOWvueS6juWFseS6q+adg+mZkOeahEVPU+W4kOaIt+eahOWFtuS7lueUqOaIt+ivt+axgueahOS7u+S9leaTjeS9nO+8jGVvc2lvLnByb2Rz5Y+v6IO95Lya5pS25Y+W6LS555So44CCCgojIyAqKuadoeasvuS5neayoeacieWPl+aJmOS6uioqCgrmsqHmnInnlKjmiLfmib/mi4Xkv6HmiZjotKPku7vmnaXnu7TmjIFFT1Pku6PluIHnmoTku7flgLzjgILmsqHmnInnlKjmiLflj6/ku6Xku6PooahFT1PnlKjmiLfmiJbogIXku6PooajlkI3kuLpjaGFpbl9JROeahEVPU+WMuuWdl+mTvuaOiOadg+S7u+S9leS6uuWFseWQjOaMgeaciei1hOS6p+OAgeWAn+asvuOAgeWPkeiogOaIluWumuWQiOWQjOOAguatpOWMuuWdl+mTvuS4jeWtmOWcqOaLpeacieiAheOAgeeuoeeQhuiAheaIluiAheWPl+aJmOS6uuOAggoKIyMgKirmnaHmrL7ljYHkuKrkurrlronlhagqKgoK5omA5pyJ5pyJ5YWz5Liq5Lq66LSm5oi35a6J5YWo55qE5LqL6aG577yM5YyF5ous5L2G5LiN6ZmQ5LqO56eB6ZKl55qE5a6J5YWo5L+d5a2Y77yM6YO955Sx55So5oi36Ieq5bex6LSf6LSj44CCCgojIyAqKuadoeasvuWNgeS4gCBlb3Npby5wcm9kc+eahOaciemZkOi0o+S7uyoqCgrnlKjmiLflupTnn6XmgonlkozlkIzmhI/vvIzlnKjku7vkvZXpgILnlKjms5XlvovlhYHorrjnmoTmnIDlpKfojIPlm7TlhoXvvIzmnKzlhY3otKPlo7DmmI7pgILnlKjkuo7kuI5FT1Pku6PluIHpo47pmanvvIzkvb/nlKjmiJbml6Dms5Xkvb/nlKhFT1Pku6PluIHmnInlhbPmiJblr7zoh7TnmoTku7vkvZXmiJbmiYDmnInmjZ/lrrPmiJbkvKTlrrPvvIzkuZ/pgILnlKjkuo7ku7vkvZXlj7jms5XnrqHovpbljLrlhoXnmoTku7vkvZXku7vkvZXooYzkuLrkuIvnmoRFT1PljLrlnZfpk75jaGFpbl9pZO+8jOWMheaLrOS9huS4jemZkOS6jui/neWPjeaLheS/neOAgei/neWPjeWQiOWQjOaIluS+teadg+ihjOS4uu+8iOWMheaLrOeWj+W/ve+8ieOAgmVvc2lvLnByb2Rz5Lul5Y+K5pON5L2c5a6D55qE5Liq5Lq65p2D6ZmQ5a+55LqO5Lu75L2V6Ze05o6l55qE77yM5YG254S255qE77yM54m55q6K55qE77yM56S65L6L5oCn55qE5oiW5ZCO5p6c5oCn55qE5o2f5a6z77yM5YyF5ous5Yip5ram5o2f5aSx77yM5ZWG6KqJ5oiW5pWw5o2u77yM5LiN5om/5ouF5Lu75L2V6LSj5Lu744CCFkJsb2NrUHJvZHVjZXJBZ3JlZW1lbnTGbCMjIyAxLiBUaGUgaW50ZW50IG9mIHJlZ3Byb2R1Y2VyCgpUaGUgaW50ZW50IG9mIHRoZSBgcmVncHJvZHVjZXJgIGFjdGlvbiBpcyB0byByZWdpc3RlciBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGFjeS4gVGhpcyBjb250cmFjdCBpcyBjb25zaWRlcmVkIGEgZ292ZXJuaW5nIGRvY3VtZW50IGFzIGRlZmluZWQgYnkgdGhlIEVPUyBVc2VyIEFncmVlbWVudCAoRVVBKS4KCnJlZ3Byb2R1Y2Vy7J2YIOuqqeyggQoKYHJlZ3Byb2R1Y2VyYCDsnpHsl4XsnZgg66qp7KCB7J2AIOu4lOuhneyDneyCsOyekCDsnoXtm4Trs7Qg65Ox66Gd7J2EIO2VmOuKlCDqsoPsnoXri4jri6QuIOydtCDqs4Tslb3snYAgRU9TIOyCrOyaqeyekCDqs4Tslb3shJwgKEVVQSnsl5Ag7KCV7J2Y65CcIOuwlOyZgCDqsJnsnbQg6rSA66asIOusuOyEnOuhnCDqsITso7zrkKnri4jri6QuCgpyZWdwcm9kdWNlciDnmoTnm67nmoQKCmByZWdwcm9kdWNlcmDmk43kvZznmoTnm67nmoTmmK/ms6jlhozmiJDkuLrlh7rlnZfoioLngrnlgJnpgInogIXjgILmoLnmja4gRU9TIOeUqOaIt+WNj+iurihFVUEp55qE5a6a5LmJ77yM5pys5ZCI57qm5bGe5LqO5rK755CG5paH5pysKGdvdmVybmluZyBkb2N1bWVudCkKCiMjIyAyLiBOb21pbmF0aW9uCgpJLCB7eyBwcm9kdWNlciB9fSwgaGVyZWJ5IG5vbWluYXRlIG15c2VsZiBmb3IgY29uc2lkZXJhdGlvbiBhcyBhIGJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZS4gVGhpcyBub21pbmF0aW9uIGluY2x1ZGVzIGFncmVlbWVudCB0byB0aGUgdGVybXMgb2YgdGhpcyBjb250cmFjdCBieSBteSBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUgZW50aXR5LCBpbmNsdWRpbmcgYWxsIG9mIGl0cyBzaGFyZWhvbGRlcnMsIG93bmVycywgZW1wbG95ZWVzLCBzdGFmZiwgbWVtYmVycywgYW5kIGFueSBpbmRpdmlkdWFsIHdvcmtpbmcgaW4gb2ZmaWNpYWwsIGRpcmVjdCwgb3IgYWZmaWxpYXRlZCBjYXBhY2l0eSBmb3IgbXkgQmxvY2sgUHJvZHVjZXIgZW50aXR5LgoK7KeA66qFCgrrgpgsIHt7IHByb2R1Y2VyIH1964qUIOu4lOuhne2UhOuhnOuTgOyEnCDtm4Trs7TroZwg6rOg66Ck65CY64+E66GdIOyekOyLoOydhCDsp4DrqoXtlanri4jri6QuIOydtCDsp4DrqoXsl5DripQg67iU66Gd7ZSE66Gc65OA7ISc7ZqM7IKs7J2YIOuqqOuToCDso7zso7wsIOyGjOycoOyekCwg7KeB7JuQLCDrqaTrsoQsIO2ajOybkCDrsI8g6rO17Iud7J247JuQLCDsp4HsoJEg65iQ64qUIOqzhOyXtOyCrOyXkOyEnCDsnbztlZjripQg66qo65OgIOqwnOyduOydhCDtj6ztlajtlZwg67iU66Gd7ZSE66Gc65OA7IScIO2ajOyCrOqwgCDqs4Tslb0g7KGw6rG07JeQIOuMgO2VtCDrj5nsnZjtlajsnYQg7J247KCV7ZWp64uI64ukLgoK5o+Q5ZCNCgrmnKzkurrvvIx7eyBwcm9kdWNlciB9fe+8jOeJueatpOaPkOWQjeacrOS6uuS4uuWHuuWdl+iKgueCueWAmemAieS6uuOAguacrOaPkOWQjeWMheaLrOS6huacrOWHuuWdl+iKgueCueWAmemAieS6uuWunuS9k+WvueacrOWQiOe6puS4reaJgOacieadoeasvueahOaYjuehruWQjOaEj++8jOWMheWQq+WFtuaJgOacieiAheOAgembh+WRmOOAgeWRmOW3peOAgeaIkOWRmO+8jOS7peWPiuS7u+S9leS7peato+W8j+aWueW8j+OAgeebtOaOpeaIlumZhOWxnuaWueW8j+S4uuacrOWHuuWdl+iKgueCueWunuS9k+W3peS9nOeahOS4quS6uuOAggoKIyMjIDMuIFJlc2lnbmF0aW9uIGFuZCBSZW1vdmFsIGZvciBJbmFiaWxpdHkgdG8gUGVyZm9ybSBPYmxpZ2F0aW9ucy4KCklmIEksIHt7IHByb2R1Y2VyIH19LCBhbSB1bmFibGUgdG8gcGVyZm9ybSBhbnkgb2YgdGhlIG9ibGlnYXRpb25zIHN0aXB1bGF0ZWQgaW4gdGhpcyBjb250cmFjdCwgSSB3aWxsIHJlc2lnbiBteSBwb3NpdGlvbiBieSBjYWxsaW5nIHRoZSBgdW5yZWdwcm9kYCBhY3Rpb24uCgpJZiBJLCB7eyBwcm9kdWNlciB9fSwgZmFpbCB0byByZXNpZ24gd2hlbiB1bmFibGUgdG8gcGVyZm9ybSBzYWlkIG9ibGlnYXRpb25zLCBJIHVuZGVyc3RhbmQgdGhhdCBwcm9jZWR1cmVzIGVudW1lcmF0ZWQgaW4gdGhpcyBjb250cmFjdCBzaGFsbCBiZSBlbmFjdGVkLgoK7J2Y66y07J2YIOu2iOydtO2WieyXkCDrjIDtlZwg7IKs7J6EIOuwjyDssqDtmowKCnt7IHByb2R1Y2VyIH196rCAIOuzuCDqs4Tslb3shJzsl5Ag66qF7Iuc65CcIOydmOustOulvCDsiJjtlokg7ZWgIOyImCDsl4bripQg6rK97JqwLCDsg53sgrDsnpAg7YKk66W8IG51bGwg66GcIO2VqOycvOuhnOyNqCDrs7jsnbjsnZgg7KeA7JyE66W8IOyCrOyehO2VqeuLiOuLpC4KCuunjOyVvSDrgrTqsIAge3twcm9kdWNlcn197J2YIOydmOustOulvCDsnbTtlokg7ZWgIOyImCDsl4bsnYQg65WMIOyCrOyehO2VmOyngCDslYrripTri6TrqbQsIOuCmOuKlCDrs7gg6rOE7JW97JeQIOyXtOqxsOuQnCDsoIjssKjqsIAg7KeR7ZaJ65Co7J2EIOuPmeydmO2VqeuLiOuLpC4KCuWboOS4jeiDveWxpeihjOS5ieWKoeiAjOmAgOWHuuaIluiiq+WPlua2iOWHuuWdl+i1hOagvAoK5aaC5p6c5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzkuI3og73lsaXooYzmnKzlkIjnuqbkuK3miYDop4TlrprnmoTmiYDmnInkuYnliqHvvIzmiJHlsIbkvb/nlKggYHVucmVncHJvZGAg5pON5L2c5p2l6Ieq5oiR6YCA5Ye677yIcmVzaWdu77yJ44CCCgrlpoLmnpzmiJEge3sgcHJvZHVjZXIgfX0sIOWcqOaXoOazleWxpeihjOS4iui/sOS5ieWKoeaXtuacquiDvemAgOWHuihyZXNpZ24p77yM5oiR55+l5pmT5pys5ZCI57qm5bCG5Lya5oyJ54Wn5omA5pyJ5YiX5Li+55qE56iL5bqP5a+55oiR5a6e6KGM5Yi26KOB5oiW5aSE572a56iL5bqP44CCCgojIyMgNC4gRU9TIEFjY291bnRzCgpCbG9jayBQcm9kdWNlcnMgbWF5IG5ldmVyIGFmZmVjdCBhbiBhY2NvdW50IG9uIHRoZSBFT1MgYmxvY2tjaGFpbiwgZXhjZXB0IGZvciB0aGUgcmVhc29ucyBzcGVjaWZpY2FsbHkgY2l0ZWQgaW4gdGhpcyBjb250cmFjdCB0aGF0IHBlcnRhaW4gdG8gQmxvY2sgUHJvZHVjZXIgYWNjb3VudHMuIFVzZXIgYWNjb3VudHMgY2FuIG9ubHkgYmUgYWZmZWN0ZWQgb24gdGhlIGJhc2lzIG9mIEFydGljbGUgVklJSSBpbiB0aGUgRU9TIFVzZXIgQWdyZWVtZW50LgoKRU9TIOqzhOyglQoK67iU66Gd7ZSE66Gc65OA7ISc64qUIOuzuCDqs4Tslb3sl5DshJwg7ZW064u57ZWY64qUIOu4lOuhne2UhOuhnOuTgOyEnOydmCDqs4TsoJUg7LCo64uo7JeQIOq0gOugqO2VmOyXrCDtirnrs4Ttnogg7Ja46riJ7ZWcIOydtOycoOulvCDsoJzsmbjtlZjqs6DripQgRU9TIOu4lOuhneyytOyduOydmCDqs4TsoJXsl5Ag6rKw7L2UIOyYge2WpeydhCDrr7jsuZjsp4Ag7JWK7Iq164uI64ukLiDsgqzsmqnsnpAg6rOE7KCV7J2AIEVPUyDsgqzsmqnsnpAg6rOE7JW97ISc7J2YIDjsobDsl5Ag6re86rGw7ZWgIOuVjOunjCDsmIHtlqXsnYQg67Cb7J2EIOyImCDsnojsirXri4jri6QuCgpFT1Mg6LSm5Y+3Cgrlh7rlnZfoioLngrnmsLjov5zkuI3kvJrlr7kgRU9TIOWMuuWdl+mTvuS4iueahOW4kOaIt+mAoOaIkOW9seWTje+8jOmZpOmdnuaYr+acrOWQiOe6puS4reeJueWIq+aPkOWIsOS4juWHuuWdl+iKgueCueW4kOaIt+acieWFs+eahOWOn+WboOOAguWPquacieWfuuS6jiBFT1PnlKjmiLfljY/orq7kuK3nmoTnrKzlhavmnaHnmoTmg4XlvaLkuIvvvIznlKjmiLfnmoTotKblj7fmiY3kvJrlj5fliLDlvbHlk40uCgojIyMgNS4gUHJvZHVjZXIgS2V5CgpJLCB7eyBwcm9kdWNlciB9fSwgd2lsbCBzaWduIGJsb2NrcyB3aXRoIHt7IHByb2R1Y2VyX2tleSB9fQoKSWYgSSwge3sgcHJvZHVjZXIgfX0gc3VzcGVjdCBteSBrZXkgaGFzIGJlZW4gY29tcHJvbWlzZWQgSSB3aWxsIGFsZXJ0IHRoZSBvdGhlciBCbG9jayBQcm9kdWNlcnMgaW1tZWRpYXRlbHkuCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBhbnkgYW5kIGFsbCBhY3Rpb25zIGV4ZWN1dGVkIHdpdGggbXkge3sgcHJvZHVjZXJfa2V5IH19IGlzIG15IHJlc3BvbnNpYmlsaXR5LCByZWdhcmRsZXNzIG9mIHRoZSBhY2NvdW50IGJlaW5nIGNvbXByb21pc2VkLgoK7ZSE66Gc65OA7IScIO2CpAoK64KYLCB7eyBwcm9kdWNlciB9feuKlCB7eyBwcm9kdWNlciBfIGtleSB9fSDroZwg67iU66Gd7JeQIOyEnOuqhSDtlaAg6rKD7J6F64uI64ukLgrrp4zslb0g64K0LCB7e3Byb2R1Y2VyfX0g6rCAIOuzuOyduOydmCDtgqTqsIAg7IaQ7IOB65CY7JeI64uk6rOgIOydmOyLrOuQmOuptCDsponsi5wg64uk66W4IOu4lOuhne2UhOuhnOuTgOyEnOyXkOqyjCDslYzroKTspIQg6rKD7J6F64uI64ukLgrrgpgsIHt7cHJvZHVjZXJ9feuKlCBFT1Mg67iU66Gd7LK07J247JeQ7IScIOuzuOyduOydmCDruJTroZ3tlITroZzrk4DshJwg6rOE7KCV7J20IOyLpO2Wie2VmOuKlCDrqqjrk6Ag7J6R7JeF7JeQIOuMgO2VtCwg6rOE7KCVIOydtOyDgSDsnKDrrLTsmYAg6rSA66CoIOyXhuydtCwg7LGF7J6E7J20IOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgrlh7rlnZfoioLngrnlhazpkqUKCiDmiJEsIHt7IHByb2R1Y2VyIH19LCDlsIbkvb/nlKgge3sgcHJvZHVjZXJfa2V5IH19IOWvueWMuuWdl+etvuWQjeOAggrlpoLmnpzmiJEsIHt7IHByb2R1Y2VyIH19LCDmgIDnlpHmiJHnmoTlr4bpkqXlt7Looqvms4TpnLLvvIzmiJHlsIbnq4vljbPpgJrnn6Xlhbbku5boioLngrnjgIIK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzmib/orqTmiJHnmoTlh7rlnZfoioLngrnluJDmiLflnKhFT1PljLrlnZfpk77kuIrmiYDmiafooYznmoTku7vkvZXmk43kvZzpg73mmK/miJHnmoTotKPku7vvvIzml6Dorrror6XluJDmiLfmmK/lkKbooqvnm5fjgIIKCiMjIyA2LiBBUEkgRW5kcG9pbnRzCgpJZiBJLCB7eyBwcm9kdWNlciB9fSwgcXVhbGlmeSBmb3IsIGFuZCBjaG9vc2UgdG8gY2xhaW0gcmV3YXJkcyBkdWUgdG8gdm90ZXMgcmVjZWl2ZWQsIGFuZC9vciBibG9ja3MgcHJvZHVjZWQsIEksIHt7IHByb2R1Y2VyIH19LCB3aWxsIHByb3ZpZGUgZnVuY3Rpb25pbmcgYW5kIHF1ZXJ5YWJsZSBwdWJsaWMgUDJQIGFuZCBBUEkgZW5kcG9pbnRzIHRvIG1haW50YWluIHN5bmNocm9uaXphdGlvbiB3aXRoIHRoZSBibG9ja2NoYWluIGFuZCBzdWJtaXQgdHJhbnNhY3Rpb25zIHRvIGJlIGluY2x1ZGVkLiBBUEkgZW5kcG9pbnRzIG11c3QgYmUgdXBkYXRlZCB0byBhIHJlY2VudCBmdW5jdGlvbmFsIHZlcnNpb24gdGhhdCBkb2VzIG5vdCBoYXZlIGtub3duIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcy4KCkksIHt7IHByb2R1Y2VyIH19LCBoZXJlYnkgYWNrbm93bGVkZ2UgdGhhdCBpZiBJIGFtIHVuYWJsZSB0byBkbyBzbyB3aXRoaW4gMzAgbWludXRlcyBvZiBiZWluZyBhbGVydGVkIGJ5IGFub3RoZXIgYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRlLCBJIGNhbiBiZSByZW1vdmVkIGJ5IHVzZSBvZiB0aGUgYHJtdnByb2R1Y2VyYCBhY3Rpb24uCgpBUEkg7JeU65Oc7Y+s7J247Yq4Cgrrp4zslb0g64K0LCB7eyBwcm9kdWNlciB9fSDqsIAg7Yis7ZGc66W8IOuwm+yVhCDruJTroZ0g67O07IOB7J2EIOyyreq1rO2VoCDsiJgg7J6I64qUIOyekOqyqeydhCDslrvsnLzrqbQsIOuCmCB7eyBwcm9kdWNlciB9feuKlCDsnpHrj5kg67CPIOy/vOumrCDqsIDriqXtlZwg6rO16rCcIFAyUCDrsI8gQVBJIOyXlOuTnO2PrOyduO2KuOulvCDruJTroZ3ssrTsnbjqs7zsnZgg64+Z6riw7ZmUIOuwjyDtirjrnpzsnq3shZjsnYQg7KCc7Lac7ZWgIOyImCDsnojqsowg7Jyg7KeA6rSA66as7ZWp64uI64ukLiBBUEkg7JeU65Oc7Y+s7J247Yq464qUIOyVjOugpOynhCDrs7TslYgg7Leo7JW97ISx7J20IOyXhuuKlCDstZzsi6DrsoTsoITsnLzroZwg7JeF642w7J207Yq47ZW07JW8IO2VqeuLiOuLpC4KCuuCmCwge3sgcHJvZHVjZXIgfX0g64qUIOuLpOuluCBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUg6rCAIOqyveqzoCDigIvigIvtlZwg7ZuELCAzMOu2hCDsnbTrgrTsl5Ag67CU66Gc7J6h7J2EIOyImCDsl4bri6TrqbQgYHJtdnByb2R1Y2VyYCDsobDsuZjrpbwg7Ya17ZW0IOyekOqyqeydtCDsoJzqsbAg65CgIOyImCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoKQVBJIOerr+eCuQoK5aaC5p6c5oiR77yMe3sgcHJvZHVjZXIgfX0g55Sx5LqO5b6X5Yiw5oqV56Wo5ZKML+aIluWHuuWdl+eahOWOn+WboO+8jOespuWQiOmihuWPluWlluWKseeahOadoeS7tuW5tumAieaLqeaOpeWPl+WlluWKse+8jOmCo+S5iOaIke+8jCB7eyBwcm9kdWNlciB9fe+8jOWwhuaPkOS+m+WKn+iDveato+W4uOeahOWFrOWFsSBQMlAg5ZKMIEFQSSDnq6/ngrnmnaXnu7TmiqTkuI7ljLrlnZfpk77nmoTlkIzmraXvvIzlubbmj5DkuqTopoHmiZPljIXlhaXlnZfnmoTkuovliqHjgIJBUEkg56uv54K55b+F6aG75pu05paw5Yiw5pyA5paw55qE5Y+v55So54mI5pys77yM5bm25LiU6K+l54mI5pys5rKh5pyJ5bey55+l55qE5a6J5YWo5ryP5rSeCgrmiJHvvIx7e3Byb2R1Y2VyfX3vvIzlnKjmraTnoa7orqTvvIzlpoLmnpzmiJHlnKjmlLbliLDlj6bkuIDkuKogYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRl55qE6K2m5ZGK5ZCOMzDliIbpkp/lhoXku43kuI3og73nrKblkIjkuIrov7DopoHmsYLvvIzlj6/ku6Xkvb/nlKhgcm12cHJvZHVjZXJg5pON5L2c56e76Zmk5oiR55qE6LSm5oi344CCCgojIyMgNy4gRXhlY3V0aW9uIHRpbWUKCkksIHt7IHByb2R1Y2VyIH19LCB3aWxsIGRlcGxveSBhbmQgcnVuIG5ldHdvcmsgaW5mcmFzdHJ1Y3R1cmUgY2FwYWJsZSBvZiBtYWludGFpbmluZyAybXMgb3IgbGVzcyBDUFUgZXhlY3V0aW9uIHRpbWVzLgoKSSwge3sgcHJvZHVjZXIgfX0sIGhlcmVieSBhY2tub3dsZWRnZSB0aGF0IGlmIEkgYW0gdW5hYmxlIHRvIGRvIHNvIHdpdGhpbiAzMCBtaW51dGVzIG9mIGJlaW5nIGFsZXJ0ZWQgYnkgYW5vdGhlciBibG9jayBwcm9kdWNlciBjYW5kaWRhdGUsIEkgY2FuIGJlIHJlbW92ZWQgYnkgdXNlIG9mIHRoZSBgcm12cHJvZHVjZXJgIGFjdGlvbi4KCuyLpO2WiSDsi5zqsIQKCuuCmCwge3sgcHJvZHVjZXIgfX3ripQgMm1zIOuYkOuKlCDqt7gg7J207ZWY7J2YIENQVSDsi6Ttlokg7Iuc6rCE7J2EIOycoOyngO2VoCDsiJgg7J6I64qUIOuEpO2KuOybjO2BrCDsnbjtlITrnbzrpbwg67Cw7Y+s7ZWY6rOgIOyLpO2Wie2VqeuLiOuLpC4KCiDrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCDri6TrpbggYmxvY2sgcHJvZHVjZXIgY2FuZGlkYXRl6rCAIOqyveqzoCDigIvigIvtlZwg7ZuELCAzMOu2hCDsnbTrgrTsl5Ag67CU66Gc7J6h7J2EIOyImCDsl4bri6TrqbQgYHJtdnByb2R1Y2VyYCDsobDsuZjrpbwg7Ya17ZW0IOyekOqyqeydtCDsoJzqsbAg65CgIOyImCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoK5omn6KGM5pe26Ze0CgrmiJHvvIwge3sgcHJvZHVjZXIgfX3vvIzlsIbpg6jnvbLlkozov5DooYznvZHnu5zln7rnoYDorr7mlr3vvIzog73lpJ/lsIYgQ1BVIOaJp+ihjOaXtumXtOe7tOaMgeWcqCAybXMg5oiW5pu05bCR55qE5rC05bmz44CCCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOWcqOatpOehruiupO+8jOWmguaenOaIkeWcqOaUtuWIsOWPpuS4gOS4qmJsb2NrIHByb2R1Y2VyIGNhbmRpZGF0ZeeahOitpuWRiuWQjjMw5YiG6ZKf5YaF5LiN6IO956ym5ZCI5LiK6L+w5p2h5Lu277yM5Y+v5Lul5L2/55SoIGBybXZwcm9kdWNlcmAg5pON5L2c5bCG5oiR56e76Zmk44CCCgojIyMgOC4gT3JkZXJpbmcKCkkge3sgcHJvZHVjZXIgfX0gYWdyZWUgdG8gcHJvY2VzcyB0cmFuc2FjdGlvbnMgb24gYSBmaXJzdC1pbi1maXJzdC1vdXQgKEZJRk8pIGJhc2lzLCBhbmQgbm90IHRvIG1hbmlwdWxhdGUgdGhlIGNvbnRlbnRzIG9mIGJsb2NrcyBpbiBvcmRlciB0byBkZXJpdmUgcHJvZml0IGZyb20gdGhlIG9yZGVyIGluIHdoaWNoIHRyYW5zYWN0aW9ucyBhcmUgaW5jbHVkZWQ6IHRoZSBoYXNoIG9mIHRoZSBibG9jayB0aGF0IGlzIHByb2R1Y2VkLgoK7IOd7IKwCuuCmCwge3sgcHJvZHVjZXIgfX3ripQg7ISg7J6FIOyEoOy2nOuylSAoRklGTykg67Cp7Iud7Jy866GcIOqxsOuemOulvCDsspjrpqztlZjqs6Ag6rGw656Y6rCAIOu4lOuhneydmCDtlbTsi5zsl5Ag7Y+s7ZWo65CY64qUIOyInOyEnOyXkOyEnCDsnbTsnbXsnYQg7Ja77Jy866Ck64qUIOuqqeyggeycvOuhnCDsg53sgrDtlZjripQg67iU66Gd7J2YIOuCtOyaqeydhCDsobDsnpHtlZjsp4Ag7JWK6riw66GcIOuPmeydmO2VqeuLiOuLpC4KCumhuuW6jwoK5oiR77yMIHt7IHByb2R1Y2VyIH19IO+8jOWQjOaEj+agueaNruWFiOi/m+WFiOWHuihGSUZPKeeahOaWueW8j+WkhOeQhuS6i+WKoe+8jOW5tuS4lOe7neS4jeS8muS4uuS6hueJn+WIqeiAjOWIqeeUqOWMuuWdl+WGheWuueOAgeaTjee6teWMuuWdl+S4reS6pOaYk+WkhOeQhueahOmhuuW6j+OAggoKIyMjIDkuIFJhbmRvbSBSb3RhdGlvbiBvZiBTdGFuZGJ5cwoKSSwge3sgcHJvZHVjZXIgfX0sIGFncmVlIHRoYXQgaWYgSSBhbSBpbiBhIHBhaWQgc3RhbmRieSBwb3NpdGlvbiwgSSBjYW4gYmUgcmFuZG9tbHkgY2FsbGVkIGludG8gYSBwcm9kdWNpbmcgcG9zaXRpb24uIFVwb24gZmFpbHVyZSB0byBwcm9kdWNlIGJsb2NrcywgY29kZSBtYXkgc2VsZi1leGVjdXRlIHBlbmFsdGllcyByZWdhcmRpbmcgZnV0dXJlIHZwYXkgcmV3YXJkcy4KCuycoOq4iSDrjIDquLAg67iU66Gd7ZSE66Gc65OA7ISc7J2YIOustOyekeychCDroZzthYzsnbTshZgKCuuCmCwge3sgcHJvZHVjZXIgfX3ripQg67O47J247J20IOycoOq4iSDrjIDquLDsp4Hsl5Ag7J6I7J2EIOuVjCwg66y07J6R7JyE66GcIOyDneyCsOyngeycvOuhnCDrtoDrpoQg67Cb7J2EIOyImCDsnojri6TripQg6rKD7JeQIOuPmeydmO2VqeuLiOuLpC4g7J2065WMIOu4lOuhneydhCDsg53shLHtlZjsp4Ag66q77ZWY66m0IOy9lOuTnOuKlCDtlqXtm4QgdnBheSDrs7Tsg4Hsl5Ag64yA7ZWcIOyymOuyjOydhCDsp5HtlontlaAg7IiYIOyeiOyKteuLiOuLpC4KCuWkh+mAieiKgueCuemaj+acuui9ruaNogoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIzlkIzmhI/oi6XmnKzoioLngrnlpITkuo7mnInlgb/lpIfpgInnirbmgIHvvIzlj6/ooqvpmo/mnLrosIPlhaXlh7rlnZfnirbmgIHjgILlpoLmnpzmiJHml6Dms5Xlh7rlnZfvvIzlkIjnuqbku6PnoIHlj6/og73kvJroh6rliqjmiafooYzlsLHmnKrmnaXnmoQgdnBheSDmiqXphazov5vooYzlpITnvZrjgIIKCiMjIyAxMC4gTWlzc2luZyBUd28gb3IgTW9yZSBSb3VuZHMgb2YgQmxvY2tzCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBpZiBhZnRlciBtaXNzaW5nIDIgb3IgbW9yZSByb3VuZHMgb2YgYmxvY2tzIGluIHN1Y2Nlc3Npb24gSSBhbSB1bmFibGUgdG8gYmUgY29udGFjdGVkIHdpdGhpbiAyMCBtaW51dGVzLCBJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBJIG1heSBiZSByZW1vdmVkIGZyb20gYSBwcm9kdWNpbmcgcG9zaXRpb24gYnkgdXNlIG9mIHRoZSBgcm12cHJvZHVjZXJgIGFjdGlvbi4KCkksIHt7IHByb2R1Y2VyIH19LCBhY2tub3dsZWRnZSB0aGF0IGFmdGVyIG1pc3NpbmcgdHdvIG9yIG1vcmUgcm91bmRzIG9mIGJsb2NrcyBpbiBzdWNjZXNzaW9uLCBzdGFuZGFyZCBwcmFjdGljZSBzdGlwdWxhdGVzIHJlbW92aW5nIG15IHByb2R1Y2VyIGJ5IHVzaW5nIHRoZSBgdW5yZWdwcm9kYCBhY3Rpb24gdW50aWwgdGhlIGdpdmVuIGlzc3VlIGlzIHJlc29sdmVkLgoK65GQIOudvOyatOuTnCDsnbTsg4HsnZgg67iU66GdIOuIhOudvQoK64KYLCB7eyBwcm9kdWNlciB9feuKlCDrkZAg65287Jq065OcIOydtOyDgSDsl7Dsho3tlZjsl6wg67iU66Gd7J2EIOuIhOudvSDtlZwg7ZuELCAyMOu2hCDsnbTrgrTsl5Ag7Jew6529IO2VoCDsiJgg7JeG64uk66m0IHt7IHByb2R1Y2VyIH19IOqwgCBgcm12cHJvZHVjZXJgIOyVoeyFmOydmCDsgqzsmqnrkJjslrQg7IOd7IKwIOychOy5mOyXkOyEnCDsoJzqsbAg65CgIOyImCDsnojsnYzsnYQg7J247KCV7ZWp64uI64ukLgoKe3sgcHJvZHVjZXIgfX3ripQg65GQIOudvOyatOuTnCDsnbTsg4HsnLzroZwg67iU66Gd7J2EIOyXsOyGjeyggeycvOuhnCDriITrnb3tlZzri6TrqbQsIOyjvOyWtOynhCDrrLjsoJzqsIAg7ZW06rKwIOuQoCDrlYzquYzsp4AgYHVucmVncHJvZGAg7J6R7JeF7J2EIOyCrOyaqe2VmOyXrCDrs7jsnbjsnbQg7IOd7IKwIOychOy5mOyXkOyEnCDsoJzqsbDrkKjsnbQg7ZGc7KSAIOq0gO2WieycvOuhnCDqt5zsoJXrkJjslrQg7J6I7J2M7J2EIOyduOygle2VqeuLiOuLpC4KCuS4pOi9ruaIluabtOWkmui9ruS4ouWdl+eahOaDheW9ogoK5oiR77yMe3sgcHJvZHVjZXIgfX0sIOehruiupOWmguaenOi/nue7reS4pOi9ruaIluabtOWkmui9ruS4ouWdl+S4lOaXoOazleWcqDIw5YiG6ZKf5YaF6IGU57O75Yiw5oiR77yM5oiR77yMe3sgcHJvZHVjZXIgfX0sIOWQjOaEj+WPr+iDveS8mueUqCBgcm12cHJvZHVjZXJgIOaTjeS9nOWwhuaIkeenu+mZpOOAggrmiJHvvIx7eyBwcm9kdWNlciB9fSwg5aaC5p6c6L+e57ut5Lik6L2u5oiW5pu05aSa6L2u5Lii5Z2X77yM5qC55o2u5qCH5YeG5a6e6Le15Lya5Y+R6LW3IGB1bnJlZ3Byb2RgIOaTjeS9nOWwhuaIkeenu+mZpOWHuuWdl+i1hOagvO+8jOebtOWIsOmXrumimOino+WGs+OAggoKIyMjIDExLiBVcmdlbnQgU2VjdXJpdHkgUGF0Y2hlcwoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgaWYgSSBhbSBub3QgYWJsZSB0byBiZSBjb250YWN0ZWQgaW4gYW55IGZvcm0gYWZ0ZXIgYW4gdXJnZW50IHNlY3VyaXR5IHBhdGNoIGlzIGFubm91bmNlZCwgSSBtYXkgYmUgcmVtb3ZlZCBieSB1c2Ugb2YgdGhlIGBybXZwcm9kdWNlcmAgYWN0aW9uLgoK6ri06riJIOuztOyViCDtjKjsuZgK6ri06riJIOuztOyViCDtjKjsuZjqsIAg67Cc7ZGcIOuQnCDtm4QsIOyWtOuWpCDtmJXtg5zroZzrk6Ag7Jew6529IO2VoCDsiJgg7JeG64qUIOqyveyasCBgcm12cHJvZHVjZXJgIOyekeyXheydhCDsgqzsmqntlZjsl6wg7KCc6rGwIOuQoCDsiJgg7J6I7J2M7J2EIOuCmCwge3sgcHJvZHVjZXIgfX3ripQg7J247KCV7ZWp64uI64ukLgoK57Sn5oCl5a6J5YWo6KGl5LiBCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOehruiupOWmguaenOWcqOe0p+aApeWuieWFqOihpeS4geWPkeW4g+WQjueUqOS7u+S9leaWueW8j+mDveaXoOazleiBlOezu+WIsOaIke+8jOWPr+iDveS8mueUqCBgcm12cHJvZHVjZXJgIOaMh+S7pOWwhuaIkeenu+mZpOOAggoKIyMjIDEyLiBEaXNjbG9zdXJlIG9mIEVudGl0eSBhbmQgU2VydmVyIEluZm9ybWF0aW9uCgpJLCB7eyBwcm9kdWNlciB9fSwgYXR0ZXN0IHRoYXQgSSBoYXZlIGRpc2Nsb3NlZCB0aGUgYXBwcm94aW1hdGUgZ2VvbG9jYXRpb24gZm9yIG15IG1haW4gcHJvZHVjdGlvbiBub2RlIGFzIGJlaW5nIHt7IGxvY2F0aW9uIH19LgoK67KV7J24IOuwjyDshJzrsoQg7KCV67O07J2YIOqzteqwnAoK64KYLCB7eyBwcm9kdWNlciB9fSDripQg7KO8IOyDneyCsCDrhbjrk5zsl5Ag64yA7ZWcIOychOy5mCDsoJXrs7Trpbwg6rO16rCc7ZaI7J2M7J2EIOymneuqhe2VqeuLiOuLpC4KCuWunuS9k+WSjOacjeWKoeWZqOeahOS/oeaBr+aKq+mcsgoK5oiR77yMe3sgcHJvZHVjZXIgfX3vvIznoa7orqTmiJHlt7Lnu4/miqvpnLLkuobkuLvlh7rlnZfoioLngrnmnI3liqHlmajlnLDnkIbkvY3nva7nmoTlh4bnoa7kv6Hmga/jgILlhbblnLDlnYDkuLoge3sgbG9jYXRpb24gfX3jgIIKCiMjIyAxMy4gRXN0YWJsaXNoZXMgdGhlIHBlbmFsdHkgYW5kIHByb2NlZHVyZSBmb3IgdW53aWxsaW5nbmVzcyB0byBjb21wbHkgd2l0aCBwZW5hbHRpZXMgb3IgcHJvY2VkdXJlcwoKSSwge3sgcHJvZHVjZXIgfX0sIGFja25vd2xlZGdlIHRoYXQgZmFpbGluZyB0byBjb21wbHkgd2l0aCBwZW5hbHRpZXMgb3IgcHJvY2VkdXJlcyBlbmFjdGVkIGFnYWluc3QgbWUgd2lsbCByZXN1bHQgaW4gQmxvY2sgUHJvZHVjZXJzIGV4ZWN1dGluZyB0aGUgYHJtdnByb2R1Y2VyYCBjb250cmFjdCB0byByZW1vdmUgbWUuCgpJLCB7eyBwcm9kdWNlciB9fSwgd2lsbCBub3QgZXhlY3V0ZSB0aGUgYHJlZ3Byb2R1Y2VyYCBjb250cmFjdCB1bnRpbCBzZXJ2aW5nIG9yIGZ1bGZpbGxpbmcgdGhlIHJlcXVpcmVtZW50cyBmcm9tIGEgcGVuYWx0eSBvciBwcm9jZWR1cmUgdGhhdCByZXN1bHRzIGluIGhhdmluZyB0aGUgYHJtdnByb2R1Y2VyYCBjb250cmFjdCBleGVjdXRlZCB0byByZW1vdmUgbWUuCgpJLCB7eyBwcm9kdWNlciB9fSwgYWNrbm93bGVkZ2UgdGhhdCBpZiBJIGNvbnRpbnVlIHRvIGNhbGwgdGhlIGByZWdwcm9kdWNlcmAgYWN0aW9uIHdpdGhvdXQgc2VydmluZyBvciBmdWxmaWxsaW5nIHRoZSByZXF1aXJlbWVudHMgZnJvbSBicmVhY2ggb2YgYHJlZ3Byb2R1Y2VyYCwgbXkgYWNjb3VudCBrZXlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVnaXN0ZXJlZCBCbG9jayBQcm9kdWNlciBpbiBxdWVzdGlvbiBtYXkgYmUgbnVsbGVkIGJ5IEJsb2NrIFByb2R1Y2VycyBieSB1c2luZyBgZW9zaW8ud3JhcGAuCgrtjpjrhJDti7Drpbwg7KSA7IiY7ZWY7KeAIOyViuydhCDqsr3smrAg67KM7LmZCgrrgpgsIHt7IHByb2R1Y2VyIH19IOuKlCDrgpjsl5Dqsowg7KCc7J6s65CcIOyymOuyjOydhCDspIDsiJjtlZjsp4Ag7JWK7Jy866m0IOu4lOuhne2UhOuhnOuTgOyEnOuTpOydtCBgcm12cHJvZHVjZXJgIOqzhOyVveydhCDsp5HtlontlZjqsowg65CgIOqyg+ydtOudvOqzoCDsnbjsoJXtlanri4jri6QuIOuCmCwge3sgcHJvZHVjZXIgfX0g64qUIGBybXZwcm9kdWNlcmAg6rOE7JW97J20IOynke2WieuQnOuLpOuptCDsmpTqtawg7IKs7ZWt7J2EIOy2qeyhseuQoCDrlYzquYzsp4AgYHJlZ3Byb2R1Y2VyYCDqs4Tslb3snYQg7J207ZaJ7ZWY7KeAIOyViuydhCDqsoPsnoXri4jri6QuCmByZWdwcm9kdWNlcmAg6rOE7JW9IOychOuwmOycvOuhnCDsnbjtlZwg7JqU6rWsIOyCrO2VreydhCDstqnsobHsi5ztgqTsp4Ag7JWK6rOgIGByZWdwcm9kdWNlcmAg6rOE7JW97J2EIOqzhOyGjSDtmLjstpztlZjrqbQg7ZW064u5IOu4lOuhne2UhOuhnOuTgOyEnOyZgCDqtIDroKjrkJwg6rOE7KCVIO2CpOqwgCBgZW9zaW8ud3JhcGAg7J2EIOyCrOyaqe2VmOyXrCDruJTroZ3tlITroZzrk4DshJzrk6Tsl5Ag7J2Y7ZW0IOustO2aqO2ZlCDrkKAg7IiYIOyeiOydjOydhCDsnbjsoJXtlanri4jri6QuCgrlr7nkuI3mhL/pgbXlrojlpITnvZrnmoTooYzkuLrkuojku6XlpITnvZoKCuaIke+8jHt7IHByb2R1Y2VyIH1977yM5om/6K6k6Iul5LiN6YG15a6I5a+55pys5Lq65Yi26KOB55qE5aSE572a77yMQlAg5Y+v5Lul5a6e5pa9IGBybXZwcm9kdWNlcmAg5ZCI57qm77yM5oiR5o6l5Y+X5oqV56Wo55qE6LWE5qC85bCG6KKr5Y+W5raI44CC6Iul5pyJ6ZKI5a+55oiR5a6e5pa9IGBybXZwcm9kdWNlcmAg5ZCI57qm55qE5oOF5Ya15Y+R55Sf77yM5oiRLCB7eyBwcm9kdWNlciB9fSDlnKjpgbXlrogv5bGl6KGM5omA5pS25Yiw55qE5aSE572a5LmL5YmN77yM5LiN5Lya5YaN5qyh5omn6KGMIGByZWdwcm9kdWNlcmAg5ZCI57qm44CCCgrmiJHvvIx7eyBwcm9kdWNlciB9fe+8jOWcqOWxpeihjOaDqee9mueoi+W6j+eahOimgeaxguS5i+WJje+8jOS4jeS8muaJp+ihjCBgcmVncHJvZHVjZXJgIOWQiOWQjOOAguaIkeefpeaZk+WmguS4jeWxpeihjOatpOeoi+W6j++8jCBgcm12cHJvZHVjZXJgIOWQiOWQjOWwhuS8muWGjeasoeWwhuaIkeenu+mZpOOAggoK5oiRLHt7IHByb2R1Y2VyIH19LCDmib/orqTlpoLmnpzmsqHmnInpgbXlrojmiJblsaXooYzlm6Dov53lj40gYHJlZ3Byb2R1Y2VyYCDogIzlj5fliLDnmoTmg6nnvZropoHmsYLljbTnu6fnu63osIPnlKhgcmVncHJvZHVjZXJg5pON5L2c77yMQlAg5Y+v5Lul6LCD55SoIGBlb3Npby53cmFwYCDlkIjnuqblsIbmiJHnlKjmnaXms6jlhozlh7rlnZfoioLngrnnmoTotKblj7flr4bpkqXorr7nva7kuLrml6DmlYjlgLzjgIIAAAEidmFyaWFudF9ibG9ja19zaWduaW5nX2F1dGhvcml0eV92MAEaYmxvY2tfc2lnbmluZ19hdXRob3JpdHlfdjAGAAAAAEhzvT4UYWN0aW9uX3JldHVybl9idXlyYW0AsMr+SHO9PhRhY3Rpb25fcmV0dXJuX2J1eXJhbQDAigpLc70+FGFjdGlvbl9yZXR1cm5fYnV5cmFtAAAAYF59pLkZYWN0aW9uX3JldHVybl9yYW10cmFuc2ZlcgCuWniam6W5GWFjdGlvbl9yZXR1cm5fcmFtdHJhbnNmZXIAAABAmhujwhVhY3Rpb25fcmV0dXJuX3NlbGxyYW0=\"}" } \ No newline at end of file diff --git a/test/data/333feb568c6e62b17105aa14c1cb8f237a63ac9b.json b/test/data/333feb568c6e62b17105aa14c1cb8f237a63ac9b.json deleted file mode 100644 index d86dfe5..0000000 --- a/test/data/333feb568c6e62b17105aa14c1cb8f237a63ac9b.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/chain/get_table_rows", - "params": { - "method": "POST", - "body": "{\"table\":\"accounts\",\"code\":\"eosio.token\",\"scope\":\"wharfkit1133\",\"limit\":1,\"lower_bound\":\"nonexist\",\"upper_bound\":\"nonexist\",\"index_position\":\"primary\",\"key_type\":\"name\",\"json\":false}" - } - }, - "status": 200, - "json": { - "rows": [], - "more": false, - "next_key": "" - }, - "text": "{\"rows\":[],\"more\":false,\"next_key\":\"\"}" -} \ No newline at end of file diff --git a/test/data/3de7f859450540bb5aa2948cf30b14815e73623e.json b/test/data/3de7f859450540bb5aa2948cf30b14815e73623e.json new file mode 100644 index 0000000..ca8b522 --- /dev/null +++ b/test/data/3de7f859450540bb5aa2948cf30b14815e73623e.json @@ -0,0 +1,17 @@ +{ + "request": { + "path": "https://jungle4.greymass.com/v1/chain/get_raw_abi", + "params": { + "method": "POST", + "body": "{\"account_name\":\"eosio.token\"}" + } + }, + "status": 200, + "json": { + "account_name": "eosio.token", + "code_hash": "e7aa90a489446616f9bf0f1d0368f849722c7d36054d910e8f378ce9d2b618f1", + "abi_hash": "3cb2e0c01c7729b34d11844e19f41e282c39872decc80b6159fe7c3a207d2fcf", + "abi": "DmVvc2lvOjphYmkvMS4yAAgHYWNjb3VudAABB2JhbGFuY2UFYXNzZXQFY2xvc2UAAgVvd25lcgRuYW1lBnN5bWJvbAZzeW1ib2wGY3JlYXRlAAIGaXNzdWVyBG5hbWUObWF4aW11bV9zdXBwbHkFYXNzZXQOY3VycmVuY3lfc3RhdHMAAwZzdXBwbHkFYXNzZXQKbWF4X3N1cHBseQVhc3NldAZpc3N1ZXIEbmFtZQVpc3N1ZQADAnRvBG5hbWUIcXVhbnRpdHkFYXNzZXQEbWVtbwZzdHJpbmcEb3BlbgADBW93bmVyBG5hbWUGc3ltYm9sBnN5bWJvbAlyYW1fcGF5ZXIEbmFtZQZyZXRpcmUAAghxdWFudGl0eQVhc3NldARtZW1vBnN0cmluZwh0cmFuc2ZlcgAEBGZyb20EbmFtZQJ0bwRuYW1lCHF1YW50aXR5BWFzc2V0BG1lbW8Gc3RyaW5nBgAAAAAAhWlEBWNsb3Nl+QMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbG9zZSBUb2tlbiBCYWxhbmNlCnN1bW1hcnk6ICdDbG9zZSB7e25vd3JhcCBvd25lcn194oCZcyB6ZXJvIHF1YW50aXR5IGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy90b2tlbi5wbmcjMjA3ZmY2OGIwNDA2ZWFhNTY2MThiMDhiZGE4MWQ2YTA5NTQ1NDNmMzZhZGMzMjhhYjMwNjVmMzFhNWM1ZDY1NAotLS0KCnt7b3duZXJ9fSBhZ3JlZXMgdG8gY2xvc2UgdGhlaXIgemVybyBxdWFudGl0eSBiYWxhbmNlIGZvciB0aGUge3tzeW1ib2xfdG9fc3ltYm9sX2NvZGUgc3ltYm9sfX0gdG9rZW4uCgpSQU0gd2lsbCBiZSByZWZ1bmRlZCB0byB0aGUgUkFNIHBheWVyIG9mIHRoZSB7e3N5bWJvbF90b19zeW1ib2xfY29kZSBzeW1ib2x9fSB0b2tlbiBiYWxhbmNlIGZvciB7e293bmVyfX0uAAAAAKhs1EUGY3JlYXRlmgUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDcmVhdGUgTmV3IFRva2VuCnN1bW1hcnk6ICdDcmVhdGUgYSBuZXcgdG9rZW4nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy90b2tlbi5wbmcjMjA3ZmY2OGIwNDA2ZWFhNTY2MThiMDhiZGE4MWQ2YTA5NTQ1NDNmMzZhZGMzMjhhYjMwNjVmMzFhNWM1ZDY1NAotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gYWdyZWVzIHRvIGNyZWF0ZSBhIG5ldyB0b2tlbiB3aXRoIHN5bWJvbCB7e2Fzc2V0X3RvX3N5bWJvbF9jb2RlIG1heGltdW1fc3VwcGx5fX0gdG8gYmUgbWFuYWdlZCBieSB7e2lzc3Vlcn19LgoKVGhpcyBhY3Rpb24gd2lsbCBub3QgcmVzdWx0IGFueSBhbnkgdG9rZW5zIGJlaW5nIGlzc3VlZCBpbnRvIGNpcmN1bGF0aW9uLgoKe3tpc3N1ZXJ9fSB3aWxsIGJlIGFsbG93ZWQgdG8gaXNzdWUgdG9rZW5zIGludG8gY2lyY3VsYXRpb24sIHVwIHRvIGEgbWF4aW11bSBzdXBwbHkgb2Yge3ttYXhpbXVtX3N1cHBseX19LgoKUkFNIHdpbGwgZGVkdWN0ZWQgZnJvbSB7eyRhY3Rpb24uYWNjb3VudH194oCZcyByZXNvdXJjZXMgdG8gY3JlYXRlIHRoZSBuZWNlc3NhcnkgcmVjb3Jkcy4AAAAAAKUxdgVpc3N1Ze4HLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogSXNzdWUgVG9rZW5zIGludG8gQ2lyY3VsYXRpb24Kc3VtbWFyeTogJ0lzc3VlIHt7bm93cmFwIHF1YW50aXR5fX0gaW50byBjaXJjdWxhdGlvbiBhbmQgdHJhbnNmZXIgaW50byB7e25vd3JhcCB0b3194oCZcyBhY2NvdW50JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdG9rZW4ucG5nIzIwN2ZmNjhiMDQwNmVhYTU2NjE4YjA4YmRhODFkNmEwOTU0NTQzZjM2YWRjMzI4YWIzMDY1ZjMxYTVjNWQ2NTQKLS0tCgpUaGUgdG9rZW4gbWFuYWdlciBhZ3JlZXMgdG8gaXNzdWUge3txdWFudGl0eX19IGludG8gY2lyY3VsYXRpb24sIGFuZCB0cmFuc2ZlciBpdCBpbnRvIHt7dG99feKAmXMgYWNjb3VudC4KCnt7I2lmIG1lbW99fVRoZXJlIGlzIGEgbWVtbyBhdHRhY2hlZCB0byB0aGUgdHJhbnNmZXIgc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQoKSWYge3t0b319IGRvZXMgbm90IGhhdmUgYSBiYWxhbmNlIGZvciB7e2Fzc2V0X3RvX3N5bWJvbF9jb2RlIHF1YW50aXR5fX0sIG9yIHRoZSB0b2tlbiBtYW5hZ2VyIGRvZXMgbm90IGhhdmUgYSBiYWxhbmNlIGZvciB7e2Fzc2V0X3RvX3N5bWJvbF9jb2RlIHF1YW50aXR5fX0sIHRoZSB0b2tlbiBtYW5hZ2VyIHdpbGwgYmUgZGVzaWduYXRlZCBhcyB0aGUgUkFNIHBheWVyIG9mIHRoZSB7e2Fzc2V0X3RvX3N5bWJvbF9jb2RlIHF1YW50aXR5fX0gdG9rZW4gYmFsYW5jZSBmb3Ige3t0b319LiBBcyBhIHJlc3VsdCwgUkFNIHdpbGwgYmUgZGVkdWN0ZWQgZnJvbSB0aGUgdG9rZW4gbWFuYWdlcuKAmXMgcmVzb3VyY2VzIHRvIGNyZWF0ZSB0aGUgbmVjZXNzYXJ5IHJlY29yZHMuCgpUaGlzIGFjdGlvbiBkb2VzIG5vdCBhbGxvdyB0aGUgdG90YWwgcXVhbnRpdHkgdG8gZXhjZWVkIHRoZSBtYXggYWxsb3dlZCBzdXBwbHkgb2YgdGhlIHRva2VuLgAAAAAAMFWlBG9wZW7GBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IE9wZW4gVG9rZW4gQmFsYW5jZQpzdW1tYXJ5OiAnT3BlbiBhIHplcm8gcXVhbnRpdHkgYmFsYW5jZSBmb3Ige3tub3dyYXAgb3duZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Rva2VuLnBuZyMyMDdmZjY4YjA0MDZlYWE1NjYxOGIwOGJkYTgxZDZhMDk1NDU0M2YzNmFkYzMyOGFiMzA2NWYzMWE1YzVkNjU0Ci0tLQoKe3tyYW1fcGF5ZXJ9fSBhZ3JlZXMgdG8gZXN0YWJsaXNoIGEgemVybyBxdWFudGl0eSBiYWxhbmNlIGZvciB7e293bmVyfX0gZm9yIHRoZSB7e3N5bWJvbF90b19zeW1ib2xfY29kZSBzeW1ib2x9fSB0b2tlbi4KCklmIHt7b3duZXJ9fSBkb2VzIG5vdCBoYXZlIGEgYmFsYW5jZSBmb3Ige3tzeW1ib2xfdG9fc3ltYm9sX2NvZGUgc3ltYm9sfX0sIHt7cmFtX3BheWVyfX0gd2lsbCBiZSBkZXNpZ25hdGVkIGFzIHRoZSBSQU0gcGF5ZXIgb2YgdGhlIHt7c3ltYm9sX3RvX3N5bWJvbF9jb2RlIHN5bWJvbH19IHRva2VuIGJhbGFuY2UgZm9yIHt7b3duZXJ9fS4gQXMgYSByZXN1bHQsIFJBTSB3aWxsIGJlIGRlZHVjdGVkIGZyb20ge3tyYW1fcGF5ZXJ9feKAmXMgcmVzb3VyY2VzIHRvIGNyZWF0ZSB0aGUgbmVjZXNzYXJ5IHJlY29yZHMuAAAAAKjrsroGcmV0aXJl3AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBSZW1vdmUgVG9rZW5zIGZyb20gQ2lyY3VsYXRpb24Kc3VtbWFyeTogJ1JlbW92ZSB7e25vd3JhcCBxdWFudGl0eX19IGZyb20gY2lyY3VsYXRpb24nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy90b2tlbi5wbmcjMjA3ZmY2OGIwNDA2ZWFhNTY2MThiMDhiZGE4MWQ2YTA5NTQ1NDNmMzZhZGMzMjhhYjMwNjVmMzFhNWM1ZDY1NAotLS0KClRoZSB0b2tlbiBtYW5hZ2VyIGFncmVlcyB0byByZW1vdmUge3txdWFudGl0eX19IGZyb20gY2lyY3VsYXRpb24sIHRha2VuIGZyb20gdGhlaXIgb3duIGFjY291bnQuCgp7eyNpZiBtZW1vfX0gVGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSBhY3Rpb24gc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQAAAFctPM3NCHRyYW5zZmVytgctLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBUcmFuc2ZlciBUb2tlbnMKc3VtbWFyeTogJ1NlbmQge3tub3dyYXAgcXVhbnRpdHl9fSBmcm9tIHt7bm93cmFwIGZyb219fSB0byB7e25vd3JhcCB0b319JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdHJhbnNmZXIucG5nIzVkZmFkMGRmNzI3NzJlZTFjY2MxNTVlNjcwYzFkMTI0ZjVjNTEyMmYxZDUwMjc1NjVkZjM4YjQxODA0MmQxZGQKLS0tCgp7e2Zyb219fSBhZ3JlZXMgdG8gc2VuZCB7e3F1YW50aXR5fX0gdG8ge3t0b319LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2ZlciBzdGF0aW5nOgp7e21lbW99fQp7ey9pZn19CgpJZiB7e2Zyb219fSBpcyBub3QgYWxyZWFkeSB0aGUgUkFNIHBheWVyIG9mIHRoZWlyIHt7YXNzZXRfdG9fc3ltYm9sX2NvZGUgcXVhbnRpdHl9fSB0b2tlbiBiYWxhbmNlLCB7e2Zyb219fSB3aWxsIGJlIGRlc2lnbmF0ZWQgYXMgc3VjaC4gQXMgYSByZXN1bHQsIFJBTSB3aWxsIGJlIGRlZHVjdGVkIGZyb20ge3tmcm9tfX3igJlzIHJlc291cmNlcyB0byByZWZ1bmQgdGhlIG9yaWdpbmFsIFJBTSBwYXllci4KCklmIHt7dG99fSBkb2VzIG5vdCBoYXZlIGEgYmFsYW5jZSBmb3Ige3thc3NldF90b19zeW1ib2xfY29kZSBxdWFudGl0eX19LCB7e2Zyb219fSB3aWxsIGJlIGRlc2lnbmF0ZWQgYXMgdGhlIFJBTSBwYXllciBvZiB0aGUge3thc3NldF90b19zeW1ib2xfY29kZSBxdWFudGl0eX19IHRva2VuIGJhbGFuY2UgZm9yIHt7dG99fS4gQXMgYSByZXN1bHQsIFJBTSB3aWxsIGJlIGRlZHVjdGVkIGZyb20ge3tmcm9tfX3igJlzIHJlc291cmNlcyB0byBjcmVhdGUgdGhlIG5lY2Vzc2FyeSByZWNvcmRzLgIAAAA4T00RMgNpNjQAAAdhY2NvdW50AAAAAACQTcYDaTY0AAAOY3VycmVuY3lfc3RhdHMAAAAA" + }, + "text": "{\"account_name\":\"eosio.token\",\"code_hash\":\"e7aa90a489446616f9bf0f1d0368f849722c7d36054d910e8f378ce9d2b618f1\",\"abi_hash\":\"3cb2e0c01c7729b34d11844e19f41e282c39872decc80b6159fe7c3a207d2fcf\",\"abi\":\"DmVvc2lvOjphYmkvMS4yAAgHYWNjb3VudAABB2JhbGFuY2UFYXNzZXQFY2xvc2UAAgVvd25lcgRuYW1lBnN5bWJvbAZzeW1ib2wGY3JlYXRlAAIGaXNzdWVyBG5hbWUObWF4aW11bV9zdXBwbHkFYXNzZXQOY3VycmVuY3lfc3RhdHMAAwZzdXBwbHkFYXNzZXQKbWF4X3N1cHBseQVhc3NldAZpc3N1ZXIEbmFtZQVpc3N1ZQADAnRvBG5hbWUIcXVhbnRpdHkFYXNzZXQEbWVtbwZzdHJpbmcEb3BlbgADBW93bmVyBG5hbWUGc3ltYm9sBnN5bWJvbAlyYW1fcGF5ZXIEbmFtZQZyZXRpcmUAAghxdWFudGl0eQVhc3NldARtZW1vBnN0cmluZwh0cmFuc2ZlcgAEBGZyb20EbmFtZQJ0bwRuYW1lCHF1YW50aXR5BWFzc2V0BG1lbW8Gc3RyaW5nBgAAAAAAhWlEBWNsb3Nl+QMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDbG9zZSBUb2tlbiBCYWxhbmNlCnN1bW1hcnk6ICdDbG9zZSB7e25vd3JhcCBvd25lcn194oCZcyB6ZXJvIHF1YW50aXR5IGJhbGFuY2UnCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy90b2tlbi5wbmcjMjA3ZmY2OGIwNDA2ZWFhNTY2MThiMDhiZGE4MWQ2YTA5NTQ1NDNmMzZhZGMzMjhhYjMwNjVmMzFhNWM1ZDY1NAotLS0KCnt7b3duZXJ9fSBhZ3JlZXMgdG8gY2xvc2UgdGhlaXIgemVybyBxdWFudGl0eSBiYWxhbmNlIGZvciB0aGUge3tzeW1ib2xfdG9fc3ltYm9sX2NvZGUgc3ltYm9sfX0gdG9rZW4uCgpSQU0gd2lsbCBiZSByZWZ1bmRlZCB0byB0aGUgUkFNIHBheWVyIG9mIHRoZSB7e3N5bWJvbF90b19zeW1ib2xfY29kZSBzeW1ib2x9fSB0b2tlbiBiYWxhbmNlIGZvciB7e293bmVyfX0uAAAAAKhs1EUGY3JlYXRlmgUtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBDcmVhdGUgTmV3IFRva2VuCnN1bW1hcnk6ICdDcmVhdGUgYSBuZXcgdG9rZW4nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy90b2tlbi5wbmcjMjA3ZmY2OGIwNDA2ZWFhNTY2MThiMDhiZGE4MWQ2YTA5NTQ1NDNmMzZhZGMzMjhhYjMwNjVmMzFhNWM1ZDY1NAotLS0KCnt7JGFjdGlvbi5hY2NvdW50fX0gYWdyZWVzIHRvIGNyZWF0ZSBhIG5ldyB0b2tlbiB3aXRoIHN5bWJvbCB7e2Fzc2V0X3RvX3N5bWJvbF9jb2RlIG1heGltdW1fc3VwcGx5fX0gdG8gYmUgbWFuYWdlZCBieSB7e2lzc3Vlcn19LgoKVGhpcyBhY3Rpb24gd2lsbCBub3QgcmVzdWx0IGFueSBhbnkgdG9rZW5zIGJlaW5nIGlzc3VlZCBpbnRvIGNpcmN1bGF0aW9uLgoKe3tpc3N1ZXJ9fSB3aWxsIGJlIGFsbG93ZWQgdG8gaXNzdWUgdG9rZW5zIGludG8gY2lyY3VsYXRpb24sIHVwIHRvIGEgbWF4aW11bSBzdXBwbHkgb2Yge3ttYXhpbXVtX3N1cHBseX19LgoKUkFNIHdpbGwgZGVkdWN0ZWQgZnJvbSB7eyRhY3Rpb24uYWNjb3VudH194oCZcyByZXNvdXJjZXMgdG8gY3JlYXRlIHRoZSBuZWNlc3NhcnkgcmVjb3Jkcy4AAAAAAKUxdgVpc3N1Ze4HLS0tCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogSXNzdWUgVG9rZW5zIGludG8gQ2lyY3VsYXRpb24Kc3VtbWFyeTogJ0lzc3VlIHt7bm93cmFwIHF1YW50aXR5fX0gaW50byBjaXJjdWxhdGlvbiBhbmQgdHJhbnNmZXIgaW50byB7e25vd3JhcCB0b3194oCZcyBhY2NvdW50JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdG9rZW4ucG5nIzIwN2ZmNjhiMDQwNmVhYTU2NjE4YjA4YmRhODFkNmEwOTU0NTQzZjM2YWRjMzI4YWIzMDY1ZjMxYTVjNWQ2NTQKLS0tCgpUaGUgdG9rZW4gbWFuYWdlciBhZ3JlZXMgdG8gaXNzdWUge3txdWFudGl0eX19IGludG8gY2lyY3VsYXRpb24sIGFuZCB0cmFuc2ZlciBpdCBpbnRvIHt7dG99feKAmXMgYWNjb3VudC4KCnt7I2lmIG1lbW99fVRoZXJlIGlzIGEgbWVtbyBhdHRhY2hlZCB0byB0aGUgdHJhbnNmZXIgc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQoKSWYge3t0b319IGRvZXMgbm90IGhhdmUgYSBiYWxhbmNlIGZvciB7e2Fzc2V0X3RvX3N5bWJvbF9jb2RlIHF1YW50aXR5fX0sIG9yIHRoZSB0b2tlbiBtYW5hZ2VyIGRvZXMgbm90IGhhdmUgYSBiYWxhbmNlIGZvciB7e2Fzc2V0X3RvX3N5bWJvbF9jb2RlIHF1YW50aXR5fX0sIHRoZSB0b2tlbiBtYW5hZ2VyIHdpbGwgYmUgZGVzaWduYXRlZCBhcyB0aGUgUkFNIHBheWVyIG9mIHRoZSB7e2Fzc2V0X3RvX3N5bWJvbF9jb2RlIHF1YW50aXR5fX0gdG9rZW4gYmFsYW5jZSBmb3Ige3t0b319LiBBcyBhIHJlc3VsdCwgUkFNIHdpbGwgYmUgZGVkdWN0ZWQgZnJvbSB0aGUgdG9rZW4gbWFuYWdlcuKAmXMgcmVzb3VyY2VzIHRvIGNyZWF0ZSB0aGUgbmVjZXNzYXJ5IHJlY29yZHMuCgpUaGlzIGFjdGlvbiBkb2VzIG5vdCBhbGxvdyB0aGUgdG90YWwgcXVhbnRpdHkgdG8gZXhjZWVkIHRoZSBtYXggYWxsb3dlZCBzdXBwbHkgb2YgdGhlIHRva2VuLgAAAAAAMFWlBG9wZW7GBS0tLQpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IE9wZW4gVG9rZW4gQmFsYW5jZQpzdW1tYXJ5OiAnT3BlbiBhIHplcm8gcXVhbnRpdHkgYmFsYW5jZSBmb3Ige3tub3dyYXAgb3duZXJ9fScKaWNvbjogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Vvc25ldHdvcmtmb3VuZGF0aW9uL2Vvcy1zeXN0ZW0tY29udHJhY3RzL21haW4vY29udHJhY3RzL2ljb25zL3Rva2VuLnBuZyMyMDdmZjY4YjA0MDZlYWE1NjYxOGIwOGJkYTgxZDZhMDk1NDU0M2YzNmFkYzMyOGFiMzA2NWYzMWE1YzVkNjU0Ci0tLQoKe3tyYW1fcGF5ZXJ9fSBhZ3JlZXMgdG8gZXN0YWJsaXNoIGEgemVybyBxdWFudGl0eSBiYWxhbmNlIGZvciB7e293bmVyfX0gZm9yIHRoZSB7e3N5bWJvbF90b19zeW1ib2xfY29kZSBzeW1ib2x9fSB0b2tlbi4KCklmIHt7b3duZXJ9fSBkb2VzIG5vdCBoYXZlIGEgYmFsYW5jZSBmb3Ige3tzeW1ib2xfdG9fc3ltYm9sX2NvZGUgc3ltYm9sfX0sIHt7cmFtX3BheWVyfX0gd2lsbCBiZSBkZXNpZ25hdGVkIGFzIHRoZSBSQU0gcGF5ZXIgb2YgdGhlIHt7c3ltYm9sX3RvX3N5bWJvbF9jb2RlIHN5bWJvbH19IHRva2VuIGJhbGFuY2UgZm9yIHt7b3duZXJ9fS4gQXMgYSByZXN1bHQsIFJBTSB3aWxsIGJlIGRlZHVjdGVkIGZyb20ge3tyYW1fcGF5ZXJ9feKAmXMgcmVzb3VyY2VzIHRvIGNyZWF0ZSB0aGUgbmVjZXNzYXJ5IHJlY29yZHMuAAAAAKjrsroGcmV0aXJl3AMtLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBSZW1vdmUgVG9rZW5zIGZyb20gQ2lyY3VsYXRpb24Kc3VtbWFyeTogJ1JlbW92ZSB7e25vd3JhcCBxdWFudGl0eX19IGZyb20gY2lyY3VsYXRpb24nCmljb246IGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9lb3NuZXR3b3JrZm91bmRhdGlvbi9lb3Mtc3lzdGVtLWNvbnRyYWN0cy9tYWluL2NvbnRyYWN0cy9pY29ucy90b2tlbi5wbmcjMjA3ZmY2OGIwNDA2ZWFhNTY2MThiMDhiZGE4MWQ2YTA5NTQ1NDNmMzZhZGMzMjhhYjMwNjVmMzFhNWM1ZDY1NAotLS0KClRoZSB0b2tlbiBtYW5hZ2VyIGFncmVlcyB0byByZW1vdmUge3txdWFudGl0eX19IGZyb20gY2lyY3VsYXRpb24sIHRha2VuIGZyb20gdGhlaXIgb3duIGFjY291bnQuCgp7eyNpZiBtZW1vfX0gVGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSBhY3Rpb24gc3RhdGluZzoKe3ttZW1vfX0Ke3svaWZ9fQAAAFctPM3NCHRyYW5zZmVytgctLS0Kc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBUcmFuc2ZlciBUb2tlbnMKc3VtbWFyeTogJ1NlbmQge3tub3dyYXAgcXVhbnRpdHl9fSBmcm9tIHt7bm93cmFwIGZyb219fSB0byB7e25vd3JhcCB0b319JwppY29uOiBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW9zbmV0d29ya2ZvdW5kYXRpb24vZW9zLXN5c3RlbS1jb250cmFjdHMvbWFpbi9jb250cmFjdHMvaWNvbnMvdHJhbnNmZXIucG5nIzVkZmFkMGRmNzI3NzJlZTFjY2MxNTVlNjcwYzFkMTI0ZjVjNTEyMmYxZDUwMjc1NjVkZjM4YjQxODA0MmQxZGQKLS0tCgp7e2Zyb219fSBhZ3JlZXMgdG8gc2VuZCB7e3F1YW50aXR5fX0gdG8ge3t0b319LgoKe3sjaWYgbWVtb319VGhlcmUgaXMgYSBtZW1vIGF0dGFjaGVkIHRvIHRoZSB0cmFuc2ZlciBzdGF0aW5nOgp7e21lbW99fQp7ey9pZn19CgpJZiB7e2Zyb219fSBpcyBub3QgYWxyZWFkeSB0aGUgUkFNIHBheWVyIG9mIHRoZWlyIHt7YXNzZXRfdG9fc3ltYm9sX2NvZGUgcXVhbnRpdHl9fSB0b2tlbiBiYWxhbmNlLCB7e2Zyb219fSB3aWxsIGJlIGRlc2lnbmF0ZWQgYXMgc3VjaC4gQXMgYSByZXN1bHQsIFJBTSB3aWxsIGJlIGRlZHVjdGVkIGZyb20ge3tmcm9tfX3igJlzIHJlc291cmNlcyB0byByZWZ1bmQgdGhlIG9yaWdpbmFsIFJBTSBwYXllci4KCklmIHt7dG99fSBkb2VzIG5vdCBoYXZlIGEgYmFsYW5jZSBmb3Ige3thc3NldF90b19zeW1ib2xfY29kZSBxdWFudGl0eX19LCB7e2Zyb219fSB3aWxsIGJlIGRlc2lnbmF0ZWQgYXMgdGhlIFJBTSBwYXllciBvZiB0aGUge3thc3NldF90b19zeW1ib2xfY29kZSBxdWFudGl0eX19IHRva2VuIGJhbGFuY2UgZm9yIHt7dG99fS4gQXMgYSByZXN1bHQsIFJBTSB3aWxsIGJlIGRlZHVjdGVkIGZyb20ge3tmcm9tfX3igJlzIHJlc291cmNlcyB0byBjcmVhdGUgdGhlIG5lY2Vzc2FyeSByZWNvcmRzLgIAAAA4T00RMgNpNjQAAAdhY2NvdW50AAAAAACQTcYDaTY0AAAOY3VycmVuY3lfc3RhdHMAAAAA\"}" +} \ No newline at end of file diff --git a/test/data/4039a130d2e2ed01f3ba6b3c25c78c8ae290acda.json b/test/data/47d91064e605534b60a3812003a5466ea9b6e912.json similarity index 56% rename from test/data/4039a130d2e2ed01f3ba6b3c25c78c8ae290acda.json rename to test/data/47d91064e605534b60a3812003a5466ea9b6e912.json index 45526dc..9a4e1a1 100644 --- a/test/data/4039a130d2e2ed01f3ba6b3c25c78c8ae290acda.json +++ b/test/data/47d91064e605534b60a3812003a5466ea9b6e912.json @@ -3,23 +3,23 @@ "path": "https://jungle4.greymass.com/v1/chain/send_transaction", "params": { "method": "POST", - "body": "{\"signatures\":[\"SIG_K1_K1Ay5N1tekDiH9TTq5qtsJNdaTswkqRjrUYtNW7PwavFLDUveJTTag2wiJxBzHhyAYq5a6UcHAZ1CyfPggB7sjfZSnsVjX\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789cbb1fa99e7ad840cff5992e0310308208865706a10c0ea76fadc809baca68e0c671f360a9ef6390f88ab74646dee80220ba61b5da7246b076a693c72aa7ea3f545abe68869e80f7967337e78905a9add99e2cf139fdc0dd995abca1101ba00000fc20273d\"}" + "body": "{\"signatures\":[\"SIG_K1_K7C1vawm8bABrWQFAPofoPd3H1x49FqFX9SusvyrZz5bDS5x5e3JsbSGxQQbQrvAy3Zdh698pm4h9HFx75ZQg8oKMETrbK\"],\"compression\":1,\"packed_context_free_data\":\"789c63000000010001\",\"packed_trx\":\"789cabaebf97ba8b212690ef2d0310308208865706a10c0ea76fadc809baca68e0c671f360a9ef6390f88ab74646dee80220ba61b5da7246b076a693c72aa7ea3f545abe68869e80f7967337e78905a9add99e2cf139fdc0dd995abca1101ba000002a21279f\"}" } }, "status": 202, "json": { - "transaction_id": "48d2861d47d5207772d1a350247ac0e48de0d312fdf9b439271d36286b24ad7d", + "transaction_id": "1bb5eb1512772fc000706e8a2683aff397a5bc4ba9eaa3b4a95ad8ff527386c9", "processed": { - "id": "48d2861d47d5207772d1a350247ac0e48de0d312fdf9b439271d36286b24ad7d", - "block_num": 102642195, - "block_time": "2023-10-12T02:26:47.500", + "id": "1bb5eb1512772fc000706e8a2683aff397a5bc4ba9eaa3b4a95ad8ff527386c9", + "block_num": 126616070, + "block_time": "2024-02-28T00:32:03.500", "producer_block_id": null, "receipt": { "status": "executed", - "cpu_usage_us": 220, + "cpu_usage_us": 139, "net_usage_words": 19 }, - "elapsed": 220, + "elapsed": 139, "net_usage": 152, "scheduled": false, "action_traces": [ @@ -30,16 +30,16 @@ "receipt": { "receiver": "eosio", "act_digest": "5d8239b83dcdbae9a7a29f2a5ed47b183e597d7dd16a911270c5c1749230299f", - "global_sequence": 135900873, - "recv_sequence": 102714603, + "global_sequence": 183320579, + "recv_sequence": 126723179, "auth_sequence": [ [ "wharfkit1133", - 49 + 243 ] ], - "code_sequence": 4, - "abi_sequence": 4 + "code_sequence": 7, + "abi_sequence": 7 }, "receiver": "eosio", "act": { @@ -71,11 +71,11 @@ "hex_data": "304608d9c1754de300000000a8ed32320000000080ab26a701000000010002c9c679952fe122a7a2982e104bb4ced99e165226acb76318f367c0dd992a0d55010000000000000000000000" }, "context_free": false, - "elapsed": 68, + "elapsed": 34, "console": "", - "trx_id": "48d2861d47d5207772d1a350247ac0e48de0d312fdf9b439271d36286b24ad7d", - "block_num": 102642195, - "block_time": "2023-10-12T02:26:47.500", + "trx_id": "1bb5eb1512772fc000706e8a2683aff397a5bc4ba9eaa3b4a95ad8ff527386c9", + "block_num": 126616070, + "block_time": "2024-02-28T00:32:03.500", "producer_block_id": null, "account_ram_deltas": [ { @@ -93,5 +93,5 @@ "error_code": null } }, - "text": "{\"transaction_id\":\"48d2861d47d5207772d1a350247ac0e48de0d312fdf9b439271d36286b24ad7d\",\"processed\":{\"id\":\"48d2861d47d5207772d1a350247ac0e48de0d312fdf9b439271d36286b24ad7d\",\"block_num\":102642195,\"block_time\":\"2023-10-12T02:26:47.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":220,\"net_usage_words\":19},\"elapsed\":220,\"net_usage\":152,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio\",\"act_digest\":\"5d8239b83dcdbae9a7a29f2a5ed47b183e597d7dd16a911270c5c1749230299f\",\"global_sequence\":135900873,\"recv_sequence\":102714603,\"auth_sequence\":[[\"wharfkit1133\",49]],\"code_sequence\":4,\"abi_sequence\":4},\"receiver\":\"eosio\",\"act\":{\"account\":\"eosio\",\"name\":\"updateauth\",\"authorization\":[{\"actor\":\"wharfkit1133\",\"permission\":\"active\"}],\"data\":{\"account\":\"wharfkit1133\",\"permission\":\"active\",\"parent\":\"owner\",\"auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"authorized_by\":\"\"},\"hex_data\":\"304608d9c1754de300000000a8ed32320000000080ab26a701000000010002c9c679952fe122a7a2982e104bb4ced99e165226acb76318f367c0dd992a0d55010000000000000000000000\"},\"context_free\":false,\"elapsed\":68,\"console\":\"\",\"trx_id\":\"48d2861d47d5207772d1a350247ac0e48de0d312fdf9b439271d36286b24ad7d\",\"block_num\":102642195,\"block_time\":\"2023-10-12T02:26:47.500\",\"producer_block_id\":null,\"account_ram_deltas\":[{\"account\":\"wharfkit1133\",\"delta\":0}],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" + "text": "{\"transaction_id\":\"1bb5eb1512772fc000706e8a2683aff397a5bc4ba9eaa3b4a95ad8ff527386c9\",\"processed\":{\"id\":\"1bb5eb1512772fc000706e8a2683aff397a5bc4ba9eaa3b4a95ad8ff527386c9\",\"block_num\":126616070,\"block_time\":\"2024-02-28T00:32:03.500\",\"producer_block_id\":null,\"receipt\":{\"status\":\"executed\",\"cpu_usage_us\":139,\"net_usage_words\":19},\"elapsed\":139,\"net_usage\":152,\"scheduled\":false,\"action_traces\":[{\"action_ordinal\":1,\"creator_action_ordinal\":0,\"closest_unnotified_ancestor_action_ordinal\":0,\"receipt\":{\"receiver\":\"eosio\",\"act_digest\":\"5d8239b83dcdbae9a7a29f2a5ed47b183e597d7dd16a911270c5c1749230299f\",\"global_sequence\":183320579,\"recv_sequence\":126723179,\"auth_sequence\":[[\"wharfkit1133\",243]],\"code_sequence\":7,\"abi_sequence\":7},\"receiver\":\"eosio\",\"act\":{\"account\":\"eosio\",\"name\":\"updateauth\",\"authorization\":[{\"actor\":\"wharfkit1133\",\"permission\":\"active\"}],\"data\":{\"account\":\"wharfkit1133\",\"permission\":\"active\",\"parent\":\"owner\",\"auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"authorized_by\":\"\"},\"hex_data\":\"304608d9c1754de300000000a8ed32320000000080ab26a701000000010002c9c679952fe122a7a2982e104bb4ced99e165226acb76318f367c0dd992a0d55010000000000000000000000\"},\"context_free\":false,\"elapsed\":34,\"console\":\"\",\"trx_id\":\"1bb5eb1512772fc000706e8a2683aff397a5bc4ba9eaa3b4a95ad8ff527386c9\",\"block_num\":126616070,\"block_time\":\"2024-02-28T00:32:03.500\",\"producer_block_id\":null,\"account_ram_deltas\":[{\"account\":\"wharfkit1133\",\"delta\":0}],\"except\":null,\"error_code\":null,\"return_value_hex_data\":\"\"}],\"account_ram_delta\":null,\"except\":null,\"error_code\":null}}" } \ No newline at end of file diff --git a/test/data/55af4bbf54779cc94867d7eb559e69cb0cd62238.json b/test/data/55af4bbf54779cc94867d7eb559e69cb0cd62238.json index 9c0fc9c..6195ca1 100644 --- a/test/data/55af4bbf54779cc94867d7eb559e69cb0cd62238.json +++ b/test/data/55af4bbf54779cc94867d7eb559e69cb0cd62238.json @@ -6,23 +6,23 @@ "body": "{\"account_name\":\"nonexistent\"}" } }, - "status": 500, + "status": 400, "json": { - "code": 500, - "message": "Internal Service Error", + "code": 400, + "message": "Account lookup", "error": { - "code": 0, - "name": "exception", - "what": "unspecified", + "code": 3060002, + "name": "account_query_exception", + "what": "Account Query Exception", "details": [ { - "message": "unknown key (boost::tuples::tuple): (0 nonexistent)", - "file": "http_plugin.cpp", - "line_number": 954, - "method": "handle_exception" + "message": "unable to retrieve account info (unknown key (boost::tuples::tuple): (0 nonexistent))", + "file": "chain_plugin.cpp", + "line_number": 2538, + "method": "get_account" } ] } }, - "text": "{\"code\":500,\"message\":\"Internal Service Error\",\"error\":{\"code\":0,\"name\":\"exception\",\"what\":\"unspecified\",\"details\":[{\"message\":\"unknown key (boost::tuples::tuple): (0 nonexistent)\",\"file\":\"http_plugin.cpp\",\"line_number\":954,\"method\":\"handle_exception\"}]}}" + "text": "{\"code\":400,\"message\":\"Account lookup\",\"error\":{\"code\":3060002,\"name\":\"account_query_exception\",\"what\":\"Account Query Exception\",\"details\":[{\"message\":\"unable to retrieve account info (unknown key (boost::tuples::tuple): (0 nonexistent))\",\"file\":\"chain_plugin.cpp\",\"line_number\":2538,\"method\":\"get_account\"}]}}" } \ No newline at end of file diff --git a/test/data/600d407d0997a4756acbc477220ba0de7064a8b5.json b/test/data/600d407d0997a4756acbc477220ba0de7064a8b5.json deleted file mode 100644 index f51deb5..0000000 --- a/test/data/600d407d0997a4756acbc477220ba0de7064a8b5.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/chain/get_currency_balance", - "params": { - "method": "POST", - "body": "{\"account\":\"wharfkit1133\",\"code\":\"eosio.token\",\"symbol\":\"EOS\"}" - } - }, - "status": 200, - "json": [ - "5.0000 EOS" - ], - "text": "[\"5.0000 EOS\"]" -} \ No newline at end of file diff --git a/test/data/641e5bfbeee9679a87c18073de5a96be7fe56ebe.json b/test/data/641e5bfbeee9679a87c18073de5a96be7fe56ebe.json index 8c3e03c..6803b2d 100644 --- a/test/data/641e5bfbeee9679a87c18073de5a96be7fe56ebe.json +++ b/test/data/641e5bfbeee9679a87c18073de5a96be7fe56ebe.json @@ -9,24 +9,28 @@ "status": 200, "json": { "account_name": "teamgreymass", - "head_block_num": 102642195, - "head_block_time": "2023-10-12T02:26:47.500", + "head_block_num": 126616070, + "head_block_time": "2024-02-28T00:32:03.500", "privileged": false, "last_code_update": "1970-01-01T00:00:00.000", "created": "2022-03-09T18:59:11.000", - "core_liquid_balance": "14.7836 EOS", + "core_liquid_balance": "21.9164 EOS", "ram_quota": 5495, "net_weight": 10000, "cpu_weight": 10000, "net_limit": { "used": 0, "available": 15416, - "max": 15416 + "max": 15416, + "last_usage_update_time": "2022-03-09T18:59:11.000", + "current_used": 0 }, "cpu_limit": { "used": 0, "available": 2865, - "max": 2865 + "max": 2865, + "last_usage_update_time": "2022-03-09T18:59:11.000", + "current_used": 0 }, "ram_usage": 3446, "permissions": [ @@ -92,9 +96,11 @@ "subjective_cpu_bill_limit": { "used": 0, "available": 0, - "max": 0 + "max": 0, + "last_usage_update_time": "2000-01-01T00:00:00.000", + "current_used": 0 }, "eosio_any_linked_actions": [] }, - "text": "{\"account_name\":\"teamgreymass\",\"head_block_num\":102642195,\"head_block_time\":\"2023-10-12T02:26:47.500\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2022-03-09T18:59:11.000\",\"core_liquid_balance\":\"14.7836 EOS\",\"ram_quota\":5495,\"net_weight\":10000,\"cpu_weight\":10000,\"net_limit\":{\"used\":0,\"available\":15416,\"max\":15416},\"cpu_limit\":{\"used\":0,\"available\":2865,\"max\":2865},\"ram_usage\":3446,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5w2WYgoiFT41Ad3Ax1ZkD47D4qriGaRXRsXmkFuC1hKwjbrXe3\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5w2WYgoiFT41Ad3Ax1ZkD47D4qriGaRXRsXmkFuC1hKwjbrXe3\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]}],\"total_resources\":{\"owner\":\"teamgreymass\",\"net_weight\":\"1.0000 EOS\",\"cpu_weight\":\"1.0000 EOS\",\"ram_bytes\":4095},\"self_delegated_bandwidth\":{\"from\":\"teamgreymass\",\"to\":\"teamgreymass\",\"net_weight\":\"1.0000 EOS\",\"cpu_weight\":\"1.0000 EOS\"},\"refund_request\":null,\"voter_info\":{\"owner\":\"teamgreymass\",\"proxy\":\"\",\"producers\":[],\"staked\":20000,\"last_vote_weight\":\"0.00000000000000000\",\"proxied_vote_weight\":\"0.00000000000000000\",\"is_proxy\":0,\"flags1\":0,\"reserved2\":0,\"reserved3\":\"0 \"},\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0},\"eosio_any_linked_actions\":[]}" + "text": "{\"account_name\":\"teamgreymass\",\"head_block_num\":126616070,\"head_block_time\":\"2024-02-28T00:32:03.500\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2022-03-09T18:59:11.000\",\"core_liquid_balance\":\"21.9164 EOS\",\"ram_quota\":5495,\"net_weight\":10000,\"cpu_weight\":10000,\"net_limit\":{\"used\":0,\"available\":15416,\"max\":15416,\"last_usage_update_time\":\"2022-03-09T18:59:11.000\",\"current_used\":0},\"cpu_limit\":{\"used\":0,\"available\":2865,\"max\":2865,\"last_usage_update_time\":\"2022-03-09T18:59:11.000\",\"current_used\":0},\"ram_usage\":3446,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5w2WYgoiFT41Ad3Ax1ZkD47D4qriGaRXRsXmkFuC1hKwjbrXe3\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5w2WYgoiFT41Ad3Ax1ZkD47D4qriGaRXRsXmkFuC1hKwjbrXe3\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]}],\"total_resources\":{\"owner\":\"teamgreymass\",\"net_weight\":\"1.0000 EOS\",\"cpu_weight\":\"1.0000 EOS\",\"ram_bytes\":4095},\"self_delegated_bandwidth\":{\"from\":\"teamgreymass\",\"to\":\"teamgreymass\",\"net_weight\":\"1.0000 EOS\",\"cpu_weight\":\"1.0000 EOS\"},\"refund_request\":null,\"voter_info\":{\"owner\":\"teamgreymass\",\"proxy\":\"\",\"producers\":[],\"staked\":20000,\"last_vote_weight\":\"0.00000000000000000\",\"proxied_vote_weight\":\"0.00000000000000000\",\"is_proxy\":0,\"flags1\":0,\"reserved2\":0,\"reserved3\":\"0 \"},\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" } \ No newline at end of file diff --git a/test/data/789d7d35b2defaefba811b35b2d09c2a5a7b6d67.json b/test/data/789d7d35b2defaefba811b35b2d09c2a5a7b6d67.json deleted file mode 100644 index 84bd84b..0000000 --- a/test/data/789d7d35b2defaefba811b35b2d09c2a5a7b6d67.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/chain/get_currency_balance", - "params": { - "method": "POST", - "body": "{\"account\":\"wharfkit1133\",\"code\":\"eosio.token\"}" - } - }, - "status": 200, - "json": [ - "5.0000 EOS" - ], - "text": "[\"5.0000 EOS\"]" -} \ No newline at end of file diff --git a/test/data/7bb57e23b35a734db0875477bf749505aa9a3c0a.json b/test/data/7bb57e23b35a734db0875477bf749505aa9a3c0a.json index 4a76e87..71db490 100644 --- a/test/data/7bb57e23b35a734db0875477bf749505aa9a3c0a.json +++ b/test/data/7bb57e23b35a734db0875477bf749505aa9a3c0a.json @@ -9,26 +9,30 @@ "status": 200, "json": { "account_name": "wharfkit1111", - "head_block_num": 102935351, - "head_block_time": "2023-10-13T19:12:47.500", + "head_block_num": 126616072, + "head_block_time": "2024-02-28T00:32:04.500", "privileged": false, "last_code_update": "1970-01-01T00:00:00.000", "created": "2022-12-07T01:11:58.500", - "core_liquid_balance": "996.6224 EOS", + "core_liquid_balance": "989.9213 EOS", "ram_quota": 13477, "net_weight": 1010000, - "cpu_weight": 5010000, + "cpu_weight": 500010000, "net_limit": { - "used": 1607, - "available": 1555501, - "max": 1557108 + "used": 304, + "available": 1556802, + "max": 1557106, + "last_usage_update_time": "2024-02-20T04:04:41.000", + "current_used": 0 }, "cpu_limit": { - "used": 1876, - "available": 1433668, - "max": 1435544 + "used": 265, + "available": 143262584, + "max": 143262849, + "last_usage_update_time": "2024-02-20T04:04:41.000", + "current_used": 0 }, - "ram_usage": 3606, + "ram_usage": 3750, "permissions": [ { "perm_name": "active", @@ -80,6 +84,10 @@ { "account": "eosio.token", "action": "transfer" + }, + { + "account": "todoapp12345", + "action": "add" } ] } @@ -87,7 +95,7 @@ "total_resources": { "owner": "wharfkit1111", "net_weight": "101.0000 EOS", - "cpu_weight": "501.0000 EOS", + "cpu_weight": "50001.0000 EOS", "ram_bytes": 12077 }, "self_delegated_bandwidth": null, @@ -97,9 +105,11 @@ "subjective_cpu_bill_limit": { "used": 0, "available": 0, - "max": 0 + "max": 0, + "last_usage_update_time": "2000-01-01T00:00:00.000", + "current_used": 0 }, "eosio_any_linked_actions": [] }, - "text": "{\"account_name\":\"wharfkit1111\",\"head_block_num\":102935351,\"head_block_time\":\"2023-10-13T19:12:47.500\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2022-12-07T01:11:58.500\",\"core_liquid_balance\":\"996.6224 EOS\",\"ram_quota\":13477,\"net_weight\":1010000,\"cpu_weight\":5010000,\"net_limit\":{\"used\":1607,\"available\":1555501,\"max\":1557108},\"cpu_limit\":{\"used\":1876,\"available\":1433668,\"max\":1435544},\"ram_usage\":3606,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"test\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.token\",\"action\":\"transfer\"}]}],\"total_resources\":{\"owner\":\"wharfkit1111\",\"net_weight\":\"101.0000 EOS\",\"cpu_weight\":\"501.0000 EOS\",\"ram_bytes\":12077},\"self_delegated_bandwidth\":null,\"refund_request\":null,\"voter_info\":null,\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0},\"eosio_any_linked_actions\":[]}" + "text": "{\"account_name\":\"wharfkit1111\",\"head_block_num\":126616072,\"head_block_time\":\"2024-02-28T00:32:04.500\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2022-12-07T01:11:58.500\",\"core_liquid_balance\":\"989.9213 EOS\",\"ram_quota\":13477,\"net_weight\":1010000,\"cpu_weight\":500010000,\"net_limit\":{\"used\":304,\"available\":1556802,\"max\":1557106,\"last_usage_update_time\":\"2024-02-20T04:04:41.000\",\"current_used\":0},\"cpu_limit\":{\"used\":265,\"available\":143262584,\"max\":143262849,\"last_usage_update_time\":\"2024-02-20T04:04:41.000\",\"current_used\":0},\"ram_usage\":3750,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"test\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.token\",\"action\":\"transfer\"},{\"account\":\"todoapp12345\",\"action\":\"add\"}]}],\"total_resources\":{\"owner\":\"wharfkit1111\",\"net_weight\":\"101.0000 EOS\",\"cpu_weight\":\"50001.0000 EOS\",\"ram_bytes\":12077},\"self_delegated_bandwidth\":null,\"refund_request\":null,\"voter_info\":null,\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" } \ No newline at end of file diff --git a/test/data/8982bb3c2b325ba2365896eb649c1614f30ae941.json b/test/data/8982bb3c2b325ba2365896eb649c1614f30ae941.json index 6a6ce90..8c92e28 100644 --- a/test/data/8982bb3c2b325ba2365896eb649c1614f30ae941.json +++ b/test/data/8982bb3c2b325ba2365896eb649c1614f30ae941.json @@ -9,28 +9,28 @@ "status": 200, "json": { "account_name": "teamgreymass", - "head_block_num": 304235653, - "head_block_time": "2023-10-12T02:26:48.000", + "head_block_num": 328225123, + "head_block_time": "2024-02-28T00:32:04.000", "privileged": false, "last_code_update": "1970-01-01T00:00:00.000", "created": "2018-12-12T17:46:49.000", - "core_liquid_balance": "215249.7163 TLOS", + "core_liquid_balance": "341790.3479 TLOS", "ram_quota": 16716, "net_weight": 10000, "cpu_weight": 1000000, "net_limit": { - "used": 702, - "available": 39941998, - "max": 39942700, - "last_usage_update_time": "2023-10-11T22:27:30.500", - "current_used": 585 + "used": 532, + "available": 41118596, + "max": 41119128, + "last_usage_update_time": "2024-02-28T00:31:04.000", + "current_used": 532 }, "cpu_limit": { - "used": 1611, - "available": 642219931, - "max": 642221542, - "last_usage_update_time": "2023-10-11T22:27:30.500", - "current_used": 1343 + "used": 1404, + "available": 649135302, + "max": 649136706, + "last_usage_update_time": "2024-02-28T00:31:04.000", + "current_used": 1403 }, "ram_usage": 8366, "permissions": [ @@ -157,5 +157,5 @@ }, "eosio_any_linked_actions": [] }, - "text": "{\"account_name\":\"teamgreymass\",\"head_block_num\":304235653,\"head_block_time\":\"2023-10-12T02:26:48.000\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2018-12-12T17:46:49.000\",\"core_liquid_balance\":\"215249.7163 TLOS\",\"ram_quota\":16716,\"net_weight\":10000,\"cpu_weight\":1000000,\"net_limit\":{\"used\":702,\"available\":39941998,\"max\":39942700,\"last_usage_update_time\":\"2023-10-11T22:27:30.500\",\"current_used\":585},\"cpu_limit\":{\"used\":1611,\"available\":642219931,\"max\":642221542,\"last_usage_update_time\":\"2023-10-11T22:27:30.500\",\"current_used\":1343},\"ram_usage\":8366,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6gqJ7sdPgjHLFLtks9cRPs5qYHa9U3CwK4P2JasTLWKQ9kXZK1\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"claim\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6DLD9HxMcwn73U41jjdGsNe9vDFRKB26um6qTAqrtYcJFtED4C\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"claimrewards\"}]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS8QzGtCea2thiqcTVeXGdyRZpdKYptQznbcWSMj73FD5RgwKN82\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"producerjson\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5JCEciUdfXnQmTyj85T98bXTAZZ1g7Nmajseu7ZWB8DrDa6Etp\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"producerjson\",\"action\":\"set\"}]}],\"total_resources\":{\"owner\":\"teamgreymass\",\"net_weight\":\"1.0000 TLOS\",\"cpu_weight\":\"100.0000 TLOS\",\"ram_bytes\":15316},\"self_delegated_bandwidth\":{\"from\":\"teamgreymass\",\"to\":\"teamgreymass\",\"net_weight\":\"1.0000 TLOS\",\"cpu_weight\":\"100.0000 TLOS\"},\"refund_request\":null,\"voter_info\":{\"owner\":\"teamgreymass\",\"proxy\":\"\",\"producers\":[],\"staked\":\"6682315286\",\"last_stake\":0,\"last_vote_weight\":\"0.00000000000000000\",\"proxied_vote_weight\":\"0.00000000000000000\",\"is_proxy\":0,\"flags1\":0,\"reserved2\":0,\"reserved3\":\"0 \"},\"rex_info\":{\"version\":0,\"owner\":\"teamgreymass\",\"vote_stake\":\"568130.5286 TLOS\",\"rex_balance\":\"3326896774.2846 REX\",\"matured_rex\":\"28424569078808\",\"rex_maturities\":[{\"first\":\"2023-02-22T00:00:00\",\"second\":\"4844398664038\"}]},\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" + "text": "{\"account_name\":\"teamgreymass\",\"head_block_num\":328225123,\"head_block_time\":\"2024-02-28T00:32:04.000\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2018-12-12T17:46:49.000\",\"core_liquid_balance\":\"341790.3479 TLOS\",\"ram_quota\":16716,\"net_weight\":10000,\"cpu_weight\":1000000,\"net_limit\":{\"used\":532,\"available\":41118596,\"max\":41119128,\"last_usage_update_time\":\"2024-02-28T00:31:04.000\",\"current_used\":532},\"cpu_limit\":{\"used\":1404,\"available\":649135302,\"max\":649136706,\"last_usage_update_time\":\"2024-02-28T00:31:04.000\",\"current_used\":1403},\"ram_usage\":8366,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6gqJ7sdPgjHLFLtks9cRPs5qYHa9U3CwK4P2JasTLWKQ9kXZK1\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"claim\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6DLD9HxMcwn73U41jjdGsNe9vDFRKB26um6qTAqrtYcJFtED4C\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"claimrewards\"}]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS8QzGtCea2thiqcTVeXGdyRZpdKYptQznbcWSMj73FD5RgwKN82\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"producerjson\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5JCEciUdfXnQmTyj85T98bXTAZZ1g7Nmajseu7ZWB8DrDa6Etp\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"producerjson\",\"action\":\"set\"}]}],\"total_resources\":{\"owner\":\"teamgreymass\",\"net_weight\":\"1.0000 TLOS\",\"cpu_weight\":\"100.0000 TLOS\",\"ram_bytes\":15316},\"self_delegated_bandwidth\":{\"from\":\"teamgreymass\",\"to\":\"teamgreymass\",\"net_weight\":\"1.0000 TLOS\",\"cpu_weight\":\"100.0000 TLOS\"},\"refund_request\":null,\"voter_info\":{\"owner\":\"teamgreymass\",\"proxy\":\"\",\"producers\":[],\"staked\":\"6682315286\",\"last_stake\":0,\"last_vote_weight\":\"0.00000000000000000\",\"proxied_vote_weight\":\"0.00000000000000000\",\"is_proxy\":0,\"flags1\":0,\"reserved2\":0,\"reserved3\":\"0 \"},\"rex_info\":{\"version\":0,\"owner\":\"teamgreymass\",\"vote_stake\":\"568130.5286 TLOS\",\"rex_balance\":\"3326896774.2846 REX\",\"matured_rex\":\"28424569078808\",\"rex_maturities\":[{\"first\":\"2023-02-22T00:00:00\",\"second\":\"4844398664038\"}]},\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" } \ No newline at end of file diff --git a/test/data/a91ac04b00106a44611383931aef281f37cd304e.json b/test/data/a91ac04b00106a44611383931aef281f37cd304e.json index 33a7fb5..1956238 100644 --- a/test/data/a91ac04b00106a44611383931aef281f37cd304e.json +++ b/test/data/a91ac04b00106a44611383931aef281f37cd304e.json @@ -7,26 +7,26 @@ }, "status": 200, "json": { - "server_version": "905c5cc9", + "server_version": "04774eb7", "chain_id": "73e4385a2708e6d7048834fbc1079f2fabb17b3c125b146af438971e90716c4d", - "head_block_num": 102642193, - "last_irreversible_block_num": 102641859, - "last_irreversible_block_id": "061e30c3aa56b2e82e45e62d338ca1d08925daf74900f991138ee783325d4808", - "head_block_id": "061e3211212d3ac59bb5bfb542324ad3f2f2bef58f81e44307f930cd7335026b", - "head_block_time": "2023-10-12T02:26:46.500", - "head_block_producer": "eosnationftw", + "head_block_num": 126616068, + "last_irreversible_block_num": 126615738, + "last_irreversible_block_id": "078c00ba37ffa4a25c510eed67301e6550b157249107e2a3ab4cbd00f80a4c30", + "head_block_id": "078c020409487073ffaa27e4748cf2cb5af345d6982f9815ab60307dac4e4764", + "head_block_time": "2024-02-28T00:32:02.500", + "head_block_producer": "aus1genereos", "virtual_block_cpu_limit": 200000000, "virtual_block_net_limit": 1048576000, "block_cpu_limit": 200000, "block_net_limit": 1048576, - "server_version_string": "v3.1.3", - "fork_db_head_block_num": 102642193, - "fork_db_head_block_id": "061e3211212d3ac59bb5bfb542324ad3f2f2bef58f81e44307f930cd7335026b", - "server_full_version_string": "v3.1.3-905c5cc900b4e88aed4ab6912009127bf9f4f140", - "total_cpu_weight": "120613149533319", - "total_net_weight": "117529288069341", - "earliest_available_block_num": 102456122, - "last_irreversible_block_time": "2023-10-12T02:23:59.500" + "server_version_string": "v5.0.0", + "fork_db_head_block_num": 126616068, + "fork_db_head_block_id": "078c020409487073ffaa27e4748cf2cb5af345d6982f9815ab60307dac4e4764", + "server_full_version_string": "v5.0.0-04774eb7726ae95a6cb795b493fcf0f25021bc5f", + "total_cpu_weight": "120619864969846", + "total_net_weight": "117529464370008", + "earliest_available_block_num": 126430124, + "last_irreversible_block_time": "2024-02-28T00:29:17.500" }, - "text": "{\"server_version\":\"905c5cc9\",\"chain_id\":\"73e4385a2708e6d7048834fbc1079f2fabb17b3c125b146af438971e90716c4d\",\"head_block_num\":102642193,\"last_irreversible_block_num\":102641859,\"last_irreversible_block_id\":\"061e30c3aa56b2e82e45e62d338ca1d08925daf74900f991138ee783325d4808\",\"head_block_id\":\"061e3211212d3ac59bb5bfb542324ad3f2f2bef58f81e44307f930cd7335026b\",\"head_block_time\":\"2023-10-12T02:26:46.500\",\"head_block_producer\":\"eosnationftw\",\"virtual_block_cpu_limit\":200000000,\"virtual_block_net_limit\":1048576000,\"block_cpu_limit\":200000,\"block_net_limit\":1048576,\"server_version_string\":\"v3.1.3\",\"fork_db_head_block_num\":102642193,\"fork_db_head_block_id\":\"061e3211212d3ac59bb5bfb542324ad3f2f2bef58f81e44307f930cd7335026b\",\"server_full_version_string\":\"v3.1.3-905c5cc900b4e88aed4ab6912009127bf9f4f140\",\"total_cpu_weight\":\"120613149533319\",\"total_net_weight\":\"117529288069341\",\"earliest_available_block_num\":102456122,\"last_irreversible_block_time\":\"2023-10-12T02:23:59.500\"}" + "text": "{\"server_version\":\"04774eb7\",\"chain_id\":\"73e4385a2708e6d7048834fbc1079f2fabb17b3c125b146af438971e90716c4d\",\"head_block_num\":126616068,\"last_irreversible_block_num\":126615738,\"last_irreversible_block_id\":\"078c00ba37ffa4a25c510eed67301e6550b157249107e2a3ab4cbd00f80a4c30\",\"head_block_id\":\"078c020409487073ffaa27e4748cf2cb5af345d6982f9815ab60307dac4e4764\",\"head_block_time\":\"2024-02-28T00:32:02.500\",\"head_block_producer\":\"aus1genereos\",\"virtual_block_cpu_limit\":200000000,\"virtual_block_net_limit\":1048576000,\"block_cpu_limit\":200000,\"block_net_limit\":1048576,\"server_version_string\":\"v5.0.0\",\"fork_db_head_block_num\":126616068,\"fork_db_head_block_id\":\"078c020409487073ffaa27e4748cf2cb5af345d6982f9815ab60307dac4e4764\",\"server_full_version_string\":\"v5.0.0-04774eb7726ae95a6cb795b493fcf0f25021bc5f\",\"total_cpu_weight\":\"120619864969846\",\"total_net_weight\":\"117529464370008\",\"earliest_available_block_num\":126430124,\"last_irreversible_block_time\":\"2024-02-28T00:29:17.500\"}" } \ No newline at end of file diff --git a/test/data/aaa72e8c80195f8444c725e12d56dd32bd74fc6e.json b/test/data/aaa72e8c80195f8444c725e12d56dd32bd74fc6e.json index d2146d0..e59ca16 100644 --- a/test/data/aaa72e8c80195f8444c725e12d56dd32bd74fc6e.json +++ b/test/data/aaa72e8c80195f8444c725e12d56dd32bd74fc6e.json @@ -9,26 +9,30 @@ "status": 200, "json": { "account_name": "wharfkit1133", - "head_block_num": 102642193, - "head_block_time": "2023-10-12T02:26:46.500", + "head_block_num": 126616068, + "head_block_time": "2024-02-28T00:32:02.500", "privileged": false, "last_code_update": "1970-01-01T00:00:00.000", "created": "2023-09-02T23:23:15.000", - "core_liquid_balance": "5.0000 EOS", - "ram_quota": 13479, + "core_liquid_balance": "9.2018 EOS", + "ram_quota": 26493, "net_weight": 1010000, "cpu_weight": 1010000, "net_limit": { - "used": 1136, - "available": 1555972, - "max": 1557108 + "used": 1806, + "available": 1555300, + "max": 1557106, + "last_usage_update_time": "2024-01-13T01:00:24.000", + "current_used": 0 }, "cpu_limit": { - "used": 1170, - "available": 288231, - "max": 289401 + "used": 5333, + "available": 284052, + "max": 289385, + "last_usage_update_time": "2024-01-13T01:00:24.000", + "current_used": 0 }, - "ram_usage": 3816, + "ram_usage": 3944, "permissions": [ { "perm_name": "active", @@ -104,7 +108,7 @@ "owner": "wharfkit1133", "net_weight": "101.0000 EOS", "cpu_weight": "101.0000 EOS", - "ram_bytes": 12079 + "ram_bytes": 25093 }, "self_delegated_bandwidth": null, "refund_request": null, @@ -113,9 +117,11 @@ "subjective_cpu_bill_limit": { "used": 0, "available": 0, - "max": 0 + "max": 0, + "last_usage_update_time": "2000-01-01T00:00:00.000", + "current_used": 0 }, "eosio_any_linked_actions": [] }, - "text": "{\"account_name\":\"wharfkit1133\",\"head_block_num\":102642193,\"head_block_time\":\"2023-10-12T02:26:46.500\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2023-09-02T23:23:15.000\",\"core_liquid_balance\":\"5.0000 EOS\",\"ram_quota\":13479,\"net_weight\":1010000,\"cpu_weight\":1010000,\"net_limit\":{\"used\":1136,\"available\":1555972,\"max\":1557108},\"cpu_limit\":{\"used\":1170,\"available\":288231,\"max\":289401},\"ram_usage\":3816,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"test\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.token\",\"action\":\"transfer\"}]},{\"perm_name\":\"unittest\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]}],\"total_resources\":{\"owner\":\"wharfkit1133\",\"net_weight\":\"101.0000 EOS\",\"cpu_weight\":\"101.0000 EOS\",\"ram_bytes\":12079},\"self_delegated_bandwidth\":null,\"refund_request\":null,\"voter_info\":null,\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0},\"eosio_any_linked_actions\":[]}" + "text": "{\"account_name\":\"wharfkit1133\",\"head_block_num\":126616068,\"head_block_time\":\"2024-02-28T00:32:02.500\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2023-09-02T23:23:15.000\",\"core_liquid_balance\":\"9.2018 EOS\",\"ram_quota\":26493,\"net_weight\":1010000,\"cpu_weight\":1010000,\"net_limit\":{\"used\":1806,\"available\":1555300,\"max\":1557106,\"last_usage_update_time\":\"2024-01-13T01:00:24.000\",\"current_used\":0},\"cpu_limit\":{\"used\":5333,\"available\":284052,\"max\":289385,\"last_usage_update_time\":\"2024-01-13T01:00:24.000\",\"current_used\":0},\"ram_usage\":3944,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6XXTaRpWhPwnb7CTV9zVsCBrvCpYMMPSk8E8hsJxhf6VFW9DYN\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"test\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6RMS3nvoN9StPzZizve6WdovaDkE5KkEcCDXW7LbepyAioMiK6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.token\",\"action\":\"transfer\"}]},{\"perm_name\":\"unittest\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]}],\"total_resources\":{\"owner\":\"wharfkit1133\",\"net_weight\":\"101.0000 EOS\",\"cpu_weight\":\"101.0000 EOS\",\"ram_bytes\":25093},\"self_delegated_bandwidth\":null,\"refund_request\":null,\"voter_info\":null,\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" } \ No newline at end of file diff --git a/test/data/d1798039abbae9504b0188c5e3e560ef39516d35.json b/test/data/d1798039abbae9504b0188c5e3e560ef39516d35.json deleted file mode 100644 index feb3e2a..0000000 --- a/test/data/d1798039abbae9504b0188c5e3e560ef39516d35.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/chain/get_currency_balance", - "params": { - "method": "POST", - "body": "{\"account\":\"wharfkit1133\",\"code\":\"nonexist\"}" - } - }, - "status": 500, - "json": { - "code": 500, - "message": "Internal Service Error", - "error": { - "code": 3060002, - "name": "account_query_exception", - "what": "Account Query Exception", - "details": [ - { - "message": "Fail to retrieve account for nonexist", - "file": "chain_plugin.cpp", - "line_number": 1662, - "method": "get_abi" - } - ] - } - }, - "text": "{\"code\":500,\"message\":\"Internal Service Error\",\"error\":{\"code\":3060002,\"name\":\"account_query_exception\",\"what\":\"Account Query Exception\",\"details\":[{\"message\":\"Fail to retrieve account for nonexist\",\"file\":\"chain_plugin.cpp\",\"line_number\":1662,\"method\":\"get_abi\"}]}}" -} \ No newline at end of file diff --git a/test/data/da83ac770054f059d7760fffe891cefc01452f08.json b/test/data/da83ac770054f059d7760fffe891cefc01452f08.json index acd92f4..f4a0414 100644 --- a/test/data/da83ac770054f059d7760fffe891cefc01452f08.json +++ b/test/data/da83ac770054f059d7760fffe891cefc01452f08.json @@ -9,10 +9,10 @@ "status": 200, "json": { "rows": [ - "50c300000000000004454f5300000000" + "726701000000000004454f5300000000" ], - "more": false, - "next_key": "" + "more": true, + "next_key": "76193916147018" }, - "text": "{\"rows\":[\"50c300000000000004454f5300000000\"],\"more\":false,\"next_key\":\"\"}" + "text": "{\"rows\":[\"726701000000000004454f5300000000\"],\"more\":true,\"next_key\":\"76193916147018\"}" } \ No newline at end of file diff --git a/test/data/dc4a3cfc5c9b4e4b867430a4c7c5d78116b1f66d.json b/test/data/dc4a3cfc5c9b4e4b867430a4c7c5d78116b1f66d.json index 46ecc9b..c19ecf0 100644 --- a/test/data/dc4a3cfc5c9b4e4b867430a4c7c5d78116b1f66d.json +++ b/test/data/dc4a3cfc5c9b4e4b867430a4c7c5d78116b1f66d.json @@ -9,10 +9,10 @@ "status": 200, "json": { "rows": [ - "50c300000000000004454f5300000000" + "726701000000000004454f5300000000" ], - "more": false, - "next_key": "" + "more": true, + "next_key": "76193916147018" }, - "text": "{\"rows\":[\"50c300000000000004454f5300000000\"],\"more\":false,\"next_key\":\"\"}" + "text": "{\"rows\":[\"726701000000000004454f5300000000\"],\"more\":true,\"next_key\":\"76193916147018\"}" } \ No newline at end of file diff --git a/test/data/ea99f667562175555c6f11cb723045a5bf8e0216.json b/test/data/ea99f667562175555c6f11cb723045a5bf8e0216.json deleted file mode 100644 index 7ad790d..0000000 --- a/test/data/ea99f667562175555c6f11cb723045a5bf8e0216.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "request": { - "path": "https://jungle4.greymass.com/v1/chain/get_currency_balance", - "params": { - "method": "POST", - "body": "{\"account\":\"wharfkit1133\",\"code\":\"eosio.token\",\"symbol\":\"nonexist\"}" - } - }, - "status": 200, - "json": [], - "text": "[]" -} \ No newline at end of file diff --git a/test/data/ef20dbcccffc6200cd24d5706914d7f0202a9a56.json b/test/data/ef20dbcccffc6200cd24d5706914d7f0202a9a56.json index db61072..0e5359a 100644 --- a/test/data/ef20dbcccffc6200cd24d5706914d7f0202a9a56.json +++ b/test/data/ef20dbcccffc6200cd24d5706914d7f0202a9a56.json @@ -9,28 +9,28 @@ "status": 200, "json": { "account_name": "teamgreymass", - "head_block_num": 271212797, - "head_block_time": "2023-10-12T02:26:48.000", + "head_block_num": 295215425, + "head_block_time": "2024-02-28T00:32:04.500", "privileged": false, "last_code_update": "1970-01-01T00:00:00.000", "created": "2019-07-12T05:18:07.000", - "core_liquid_balance": "2501227.12188168 WAX", - "ram_quota": 20957, + "core_liquid_balance": "2786894.85649746 WAX", + "ram_quota": 740973, "net_weight": "455096542392", - "cpu_weight": "555196542594", + "cpu_weight": "2555196542594", "net_limit": { - "used": 194859, - "available": 552625636, - "max": 552820495, - "last_usage_update_time": "2023-10-12T02:25:57.500", - "current_used": 194745 + "used": 262810, + "available": 570507339, + "max": 570770149, + "last_usage_update_time": "2024-02-28T00:31:33.500", + "current_used": 262716 }, "cpu_limit": { - "used": 444053, - "available": 970640, - "max": 1414693, - "last_usage_update_time": "2023-10-12T02:25:57.500", - "current_used": 443793 + "used": 699523, + "available": 1334194, + "max": 2033717, + "last_usage_update_time": "2024-02-28T00:31:33.500", + "current_used": 699272 }, "ram_usage": 12635, "permissions": [ @@ -212,14 +212,14 @@ "total_resources": { "owner": "teamgreymass", "net_weight": "4550.96542392 WAX", - "cpu_weight": "5551.96542594 WAX", - "ram_bytes": 19557 + "cpu_weight": "25551.96542594 WAX", + "ram_bytes": 739573 }, "self_delegated_bandwidth": { "from": "teamgreymass", "to": "teamgreymass", "net_weight": "4550.96542392 WAX", - "cpu_weight": "5551.96542594 WAX" + "cpu_weight": "25551.96542594 WAX" }, "refund_request": null, "voter_info": { @@ -257,12 +257,12 @@ "waxhiveguild", "waxswedenorg" ], - "staked": "9039133084986", + "staked": "54029093084986", "unpaid_voteshare": "0.00000000000000000", - "unpaid_voteshare_last_updated": "2023-10-11T17:50:28.000", - "unpaid_voteshare_change_rate": "84871176772458765566336581970335981633536.00000000000000000", - "last_claim_time": "2023-10-11T17:50:28.000", - "last_vote_weight": "84871176772458765566336581970335981633536.00000000000000000", + "unpaid_voteshare_last_updated": "2024-02-27T19:36:42.000", + "unpaid_voteshare_change_rate": "5023145082162604762150619062722348225396736.00000000000000000", + "last_claim_time": "2024-02-27T19:36:42.000", + "last_vote_weight": "5023145082162604762150619062722348225396736.00000000000000000", "proxied_vote_weight": "0.00000000000000000", "is_proxy": 0, "flags1": 0, @@ -279,5 +279,5 @@ }, "eosio_any_linked_actions": [] }, - "text": "{\"account_name\":\"teamgreymass\",\"head_block_num\":271212797,\"head_block_time\":\"2023-10-12T02:26:48.000\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2019-07-12T05:18:07.000\",\"core_liquid_balance\":\"2501227.12188168 WAX\",\"ram_quota\":20957,\"net_weight\":\"455096542392\",\"cpu_weight\":\"555196542594\",\"net_limit\":{\"used\":194859,\"available\":552625636,\"max\":552820495,\"last_usage_update_time\":\"2023-10-12T02:25:57.500\",\"current_used\":194745},\"cpu_limit\":{\"used\":444053,\"available\":970640,\"max\":1414693,\"last_usage_update_time\":\"2023-10-12T02:25:57.500\",\"current_used\":443793},\"ram_usage\":12635,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS8KmhygTrrvtW7zJd6HXWrNqA5WX9NzScZ37JyXRiwpiJN2g2rR\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"claim\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6DLD9HxMcwn73U41jjdGsNe9vDFRKB26um6qTAqrtYcJFtED4C\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"claimrewards\"},{\"account\":\"eosio\",\"action\":\"claimgenesis\"},{\"account\":\"eosio\",\"action\":\"claimgbmvote\"},{\"account\":\"eosio\",\"action\":\"claimgbmprod\"}]},{\"perm_name\":\"failover\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS8NKyWVSfbfmyU98y6AfvJ8QfwbtNKAgfnZ9BbWd3UvQzMHhJY6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"regproducer\"}]},{\"perm_name\":\"killswitch\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7CjC7GL71msPzAuAzd2WwiBEAzTcPL47ACrjSuiNmnnGGufYSn\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"unregprod\"}]},{\"perm_name\":\"oracle\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS88VqmDmJJ9S23eNqdeWYf2zySxv3ckQrWBKy7EvVRCUuhSU4f3\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"delphioracle\",\"action\":\"write\"}]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS76TP8M48sRBGdPmsKyy3qAMCYgBNswjaWaXGR4jkS5Hro16khr\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"producerjson\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5JCEciUdfXnQmTyj85T98bXTAZZ1g7Nmajseu7ZWB8DrDa6Etp\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"producerjson\",\"action\":\"set\"}]},{\"perm_name\":\"transfer\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6AkZZ5YZ6G5eCQGJBAPbkmouEaiSKFkdM289wEMKcf2rnx7mrb\",\"weight\":1},{\"key\":\"EOS6RWZ1CmDL4B6LdixuertnzxcRuUDac3NQspJEvMnebGcUwhvfX\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.token\",\"action\":\"transfer\"}]}],\"total_resources\":{\"owner\":\"teamgreymass\",\"net_weight\":\"4550.96542392 WAX\",\"cpu_weight\":\"5551.96542594 WAX\",\"ram_bytes\":19557},\"self_delegated_bandwidth\":{\"from\":\"teamgreymass\",\"to\":\"teamgreymass\",\"net_weight\":\"4550.96542392 WAX\",\"cpu_weight\":\"5551.96542594 WAX\"},\"refund_request\":null,\"voter_info\":{\"owner\":\"teamgreymass\",\"proxy\":\"\",\"producers\":[\"3dkrenderwax\",\"alohaeosprod\",\"amsterdamwax\",\"blacklusionx\",\"blokcrafters\",\"bountyblokbp\",\"bp.box\",\"bp.wecan\",\"cryptolions1\",\"dapplica\",\"eosauthority\",\"eosdacserver\",\"eosdublinwow\",\"eosiodetroit\",\"eosphereiobp\",\"eosriobrazil\",\"greeneosiobp\",\"guild.nefty\",\"hkeosguildhk\",\"ivote4waxusa\",\"ledgerwiseio\",\"liquidstudio\",\"nation.wax\",\"pink.gg\",\"sentnlagents\",\"teamgreymass\",\"tokengamerio\",\"wax.eastern\",\"waxhiveguild\",\"waxswedenorg\"],\"staked\":\"9039133084986\",\"unpaid_voteshare\":\"0.00000000000000000\",\"unpaid_voteshare_last_updated\":\"2023-10-11T17:50:28.000\",\"unpaid_voteshare_change_rate\":\"84871176772458765566336581970335981633536.00000000000000000\",\"last_claim_time\":\"2023-10-11T17:50:28.000\",\"last_vote_weight\":\"84871176772458765566336581970335981633536.00000000000000000\",\"proxied_vote_weight\":\"0.00000000000000000\",\"is_proxy\":0,\"flags1\":0,\"reserved2\":0,\"reserved3\":\"0 \"},\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" + "text": "{\"account_name\":\"teamgreymass\",\"head_block_num\":295215425,\"head_block_time\":\"2024-02-28T00:32:04.500\",\"privileged\":false,\"last_code_update\":\"1970-01-01T00:00:00.000\",\"created\":\"2019-07-12T05:18:07.000\",\"core_liquid_balance\":\"2786894.85649746 WAX\",\"ram_quota\":740973,\"net_weight\":\"455096542392\",\"cpu_weight\":\"2555196542594\",\"net_limit\":{\"used\":262810,\"available\":570507339,\"max\":570770149,\"last_usage_update_time\":\"2024-02-28T00:31:33.500\",\"current_used\":262716},\"cpu_limit\":{\"used\":699523,\"available\":1334194,\"max\":2033717,\"last_usage_update_time\":\"2024-02-28T00:31:33.500\",\"current_used\":699272},\"ram_usage\":12635,\"permissions\":[{\"perm_name\":\"active\",\"parent\":\"owner\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS8KmhygTrrvtW7zJd6HXWrNqA5WX9NzScZ37JyXRiwpiJN2g2rR\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"claim\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6DLD9HxMcwn73U41jjdGsNe9vDFRKB26um6qTAqrtYcJFtED4C\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"claimrewards\"},{\"account\":\"eosio\",\"action\":\"claimgenesis\"},{\"account\":\"eosio\",\"action\":\"claimgbmvote\"},{\"account\":\"eosio\",\"action\":\"claimgbmprod\"}]},{\"perm_name\":\"failover\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS8NKyWVSfbfmyU98y6AfvJ8QfwbtNKAgfnZ9BbWd3UvQzMHhJY6\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"regproducer\"}]},{\"perm_name\":\"killswitch\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS7CjC7GL71msPzAuAzd2WwiBEAzTcPL47ACrjSuiNmnnGGufYSn\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio\",\"action\":\"unregprod\"}]},{\"perm_name\":\"oracle\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS88VqmDmJJ9S23eNqdeWYf2zySxv3ckQrWBKy7EvVRCUuhSU4f3\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"delphioracle\",\"action\":\"write\"}]},{\"perm_name\":\"owner\",\"parent\":\"\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS76TP8M48sRBGdPmsKyy3qAMCYgBNswjaWaXGR4jkS5Hro16khr\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[]},{\"perm_name\":\"producerjson\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS5JCEciUdfXnQmTyj85T98bXTAZZ1g7Nmajseu7ZWB8DrDa6Etp\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"producerjson\",\"action\":\"set\"}]},{\"perm_name\":\"transfer\",\"parent\":\"active\",\"required_auth\":{\"threshold\":1,\"keys\":[{\"key\":\"EOS6AkZZ5YZ6G5eCQGJBAPbkmouEaiSKFkdM289wEMKcf2rnx7mrb\",\"weight\":1},{\"key\":\"EOS6RWZ1CmDL4B6LdixuertnzxcRuUDac3NQspJEvMnebGcUwhvfX\",\"weight\":1}],\"accounts\":[],\"waits\":[]},\"linked_actions\":[{\"account\":\"eosio.token\",\"action\":\"transfer\"}]}],\"total_resources\":{\"owner\":\"teamgreymass\",\"net_weight\":\"4550.96542392 WAX\",\"cpu_weight\":\"25551.96542594 WAX\",\"ram_bytes\":739573},\"self_delegated_bandwidth\":{\"from\":\"teamgreymass\",\"to\":\"teamgreymass\",\"net_weight\":\"4550.96542392 WAX\",\"cpu_weight\":\"25551.96542594 WAX\"},\"refund_request\":null,\"voter_info\":{\"owner\":\"teamgreymass\",\"proxy\":\"\",\"producers\":[\"3dkrenderwax\",\"alohaeosprod\",\"amsterdamwax\",\"blacklusionx\",\"blokcrafters\",\"bountyblokbp\",\"bp.box\",\"bp.wecan\",\"cryptolions1\",\"dapplica\",\"eosauthority\",\"eosdacserver\",\"eosdublinwow\",\"eosiodetroit\",\"eosphereiobp\",\"eosriobrazil\",\"greeneosiobp\",\"guild.nefty\",\"hkeosguildhk\",\"ivote4waxusa\",\"ledgerwiseio\",\"liquidstudio\",\"nation.wax\",\"pink.gg\",\"sentnlagents\",\"teamgreymass\",\"tokengamerio\",\"wax.eastern\",\"waxhiveguild\",\"waxswedenorg\"],\"staked\":\"54029093084986\",\"unpaid_voteshare\":\"0.00000000000000000\",\"unpaid_voteshare_last_updated\":\"2024-02-27T19:36:42.000\",\"unpaid_voteshare_change_rate\":\"5023145082162604762150619062722348225396736.00000000000000000\",\"last_claim_time\":\"2024-02-27T19:36:42.000\",\"last_vote_weight\":\"5023145082162604762150619062722348225396736.00000000000000000\",\"proxied_vote_weight\":\"0.00000000000000000\",\"is_proxy\":0,\"flags1\":0,\"reserved2\":0,\"reserved3\":\"0 \"},\"rex_info\":null,\"subjective_cpu_bill_limit\":{\"used\":0,\"available\":0,\"max\":0,\"last_usage_update_time\":\"2000-01-01T00:00:00.000\",\"current_used\":0},\"eosio_any_linked_actions\":[]}" } \ No newline at end of file diff --git a/test/tests/account.ts b/test/tests/account.ts index 7f8bf50..218561c 100644 --- a/test/tests/account.ts +++ b/test/tests/account.ts @@ -521,44 +521,19 @@ suite('Account', function () { this.slow(200) this.timeout(5 * 1000) - test('returns resources object for system token', async function () { + test('returns system token balance when no params are passed', async function () { const balance = await testAccount.balance() assert.instanceOf(balance, Asset) }) - test('returns resources object for secondary token', async function () { + test('returns proper balance when symbol is passed', async function () { const balance = await testAccount.balance('EOS') assert.instanceOf(balance, Asset) }) - // test('throws error when token does not exist for given contract', function (done) { - // testAccount - // .balance('nonexist') - // .catch((error) => { - // assert.equal( - // (error as Error).message, - // 'No balance found for nonexist token of eosio.token contract.' - // ) - // done() - // }) - // .then((data) => { - // assert.fail() - // }) - // }) - - // test('throws error when token contract does not exist', function (done) { - // testAccount - // .balance('nonexist') - // .catch((error) => { - // assert.equal( - // (error as Error).message, - // 'Token contract nonexist does not exist.' - // ) - // done() - // }) - // .then(() => { - // assert.fail() - // }) - // }) + test('returns proper balance when symbol and contract name are passed', async function () { + const balance = await testAccount.balance('EOS', 'eosio.token') + assert.instanceOf(balance, Asset) + }) }) }) diff --git a/yarn.lock b/yarn.lock index c6f84c7..3bd3d2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -561,7 +561,7 @@ pako "^2.0.4" tslib "^2.1.0" -"@wharfkit/antelope@^0.10.1", "@wharfkit/antelope@^0.7.3", "@wharfkit/antelope@^1.0.0": +"@wharfkit/antelope@^0.10.1", "@wharfkit/antelope@^0.7.3", "@wharfkit/antelope@^1.0.0", "@wharfkit/antelope@^1.0.4": version "0.10.1" resolved "https://registry.yarnpkg.com/@wharfkit/antelope/-/antelope-0.10.1.tgz#c51c89a814fdf409793df161f447a6763ab89840" integrity sha512-sBOe2dFvAlFACeLjQUOrZahqSwoyUWfjY8sxn2B+dViK2WPmD3Lo76a7v/Ko+J6WgA1EjAfp4NGMWyUcBDEJ6Q== @@ -597,6 +597,16 @@ "@wharfkit/signing-request" "^3.1.0" tslib "^2.1.0" +"@wharfkit/contract@^1.1.4": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@wharfkit/contract/-/contract-1.1.5.tgz#2ca10090330cbb458049890076089237b644eb0e" + integrity sha512-I4w2QFvD/zb4uj5z0U4uQJLRCiZEbrT+AJ9/5goGm6SU42fsRud/k55qSBzW8Ij00OAv2h1+e8rR7xzUruXC9g== + dependencies: + "@wharfkit/abicache" "^1.2.0" + "@wharfkit/antelope" "^1.0.4" + "@wharfkit/signing-request" "^3.1.0" + tslib "^2.1.0" + "@wharfkit/mock-data@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@wharfkit/mock-data/-/mock-data-1.0.2.tgz#81d6327c76032b40e5acf209d507cf6ca2a3ae9f" @@ -645,13 +655,13 @@ "@wharfkit/antelope" "^1.0.0" tslib "^2.0.3" -"@wharfkit/token@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@wharfkit/token/-/token-1.0.1.tgz#072f51d0294756b26b4270c9cd68af2f27db064b" - integrity sha512-vwGaNiZvVf2X64BQLcObF5TxVZhmym1l6vQsNlTrNA225EhLEY15FI8W2HJ9/TrrTj3ZjPbzXtnQWedGsc41wg== +"@wharfkit/token@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@wharfkit/token/-/token-1.1.2.tgz#de01dc211c10e6d3ccf9948357e8373bf6067259" + integrity sha512-LYAGB7LnE3hxwjNsYYwpxbJ8APi0Y8pmh7i1SeKv13HaPVjuHisTnuPxJm3ndwU7pX9GT3hPyo/By0l3CEuLfw== dependencies: - "@wharfkit/antelope" "^1.0.0" - "@wharfkit/contract" "^1.0.0" + "@wharfkit/antelope" "^1.0.4" + "@wharfkit/contract" "^1.1.4" bn.js "^4.11.9" tslib "^2.1.0"